Repository navigation
v7.55.1
Fixed
-
The
bd closereview gate, the subagent-stop block and MCP auto-approve were all inert in 7.55.0. A Claude Codehooks.jsonentry of"type": "mcp_tool"cannot return a verdict — the harness names four hook types that carry a decision (prompt,agent,command,http) andmcp_toolis not among them. RDR-215 rewired 21 entries across the two tiers and swept these three onto the tool tier with everything else, so each returned a correct verdict that was discarded. They now run asnx-hookverbs on the command tier: a console script in the wheel, exec form, no shell and no plugin script, so the fix does not walk back RDR-215's direction.nexus.mcp.hooks.DECIDING_HOOKSnames the set and a test refuses ahooks.jsonthat puts any of them back. (nexus-17i1n) -
The close gate was silently disabled in every git worktree.
.nexus.ymlis gitignored by design, so there is one per repo and it lives in the primary checkout; the reader resolved it from the process cwd and every linked worktree got the defaults, both gates off. It now resolves from the git common dir — identical for anyone not using worktrees. Theon_close: falsebranch also said nothing at all; it now states that an allow is by configuration rather than by verification, because a gate that declines to gate without a word is indistinguishable from one that checked and was satisfied. (nexus-634ye) -
Three more hooks were dead because an MCP server gets no usable
CLAUDE_PLUGIN_ROOT.conexus/.mcp.jsonset it to the literal${CLAUDE_PLUGIN_ROOT}— Claude Code does not expand${...}in an MCPenvblock — and a non-empty literal is truthy, so callers built a path that can never exist while the documented unset fallback never ran. Consequences: session-end verification read an empty config and verified nothing; every dispatched subagent received context with its whole T2 Memory section missing; and the RDR-205 ledger projection wrote nothing at all, on every SubagentStart and SubagentStop, since v7.41.0. Fixed by porting the three scripts into the wheel (nexus.hooks.verification_config,nexus.hooks.t2_prefix_scan,nexus.hooks.tuple_ledger_project) so nothing needs the plugin root, rather than by teaching the hooks to find it. (nexus-b5ugt) -
The
envblocks are removed from both server entries inconexus/.mcp.json. There is no correct value to put there, and a new lint walks both plugins'.mcp.jsonrefusing any env value that is an unexpanded placeholder. (nexus-2xso4) -
_bd_verbsdid not see abd closeinside a brace group or a subshell, so{ bd close nexus-x; }closed without a review marker on either payload path. (nexus-17i1n)
Changed
nx-hookgains three verbs:pre-close-verification,subagent-stop,auto-approve. All three remain registered as MCP tools as well — the verdict is useful as data — buthooks.jsonwires the command tier.DataTokenManager.fresh_lease_token(): a read-only peek at an existing data-token lease that never mints and never touches the in-process cache.
Engine
- Pinned engine identity unchanged:
engine-service-v0.1.129.