v2.1.6
Follow-up fixes for the 2.1.5 routing-feedback / stale-helpers issues
Two bugs identified after 2.1.5 shipped:
-
router.cjsnever refreshed byinit upgrade— the upgrade path'scriticalHelperslist never includedrouter.cjs, so doctor's "Helper Files" warning pointed users at a fix action (init upgrade) that didn't actually refresh it.doctor --fixalready worked correctly (separate, complete file list) — only the upgrade path was broken. Fixed both the criticalHelpers list and its broken-source-path generator fallback. -
Stale helpers required manual intervention — session-restore's staleness check only warned and told users to run
init upgrade, which (per bug 1) wouldn't even have fixedrouter.cjs. It now self-heals: hash-compares and silently refreshes any stale top-level critical helper plus everything underhandlers/andutils/(where the real hook-behavior fixes live —capture-handler.cjs,gates-handler.cjs, etc.) against the currently-installed package on every new session, mirroring the existing 6h-staleness auto-refresh already used for the metrics workers.
Verification: the routing-feedback fix from 2.1.5 was re-verified with a live end-to-end repro (not just a code trace) — a fake SubagentStop transcript whose final tool_result carries is_error:true (with a summary containing no failure keywords) correctly writes success:false through capture-handler.cjs → intelligence-outcomes.jsonl → session-handler.cjs's outcomesSignal veto → routing-feedback.jsonl's intelligenceFeedback:false. The degenerate-100%-true report some users saw on 2.1.5 reflects old pre-fix data (or sessions without a genuine subagent tool failure) — it does not retroactively update, and requires a new session where a subagent's last tool call actually errors.
Packages published: monomind@2.1.6, @monoes/monomindcli@2.1.6