refactor(context): validate ktx.yaml with Zod and surface issues in status

- Replace hand-rolled ktx.yaml parsing with a strict Zod schema and
  derive KtxProjectConfig types from it.
- Add validateKtxProjectConfig returning structured KtxConfigIssue[]
  with migration hints for deprecated keys (ingest.llm,
  scan.enrichment.backend, etc.).
- Wire ktx status/doctor to run validation, render schema issues in
  plain and JSON output, and add a Config row to project status.
- Update the orbit example to camelCase scan.relationships keys to
  match the schema.
This commit is contained in:
Andrey Avtomonov 2026-05-14 15:22:46 +02:00
parent 52dd89481c
commit 38e71a94e7
8 changed files with 511 additions and 524 deletions

View file

@ -50,8 +50,8 @@ describe('standalone example docs', () => {
config,
/path: \.\.\/\.\.\/packages\/context\/test\/fixtures\/relationship-benchmarks\/orbit_style_product_no_declared_constraints\/data\.sqlite/,
);
assert.match(config, /llm_proposals: false/);
assert.match(config, /validation_required_for_manifest: true/);
assert.match(config, /llmProposals: false/);
assert.match(config, /validationRequiredForManifest: true/);
});
it('documents the Postgres historic SQL smoke example', async () => {