Repository navigation
v2.16.8
[2.16.8] — 2026-09-26
Added
- The coordinator is warned at 80% of a role's token cap and of the org-wide
run_config.budget_tokens. (Follow-up to #343) The one-time 80% warning previously covered onlybudget_usd. It now also fires once per role per run at 80% of the role's token cap (its ownbudget_tokens, or its even split ofrun_config.budget_tokens, on whichever basis the cap is enforced on), and once per run when the whole run passes 80% ofrun_config.budget_tokens. Each warning is abudget-warningaudit event whosedata.budgetnames the budget (budget_usd,budget_tokensorrun_config.budget_tokens). See Budget-closed assignees.
Changed
- MCP result shape:
hooks_session-startdrops fields that never held real values. (Follow-up to #341) Theconfigblock (intelligenceEnabled,hooksEnabledandmemoryPersistence, all alwaystrue) andsessionMemory.restoredPatterns(always0) are gone.previousSessionno longer hasid,tasksRestoredormemoryRestored; it now carries the loaded session'ssessionId,status,startedAtand, when present,endedAt,summaryandmetrics.
Fixed
hooks_session-startwithrestoreLatestreports the previous session it actually found. (Follow-up to #341) It returnedrestored: truewheneverrestoreLatestwas set and apreviousSessionwhose id was made up from the current time minus one day, without looking anything up. It now reads the most recently started session from thesessionsstore thathooks_session-endupdates. It reportsrestored: trueand that session's record only when one exists, andrestored: falsewithpreviousSession: nullotherwise. The session being started is never reported as its own previous session.hooks_model-outcomereportsrecorded: falsewhen the ledger write fails. (Fixes #346)recordModelOutcomeswallowed every error and the tool always returnedrecorded: true, so an unwritable.monomind/neural/or a full disk dropped the outcome without anyone knowing.recordModelOutcomestill never throws, but it now resolves to whether the line was appended, the tool reports that, andhooks model-outcomeprints a warning instead of "Outcome recorded" when the write failed.- Four more hooks tools stop reporting writes that did not happen. (Follow-up to #346)
hooks_post-tasksetlearningUpdates.outcomePersisted: trueeven when writing.monomind/routing-outcomes.jsonfailed.hooks_session-endandmemory_session-endreported the session end as persisted when no session with that id had been started, which is everyhooks session-endrun, since the command passes no session id; they now reportpersisted: false/success: false.hooks_intelligence-resetreturnedreset: truewhen some learning files could not be deleted; it now returnsreset: falsewith afailedFileslist, andhooks intelligence --resetwarns and names them.hooks_pretraincountedneuralPatternsLearnedeven when recording the trajectory failed; it now reports 0. org reloadreopens roles the org-widerun_config.budget_tokensceiling closed. (Follow-up to #343) A reload that raised the ceiling above the run's total spend could not reopen the roles it had closed; their tasks stayedblockedwith "org-wide budget_tokens exhausted" for the rest of the run. Raisingrun_config.budget_tokensabove the run's total spend now re-arms the ceiling at the new value, reopens those roles with their spend kept, restores any roles that had been held back from spawning, and re-dispatches their held tasks (org-budget-reopenedaudit event); a raise that is not enough keeps them closed and updates the numbers in the held tasks' reason. A reload also recomputes the token cap of every live role that uses the org's even split, so a changedrun_config.budget_tokensor a role gaining or dropping its ownbudget_tokensmoves the other roles' shares too. See Budget-closed assignees.pickno longer mis-routes tasks that mention "org" or API documentation. Keyword picks showedmonoswarm-multi-repofor tasks like "set up an org that tracks competitor pricing changes" — its description said "many repositories in an org", which matched monomind's own meaning of "org" (an agent organization); it now says "GitHub repositories" / "GitHub repos".api-designershowed up for "document the public REST API for external developers" because it carried thedocumentationtag, which is reserved for technical docs, READMEs, ADRs and changelogs; that tag is dropped, sinceapialready covers it.code-documenter's description now names the API reference docs and tutorials its skills actually cover.- Editing a bundled org skill in place is picked up without another change.
.claude/helpers/skill-registry.jsoncompared the bundledorg-skills/library by directory mtime only, so editing an existing bundledSKILL.mdleft the index looking fresh and the prompt hook,monomind pickand thepickMCP tool kept ranking the old description and tags until something else touched the directory. The bundled root now gets the same per-skill scan as project and user org skill roots.
npm: https://www.npmjs.com/package/monomind/v/2.16.8 and https://www.npmjs.com/package/@monoes/monomindcli/v/2.16.8