Skip to content

v2.1.6

Choose a tag to compare

@nokhodian nokhodian released this 17 Jul 09:07

Follow-up fixes for the 2.1.5 routing-feedback / stale-helpers issues

Two bugs identified after 2.1.5 shipped:

  1. router.cjs never refreshed by init upgrade — the upgrade path's criticalHelpers list never included router.cjs, so doctor's "Helper Files" warning pointed users at a fix action (init upgrade) that didn't actually refresh it. doctor --fix already worked correctly (separate, complete file list) — only the upgrade path was broken. Fixed both the criticalHelpers list and its broken-source-path generator fallback.

  2. 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 fixed router.cjs. It now self-heals: hash-compares and silently refreshes any stale top-level critical helper plus everything under handlers/ and utils/ (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.cjsintelligence-outcomes.jsonlsession-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