Issue 1581 (the controller half; the mesh-catalog half is mesh-catalog #405).
The condition for a stalled delivery in state stopped told the operator 'stop it from the mesh MCP server; this notification cannot do it' and offered Stop, while mesh-delivery.stop refuses a stopped delivery ('stop from stopped is refused'). Seen on Telegram 2026-10-21 10:18 for mesh-catalog #384.
cmd/mesh-controller/plain_words.go stalledWords: a line in state stopped offers no action, and its Needs reads 'nothing to stop, it is stopped already: ', from the stalled line's own healer words (stoppedNeeds). Every other held state keeps its Stop.
Tests: TestAStoppedDeliveryIsNotAskedToBeStopped (fails on main: 'a stopped delivery offers [Stop ...]'); unit suite and go vet -tags integration clean; mesh-controller.try build-1792571451882093882 passed at cddf1508 (8 min 19 s).
Acceptance after delivery: a stopped delivery listed by stalled raises no Stop button, and its text says what ends it.
Issue 1581 (the controller half; the mesh-catalog half is mesh-catalog #405).
The condition for a stalled delivery in state `stopped` told the operator 'stop it from the mesh MCP server; this notification cannot do it' and offered Stop, while mesh-delivery.stop refuses a stopped delivery ('stop from stopped is refused'). Seen on Telegram 2026-10-21 10:18 for mesh-catalog #384.
- cmd/mesh-controller/plain_words.go `stalledWords`: a line in state `stopped` offers no action, and its Needs reads 'nothing to stop, it is stopped already: <what ends it>', from the stalled line's own healer words (`stoppedNeeds`). Every other held state keeps its Stop.
Tests: `TestAStoppedDeliveryIsNotAskedToBeStopped` (fails on main: 'a stopped delivery offers [Stop ...]'); unit suite and `go vet -tags integration` clean; mesh-controller.try build-1792571451882093882 passed at cddf1508 (8 min 19 s).
Acceptance after delivery: a stopped delivery listed by stalled raises no Stop button, and its text says what ends it.
Reviewed-by: reviewer-1581@shanks at cddf1508717816f70730cbc5eff0e8718e2c09e6
mesh/merge-gate head cddf15087178 merged into trunk 0fee5404d95b — pass: builds mesh-controller → novox; no bus step; every machine composes with the chang…
Deliverynovox/mesh-controller@cddf15087178 — delivered since 2026-10-21T08:53:13Z
Delivery plan — builds mesh-controller → novox; no bus step
tier 0: mesh-controller
novox: receives mesh-controller
Machines
mesh-controller on every machine running it: sent
Transitions
2026-10-21 08:39 (new) → proposed (announced): novox/mesh-controller#413's head announced
2026-10-21 08:51 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-21 08:51 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-21 08:52 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-21 08:52 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
2026-10-21 08:53 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@cddf15087178` — **delivered** since 2026-10-21T08:53:13Z
**Delivery plan** — builds mesh-controller → novox; no bus step
- tier 0: mesh-controller
- novox: receives mesh-controller
**Machines**
- mesh-controller on every machine running it: sent
**Transitions**
- 2026-10-21 08:39 (new) → proposed (announced): novox/mesh-controller#413's head announced
- 2026-10-21 08:51 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-21 08:51 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-21 08:52 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-21 08:52 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
- 2026-10-21 08:53 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says
The commit's note under `refs/notes/mesh-plan` keeps every transition: `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 1581 (the controller half; the mesh-catalog half is mesh-catalog #405).
The condition for a stalled delivery in state
stoppedtold the operator 'stop it from the mesh MCP server; this notification cannot do it' and offered Stop, while mesh-delivery.stop refuses a stopped delivery ('stop from stopped is refused'). Seen on Telegram 2026-10-21 10:18 for mesh-catalog #384.stalledWords: a line in statestoppedoffers no action, and its Needs reads 'nothing to stop, it is stopped already: ', from the stalled line's own healer words (stoppedNeeds). Every other held state keeps its Stop.Tests:
TestAStoppedDeliveryIsNotAskedToBeStopped(fails on main: 'a stopped delivery offers [Stop ...]'); unit suite andgo vet -tags integrationclean; mesh-controller.try build-1792571451882093882 passed atcddf1508(8 min 19 s).Acceptance after delivery: a stopped delivery listed by stalled raises no Stop button, and its text says what ends it.
Reviewed-by: reviewer-1581@shanks at
cddf150871Delivery
novox/mesh-controller@cddf15087178— delivered since 2026-10-21T08:53:13ZDelivery plan — builds mesh-controller → novox; no bus step
Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
cddf1508Judged: head
cddf15087178merged into trunk0fee5404d95b; read beside it: mesh-catalog50ef13d29385, mesh-controller-main0fee5404d95b, mesh-hostc5c4caa2a4ab, mesh-toolse0fadc43d9ddmesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-controller)mesh/repo-check: PASS — its merge-check.sh passedDelivery plan — builds mesh-controller → novox; no bus step
Run by the build seat on shanks as
build-1792571994592737232(builds --log build-1792571994592737232).