ktx/packages/context/src/scan
Andrey Avtomonov 49f1e2720e
fix(llm): wire prompt caching through all Anthropic call sites (#90)
* fix(llm): wire prompt caching through all Anthropic call sites

- page-triage classifier + light-extraction now put the static skill
  prompt in `system:` so the per-document caches hit instead of
  re-sending boilerplate in the user message every call.
- Description generation builders return `{ system, user }` with
  instruction text + word limit moved into the cacheable system.
- Relationship-LLM proposal framing moved to `system:`.
- `KtxMessageBuilder.wrapSimple` skips the history breakpoint for
  single-message calls (cache write that could never be reused).
- Gateway backend now sets `anthropic-beta: extended-cache-ttl-2025-04-11`
  so 1h TTLs don't silently downgrade to 5m on Gateway routes.

* fix(llm): keep wrapSimple history breakpoint so multi-step agent loops cache

Reverts the wrapSimple `messages.length > 1` guard from the prior commit.
agent-runner uses wrapSimple with a single user message, but generateText
runs a multi-step tool loop inside it — the cache marker on the first user
message is reused by every subsequent step, so it isn't waste.
The release validator (scripts/validate-llm-debug-jsonl.mjs) also requires
a `message-part` marker target in captured debug JSONL.
2026-05-14 15:36:27 +02:00
..
credentials.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
credentials.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
data-dictionary.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
data-dictionary.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
description-generation.test.ts fix(llm): wire prompt caching through all Anthropic call sites (#90) 2026-05-14 15:36:27 +02:00
description-generation.ts fix(llm): wire prompt caching through all Anthropic call sites (#90) 2026-05-14 15:36:27 +02:00
embedding-text.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
embedding-text.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
enrichment-state.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
enrichment-state.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
enrichment-summary.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
enrichment-summary.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
enrichment-types.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
enrichment-types.ts chore: add TypeScript dead-code checks (#60) 2026-05-13 13:33:28 +02:00
index.ts fix(llm): wire prompt caching through all Anthropic call sites (#90) 2026-05-14 15:36:27 +02:00
local-enrichment-artifacts.test.ts fix(context): avoid saving scan error descriptions (#37) 2026-05-12 14:34:15 +02:00
local-enrichment-artifacts.ts Improve schema setup and Notion ingest UX (#14) 2026-05-12 22:56:58 +02:00
local-enrichment.test.ts perf: parallelize scan description generation 2026-05-12 14:34:59 +02:00
local-enrichment.ts perf: parallelize scan description generation 2026-05-12 14:34:59 +02:00
local-scan.test.ts feat: merge ingest and scan 2026-05-14 01:43:06 +02:00
local-scan.ts feat: merge ingest and scan 2026-05-14 01:43:06 +02:00
local-structural-artifacts.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
local-structural-artifacts.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
orchestrator.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
orchestrator.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-artifacts.test.ts fix: stop requiring readonly connection config (#71) 2026-05-13 19:37:25 +02:00
relationship-artifacts.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-benchmark-report.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-benchmark-report.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-benchmarks.test.ts refactor: remove legacy compatibility paths (#64) 2026-05-13 15:55:00 +02:00
relationship-benchmarks.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-budget.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-budget.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-candidates.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-candidates.ts [codex] Add Conductor workspace scripts (#2) 2026-05-11 09:55:42 +02:00
relationship-composite-candidates.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-composite-candidates.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-diagnostics.test.ts refactor: remove legacy compatibility paths (#64) 2026-05-13 15:55:00 +02:00
relationship-diagnostics.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-discovery.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-discovery.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-feedback-calibration.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-feedback-calibration.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-feedback-export.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-feedback-export.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-formal-metadata.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-formal-metadata.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-graph-resolver.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-graph-resolver.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-llm-proposal.test.ts fix(llm): wire prompt caching through all Anthropic call sites (#90) 2026-05-14 15:36:27 +02:00
relationship-llm-proposal.ts fix(llm): wire prompt caching through all Anthropic call sites (#90) 2026-05-14 15:36:27 +02:00
relationship-locality.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-locality.ts [codex] Add Conductor workspace scripts (#2) 2026-05-11 09:55:42 +02:00
relationship-name-similarity.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-name-similarity.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-profiling.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-profiling.ts misc 2026-05-10 20:44:07 -07:00
relationship-review-apply.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-review-apply.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-review-decisions.test.ts fix: stop requiring readonly connection config (#71) 2026-05-13 19:37:25 +02:00
relationship-review-decisions.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-scoring.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-scoring.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-threshold-advice.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-threshold-advice.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-validation.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
relationship-validation.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
sqlite-local-enrichment-state-store.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
type-normalization.test.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
type-normalization.ts rename klo to ktx 2026-05-10 23:51:24 +02:00
types.test.ts misc 2026-05-10 20:44:07 -07:00
types.ts Add scan table filtering 2026-05-12 18:22:03 -07:00