Skip to content

Releases: cdeust/Cortex

v4.13.0 — the memory now tends itself

Choose a tag to compare

@cdeust cdeust released this 11 Jul 19:09
  • 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

Choose a tag to compare

@cdeust cdeust released this 11 Jul 13:53
  • 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

Choose a tag to compare

@cdeust cdeust released this 11 Jul 10:25
  • 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

Choose a tag to compare

@cdeust cdeust released this 11 Jul 04:34
  • 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

Choose a tag to compare

@github-actions github-actions released this 10 Jul 19:27
  • 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)

Choose a tag to compare

@cdeust cdeust released this 10 Jul 19:50

Added

  • Graded provenance verifiervalidate_memory grades every memory verified / verifiable / unverifiable (worst-case across file paths, git commits, URLs, artifact digests, DOIs) and becomes the sole writer of source_attribution.
  • Flow-forward memory→wiki citationswiki_write records 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

Choose a tag to compare

@github-actions github-actions released this 10 Jul 13:59
  • 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

Choose a tag to compare

@github-actions github-actions released this 10 Jul 11:35
  • 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

Choose a tag to compare

@github-actions github-actions released this 10 Jul 07:38
  • 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

Choose a tag to compare

@github-actions github-actions released this 10 Jul 02:23
  • 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