Issue 1126 (design 47): nox (mesh-cli) mostly forwarded to the controller through the node-engine's socket, so with the controller unassigned (2026-11-02 10:09) it answered nothing but enrol. It now calls each job's owner — seat verbs and module tools — through this machine's console (the mesh MCP server node-tools serves on loopback): 77 command lines (status, what runs where, placement as proposals for the operator's Approve, deliveries, conditions, healers, hand acts, config, vault, artifacts, licences, issues, the knowledge base, enrolment), plus generic call, ask, search, describe. The 15 controller lines with no successor say so, name what to use instead and exit 1; nothing claims success it did not have. Command map: hq .work/1126/nox-map.md.
Manifest: requires: mcp-endpoint, file /etc/mesh-cli/console (loopback address only, filled like claude-code's); no account, no invokes; go.mod drops mesh-sdk.
Tested locally (GOWORK=off): gofmt, go vet, go vet -tags integration, the unit suite (a 53-row table against a stand-in console answering like node-tools' mesh_call); the new binary was run against the live console and 13 commands answered.
Known: the comment and one row describe cleanup delete without --confirm as a dry run; the vault refuses instead (harmless; noted on issue 1126).
Reviewed-by: review-g2@shanks at 63de1f7e0d
Pushed-by: lead-47@shanks
Issue 1126 (design 47): `nox` (mesh-cli) mostly forwarded to the controller through the node-engine's socket, so with the controller unassigned (2026-11-02 10:09) it answered nothing but `enrol`. It now calls each job's owner — seat verbs and module tools — through this machine's console (the mesh MCP server node-tools serves on loopback): 77 command lines (status, what runs where, placement as proposals for the operator's Approve, deliveries, conditions, healers, hand acts, config, vault, artifacts, licences, issues, the knowledge base, enrolment), plus generic `call`, `ask`, `search`, `describe`. The 15 controller lines with no successor say so, name what to use instead and exit 1; nothing claims success it did not have. Command map: hq .work/1126/nox-map.md.
Manifest: `requires: mcp-endpoint`, file /etc/mesh-cli/console (loopback address only, filled like claude-code's); no account, no invokes; go.mod drops mesh-sdk.
**Tested locally** (GOWORK=off): gofmt, `go vet`, `go vet -tags integration`, the unit suite (a 53-row table against a stand-in console answering like node-tools' mesh_call); the new binary was run against the live console and 13 commands answered.
Known: the comment and one row describe `cleanup delete` without `--confirm` as a dry run; the vault refuses instead (harmless; noted on issue 1126).
Reviewed-by: review-g2@shanks at 63de1f7e0dd7edec74faef2a677c46656aea100a
Pushed-by: lead-47@shanks
https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
The controller nox forwarded every line to is unassigned (issue 1126), so nox
answered nothing but enrol open. Each line now calls the seat verb or module
tool that owns its job through this machine's console (mesh_call); a line no
seat owns says so and names what to use, never failing silently.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
nox now reaches the mesh through this machine's console, so the module
requires mcp-endpoint and writes the bound address to /etc/mesh-cli/console
rather than trusting a fixed port. No invokes: mesh-cli has no bus account,
and one nothing dials would only be minted.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
The console appends which machine answered after the JSON, so the nodes
table decoded nothing and printed the raw answer; read the first value
and keep the trailer.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
The vault deletes a retired holder only when confirm repeats its name, so
sending confirm "true" could never delete anything. The stand-in console now
also says which machine answered as a block of its own, as node-tools does.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Deliverynovox/mesh-catalog@63de1f7e0dd7 — merged since 2026-11-02T10:56:35Z
Source — source.main moved to novox/mesh-catalog@32c4c52261. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-11-02 09:48 (new) → proposed (announced): novox/mesh-catalog#593's head announced
2026-11-02 09:48 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-11-02 10:56 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-catalog@63de1f7e0dd7` — **merged** since 2026-11-02T10:56:35Z
**Source** — source.main moved to novox/mesh-catalog@32c4c52261c4. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-11-02 09:48 (new) → proposed (announced): novox/mesh-catalog#593's head announced
- 2026-11-02 09:48 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-11-02 10:56 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
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.
Issue 1126 (design 47):
nox(mesh-cli) mostly forwarded to the controller through the node-engine's socket, so with the controller unassigned (2026-11-02 10:09) it answered nothing butenrol. It now calls each job's owner — seat verbs and module tools — through this machine's console (the mesh MCP server node-tools serves on loopback): 77 command lines (status, what runs where, placement as proposals for the operator's Approve, deliveries, conditions, healers, hand acts, config, vault, artifacts, licences, issues, the knowledge base, enrolment), plus genericcall,ask,search,describe. The 15 controller lines with no successor say so, name what to use instead and exit 1; nothing claims success it did not have. Command map: hq .work/1126/nox-map.md.Manifest:
requires: mcp-endpoint, file /etc/mesh-cli/console (loopback address only, filled like claude-code's); no account, no invokes; go.mod drops mesh-sdk.Tested locally (GOWORK=off): gofmt,
go vet,go vet -tags integration, the unit suite (a 53-row table against a stand-in console answering like node-tools' mesh_call); the new binary was run against the live console and 13 commands answered.Known: the comment and one row describe
cleanup deletewithout--confirmas a dry run; the vault refuses instead (harmless; noted on issue 1126).Reviewed-by: review-g2@shanks at
63de1f7e0dPushed-by: lead-47@shanks
https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Delivery
novox/mesh-catalog@63de1f7e0dd7— merged since 2026-11-02T10:56:35ZSource — source.main moved to novox/mesh-catalog@32c4c52261. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.