Report and diagnosis for the hole the 2026-10-09 review traced: the claude-code module's tools registered hooks, managed settings, permission rules and tool servers at the mesh and node scopes, the controller's settings verb took the module's managed_settings and mcp_servers, and skills, commands and subagents could carry text that runs by itself. The tool runner is not told who called, so an agent confined on the control node could run a command as the operator on every other node.
Must land before ADR 0266's agent account is switched on (hq #225).
Fixes, not merged:
mesh-controller: a mergeable file's own keys are the terminal's
mesh-catalog: claude-code refuses registering what a session runs; claude_code_registrations lists what exists
The diagnosis also records that the fix departs from ADR 0213 option 3 and ADR 0216 §2/§7; a decision record and the to-be 36 amendment follow through playbook 02.
hq's four checks pass (records, index, cycle, words).
Report and diagnosis for the hole the 2026-10-09 review traced: the `claude-code` module's tools registered hooks, managed settings, permission rules and tool servers at the mesh and node scopes, the controller's settings verb took the module's `managed_settings` and `mcp_servers`, and skills, commands and subagents could carry text that runs by itself. The tool runner is not told who called, so an agent confined on the control node could run a command as the operator on every other node.
**Must land before ADR 0266's agent account is switched on (hq #225).**
Fixes, not merged:
- mesh-controller: a mergeable file's own keys are the terminal's
- mesh-catalog: claude-code refuses registering what a session runs; `claude_code_registrations` lists what exists
The diagnosis also records that the fix departs from ADR 0213 option 3 and ADR 0216 §2/§7; a decision record and the to-be 36 amendment follow through playbook 02.
hq's four checks pass (records, index, cycle, words).
Record the hole the review traced, why the module cannot tell who called,
which kinds run or are obeyed in a session and which stay registrable,
the fix in the controller and the module, what is registered today, and
that it must land before ADR 0266's agent account is switched on.
Deliverynovox/hq@cdf0e71d8716 — delivered since 2026-10-09T08:00:51Z
Delivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
2026-10-09 07:52 (new) → proposed (announced): novox/hq#240's head announced
2026-10-09 07:52 proposed → checked (checked): the verdict names this commit
2026-10-09 07:52 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-09 08:00 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-09 08:00 published → delivered (done): nothing for a walk to move
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/hq@cdf0e71d8716` — **delivered** since 2026-10-09T08:00:51Z
**Delivery plan** — builds nothing: the change touches no module of the mesh's graph
**Transitions**
- 2026-10-09 07:52 (new) → proposed (announced): novox/hq#240's head announced
- 2026-10-09 07:52 proposed → checked (checked): the verdict names this commit
- 2026-10-09 07:52 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-09 08:00 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-09 08:00 published → delivered (done): nothing for a walk to move
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
The review found that a mergeable file takes any key, not only those it
names, and that the text a session reads stays registrable through a verb;
say both, and the follow-ups the module took.
Shared agent text is the terminal's until a surface of the operator's own
updates it, the wider controller rule stands, and a password is not a
setting: 342 names every module that takes one through a setting.
The confirmation review found the home scope wrote the operator's own
~/.claude on nodes where the agent is the operator, and that text put
straight on the bus at the mesh or node scope still renders; record both,
the fix for the first, and what closes the second.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Report and diagnosis for the hole the 2026-10-09 review traced: the
claude-codemodule's tools registered hooks, managed settings, permission rules and tool servers at the mesh and node scopes, the controller's settings verb took the module'smanaged_settingsandmcp_servers, and skills, commands and subagents could carry text that runs by itself. The tool runner is not told who called, so an agent confined on the control node could run a command as the operator on every other node.Must land before ADR 0266's agent account is switched on (hq #225).
Fixes, not merged:
claude_code_registrationslists what existsThe diagnosis also records that the fix departs from ADR 0213 option 3 and ADR 0216 §2/§7; a decision record and the to-be 36 amendment follow through playbook 02.
hq's four checks pass (records, index, cycle, words).
Delivery
novox/hq@cdf0e71d8716— delivered since 2026-10-09T08:00:51ZDelivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.