Repository navigation
Comparing changes
Open a pull request
base repository: cdeust/Cortex
base: v4.20.0
head repository: cdeust/Cortex
compare: v4.21.0
- 10 commits
- 28 files changed
- 2 contributors
Commits on Sep 9, 2026
-
docs: rewrite the README around its three positions, marketplace-comp…
…lete (#548) * docs: rewrite the README, and gate the drift that produced it 777 lines down to 180. The old one buried what a reader decides on under a release archive that stopped at v4.13.0, twelve releases behind, and a badge whose alt text said 4.17.1 while the badge itself said 4.20.0. The rewrite keeps what a reader needs to decide and to install: the problem, the install, what is automatic versus what you call, one benchmark table with its provenance, the storage trade-off as a table rather than three paragraphs, and the limits stated before the reader hits them. The cortex-viz identity migration is preserved in full, folded into a details block, because two contract tests pin those exact commands and they are right to. Every link in the file was resolved against the tree; two I first wrote did not exist and were replaced with real targets. The systemic half: the badge SVG is generated and gated but its README alt text is hand-written prose that nothing read, which is how it drifted three minor versions. It is now the 17th version surface, and a test drives the desync rather than asserting the count alone. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> * docs: write the README around what makes Cortex different The first cut compressed the old sections instead of deciding what the file should say. It kept the generic claim (stores what happened, brings it back, which is what every memory tool claims) and deleted the two parts that made the case: the concrete Monday/Thursday scenario and the real tool output. What differentiates Cortex is quality control on memory, and none of it was above the fold. The predictive-coding gate that merges a near-duplicate instead of filing it beside the original. Provenance grading at write time, locally: a memory whose file path no longer resolves is stored as unverifiable rather than returned later as fact. Supersession, so a correction demotes what it replaces and the chain stays readable. Thermodynamic decay, so the store curates itself. The file now opens on the problem those solve (a store that accumulates gets worse as it grows and you cannot tell what to trust), shows each mechanism with output taken from a real run, and only then explains what it feels like to use. The scenario is restored, tightened. 229 lines, from 777. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> * docs: make README welcoming while preserving evidence and limits * docs: layer the three positions and marketplace sections onto the welcoming pass Base is 0571343, the owner's tone pass, kept verbatim: install first, the hedged wording on consolidation and grading, the illustrative example in place of internal ids, and the benchmark table labelled as a historical v4.14.1 run. Nothing from that pass is rewritten; the merge adds to it. Added, because the marketplace and the MCPB directory require them and both earlier cuts in this PR had dropped them: the not-an-Anthropic- product affiliation disclaimer under the banner, Privacy Policy and Support sections matching the privacy_policies and support fields manifest.json already declares, the License section with its independent-work statement and algorithm attribution, and the Citation block. All restored from the pre-rewrite README, word for word. Added, for the three positions the project holds: the Sovereign / Cross-platform / Eco-responsible block after the header, the full what-works-where host matrix with the uvx, Gemini extension and Codex launch commands, and the Green software engineering section with every hedge intact (no CO2 or energy figure is published; the SCI tooling's own README says what it does not establish; the shipped efficiency PRs are listed; the hook-boot constant is cited to auto_recall.py). The one paragraph that moved rather than stayed put is the never-downgraded PostgreSQL note, from Storage into Install, where the behaviour it describes happens. The Project link row is absorbed into Development. 464 lines. Every relative link resolves against the tree. The codex contract tests and the version-surface tests pass unchanged. Co-Authored-By: Claude Fable 5.1 <[email protected]> --------- Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dec3793 - Browse repository at this point
Copy the full SHA dec3793View commit details -
Remove independent project disclaimer from README
Removed the disclaimer about the project's independence from Anthropic.
Configuration menu - View commit details
-
Copy full SHA for 5e94667 - Browse repository at this point
Copy the full SHA 5e94667View commit details -
docs: restore the green and privacy sections word for word from v4.20…
….0 (#549) Follow-up to #548, cut from main at 5e94667. README.md only. A fresh-context review of the merged head found that the blocks the PR had described as restored from v4.20.0 were not. The Green software engineering section had lost 23 lines, including two hedges that are the point of the section: that the operator supplies the region, observation period, lifecycle assessment and reservation assumptions, and the closing paragraph stating that no token-savings or CO2 figure is published for end-to-end sessions because none has been measured. Security had been folded into Privacy Policy and both paraphrased; Support and the License opener carried small wording changes. Every one of those blocks is now the v4.20.0 text, plus the Verification section that follows the green section there (the per-mechanism ablation evidence and both paper PDFs), which had been dropped in an earlier cut. Each block was compared to `git show v4.20.0:README.md` at word level after whitespace normalisation inside the splicing script; all comparisons print True. The cross-platform positioning paragraph no longer lists hosts on its own, since that list did not match the table it pointed to; it names Claude Code, the Claude Desktop bundle and Claude Cowork and defers every other host to the table. Deliberately not reintroduced: the independent-project disclaimer the owner removed on main in 5e94667. Gates on this head: link and cited-path resolution, no duplicated heading, check_doc_claims.py, check_version_surfaces.py (17 sites), and the codex-contract and version-surface tests (33 pass). Co-authored-by: Claude Fable 5.1 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1e120c6 - Browse repository at this point
Copy the full SHA 1e120c6View commit details -
fix(benchmarks): reproduce.sh --only fails closed on a selector that …
…runs nothing (#550) --only was compared token for token against longmemeval, locomo, beam and decision-ids, while the script itself prints the artifact names longmemeval-s and beam-100K. Passing one of those, or any typo, matched no benchmark: the script built the package, started and stopped an ephemeral container, wrote MANIFEST.json and START_SNAPSHOT.json, measured nothing and exited 0. Reproduced on main before the change. A sourced library, benchmarks/lib/bench_only.sh, maps the two aliases to the tokens want_bench matches and fails closed on an unknown or empty token with exit 2 and the accepted list, at the end of parse_args, before any uv run or container start. Empty tokens are detected on the whole string first, because read -a drops a trailing empty field. Eleven tests pin the alias table, the rejection cases and the script's end-to-end behaviour, which now needs neither Docker nor a synced environment. README row and CHANGELOG entry added. Co-authored-by: Claude Fable 5.1 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7153f6d - Browse repository at this point
Copy the full SHA 7153f6dView commit details -
docs: reflect the v4.20.0 LongMemEval-S measurement in the README, wi…
…th its artifacts (#551) * docs: reflect the v4.20.0 LongMemEval-S measurement in the README The retrieval table cited only the v4.14.1 pre-tag run. It now shows v4.20.0 beside it: Recall@10 97.8%, MRR 0.9047, n=500, measured on the exact tagged tree (86251ab) with reproduce.sh --only longmemeval --no-ablation in an isolated ephemeral pgvector pg16 container, reranker loaded, consolidation disabled. The artifacts are committed under benchmarks/results/repro/20260909-v4.20.0-longmemeval-s/: longmemeval-s.json, MANIFEST.json and START_SNAPSHOT.json. The provenance paragraph states the delta against v4.14.1 (0.4 points of Recall@10, 0.012 of MRR) and the run's own floor check as the script reports it: Recall@10 within the 0.005 tolerance of the July floor, MRR 0.0093 below its floor, non-blocking by design, with the pointer to docs/agent-guidance.md on why main no longer clears those floors. The Verification lead-in is scoped to the v4.14.1 figures, since the v4.20.0 run has no ablation campaign behind it. The earlier full run on the same tree produced the same numbers before the host killed it and its JSON was lost; its log cannot be committed (.gitignore excludes benchmarks/results/**/*.log) and an absent artifact cannot be cited, so the leg was re-measured. Co-Authored-By: Claude Fable 5.1 <[email protected]> * docs: state the run's dirty flag from the artifact's embedded manifest The JSON's manifest.repro.git_dirty is false; the standalone MANIFEST.json has no such field, which is why the first cut said none existed. Found by the fresh-context review. Co-Authored-By: Claude Fable 5.1 <[email protected]> --------- Co-authored-by: Claude Fable 5.1 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3cfc4d6 - Browse repository at this point
Copy the full SHA 3cfc4d6View commit details -
chore(marketplace): deliver zetetic-team-subagents v2.40.0 and hyperm…
…nesia-mcp-viz v3.1.2 (#552) Moves the two GitHub-sourced pins to the releases cut today: zetetic-team-subagents v2.40.0 (657795b87d884f465d218492cc368ba25525307d, release run 34403584553 green, assets attested) and hypermnesia-mcp-viz v3.1.2 (cd471aa9750c356ced8048394c9ac28fff0da605, the squash commit of cdeust/cortex-viz#155). Until this lands, both releases reach zero installs (docs/agent-guidance.md, Releasing; Cortex #179). Co-authored-by: Claude Fable 5.1 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e215899 - Browse repository at this point
Copy the full SHA e215899View commit details
Commits on Sep 10, 2026
-
chore(marketplace): deliver zetetic-team-subagents v2.40.1 (#553)
Moves the zetetic-team-subagents pin to v2.40.1 (586e439e575e9759c3224b840768d15c3604ac2f): the worktree sweep now recognises squash merges and <repo>/.claude/worktrees, the Linux age probe is fixed, and `worktree-manager.sh inventory` reports every worktree with the verdict sweep will apply (zetetic-team-subagents #135). Until this pin moves, installs keep the sweep that removed nothing for two months. Co-authored-by: Claude Fable 5.1 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f12d506 - Browse repository at this point
Copy the full SHA f12d506View commit details -
chore(marketplace): deliver zetetic-team-subagents v2.41.0 (#554)
Moves the zetetic-team-subagents pin to v2.41.0 (77b4f78503e6842928039b75440e20ea670584c8): every state file the plugin owns now lives under ~/.claude/zetetic/, an existing flat install is migrated once without overwriting anything, and setup.sh ends with a layout report (zetetic-team-subagents #137, owner issue #136). Co-authored-by: Claude Fable 5.1 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8d71210 - Browse repository at this point
Copy the full SHA 8d71210View commit details -
fix(hooks): the decision gate judges every language, test file and he…
…ader (ADR-1060 revision, no exception) (#555) * fix(hooks): the decision gate judges every language, test file and header Owner ruling of 2026-09-10 on ADR-1060: no exception. Six lines of /// rationale in a tests/*.rs file passed the gate because the language was deferred "until measured", the path was a test root and the run sat before anything executable. Each exemption sufficed alone. - _decision_gate_lex.py: one character-level scanner for the //, /* */, -- and ; families (string literals, Rust raw strings, backtick strings and block comments tracked), covering .rs .js .jsx .ts .tsx .go .java .c .h .cpp .hpp .cc .swift .kt .kts .cs .scala .m .mm .dart .php .sql .lua .hs .el .clj .lisp, plus the full # family (.py via tokenize, the shell family via the heredoc skip, .pl .r .toml .yaml .yml .cfg .ini). The suffix table and the scanner table are one table (LANGUAGES). - decision_gate.py: is_test_path, _TEST_DIRS, _TEST_FILE_RE, _is_header_run and the header boundary are deleted; the refusal states that no header, test file or language is exempt. PROSE_RUN_LIMIT, grandfathering, the source: pointer, fail-open and CORTEX_DECISION_GATE=off stay. - Python: a comment token after code on the same line no longer counts as a comment line, as the scanner's docstring already claimed. - ADR-1060 wiki page: revision section with the leak, what is removed, what stays and the tracked-tree measurement at 8d71210 (1479 files in judged suffixes, 10 with a header run of 8+, all grandfathered); mirror regenerated with scripts/check_project_wiki.py --write. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01LSTGMnuSuUXWs7ZBofW1AW * docs(changelog): record the ADR-1060 no-exception revision of the decision gate (#555) Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01LSTGMnuSuUXWs7ZBofW1AW --------- Co-authored-by: Claude Fable 5.1 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 88fbd74 - Browse repository at this point
Copy the full SHA 88fbd74View commit details -
The decision gate judges every language, test file and header (ADR-1060 revision 2026-09-10, no exception, #555): // and /* */, --, ; and # comment families, no test-path or header exemption, PROSE_RUN_LIMIT unchanged at 8, grandfathering and the explicit override kept. Every version surface moves to 4.21.0 (pyproject, plugin and marketplace manifests, server.json, manifest.json, package.json and lock, gemini and codex manifests, badge, uv.lock, README alt text) and the hypermnesia-mcp-viz pin moves to v3.2.0 (2482563172c0f02a1c022b82cb4e38299b7748b4, cortex-viz #156: the Wiki view lists project wikis, where project_root ADRs actually live). Claude-Session: https://claude.ai/code/session_01LSTGMnuSuUXWs7ZBofW1AW Co-authored-by: Claude Fable 5.1 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5f2321d - Browse repository at this point
Copy the full SHA 5f2321dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v4.20.0...v4.21.0