Producers offer no Release/Stop/Start/Restart actions: those stay words-only "Needs you: …". Only SilenceAction (now with cause operator-answer).
plainly: when a producer's words are refused, the verdict is kept ("Needs you: read the details to see what to do.") with its sound actions; never weakened to "Nothing for you to do".
Plain rule: no longer refuses "session" (explanation bans only "agent"; needs bans "agent" and "by hand"), "e.g."/"i.e.", or numbers without a-f letters; an explanation over 420 bytes is cut at a word, not refused.
Observe emits condition-changed (change words) when needs or actions change.
Words for relogin-needed (the kind #142 / ADR 0254 adds), held to the plain rule in a test, as is the relogin needs of module-unhealthy.
A conditions silence with cause operator-answer is a person's decision, not a repair: it does not count toward healer-wanted.
Tests: internal/conditions/plain_test.go (false refusals, cut, fallback keeps verdict and actions, change of words emits), cmd/mesh-controller/plain_words_test.go (no actions on module/held/waiting, relogin words, operator answer not a repair). Whole suite passes here against a throwaway postgres.
Group: novox/hq and novox/mesh-catalog fix/notifications-after-review. Do not merge without the operator.
Fix forward of #141 after review.
- Producers offer no Release/Stop/Start/Restart actions: those stay words-only "Needs you: …". Only `SilenceAction` (now with cause `operator-answer`).
- `plainly`: when a producer's words are refused, the verdict is kept ("Needs you: read the details to see what to do.") with its sound actions; never weakened to "Nothing for you to do".
- Plain rule: no longer refuses "session" (explanation bans only "agent"; needs bans "agent" and "by hand"), "e.g."/"i.e.", or numbers without a-f letters; an explanation over 420 bytes is cut at a word, not refused.
- `Observe` emits `condition-changed` (change `words`) when needs or actions change.
- Words for `relogin-needed` (the kind #142 / ADR 0254 adds), held to the plain rule in a test, as is the relogin needs of `module-unhealthy`.
- A `conditions silence` with cause `operator-answer` is a person's decision, not a repair: it does not count toward healer-wanted.
Tests: `internal/conditions/plain_test.go` (false refusals, cut, fallback keeps verdict and actions, change of words emits), `cmd/mesh-controller/plain_words_test.go` (no actions on module/held/waiting, relogin words, operator answer not a repair). Whole suite passes here against a throwaway postgres.
Group: novox/hq and novox/mesh-catalog `fix/notifications-after-review`. Do not merge without the operator.
composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
Machines
mesh-controller on novox: passed — healthy 3 times over 3m39s
mesh-controller on the rest running it: sent
build-agent on ace: passed — healthy 3 times over 2m18s
build-agent on the rest running it: sent
route-proxy on ace: passed — healthy 3 times over 3m16s
route-proxy on the rest running it: sent
Transitions
2026-10-08 12:55 (new) → proposed (announced): novox/mesh-controller#145's head announced
2026-10-08 13:01 proposed → checked (checked): the verdict names this commit
2026-10-08 13:01 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-08 13:02 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-08 13:02 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
2026-10-08 13:15 delivering → delivered (done): its walk is done: 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@76cfbac7a1eb` — **delivered** since 2026-10-08T13:15:38Z
**Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller
- tier 1: build-agent
- tier 2: route-proxy
- ace: receives build-agent, route-proxy
- g14: receives build-agent
- novox: receives mesh-controller, build-agent, route-proxy
- shanks: receives build-agent
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- route-proxy provides route: its consumers are sent again after it
- route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
**Group** `fix/notifications-after-review`, in order: novox/hq@3bfedcfa1561 → novox/mesh-controller@76cfbac7a1eb → novox/mesh-catalog@700dd7fa1abd
- novox/mesh-controller@76cfbac7a1eb before novox/mesh-catalog@700dd7fa1abd: built by
- composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
**Machines**
- mesh-controller on novox: passed — healthy 3 times over 3m39s
- mesh-controller on the rest running it: sent
- build-agent on ace: passed — healthy 3 times over 2m18s
- build-agent on the rest running it: sent
- route-proxy on ace: passed — healthy 3 times over 3m16s
- route-proxy on the rest running it: sent
**Transitions**
- 2026-10-08 12:55 (new) → proposed (announced): novox/mesh-controller#145's head announced
- 2026-10-08 13:01 proposed → checked (checked): the verdict names this commit
- 2026-10-08 13:01 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-08 13:02 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-08 13:02 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
- 2026-10-08 13:15 delivering → delivered (done): its walk is done: 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`.
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
route-proxy provides route: its consumers are sent again after it
route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
Run by the build seat on g14 as build-1791463238933990075 (builds --log build-1791463238933990075).
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 50 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T12:31:31Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T12:31:31Z
machines:
- a machine (f35): composes
- holds mesh-dns-resolver (idt): composes
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
- a machine (yvbpsm): composes
a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy
--- its merge-check.sh (go toolchain)
ok github.com/novox/mesh-controller/cmd/mesh-builder 1.044s
ok github.com/novox/mesh-controller/cmd/mesh-controller 248.737s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.010s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.016s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.011s
ok github.com/novox/mesh-controller/examples/route-proxy 1.186s
ok github.com/novox/mesh-controller/internal/artifacts 1.036s
ok github.com/novox/mesh-controller/internal/broker 2.478s
ok github.com/novox/mesh-controller/internal/builder 1.737s
ok github.com/novox/mesh-controller/internal/catalogue 4.036s
ok github.com/novox/mesh-controller/internal/conditions 2.128s
ok github.com/novox/mesh-controller/internal/envfile 1.027s
ok github.com/novox/mesh-controller/internal/facts 1.032s
ok github.com/novox/mesh-controller/internal/identity 5.677s
ok github.com/novox/mesh-controller/internal/inventory 75.543s
ok github.com/novox/mesh-controller/internal/lease 18.111s
ok github.com/novox/mesh-controller/internal/licences 3.828s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.007s
ok github.com/novox/mesh-controller/internal/link 44.826s
ok github.com/novox/mesh-controller/internal/lint 1.870s
ok github.com/novox/mesh-controller/internal/outward 1.038s
ok github.com/novox/mesh-controller/internal/overlay 1.022s
ok github.com/novox/mesh-controller/internal/secrets 1.445s
ok github.com/novox/mesh-controller/internal/store 3.178s
ok github.com/novox/mesh-controller/internal/testbus 1.178s
ok github.com/novox/mesh-controller/internal/token 1.012s
**Merge check** at `b6755afb`
- `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)
- `mesh/repo-check`: **PASS** — its merge-check.sh passed
**Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller
- tier 1: build-agent
- tier 2: route-proxy
- ace: receives build-agent, route-proxy
- g14: receives build-agent
- novox: receives mesh-controller, build-agent, route-proxy
- shanks: receives build-agent
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- route-proxy provides route: its consumers are sent again after it
- route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
Run by the build seat on g14 as `build-1791463238933990075` (`builds --log build-1791463238933990075`).
```
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 50 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T12:31:31Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T12:31:31Z
machines:
- a machine (f35): composes
- holds mesh-dns-resolver (idt): composes
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
- a machine (yvbpsm): composes
a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy
--- its merge-check.sh (go toolchain)
ok github.com/novox/mesh-controller/cmd/mesh-builder 1.044s
ok github.com/novox/mesh-controller/cmd/mesh-controller 248.737s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.010s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.016s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.011s
ok github.com/novox/mesh-controller/examples/route-proxy 1.186s
ok github.com/novox/mesh-controller/internal/artifacts 1.036s
ok github.com/novox/mesh-controller/internal/broker 2.478s
ok github.com/novox/mesh-controller/internal/builder 1.737s
ok github.com/novox/mesh-controller/internal/catalogue 4.036s
ok github.com/novox/mesh-controller/internal/conditions 2.128s
ok github.com/novox/mesh-controller/internal/envfile 1.027s
ok github.com/novox/mesh-controller/internal/facts 1.032s
ok github.com/novox/mesh-controller/internal/identity 5.677s
ok github.com/novox/mesh-controller/internal/inventory 75.543s
ok github.com/novox/mesh-controller/internal/lease 18.111s
ok github.com/novox/mesh-controller/internal/licences 3.828s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.007s
ok github.com/novox/mesh-controller/internal/link 44.826s
ok github.com/novox/mesh-controller/internal/lint 1.870s
ok github.com/novox/mesh-controller/internal/outward 1.038s
ok github.com/novox/mesh-controller/internal/overlay 1.022s
ok github.com/novox/mesh-controller/internal/secrets 1.445s
ok github.com/novox/mesh-controller/internal/store 3.178s
ok github.com/novox/mesh-controller/internal/testbus 1.178s
ok github.com/novox/mesh-controller/internal/token 1.012s
```
mesh/merge-gate pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step; every machine composes with the change as it…
Review found that a desk click proves nothing about who chose, that refused words
could turn "Needs you" into "Nothing for you to do", that sound words were refused,
and that a quiet warning whose words came to need the operator was never said
(hq ADR 0258).
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
route-proxy provides route: its consumers are sent again after it
route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
Run by the build seat on shanks as build-1791464116948971602 (builds --log build-1791464116948971602).
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 50 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T12:55:24Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T12:55:24Z
machines:
- a machine (f35): composes
- holds mesh-dns-resolver (idt): composes
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
- a machine (yvbpsm): composes
a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy
--- its merge-check.sh (go toolchain)
ok github.com/novox/mesh-controller/cmd/mesh-builder 1.038s
ok github.com/novox/mesh-controller/cmd/mesh-controller 164.025s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.039s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/route-proxy 1.199s
ok github.com/novox/mesh-controller/internal/artifacts 1.053s
ok github.com/novox/mesh-controller/internal/broker 2.627s
ok github.com/novox/mesh-controller/internal/builder 1.820s
ok github.com/novox/mesh-controller/internal/catalogue 4.651s
ok github.com/novox/mesh-controller/internal/conditions 2.226s
ok github.com/novox/mesh-controller/internal/envfile 1.044s
ok github.com/novox/mesh-controller/internal/facts 1.063s
ok github.com/novox/mesh-controller/internal/identity 4.633s
ok github.com/novox/mesh-controller/internal/inventory 78.849s
ok github.com/novox/mesh-controller/internal/lease 17.699s
ok github.com/novox/mesh-controller/internal/licences 4.211s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.038s
ok github.com/novox/mesh-controller/internal/link 45.982s
ok github.com/novox/mesh-controller/internal/lint 2.069s
ok github.com/novox/mesh-controller/internal/outward 1.085s
ok github.com/novox/mesh-controller/internal/overlay 1.072s
ok github.com/novox/mesh-controller/internal/secrets 1.546s
ok github.com/novox/mesh-controller/internal/store 3.462s
ok github.com/novox/mesh-controller/internal/testbus 1.231s
ok github.com/novox/mesh-controller/internal/token 1.016s
**Merge check** at `76cfbac7`
- `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)
- `mesh/repo-check`: **PASS** — its merge-check.sh passed
**Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller
- tier 1: build-agent
- tier 2: route-proxy
- ace: receives build-agent, route-proxy
- g14: receives build-agent
- novox: receives mesh-controller, build-agent, route-proxy
- shanks: receives build-agent
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- route-proxy provides route: its consumers are sent again after it
- route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
Run by the build seat on shanks as `build-1791464116948971602` (`builds --log build-1791464116948971602`).
```
--- the gate: build-agent, mesh-controller, route-proxy
mesh-controller: ok, 50 tool(s); WARNING: controller stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T12:55:24Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T12:55:24Z
machines:
- a machine (f35): composes
- holds mesh-dns-resolver (idt): composes
- holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
- a machine (yvbpsm): composes
a merge would rebuild 3 module(s) in 3 tier(s): build-agent, mesh-controller, route-proxy
--- its merge-check.sh (go toolchain)
ok github.com/novox/mesh-controller/cmd/mesh-builder 1.038s
ok github.com/novox/mesh-controller/cmd/mesh-controller 164.025s
ok github.com/novox/mesh-controller/examples/objectstore-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/postgres-provisioner 1.039s
ok github.com/novox/mesh-controller/examples/redis-provisioner 1.015s
ok github.com/novox/mesh-controller/examples/route-proxy 1.199s
ok github.com/novox/mesh-controller/internal/artifacts 1.053s
ok github.com/novox/mesh-controller/internal/broker 2.627s
ok github.com/novox/mesh-controller/internal/builder 1.820s
ok github.com/novox/mesh-controller/internal/catalogue 4.651s
ok github.com/novox/mesh-controller/internal/conditions 2.226s
ok github.com/novox/mesh-controller/internal/envfile 1.044s
ok github.com/novox/mesh-controller/internal/facts 1.063s
ok github.com/novox/mesh-controller/internal/identity 4.633s
ok github.com/novox/mesh-controller/internal/inventory 78.849s
ok github.com/novox/mesh-controller/internal/lease 17.699s
ok github.com/novox/mesh-controller/internal/licences 4.211s
ok github.com/novox/mesh-controller/internal/licences/adapters 1.038s
ok github.com/novox/mesh-controller/internal/link 45.982s
ok github.com/novox/mesh-controller/internal/lint 2.069s
ok github.com/novox/mesh-controller/internal/outward 1.085s
ok github.com/novox/mesh-controller/internal/overlay 1.072s
ok github.com/novox/mesh-controller/internal/secrets 1.546s
ok github.com/novox/mesh-controller/internal/store 3.462s
ok github.com/novox/mesh-controller/internal/testbus 1.231s
ok github.com/novox/mesh-controller/internal/token 1.016s
```
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.
Fix forward of #141 after review.
SilenceAction(now with causeoperator-answer).plainly: when a producer's words are refused, the verdict is kept ("Needs you: read the details to see what to do.") with its sound actions; never weakened to "Nothing for you to do".Observeemitscondition-changed(changewords) when needs or actions change.relogin-needed(the kind #142 / ADR 0254 adds), held to the plain rule in a test, as is the relogin needs ofmodule-unhealthy.conditions silencewith causeoperator-answeris a person's decision, not a repair: it does not count toward healer-wanted.Tests:
internal/conditions/plain_test.go(false refusals, cut, fallback keeps verdict and actions, change of words emits),cmd/mesh-controller/plain_words_test.go(no actions on module/held/waiting, relogin words, operator answer not a repair). Whole suite passes here against a throwaway postgres.Group: novox/hq and novox/mesh-catalog
fix/notifications-after-review. Do not merge without the operator.Delivery
novox/mesh-controller@76cfbac7a1eb— delivered since 2026-10-08T13:15:38ZDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Group
fix/notifications-after-review, in order: novox/hq@3bfedcfa15 → novox/mesh-controller@76cfbac7a1 → novox/mesh-catalog@700dd7fa1aMachines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
b6755afbmesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)mesh/repo-check: PASS — its merge-check.sh passedDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Run by the build seat on g14 as
build-1791463238933990075(builds --log build-1791463238933990075).b6755afbe4to76cfbac7a1Merge check at
76cfbac7mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller, route-proxy)mesh/repo-check: PASS — its merge-check.sh passedDelivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step
Run by the build seat on shanks as
build-1791464116948971602(builds --log build-1791464116948971602).