metalmind stamp self-heals broken output-style frontmatter
v0.8.3 fixed fresh installs but the installer (output-style.ts:122 — if !existsSync) skipped the file on upgrade — so every v0.8.0–v0.8.2 user kept the broken name: Marsh stamp and silent default voice through any number of metalmind stamp re-runs. installOutputStyle now detects the case-mismatched twin pattern (on-disk name differs from choice only by case AND body is byte-equal to the bundled asset) and overwrites from the asset. User-edited bodies (case-twin name but diverged body) are left alone. Five tests cover heal-fires / skips-on-edit / skips-on-unrelated-name / skips-when-correct / terse-twin. No rm step required to recover.
Bundled output styles silently inactive on fresh install
Claude Code matches settings.outputStyle against the name: frontmatter case-sensitively. The CLI wrote settings.outputStyle = "marsh" (lowercase) but the bundled cli/assets/marsh.md shipped with name: Marsh (capitalized) — so on every fresh install the file landed, the setting pointed at it, the file looked correct, and the style never applied. Same for terse. Caught only because the user had a pre-existing hand-authored lowercase copy. Fixed by lowercasing the asset name field and the legacy-migration write path. Bonus: dropped keep-coding-instructions: true from both shipped frontmatters — not a recognized output-style field.
metalmind gold rewrites wikilinks across the vault on archive
Same shape as scribe rename: when you archive a note, [[wikilinks]] in every other note that references it get rewritten to the new Archive/ path. Closes the v0.8.1 gotcha where archiving the two Codex plans left dangling links scattered across the MOC. Basename-only wikilinks survive unchanged. Plus: README anti-personas section dropped (was the same fabricated content we removed from the site in v0.7.x); releases page caught up to v0.8.x.
Three v0.8.0 follow-ups cleared
(1) doctor codex-mcp check no longer misattributes 5s timeouts as "binary not on PATH" — disambiguated via a `which codex` probe first. (2) synod + writing-vault-notes skill bundles extracted to cli/templates/.shared/skills/ — drift impossible by construction. (3) New doctor codex-agents-mirror check warns when ~/.agents/skills/ holds stale broken copies. No template-content changes, no re-stamp required for v0.8.0 users.
Codex CLI as a first-class metalmind host
metalmind init --host codex (or via the new multi-select prompt) stamps Codex with the same recall-first behaviour Claude Code gets. Seven artifacts: AGENTS.md sentinel block, SessionStart hook (reuses CC hook script verbatim — Codex JSON shape is identical), [sandbox_workspace_write] network_access=true, ~/.codex/rules/metalmind.rules pre-approving the metalmind command surface, three skills (writing-vault-notes, synod, save), opt-in --with-mcp. /save body extracted to .shared partial; CC slash-command + Codex skill source from one body — drift impossible by construction.
Repositioned as the Claude Code standard library
Six modules — memory, code intelligence, daily workflow, deliberation, desktop integration, health — share state through one vault, one CLI, one stamped CLAUDE.md rule. Memory stays the headline; the rest is the moat. New site, new comparison-matrix rows, new Architecture + Cookbook docs.
Vault CLAUDE.md aligned with global block
Closed four contradictions between the vault stamped block and the global one (folder list, write contract, raw-Write rule, MOC location).
Stamped rules no longer contradict the CLI contract
Scribe daily-date guard (Fixed + Breaking) — every mutating scribe verb refuses non-today daily writes without --date. Plus eight stamped-rule contradictions closed across CLAUDE.md.block.template, save.md, and writing-vault-notes/SKILL.md.
Synod skill + metalmind synod command
A 7-persona deliberative council debate. Each persona spawns as a parallel subagent, the main agent synthesises a structured verdict (position, confidence %, 3 risks, 5 next steps, minority report).
graphify no longer pollutes ~/CLAUDE.md
graphify claude install was running with cwd=$HOME, dropping a graphify stamp at ~/CLAUDE.md that injected unrelated instructions into every session under $HOME. Now spawns from a temp directory; legacy stale stamps are stripped on every init.