ktx/packages
Andrey Avtomonov 0958bc03dc
fix: surface silent failures and drop unused dead-code paths (#193)
Address overengineering audit findings across cli/context/connector packages:

- F1 Snowflake `query`: drop bare catch that flattened all errors to empty result
- F2 memory-agent: treat LLM `stopReason === 'error'` as crash (skip squash-merge)
- F3 WikiSearchTool: description honest about token-only fallback vs sqlite-fts5 hybrid
- F5 Scan enrichment provider resolution: return discriminated status and surface
  distinct `llm_unavailable` / `embedding_unavailable` warnings per failure mode
- F6 Relationship validation budget: drop dead `tableCount === undefined → 'all'`
  branch; update tests to pass `tableCount` like production
- F8 `ktx sql`: use canonical `resolveOutputMode` (now honors KTX_OUTPUT/CI/TTY)
- F9 MCP stdio server: default `protocolIo.stderr` to `process.stderr` so
  memory_ingest startup failures are visible
- F13/F14 Scan/setup JSON readers: distinguish ENOENT from corruption instead of
  silently treating both as missing
- F15 `createKtxCliScanConnector`: throw config-shape error when driver matches
  but type guard rejects, instead of "no native connector"
- F16 ContextEvidenceSearchTool: surface `embedding_unhealthy:<reason>` instead
  of silently dropping the semantic lane
- F17 PromptService: default partials to `[]` (removes stale `clinical_policy`
  reference from a prior product)
- F20 `contextBuildCommands`: drop unused `runId` parameter

Dead-code removal:

- F4 Delete `AgentRunnerService` (duplicated `RuntimeAgentRunner`, only test-used);
  migrate tests to exercise `AiSdkKtxLlmRuntime.runAgentLoop` directly
- F7 Delete `KtxScanOrchestrator` and its test (no production callers; the
  inline pipeline in `runLocalScan` is the single source of truth)
- F18 Delete `generateKtxText`/`generateKtxObject` pass-through helpers; inline
  the single `runtime.generateObject` call at its caller

Plus a clarifying comment on the SQLite `resolveStringReference` `file:` carve-out
(load-bearing for SQLite URI form, not a bug).
2026-05-21 02:38:18 +02:00
..
cli fix: surface silent failures and drop unused dead-code paths (#193) 2026-05-21 02:38:18 +02:00
connector-bigquery feat(context): add driver-discriminated connection schemas (#96) 2026-05-15 00:08:11 +02:00
connector-clickhouse fix: align release provenance metadata 2026-05-19 16:10:30 +02:00
connector-mysql ci: add codecov coverage reporting (#82) 2026-05-14 01:13:31 +02:00
connector-postgres ci: add codecov coverage reporting (#82) 2026-05-14 01:13:31 +02:00
connector-snowflake fix: surface silent failures and drop unused dead-code paths (#193) 2026-05-21 02:38:18 +02:00
connector-sqlite fix: surface silent failures and drop unused dead-code paths (#193) 2026-05-21 02:38:18 +02:00
connector-sqlserver ci: add codecov coverage reporting (#82) 2026-05-14 01:13:31 +02:00
context fix: surface silent failures and drop unused dead-code paths (#193) 2026-05-21 02:38:18 +02:00
llm fix: sanitize no_proxy for managed embeddings (#153) 2026-05-19 18:18:56 +02:00