Andrey Avtomonov
f561bfa850
refactor(sl): split overlay columns from column_overrides and enforce TS/Python wire contract
...
Overlay sources now have two distinct collections: `columns:` for computed
columns (requiring `expr` + `type`) and `column_overrides:` for metadata
patches to inherited manifest columns. Composing or loading an overlay that
mixes the two — or references an unknown column — fails with a typed error.
Introduce `ResolvedSemanticLayerSource` / `resolvedSourceSchema` /
`toResolvedWire` as the strict shape sent to the Python engine, and add a
schema contract test that diffs Zod against the Pydantic JSON schema dumped
by `python -m semantic_layer dump-schema`. `SourceDefinition` is now
`extra="forbid"` on the Python side.
`loadAllSources` surfaces per-file load errors instead of swallowing them,
so validation/query paths can report manifest shard parse failures.
2026-05-15 00:36:52 +02:00
Andrey Avtomonov
77cce79237
feat(cli): unify wiki and sl search output with clack-style box and score badge ( #89 )
...
Routes `ktx wiki list` and `ktx wiki search` through the shared printList()
renderer so all four list/search commands now produce the same Clack-style
pretty box, TSV plain output, and JSON envelope. Adds a `--output` flag to
the wiki commands mirroring sl, and surfaces relevance score as a leading
dim badge ("87%") in pretty mode and a `score=` prefix in plain mode for
both wiki search and sl search. Empty results now emit a consistent
actionable hint across commands.
2026-05-14 15:15:20 +02:00
Andrey Avtomonov
c202202e6b
feat(cli): clean up wiki and sl commands ( #65 )
...
* feat(cli): clean up wiki and sl commands
* test(scripts): update package artifact CLI smoke assertion
2026-05-13 15:41:10 +02:00
Andrey Avtomonov
721f1a998f
feat(cli)!: remove ktx agent command ( #58 )
...
* feat(cli)!: remove ktx agent command
* test(context): update PGlite boundary guardrail
2026-05-13 13:01:56 +02:00
Luca Martial
60457e9407
Improve schema setup and Notion ingest UX ( #14 )
...
* Improve schema setup and Notion ingest UX
* Handle Postgres network scan failures
* WIP: save local changes before main merge
* Refine setup prompt choices
* Tighten ingest reconciliation guidance
* Commit setup config updates
* Canonicalize unmapped fallback details
* Count reconciliation actions in reports
* Harden semantic layer source validation
* Return wiki content after edits
* Validate SL sources against manifests
* Validate wiki refs before writes
* Simplify CLI next steps
* Clarify agent setup summary
* Surface dbt target SL sources
* Recover SL write fallbacks
* Preserve failed context build metadata
* Track raw paths for ingest actions
* test(cli): update seeded demo expectations
* fix(ingest): scope fallback recovery checks
* fix(sl): tighten source validation guards
* fix(wiki): ignore empty embedding vectors
* Improve Notion ingest UX
* Enforce flat wiki keys
* test(context): update wiki key assertion
---------
Co-authored-by: Andrey Avtomonov <andreybavt@gmail.com>
2026-05-12 22:56:58 +02:00
Andrey Avtomonov
9dad936ac7
feat: npm-managed Python runtime for @kaelio/ktx ( #7 )
...
* docs: add npm managed python runtime design
* build: add bundled python runtime wheel builder
* build: make local embedding dependencies optional
* build: bundle python runtime wheel in cli artifacts
* build: track bundled python runtime release artifact
* test: verify bundled python runtime wheel
* docs: add plan for bundled python runtime wheel
* test: cover managed python runtime lifecycle
* feat: add managed python runtime installer
* feat: add runtime command runner
* feat: expose runtime management commands
* test: verify managed python runtime commands
* docs: add plan for managed python runtime installer
* feat: add managed python command helper
* feat: use managed runtime for sl query compute
* feat: route sl query managed runtime policy
* docs: add plan for managed runtime sl query integration
* feat: add managed runtime daemon metadata
* feat: manage python daemon lifecycle
* feat: add runtime daemon start stop commands
* fix: verify managed runtime daemon lifecycle
* docs: add plan for managed runtime daemon lifecycle
* feat: add managed local embeddings config marker
* feat: add managed local embeddings daemon helper
* feat: use managed runtime for local embedding setup
* feat: pass managed runtime policy through setup
* docs: add plan for managed local embeddings runtime
* feat: read CLI package metadata dynamically
* feat: assemble public kaelio ktx npm package
* feat: release one public kaelio ktx npm artifact
* test: cover public kaelio ktx package invocations
* chore: verify public kaelio ktx package artifacts
* docs: add plan for public kaelio ktx npm package
* test: verify managed runtime in public package smoke
* test: finalize managed runtime release smoke
* docs: add plan for managed runtime release smoke
* test: specify local embeddings release smoke
* feat: add local embeddings runtime smoke
* chore: register local embeddings smoke
* fix: verify local embeddings smoke
* fix: restore artifact smoke python env helper
* docs: add plan for managed local embeddings release smoke
* refactor: share managed runtime install policy parsing
* feat: use managed runtime for agent semantic queries
* feat: use managed runtime for MCP semantic compute
* docs: add plan for managed agent and MCP semantic runtime
* feat(cli): add managed daemon HTTP helpers
* feat(cli): route local adapters through managed daemon
* feat(cli): use managed daemon for ingest helpers
* feat(cli): pass managed daemon options to scan
* feat(context): pass MCP ingest pull config options
* feat(cli): pass managed daemon options to serve ingest
* test: verify managed local ingest daemon runtime
* docs: add plan for managed local ingest daemon runtime
* docs: align managed runtime examples
* docs: add plan for managed runtime docs cleanup
* test: cover published package runtime smoke commands
* test: validate published package smoke outputs
* docs: add plan for published package runtime smoke
* build: stamp public npm package version
* release: add npm public release policy
* release: add guarded npm publish script
* release: document public npm release handoff
* docs: add plan for public npm release handoff
* test: cover managed runtime prune in package smoke
* docs: document managed runtime prune
* docs: add plan for managed runtime prune smoke and docs
* chore: encode uv runtime prerequisite policy
* fix: clarify missing uv runtime error
* docs: document uv runtime prerequisite
* docs: add plan for uv runtime prerequisite contract
* refactor: limit release artifacts to public package runtime
* chore: align release policy with bundled runtime wheel
* docs: describe single public runtime artifact surface
* test: verify single public runtime artifact contract
* docs: add plan for single public runtime artifact cleanup
* fix: align local embeddings smoke with public version
* docs: add plan for local embeddings smoke public version
* release: soft-launch as @kaelio/ktx@0.1.0-rc.0 on next tag
Publish target moves to the pre-release version 0.1.0-rc.0 under the next
dist-tag so npm install @kaelio/ktx (which resolves to latest) does not
pick up the soft-launch build. Users opt in via @kaelio/ktx@next.
* Fix release script boundary checks
* Remove PostHog from public package bundle
2026-05-11 15:50:34 +02:00
Andrey Avtomonov
3ce510b55b
rename klo to ktx
2026-05-10 23:51:24 +02:00
Andrey Avtomonov
1a42152e6f
Initial open-source release
2026-05-10 23:12:26 +02:00