Commit graph

338 commits

Author SHA1 Message Date
Andrey Avtomonov
7cc9f0e70a fix(ingest): validate scan sources and wiki refs 2026-05-18 00:11:11 +02:00
Andrey Avtomonov
199c916549 docs: add isolated diff ingestion global wiki reference gate closure plan 2026-05-17 22:26:34 +02:00
Andrey Avtomonov
ba534fb8ca fix(ingest): gate global wiki references 2026-05-17 22:25:46 +02:00
Andrey Avtomonov
43f581154f docs: add isolated diff ingestion reference and target gate closure plan 2026-05-17 22:16:24 +02:00
Andrey Avtomonov
87f1193ed1 chore(ingest): verify isolated diff gate closure 2026-05-17 22:15:38 +02:00
Andrey Avtomonov
c61c50be11 test(ingest): cover isolated diff reference and target gates 2026-05-17 22:13:54 +02:00
Andrey Avtomonov
3613fb3686 fix(ingest): trace isolated SL target policy gates 2026-05-17 22:12:53 +02:00
Andrey Avtomonov
9d756b2c6c fix(ingest): enforce SL target connection scope 2026-05-17 22:11:44 +02:00
Andrey Avtomonov
5ec639602b fix(ingest): gate final wiki references 2026-05-17 22:10:58 +02:00
Andrey Avtomonov
32128ae3aa docs: add isolated diff ingestion provenance gate closure plan 2026-05-17 22:04:15 +02:00
Andrey Avtomonov
977a610ea9 fix(ingest): gate provenance before isolated diff squash 2026-05-17 22:03:20 +02:00
Andrey Avtomonov
ea6dca4568 docs: add isolated diff ingestion gates and trace closure plan 2026-05-17 21:54:08 +02:00
Andrey Avtomonov
656e5846aa test(ingest): verify isolated diff postmortem coverage 2026-05-17 21:53:18 +02:00
Andrey Avtomonov
46455e74d1 fix(ingest): trace policy conflicts and cleanup child worktrees 2026-05-17 21:48:47 +02:00
Andrey Avtomonov
86837dd3ed fix(ingest): persist postmortem failure traces 2026-05-17 21:47:43 +02:00
Andrey Avtomonov
51fe8306c3 fix(ingest): gate isolated final integration tree 2026-05-17 21:42:45 +02:00
Andrey Avtomonov
cc1eb7c51b fix(ingest): tighten final artifact gates 2026-05-17 21:41:01 +02:00
Andrey Avtomonov
ae1ba0e2bd docs: add isolated diff ingestion v1 core plan 2026-05-17 21:32:53 +02:00
Andrey Avtomonov
8d78f872af docs: document ingest trace inspection 2026-05-17 21:32:03 +02:00
Andrey Avtomonov
cae5c4b948 feat: add isolated diff ingestion v1 core 2026-05-17 21:30:30 +02:00
Andrey Avtomonov
1013bb65df test: cover isolated diff ingestion regressions 2026-05-17 21:29:08 +02:00
Andrey Avtomonov
c481f1cce9 feat: route selected ingest sources through isolated diffs 2026-05-17 21:27:41 +02:00
Andrey Avtomonov
0be264dde0 feat: integrate isolated work unit patches 2026-05-17 21:24:21 +02:00
Andrey Avtomonov
c2edec84c2 feat: execute ingest work units in child worktrees 2026-05-17 21:23:54 +02:00
Andrey Avtomonov
43e6d4542d feat: add final ingest artifact gates 2026-05-17 21:23:13 +02:00
Andrey Avtomonov
ba76f2e5f0 feat: validate wiki body semantic references 2026-05-17 21:22:43 +02:00
Andrey Avtomonov
739d88420e feat: add isolated ingest patch helpers 2026-05-17 21:22:15 +02:00
Andrey Avtomonov
01b7f54253 feat: persist ingest trace events 2026-05-17 21:21:23 +02:00
Andrey Avtomonov
89760b52c9 Refine isolated-diff ingestion design after adversarial review iteration 3 2026-05-17 21:08:23 +02:00
Andrey Avtomonov
35b8f215b1 Refine isolated-diff ingestion design after adversarial review iteration 2 2026-05-17 21:04:51 +02:00
Andrey Avtomonov
0849dcdcfa Refine isolated-diff ingestion design after adversarial review iteration 1 2026-05-17 20:58:27 +02:00
Andrey Avtomonov
2a19e88806 docs: add isolated-diff ingestion design 2026-05-17 20:46:54 +02:00
Andrey Avtomonov
d1c84e5564
fix: improve setup wizard behavior (#127)
* fix: improve setup wizard behavior

* fix: derive runtime versions from release metadata

* test: validate metabase source mapping requirements

* Fix boundary check release identifiers
2026-05-17 19:15:09 +02:00
Andrey Avtomonov
33a142f769
feat(cli): add read-only sql command (#126)
* feat(cli): add read-only sql command

* fix(cli): rename sql connection flag
2026-05-17 10:29:07 +02:00
Andrey Avtomonov
c89af7733a
fix: improve ingest runtime readiness (#124)
* fix: improve ingest runtime readiness

* fix(cli): mock runtime in slow setup tests

* test(cli): isolate setup runtime status
2026-05-17 10:27:29 +02:00
Andrey Avtomonov
f49672ba5b
fix: accept ingest wiki forward refs (#125) 2026-05-17 10:10:14 +02:00
Andrey Avtomonov
74be832aea
feat(cli): improve search ranking output (#123) 2026-05-17 02:32:41 +02:00
Andrey Avtomonov
d3d58a279b
fix(release): repair next npm release workflow (#122)
* fix(ci): run rc releases from next branch

* fix(context): allow release git askpass env

* fix(release): make npm publish noninteractive

* fix(release): use npm trusted publishing

* fix(release): tolerate npm propagation in smoke

* docs(release): document trusted publishing auth
2026-05-17 01:41:07 +02:00
Andrey Avtomonov
de72a10ffb
fix(cli): build runtime assets during dev setup (#121) 2026-05-17 01:04:44 +02:00
Luca Martial
c7e6b5001d
docs: clarify getting started introduction (#120) 2026-05-16 13:25:37 -04:00
Luca Martial
b318671d31
Shorten concept docs (#118)
* docs: shorten concept pages

* docs: shorten semantic internals page

* docs: restore semantic internals diagrams

* docs: align semantic internals intro

* docs: rename semantic internals page

* docs: polish safe sql comparison
2026-05-16 12:36:07 -04:00
Luca Martial
cf3674cd9f
docs: merge community contributing pages (#119) 2026-05-16 12:34:35 -04:00
Luca Martial
68628832a9
docs: move LLM configuration guide last (#117) 2026-05-16 12:00:31 -04:00
Andrey Avtomonov
b565e44a22
feat: add claude-code llm backend with runtime port (#115)
* docs: revise claude-code ingest backend spec

* docs: keep claude-code spec focused on ingest

* docs: expand claude-code spec to full llm parity

* Refine claude-code backend spec after adversarial review iteration 1

* Refine claude-code backend spec after adversarial review iteration 2

* Refine claude-code backend spec after adversarial review iteration 3

* feat: recognize claude-code llm backend

* feat: add ktx llm runtime port

* feat: add claude-code llm runtime

* feat: route non-agent llm calls through runtime

* feat: run ingest agents through llm runtime

* feat: support claude-code setup and status

* test: verify claude-code backend runtime

* docs: add claude-code backend v1 runtime plan

* fix: close claude-code runtime isolation checks

* fix: warn on claude-code prompt caching during setup

* chore: verify claude-code v1 closure

* docs: add claude-code backend v1 isolation closure plan

* fix: update claude-code ingest setup guidance

* docs: add claude-code backend v1 ingest guidance closure plan

* docs: align claude-code isolation spec with sdk metadata

* test: cover claude-code host discovery metadata

* fix: tolerate claude-code host discovery metadata

* docs: clarify claude-code host discovery metadata

* docs: add claude-code auth-probe isolation fix plan

* chore: prepare kaelio ktx rc1 release

* chore: add semantic release workflow

* fix: unblock ci checks

* chore(release): 0.1.0-rc.1

* feat: add Claude Code model selection to setup

* fix: keep git maintenance attached in local repos
2026-05-16 12:06:34 +02:00
Andrey Avtomonov
e6d578c03f
feat(setup): add Claude Desktop target and MCP-first agent setup (#114)
* feat(setup): add Claude Desktop target and MCP-first agent setup

Adds `ktx mcp stdio` and a `claude-desktop` setup target that generates a
local plugin ZIP wiring the analytics skill and a stdio MCP config. Replaces
the CLI-only agent install mode with MCP+analytics (default) and an optional
admin CLI skill, renames the research skill to analytics, and lets interactive
setup pick project vs global scope when every target supports it. Extracts a
shared MCP server factory used by both HTTP and stdio entrypoints.

* Add MCP agent client setup support

* Polish setup output formatting

* Add MCP tool polish design spec

Design for slimming the MCP-registered surface from 25 to 11 tools,
introducing memory_ingest, applying the per-tool polish kit (annotations,
outputSchema, .describe(), in-band error wrapping, union-drift fixes,
type-narrowed jsonToolResult), emitting progress notifications on
sql_execution + sl_query, and refining the ktx-analytics SKILL.md to
match.

* Refine MCP tool polish design spec after adversarial review iteration 1

* Refine MCP tool polish design spec after adversarial review iteration 2

* Refine MCP tool polish design spec after adversarial review iteration 3

* refactor(context): rename memory capture service to ingest

* feat(mcp): slim research tool surface

* refactor(mcp): remove admin ports from server factory

* refactor(cli): rename text ingest memory port

* docs: update analytics skill for memory ingest

* chore: verify mcp surface rename

* Add MCP tool polish v1 surface change plan

* feat(context): polish mcp tool metadata

* fix(context): enforce resolved semantic layer compute sources

* feat(context): emit mcp query progress stages

* fix(context): keep mcp progress event internal

* Add MCP tool polish v1 metadata & progress plan

* Fix CI snapshot and docs checks
2026-05-16 11:39:55 +02:00
Andrey Avtomonov
a72fca2b32
fix(cli): auto-install runtime during setup (#116)
* fix(cli): auto-install runtime during setup

* test: align docs smoke with readme
2026-05-16 11:39:43 +02:00
Luca Martial
42b688e934
Align docs with current KTX behavior (#106)
* docs: align docs with current KTX behavior

* fix: generate valid agent sl query command

* docs: clarify KTX product mechanics

* fix: use <ol> for runtime pipeline steps in product mechanics

The PipelineStep component renders <li> elements, but the RuntimeDiagram
wrapper was a plain <div> instead of a list element. This produced invalid
HTML and accessibility warnings. IngestionDiagram already used <ol>.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add docs favicon

* docs: add semantic layer internals concept

* docs: refine documentation source label

* docs: clarify company documentation examples

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 15:31:51 -04:00
Luca Martial
465724a991
Improve README scanability and CLI docs (#112)
* docs: simplify readme

* docs: add mcp cli reference

* test: use docs base path

* docs: enlarge readme tagline
2026-05-15 13:25:44 -04:00
Andrey Avtomonov
f9532f549b
perf(cli): cache pnpm run ktx builds against a stamp file (#113)
The staleness check compared source mtimes against packages/cli/dist/bin.js,
but tsc only rewrites outputs whose source actually changed. Editing any
non-bin source (e.g. setup.ts) left bin.js untouched, so its mtime stayed
older than the sources forever and every `pnpm run ktx` invocation
rebuilt the whole workspace. Write a dedicated .ktx-build-stamp after a
successful build and check sources against that instead.
2026-05-15 15:49:39 +02:00
Luca Martial
50ffebd98b
refactor(cli): unify output formatting across commands (#111)
* refactor(cli): unify output formatting across search and status commands

Replace clack-style box borders (◇/│/└) and bullets (●/◆) in printList
pretty mode with a clean status-style layout: bold headers, indented
aligned rows, no decorative framing. Migrate status-project.ts from
hand-rolled ANSI escape codes to shared symbols.ts color helpers.
Remove dead clack symbols from SYMBOLS, add yellow() for warnings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(cli): update stale badge role docstring after dim removal

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-15 08:54:36 -04:00