Releases: Da7-Tech/mind
Release list
mind v6.2.7 — Windows reader retry
The closing auditor caught windows-latest 3.9 red on the 6.2.6 tag: 1 of 12 parallel CLI writers died with Errno 13 reading CLAUDE.md during a concurrent os.replace. The reader side of export_to_agents was the fourth and last member of the Windows sharing-violation family that 6.1.3 fixed for graph.json — both agent-file reads now retry, and a file vanishing mid-race reads as fresh.
CI is 9/9 green on this tag, including windows-latest 3.9 (verified before publishing this release — the lesson is learned).
mind.py sha256: c55594585f8d1dbb944e3ec56b57d6e36dc7c639ceeb0f5621f19ce45c66451b · 190 tests · mutation 45% on this file
mind v6.2.6 — final panel closure
Final panel round on 6.2.5: two auditors returned zero; the third caught one last LOW — the recall footer (and two init/status hints) still printed a bare python3 mind.py ..., the exact field-failure class the exported contract was fixed for in 6.2.0. Every runtime guidance string now routes through the same path resolver as the contract (regression-tested from a non-root install).
The user-journey auditor's bottom line on the original field complaint ("worked all day, memory stayed empty"): it cannot recur — absolute-path contract, self-running dream, and the no-permission rule each verified end-to-end from the live tag.
mind.py sha256: 88b46a8c98ab8c8133d853149bec3b1243d61e7d149d8352443c6a277281ead8 · 190 tests · mutation 45% measured on this file
mind v6.2.5 — distribution-channel closure
The panel's remaining findings were about the release view, not the code — so this release closes the channel itself:
- The tag carries the current docs (6.2.4's two doc corrections had landed on main after the tag — readers of the released tree saw stale figures).
- Fixtures are actually persona-free (the English alias survived the earlier Arabic-only neutralization in 7 test lines).
- graph.json
metais whitelist-bounded — a hand-edited file can no longer grow it without bound (1000-key injection collapses to the whitelist; regression-tested). - Mutation kill rate measured on this exact file as the last pre-tag step: 45% (the deterministic sample re-draws on every code change).
Scope notes, stated plainly: branch protection intentionally has no required PR reviews / enforce_admins (solo-maintainer repo — the 9-job strict matrix is the real guard), and PR #56859 referenced in past notes lives in NousResearch/hermes-agent, not here.
mind.py sha256: bddfd7459f78ad08513646a056961df593111c16e6def70737a2723fffd9afb3 · 189 tests
mind v6.2.4 — panel round 2
Second panel round: three fresh auditors re-broke every v6.2.3 fix and cross-examined all round-1 claims — two returned zero findings (all fixes held: concurrent poison injection, malformed markers, SIGKILL storms, live-tag field simulation end-to-end), one found a LOW display issue, fixed here:
- Correction fusion no longer inherits supersession-transition edges: after an A→B→C→A chain,
why Bshowed two "superseded-by" edges, contradicting its ownsuperseded_byfield. Transition edges mark one pair's state change and stay with that pair. recall/entity/validity were never affected — but provenance must not lie.
mind.py sha256: e1d810634e74ed39920a12e9a9012f8506faad3731f5eb6569becef01a6ca2f9 · 188 tests
mind v6.2.3 — panel round
Three-auditor panel on 6.2.2 (nine methodologies total). One MEDIUM defect found and fixed: a future-dated last_edge_decay marker (clock skew / hand edit / synced graph) froze edge homeostasis forever under max-wins merging — markers are now clamped to today at load and inside the merge, decay resumes next day, no same-day compounding (regression-tested with the exact 2099 attack). Meta values hardened (printable, 64-char cap). The accepted ≤26h present-vs---at divergence is documented at the code site. Mutation kill remeasured on this release: 42% (sample re-drawn when the file changes — wording now says so). Panel also confirmed clean: 20-way concurrency exact counts, 160 SIGKILL crash injections with zero corruption, fuzz 420/420, all symlink classes contained, py3.9 AST-clean, live tag checksum match, zero identity leaks.
mind.py sha256: f6110e423a18dbb9d5f6487b9355470084505b9fb415c70876f0c3196b47230d · 187 tests
mind v6.2.2 — second-review remnants
Second audit round on 6.2.1 — every remnant reproduced before fixing, each with a regression test (185 tests, all benches PASS):
- Order-independent identity ranking: third-person assertions ("the user's name is X") earn facet keys, and co-occurrence expansion can no longer gift identity keys to non-identity facts — the filename-convention distractor can't win "what is my name" in any store order.
- Persistent daily-decay marker (
meta.last_edge_decayin graph.json, max-wins merge) — deleting the day's dream journal no longer re-applies edge decay. - Clean reopen: postgres → sqlite → postgres no longer leaves the live fact wearing a stale "superseded-by" edge.
- Symmetric clock-skew tolerance for
valid_toon present-time checks. signals.jsonlparent-chain check; neutral fixtures; scoped wording.
mind.py sha256: 60ddc63f8f5740aac50bafa5e1ccf1e0ade0218b874e9797e24b6119aeecc141
mind v6.2.1 — fifth audit round
Two independent external audits of 6.2.0 — every claim reproduced-or-refuted before acting (one claim refuted by measurement: CONCEPT_SEED has 83 entries as documented, not 44). All confirmed findings fixed with regression tests (180 tests):
- Identity facets: a stored first-person fact earned ALL identity keys, so "my city is Riyadh" outranked the user's actual name on "what is my name". Facts and facet-naming queries now earn only the facets they state; facet-less queries (who am I) still reach every identity fact.
- Edge homeostasis is once per calendar day — auto-dream can cycle several times a day, and per-cycle decay compounded fast enough to prune healthy edges in days instead of the documented ~45 nights.
- Clock-skew tolerance (26 h) in present-time validity: naive local timestamps synced from a machine east of yours no longer hide a fresh fact until midnight;
--athistory stays literal. - The last unhardened append closed:
signals.jsonlnow uses O_NOFOLLOW+O_APPEND like every other write path; permanence-bearing appends (provenance journal, archive, dream journal) fsync. - Governance: private vulnerability reporting actually enabled, branch protection requires all 9 CI jobs (strict), code of conduct + issue/PR templates.
- Docs precision: ~2,600 lines, mutation kill rate remeasured live at 44%, agent-support claims scoped to the enumerated list.
mind.py sha256: faccb80fdb926e3486151fb312b8cccffaf503d48790c1876dd6cd74b55a5c6c
mind v6.2.0 — automatic operation
Memory that maintains itself. Field report that motivated this release: a user ran init, worked on the codebase all day — and memory stayed empty. v6.2.0 transplants the proven automation mechanism of Hermes' built-in memory and OpenClaw's workspace memory into mind:
What changed
- Standing orders in the exported block.
AGENTS.md/CLAUDE.md/GEMINI.md(the files Kimi Code, Codex, Claude Code, Gemini CLI, Cursor, zcode… auto-load every session) now carry a working contract: save stable facts immediately, save the 1–3 durable lessons before finishing any task, save FIRST when the session is ending or context is about to be compacted, never save transient junk (task progress, PR numbers, SHAs), phrase memories declaratively, recall before claiming ignorance, and never ask the user for permission. - Real invocation path. Exported commands point at your actual
mind.py(quoted, absolute when outside the project root) — previously they hardcodedpython3 mind.pyand silently failed for any other layout. - Auto-dream. After write commands, a full dream cycle (decay, dedup, promotion, conflict scan) fires automatically at ≥10 pending signals or on the first write of a new day — the
git gc --autopattern: zero infrastructure, works in containers and CI.MIND_AUTO_DREAM=0disables. Same-day concurrent cycles append via O_APPEND, so parallel writers can't drop each other's journal records. - Memory health line (count · currently-true · last dream) visible to the agent every session.
Field-tested
Six agent-in-project simulations (the agent sees ONLY the exported AGENTS.md, is never told about memory): saved stated preferences and technical lessons unprompted, corrected a migrated fact via correct instead of duplicating, recalled + reinforced across a session reset, saved zero junk on a trivia-only session, and consolidated automatically mid-session at the signal threshold — all verified from disk by a deterministic referee.
Integrity
mind.py sha256: 39a2f6e4a832032f97502444fd0f0208c84806e87f6f8d2d6b30794c2ffd2339
175 tests · 5 CI benches (recall 1.00, 24/24 languages, 12/12 discrimination, 180-day soak, fuzzer) · reviewed by adversarial + docs-truth audit passes.
mind 6.1.3 — Windows read-retry
Read-side transient PermissionError retry on Windows (concurrent os.replace); closes the sharing-violation family. sha256(mind.py)=27a40a5d44ea9b2fdce0eb18bb90bcbb885d98064e085cc2579cf3b16c18be97
mind 6.1.2 — second-wave fixes
Confirm-vs-dream race fixed (salience-only decay merge); export can no longer destroy user text that quotes the guard markers (structural block identification); Windows retry budget raised. 165 tests. sha256(mind.py)=0aed7ca21051251870cb3ac1ec0cce9d9447f64ab741b2c07b9f1cedea0e5775