Skip to content

v2.16.5

Choose a tag to compare

@nokhodian nokhodian released this 25 Sep 16:44
· 1474 commits to main since this release

[2.16.5] — 2026-09-25

Fixed

  • init no longer destroys user content. .mcp.json, .monomind/config.yaml and opencode.json are merged instead of overwritten (860a48d, 1ed11c2, ce68c88, 6b89484); managed blocks in .monomind/.gitignore and GEMINI.md are tracked with HTML-comment ownership markers so user-written content around them survives --force (1a15198, ce68c88, 4ee8db9); shipped files are hash-guarded, and a locally-edited file is never overwritten in place — it gets a .monomind-new copy alongside it instead (4b34f86); anything init does overwrite is backed up first; --force says so when it refreshes a block that predates block hashes (4ee8db9); the deny-by-default .gitignore no longer gets never-commit lines appended to it (6cc057f); project memory is seeded in-process and only when memory is on (9477ed4); doctor writes specific .monomind excludes and warns when a running MCP server predates the installed CLI (185d1e1, f8e3f5a).
  • Agent/skill picking is more conservative and more correct. monomind pick (CLI and MCP) and the [PICK] hook line now apply the same confidence gate consistently (4d80946, 9f3290f); the CLI's fallback text is shown in org-skill [PICK] lines (9f3290f); the prompt hook refreshes a stale skill index and drops removed skills instead of picking them (c1f27fb); namespaced slash commands are treated as commands, not prompts to pick for (312c2eb); Jev's "no fit" verdict is never overridden by a keyword pick — a clear "none" stays "none" (2d98766); the Jev hook window is capped at 3s regardless of what the environment asks for (65bdeaf); Jev now gets a category-diverse candidate set when keywords barely match, instead of a keyword-skewed one (d2a6e21); a description's own "not for X" clause is honoured when ranking candidates (f31e799); doctor's MCP-running check and pick-stats' adherence counting were both fixed (f8e3f5a, b25b5ab).
  • Skill trees and packaging stay consistent with what ships. The CLI package always ships the monodesign skill (193930c), which is recompiled only when its sources actually change (0a5f265, c4b1c76); a derived-kimi-tree check catches drift (8e37b06); dead CLI references in skills — commands the built CLI doesn't have — are replaced with real ones, and lint-skills now fails the build if any remain (db2495d, 6ff62eb); SKILLS_MAP matches the shipped skill tree (66b21d2); command and skill descriptions were fixed where missing, invalid YAML, or stale (580a5c7, 61b0dd7, 1f988a0).

Internal

  • Fixed a flaky assertion in init-generated-timestamp-stability.test.ts that asserted on a timestamp-stamp collision (4028283); test-only, no behavior change.

npm: monomind@2.16.5, @monoes/monomindcli@2.16.5