Recovery fix under recovery-fixes-merge-and-tell, merged by the session without the Approve (the operator, 2026-11-08 ~18:30: deliver design 47 completely, no Telegram approvals or checks).
Cause. The link serves the seat node-engine when it opens (internal/link/run.go), before the node agent starts the seat list reader (cmd/mesh-host/nodeagent.go). Since ADR 0635 catalogue holds no seat until then, so ServeEngineSeat registered no verb: mesh_runtimes shows every new engine announcing 0 seat verbs, and manifest-reads, compose, composition and the hand acts answer "no responders" on novox, shanks and ace. The old assigner on ace therefore keeps ace's statement from 2026-11-07 23:20 (no seats) and holds its own successor 92ed4318.
Fix. ServedEngineSeat: the seat list's definition once held, the bootstrapped definition before (ADR 0636 §2). The only seat-list read at start in mesh-host; the composer waits for the list and the reads statement restates (#211). Quick and thorough fix are one.
Checked locally. go vet (and -tags integration), the whole unit suite; new unit test TestServedEngineSeatBeforeTheList (no list held / list held).
Recovery fix under recovery-fixes-merge-and-tell, merged by the session without the Approve (the operator, 2026-11-08 ~18:30: deliver design 47 completely, no Telegram approvals or checks).
**Cause.** The link serves the seat node-engine when it opens (internal/link/run.go), before the node agent starts the seat list reader (cmd/mesh-host/nodeagent.go). Since ADR 0635 catalogue holds no seat until then, so ServeEngineSeat registered no verb: mesh_runtimes shows every new engine announcing 0 seat verbs, and manifest-reads, compose, composition and the hand acts answer "no responders" on novox, shanks and ace. The old assigner on ace therefore keeps ace's statement from 2026-11-07 23:20 (no seats) and holds its own successor 92ed4318.
**Fix.** ServedEngineSeat: the seat list's definition once held, the bootstrapped definition before (ADR 0636 §2). The only seat-list read at start in mesh-host; the composer waits for the list and the reads statement restates (#211). Quick and thorough fix are one.
**Checked locally.** go vet (and -tags integration), the whole unit suite; new unit test TestServedEngineSeatBeforeTheList (no list held / list held).
**Undo.** Revert this merge.
https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
The link serves the seat node-engine when it opens, before the node agent
starts the reader of the seat list; since ADR 0635 catalogue holds no seat
until then, so the engine registered no verb at all. Nobody answered
manifest-reads, compose, composition or the hand acts on novox, shanks and
now ace, and the assigner kept ace's old statement, holding its own
successor on seats the new engine states.
Quick and thorough fix are one here: the only seat-list read at start is
this one (the composer waits for the list, the reads statement restates).
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Deliverynovox/mesh-host@7b42c94a4d78 — merged since 2026-11-08T17:34:54Z
Source — source.main moved to novox/mesh-host@87bdc95a3d. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-11-08 17:34 (new) → proposed (announced): novox/mesh-host#213's head announced
2026-11-08 17:34 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-08 17:34 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-host@7b42c94a4d78` — **merged** since 2026-11-08T17:34:54Z
**Source** — source.main moved to novox/mesh-host@87bdc95a3d65. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-11-08 17:34 (new) → proposed (announced): novox/mesh-host#213's head announced
- 2026-11-08 17:34 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-08 17:34 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.
Recovery fix under recovery-fixes-merge-and-tell, merged by the session without the Approve (the operator, 2026-11-08 ~18:30: deliver design 47 completely, no Telegram approvals or checks).
Cause. The link serves the seat node-engine when it opens (internal/link/run.go), before the node agent starts the seat list reader (cmd/mesh-host/nodeagent.go). Since ADR 0635 catalogue holds no seat until then, so ServeEngineSeat registered no verb: mesh_runtimes shows every new engine announcing 0 seat verbs, and manifest-reads, compose, composition and the hand acts answer "no responders" on novox, shanks and ace. The old assigner on ace therefore keeps ace's statement from 2026-11-07 23:20 (no seats) and holds its own successor 92ed4318.
Fix. ServedEngineSeat: the seat list's definition once held, the bootstrapped definition before (ADR 0636 §2). The only seat-list read at start in mesh-host; the composer waits for the list and the reads statement restates (#211). Quick and thorough fix are one.
Checked locally. go vet (and -tags integration), the whole unit suite; new unit test TestServedEngineSeatBeforeTheList (no list held / list held).
Undo. Revert this merge.
https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Delivery
novox/mesh-host@7b42c94a4d78— merged since 2026-11-08T17:34:54ZSource — source.main moved to novox/mesh-host@87bdc95a3d. 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.