v2.11.2
[2.11.2] — 2026-09-18
Fixed
init --forceappended a second complete copy of the managed instructions toCLAUDE.md(230 lines became 455 in this repo, every rule stated twice) for any project initialised before the<!-- monomind-block:… -->delimiter existed: the writer recognised only its own current delimiter, so an older unmarked generated body read as user content and a fresh block was appended on every run. The merge primitive now also recognises the older# monomind:start <marker>pair and an unmarked generated body (matched structurally, conservatively — anything not provably generated terminates the region rather than being swallowed), replaces it in place, and migrates it to the current delimiter; an already-doubled file heals back to one copy, and repeatedinit --forceruns are byte-identical. Same primitive backs.agents/shared_instructions.md(#276: 22918c7).- Every
monomind platformssubcommand printed nothing at all —doctor,plan,install,upgrade,uninstall,setup,docsand even its error paths formatted their output with the colour helpers that return a styled string and discarded it, soplatforms doctor --platform claude(whichdoctortells you to run) wrote 0 bytes and exited 0. They now print (#277: e2c29d7). platforms doctorreported all 16 platforms aslegacyimmediately after a fresh install: legacy ownership matched anymonomind:startmarker without requiring the old unnamed form, and flagged the shared skill roots (.agents/skills,.gemini/skills) on mere existence though they are the current portable layout. Becauseplatforms install --allgates migration on the same predicate, it was rewriting current blocks and leaving stray marker-name lines inCLAUDE.md/AGENTS.md. A fresh install now reports 0 findings (#277: e2c29d7).
npm: monomind@2.11.2 · @monoes/monomindcli@2.11.2