Repository navigation
DS4 Context Engine 0.4.13
Release 0.4.13
Coordinated patch release for ds4-context-core, ds4-context-reference-adapter, and ds4-context-engine.
Changes
- Historical retrieval filters Italian/English grammar, acknowledgements, workflow and generic finish requests from inferred keywords/simple symbols. Stopword lookup folds case, accents and compatibility characters without rewriting literal evidence. Explicit backticks, paths, qualified identifiers, flags and quoted phrases remain searchable, as do UI terms such as
schermate,premereandinput. - Lexical-only retrieval rows require a verified identifier, phrase or FTS term match. FTS order, role, recency and unused budget can rank evidence but cannot independently qualify it. Semantic candidates retain their separate eligibility; the distinct-topic bonus stays bounded.
- Managed planning records complete native excluded-group/message totals and at most 32 content-free group details, oversized-first: planner-generated IDs/positions, estimator-unit cost, message count, kind, oversized/predecessor flags and allowlisted exclusion/rescue reasons.
/context explainand the default/context excludedshow compact native-group diagnostics separately from the historical inventory./context excluded allpreserves explicit item-level provenance and truthful persisted-rollup labelling. Legacy, observer and fallback manifests default to at most 40 item details when group diagnostics are unavailable.context.excluded_oversized_turnadds at most eight oversized-group details and a truncation flag. Native group totals/details survive persisted excluded-item rollup independently.- ADR 073 records the decision and its limitations.
Scope and limitations
Recent-tail/input budgets, contiguous-tail selection, immediate-predecessor rescue, tool-call/result atomicity, privacy enforcement, provider transport and provider-facing defaults are unchanged. chars-v1 remains the default; BPE and auto-tuning remain opt-in. Genuinely oversized older turns can still be excluded even below the global message target and remain warnings, now attributable to a specific group. Retrieving a relevant excerpt does not restore the entire excluded turn.
Canonical Pi history is untouched; manifests remain rebuildable, non-authoritative projections. New diagnostic metadata contains no message bodies, canonical entry IDs, paths, tool arguments/results, provider bodies or credentials. Existing manifests without the optional diagnostic block remain usable.
Deterministic lexical retrieval is not a guarantee of semantic correctness for every conversation or language. This patch has synthetic local multi-turn coverage through real DS4/Pi hooks and SQLite retrieval, including 40 older generic reminders, topic recovery and topicless requests, plus atomic tool exchanges, rescue outcomes and a 68,000-item historical inventory/persisted rollup. It does not establish behavior on the reporting host, live provider calibration, headroom transitions or auto-tuning safety across provider turns. No additional provider call is made for this release.
Validation
Executed locally on the coordinated 0.4.13 code state with Node.js v26.5.1 and npm 11.17.0:
npm cicompleted, including both workspace builds.npm run checkpassed: workspace builds, root typecheck, 106 test files / 814 tests, including the frozen 0.2.0 compatibility golden and the new retrieval/group-diagnostic regressions.- The acquired
jev_verify allchecks (node-typecheck,node-test,git-diff-check) each exited 0. npm run quality:comparepassed; candidate quality score0.9875.npm run schema:context-persistencepassed:1266bytes /317estimated tokens, within both bounds.npm run pack:checkpassed in a clean consumer: core 251 files, reference adapter 7 files, Pi extension 124 files.npm audit --omit=dev --audit-level=moderatereported 0 production vulnerabilities. The dev-inclusive install audit reported 5 findings (3 moderate, 2 high); this patch does not claim to resolve them.
The code checks remain applicable after the release-record-only edits: source, tests, dependencies, configuration and environment are unchanged. These results are local/offline and are not reporting-host or live-provider validation.
Publication and registry verification
Published manually in this order, all with public access and the stable latest tag:
ds4-context-core@0.4.13ds4-context-reference-adapter@0.4.13ds4-context-engine@0.4.13
npm run registry:check -- 0.4.13 passed against the exact published versions in a fresh temporary consumer. The check validates exact adapter/core dependencies, public core exports, compiled reference-adapter conformance, the packaged quality corpus, the installed ds4-context-storage CLI shim, and isolated offline Pi RPC startup/shutdown without extension errors. Separate registry dist-tag reads confirmed latest: 0.4.13 for all three packages.
The first registry-consumer attempt returned ETARGET for ds4-context-core@0.4.13, while dist-tag reads still showed 0.4.12. After a short wait and a fresh npm cache, exact-version verification and all three dist-tag reads succeeded. No package was republished, rewritten or unpublished to resolve this visibility delay.
Annotated tag v0.4.13 was created and pushed on release-preparation commit 053e628; implementation commit d761167 and release preparation are on origin/main. CI remains validation-only and receives no publishing credentials.