Releases: cdeust/Cortex
Releases · cdeust/Cortex
Release list
v4.13.0 — the memory now tends itself
- chore(release): 4.13.0
- Merge branch 'feat/scheduled-groomer'
- bench: seal grooming wave train — LME 0.9166/0.982, LoCoMo 0.8021/0.9193, BEAM 0.5469 (manifest 20260711T172056Z)
- feat(grooming): scheduled groomer entry point (G-3)
- fix(bench): remove anonymous PGDATA volumes with the ephemeral containers
- Merge branch 'fix/headless-authoring-governance'
- Merge branch 'feat/grooming-telemetry'
- fix(headless-authoring): route worker writes through the governed wiki_write path (G-1)
- feat(grooming): expose backlog + staleness telemetry for wiki/distillation/promotion (G-4)
- feat(consolidation): G-2 grooming mécanique — citation reconciliation + lesson_promotion backlog
- campaign(i7d7): wiki citation seed APPLY journal — 20 HIGH pairs seeded (user-approved 2026-07-11)
Full Changelog: v4.12.0...v4.13.0
v4.12.0 — the memory learns to understand
- chore(release): 4.12.0
- bench: seal 7.5-7.8 wave train — LME 0.9168/0.984, LoCoMo 0.8024/0.9183, BEAM 0.5455 (manifest 20260711T115601Z)
- test(main): reconcile tool counts on the 7.5-7.8 merge train (48 standalone / 50 codebase-only / 51 full)
- Merge branch 'feat/distillation'
- Merge branch 'feat/lessons-first-class'
- Merge branch 'feat/wiki-citations-seed'
- feat(consolidation): curate_distill — understanding-level distillation jobs (M-D8, INC7.8)
- feat(memory): lesson as first-class object with traced promotion (M-D6, 7.6)
- feat(provenance): write-time grade feedback + full-corpus sweep dry-run (M-D5, 7.5)
- feat(wiki): INC7.7/M-D7 — seed campaign for wiki.citations on existing pages
Full Changelog: v4.11.0...v4.12.0
v4.11.0 — graph channel resurrected, explicit write_class, silent-failure observability
- chore(release): 4.11.0
- bench: seal merge train — LongMemEval 0.9166/0.982 (tail-fill neutral), LoCoMo 0.8014/0.9157, BEAM 0.5493 (manifest 20260711T080344Z, reranker active)
- Merge branch 'feat/spread-activation-scoped-activation'
- feat(recall): tail-fill SA mode as benchmark-neutral default (ADR-0054 addendum)
- test(invariants): re-pin I2 allowed-writer lines on the merge-train tree
- Merge branch 'feat/spread-activation-scoped-activation'
- Merge branch 'fix/silent-except-sweep'
- Merge branch 'feat/explicit-write-class'
- fix(recall): candidate-contract mismatch between WRRF and SA-injected rows
- fix(observability): silent-except sweep on recall/write-gate/consolidation critical paths
- feat(write-class): explicit write_class parameter at the remember contract (M-D2, 7.4)
- fix(recall): repair dead spread_activation_memories channel + domain-scope it (ADR-0054)
- docs(campaigns): INC7.2 re-heat control measurement (dry-run, read-only)
- chore(bench): require the reranker on production-parity-claiming harnesses
- fix(reheat): align source-taxonomy filter with real DB values (INC7.2)
Full Changelog: v4.10.0...v4.11.0
v4.10.0 — critical reranker fix, bench instrument repair, homeostatic stratification
- chore(release): seal 4.10.0 — LongMemEval 0.9166/0.982 on the release tree (reranker active, manifest 20260711T035233Z)
- chore(release): prepare 4.10.0
- Merge branch 'fix/reranker-durable-cache'
- fix(reranker): durable cache_dir + non-silent failure + bench fail-fast
- merge: feat/homeostatic-class-stratification — per-write-class health moments and folds, fold journal (M7.1/M-D3)
- merge: fix/bench-container-isolation — per-run ephemeral bench container/port, orphan sweep (measurement instrument repaired)
- fix(bench): isolate each reproduce.sh run on a throwaway container + port
- merge: feat/autocapture-embedding-normalization — template normalization for write-gate novelty only (M-D1 pivoted), bench model pinning
- fix(bench): pin embedding model revision, record it + torch in MANIFEST
- feat(gate): normalize auto-capture template for write-gate novelty only
- fix(homeostatic): stratify fold/regulation by write class (M-D3, 7.1)
Full Changelog: v4.9.1...v4.10.0
v4.9.1
- release: v4.9.1 — homeostatic dominant-domain regression fix, CI green restored, ADR-0053
- merge: fix/homeostatic-dominant-domain — streaming scalar cycle labels the real dominant domain again (Phase-4 regression)
- fix(homeostatic): dominant domain regression in streaming scalar path
- merge: fix/ci-invariant-and-time-test — homeostatic_state test leak closed, reheat writer whitelisted via ADR-0053
- fix(ci): close homeostatic_state test-isolation leak; whitelist I6-D5 reheat writer
- chore(marketplace): align plugin versions — cortex 4.9.0, cortex-viz 2.5.0
Full Changelog: v4.9.0...v4.9.1
v4.9.0 — solid-memory campaign complete (6.3–6.8)
Added
- Graded provenance verifier —
validate_memorygrades every memory verified / verifiable / unverifiable (worst-case across file paths, git commits, URLs, artifact digests, DOIs) and becomes the sole writer ofsource_attribution. - Flow-forward memory→wiki citations —
wiki_writerecords one deduplicated citation per memory actually used;curate_wiki(report_uncited_deliberate=true)lists important memories lacking a page. - One-shot deliberate-memory re-heat — 544 deliberate memories raised to
effective_heat ≥ 0.25(measured top-10 cliff bound); rank protocol: 5/5 improved-or-stable, 4/5 at rank 1. Re-measure 2026-08-09. - Exact-duplicate collapse — 91 duplicates (55 groups) superseded via CAS batch, append-only, zero groups remain.
Measured no-gos (the campaign gates working as designed)
- Near-duplicate auto-collapse: no cosine threshold reaches 100% precision on 100 audited pairs (auto-capture templating pushes similarity to 0.99 between distinct facts) → zero auto-supersession, 35 869 pairs filed for review.
- Read-path source down-weighting (6.7): not triggered — the suppression class was eliminated by corpus levers alone.
Note
Pre-tag guard with full variance arbitration: candidate tree 0.9163 ×2 + same-day v4.8.0 control at 0.9163 — equivalence proven (manifests committed). Known red CI at tag time (test-governance issues), fixed forward in v4.9.1.
v4.8.0
- release: v4.8.0 — real attribution mode, per-process test DB isolation, typed interpretability boundary
- merge: fix/attribution-mode-hollow — attribution mode wired to real project-scoped conversations, categorical/numeric split
- fix(explore_features): wire attribution mode to real session data
- merge: refactor/type-explore-features — typed interpretability boundary, byte-identical responses
- merge: fix/flaky-db-tests — per-process ephemeral test DB kills cross-process contention
- bench: retroactive v4.7.0 non-regression manifest — MRR 0.9166 / R@10 0.982, guard green
- refactor(explore_features): type the interpretability core-layer boundary
- refactor(explore_features): type the interpretability core-layer boundary
- fix(tests): isolate each pytest process on a throwaway PG database
Full Changelog: v4.7.0...v4.8.0
v4.7.0
- release: v4.7.0 — solid-memory campaign wave 1: memify derivation, domain backfill, worktree resolution, honest annotations, dead-code purge
- merge: chore/dead-types-sweep — shared/types.py removed entirely (13 dead models, per-class proof)
- chore: remove dead scaffolding types from shared/types.py
- merge: chore/remove-dead-conversationmeta — dead Pydantic model removed with proof chain
- chore(types): remove dead ConversationMeta
- merge: fix/annotations-deadcode-sources — honest annotations on recall paths, dead session_id field removed, §8 source flags
- docs(sources): honest source annotation for 3 unsourced +0.05 heat bumps + wiki lifecycle thresholds (cfd8e4c pattern)
- merge: fix/worktree-domain-resolution — linked worktrees resolve to their parent project's domain + orphan rescan (296 reattached)
- merge: fix/memory-link-fk-violation — memory-to-memory links actually written via provenance tags (swallowed FK bug)
- refactor(scanner,session_extractor): remove dead session_id/sessionId output field (Q2 finding, re-verified)
- feat(backfill): add --include-orphans rescan for INC6.2 worktree fix
- fix(domain-mapping): resolve linked worktree cwd to main repo's domain
- fix(memory): stop the silent FK violation in memory-to-memory links
- fix(handlers): correct READ_ONLY drift on recall/recall_hierarchical/drill_down (INC6.1 follow-up)
- bench: LongMemEval-S G-bench manifest on e4ff0b7 (INC6 wave 1) — MRR 0.9166 / R@10 0.982, guard passed
- merge: fix/memory-domain-backfill — attach domainless memories by internal evidence (INC6.2/I6-D3)
- merge: feat/memify-derivable-facts — wire identify_derivable_facts into memify with tag provenance (INC6.1b)
- merge: fix/tool-descriptions-drift — tool descriptions aligned with reality + anti-drift guard (INC6.1)
- feat(campaign): I6-D3 memory domain backfill — evidence-only, no fabrication
- feat(memify): wire identify_derivable_facts into the memify cycle
- fix(tools): align memory-tool descriptions/annotations with actual code (I6-D8)
- bench: LongMemEval-S non-regression manifest on 773dde0 — MRR 0.9166 / R@10 0.982
- merge: fix/session-id-canonical-alignment — checkpoints/session-log writers use the canonical transcript stem (Q2)
- fix(session-id): align checkpoint/session-log writers on canonical transcript-stem identity
- merge: perf/session-registry-memoize — memoize parent start signature, recall path 6.8ms -> 0.07ms
- perf(session-registry): memoize parent start-time signature per pid
- merge: docs/source-citation-heat-bump — honest §8 source annotation for the citation heat bump
- docs(wiki): source-flag the unsourced +0.05 citation heat bump
- style: ruff format 21 files missed by recent increments (CI Lint gate)
Full Changelog: v4.6.0...v4.7.0
v4.6.0
- release: v4.6.0 — T2 session identity channel, wiki citations write-path, Windows domain casing (#95)
- merge: feat/wiki-citations-writepath — wiki_read records deduplicated citations with T2 session identity (T2-H4/INC5.4)
- feat(wiki): wire insert_citation into wiki_read write-path (T2-H4/INC5.4)
- merge: feat/t2-hooks-wiring — hooks write/refresh/tombstone the window session registry (T2-H2)
- feat(hooks): wire session_start/auto_recall/session_lifecycle to the per-window session registry (T2-H2)
- merge: feat/t2-recall-wiring — recall T1 receipts gain session_id via window registry (T2-H3)
- merge: fix/windows-domain-casing — case-fold project-id comparisons at all 4 sites (#95)
- feat(recall): wire T1 injection receipt to per-window session registry (T2-H3)
- fix(windows): case-fold project ID comparisons in domain matching
- merge: feat/t2-session-registry — per-window session registry module (T2-H1)
- feat(infra): T2-H1 per-window session registry (foundation)
Full Changelog: v4.5.0...v4.6.0
v4.5.0
- release: v4.5.0 — docs content indexing (D6), ingestion provenance (D5), Windows hardening (#93/#94)
- merge: feat/ingestion-provenance — src:ap/src:native tags, fallback status, AP client parity guard (INC5.2/D5)
- feat(ingest): tag ingestion provenance + AP client-path version parity (ADR-0052 sec 2)
- merge: feat/ingest-docs-content — docs content pass in ingest_codebase (INC5.3/D6)
- feat(ingest): index document content on Cortex's side (INC5.3, D6)
- merge: fix/windows-subprocess-hardening — registry key normalization (#93), kill-without-recollect pattern (#94)
- fix(windows): kill-without-recollect timeout pattern for git subprocess calls
- fix(windows): normalize domain registry path keys to forward slashes
Full Changelog: v4.4.0...v4.5.0