ktx/scripts
Andrey Avtomonov feb0818444
feat(cli): self-provision pinned uv and defer MCP Python runtime install (#297)
Fixes a production crash-loop (PostHog issue 019eb68e): ktx mcp start
--foreground on a uv-less container eagerly installed the managed Python
runtime at boot, failed, and was restarted by its supervisor every ~62s
(122 exceptions from one install).

- MCP server factory now wires a lazy semantic-layer compute port that
  defers the runtime install to the first call, mirroring the already-lazy
  SQL-analysis port; the server boots and serves non-Python tools without
  the runtime.
- ktx no longer requires uv on PATH: it downloads its own pinned,
  sha256-verified uv build under the runtime root (KTX_RUNTIME_ROOT aware),
  always musl-static on Linux. PATH uv is never consulted.
- uv is acquired before the version dir is wiped, so a failed download
  cannot destroy an existing runtime.
- Acquisition failures (offline, intercepted download, unsupported
  platform) throw KtxExpectedError and stay out of Error Tracking; a
  missing binary inside a checksum-verified archive remains a plain Error.
- scripts/refresh-uv-manifest.mjs regenerates the pinned manifest
  (packages/cli/src/managed-uv-release.ts) on uv bumps.
- Setup consent prompt now discloses the uv download; docs updated.
2026-06-12 16:31:06 +00:00
..
acquire-public-benchmark-fixtures.mjs Initial open-source release 2026-05-10 23:12:26 +02:00
acquire-public-benchmark-fixtures.test.mjs rename klo to ktx 2026-05-10 23:51:24 +02:00
adventureworks-oltp-source.json Initial open-source release 2026-05-10 23:12:26 +02:00
adventureworks-oltp-source.test.mjs Initial open-source release 2026-05-10 23:12:26 +02:00
anti-fixture-conditional.test.mjs test: split cli tests from source tree (#216) 2026-05-26 08:49:05 +02:00
build-adventureworks-oltp-fixture.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
build-benchmark-snapshot.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
build-benchmark-snapshot.test.mjs test: split cli tests from source tree (#216) 2026-05-26 08:49:05 +02:00
build-evidence-fusion-adversarial-fixtures.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
build-python-runtime-wheel.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
build-python-runtime-wheel.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
check-boundaries.mjs fix: update ktx CI boundary checks (#223) 2026-05-26 23:03:47 +02:00
check-boundaries.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
ci-artifact-upload.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
codex-backend-live-smoke.mjs feat(setup): apply per-role LLM model presets, remove --llm-model (#268) 2026-06-08 15:30:48 +02:00
codex-backend-live-smoke.test.mjs feat: add codex llm backend for ktx runtime work (#253) 2026-06-02 13:57:11 +02:00
conductor-run.sh refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
conductor-scripts.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
conductor-setup.sh refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
examples-docs.test.mjs feat(cli)!: remove fast mode; ktx ingest always builds enriched context (KLO-721) (#237) 2026-05-29 17:41:04 +02:00
installed-live-database-smoke.mjs feat(cli)!: remove fast mode; ktx ingest always builds enriched context (KLO-721) (#237) 2026-05-29 17:41:04 +02:00
installed-live-database-smoke.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
ktx-reset.sh fix(snowflake): unblock multi-schema ingest and relationship discovery (#204) 2026-05-23 10:41:30 +02:00
link-dev-cli.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
link-dev-cli.test.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
local-embeddings-runtime-smoke.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
local-embeddings-runtime-smoke.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
normalize-lcov-paths.mjs ci: configure Codecov coverage uploads (#150) 2026-05-19 16:56:48 +02:00
normalize-lcov-paths.test.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
package-artifacts.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
package-artifacts.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
pglite-hybrid-search-spike.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
pglite-owner-process-prototype.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
pglite-sl-search-prototype.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
prepare-cli-bin.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
public-benchmark-manifest.json ci: run pre-commit checks in CI (#74) 2026-05-13 19:49:25 +02:00
public-npm-release-metadata.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
public-npm-release-metadata.test.mjs feat(release): one version everywhere via @semantic-release/git (#186) 2026-05-20 17:01:26 +02:00
published-package-smoke-config.mjs fix(cli): remove ktx setup subcommands (#42) 2026-05-13 00:38:26 +02:00
published-package-smoke.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
published-package-smoke.test.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
refresh-uv-manifest.mjs feat(cli): self-provision pinned uv and defer MCP Python runtime install (#297) 2026-06-12 16:31:06 +00:00
refresh-uv-manifest.test.mjs feat(cli): self-provision pinned uv and defer MCP Python runtime install (#297) 2026-06-12 16:31:06 +00:00
relationship-benchmark-report.mjs test: split cli tests from source tree (#216) 2026-05-26 08:49:05 +02:00
relationship-orbit-verification.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
relationship-orbit-verification.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
release-readiness.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
release-readiness.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
release-workflow.test.mjs ci(release): restore RELEASE_PAT for branch push (#189) 2026-05-20 17:57:35 +02:00
run-ktx.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
run-ktx.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
semantic-release-config.cjs chore: revert repo references to Kaelio/ktx and remove rename-resilience (#252) 2026-06-02 00:14:43 +02:00
semantic-release-config.test.mjs chore: revert repo references to Kaelio/ktx and remove rename-resilience (#252) 2026-06-02 00:14:43 +02:00
setup-dev.mjs fix(cli): build runtime assets during dev setup (#121) 2026-05-17 01:04:44 +02:00
setup-dev.test.mjs fix(cli): build runtime assets during dev setup (#121) 2026-05-17 01:04:44 +02:00
standalone-ci-workflow.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
test-tiering.test.mjs test: split cli tests from source tree (#216) 2026-05-26 08:49:05 +02:00
update-public-release-version.mjs chore(workspace): gate dead-code with knip production mode (#196) 2026-05-21 15:28:58 +02:00
update-public-release-version.test.mjs refactor: enforce ktx naming and AGENTS.md compliance sweep (#289) 2026-06-11 13:49:45 +02:00
upgrade-dependencies.mjs chore: upgrade dependencies and tooling (#232) 2026-05-29 11:56:55 +02:00
upgrade-dependencies.test.mjs chore: upgrade dependencies and tooling (#232) 2026-05-29 11:56:55 +02:00
validate-llm-debug-jsonl.mjs rename klo to ktx 2026-05-10 23:51:24 +02:00
validate-llm-debug-jsonl.test.mjs rename klo to ktx 2026-05-10 23:51:24 +02:00