Issue 1146, reopened when its live case failed: mesh-delivery #1 merged at 00:05:39 on the operator's Approve, and the controller logged 'novox/mesh-delivery merged into main (0177ea7a); nothing the mesh holds reads it' and asked no build, so the registration rule of #383 was never reached.
first_builds.go: a trunk merge into a repository no registered module is built from asks the first build of every module the merge commit holds (from touchedBy's added), recorded as a merge's ask so the outcome is judged by the Approve rule (ADR 0432). The warrant is read by approvedAnnounced, split out of approvedMove; builds go through askBuilds, split out of askNewModules.
Either order, no timer: a forge merge heard before mesh-delivery's announcement is kept as a waiting first merge (the chain's waiting record, kept across a restart), and keepingDeliveryMerges asks its builds when it keeps the word; asked once only. A word that is no Approve asks nothing and says why.
Probe D18 raises first-build-unasked for a first merge waiting past 10 minutes (ADR 0426 §3), naming the repository, the merge and the missing word; it clears when answered.
Tests: 1146/AC6 (unit), AC7 (integration on the bus, both orders, and a word with no Approve), AC8 (the probe). Reviewed in three rounds. Try build-1792362038668572407 passed in 4 m 28 s (unit level 2303 tests, 2.60 s of 5 s).
Delivery: mesh-controller to novox. Then mesh-delivery's next approved merge (the view's path fix, issue 1134) asks the view's first build.
Issue 1146, reopened when its live case failed: mesh-delivery #1 merged at 00:05:39 on the operator's Approve, and the controller logged 'novox/mesh-delivery merged into main (0177ea7a); nothing the mesh holds reads it' and asked no build, so the registration rule of #383 was never reached.
- `first_builds.go`: a trunk merge into a repository no registered module is built from asks the first build of every module the merge commit holds (from `touchedBy`'s added), recorded as a merge's ask so the outcome is judged by the Approve rule (ADR 0432). The warrant is read by `approvedAnnounced`, split out of `approvedMove`; builds go through `askBuilds`, split out of `askNewModules`.
- Either order, no timer: a forge merge heard before mesh-delivery's announcement is kept as a waiting first merge (the chain's waiting record, kept across a restart), and `keepingDeliveryMerges` asks its builds when it keeps the word; asked once only. A word that is no Approve asks nothing and says why.
- Probe D18 raises `first-build-unasked` for a first merge waiting past 10 minutes (ADR 0426 §3), naming the repository, the merge and the missing word; it clears when answered.
Tests: 1146/AC6 (unit), AC7 (integration on the bus, both orders, and a word with no Approve), AC8 (the probe). Reviewed in three rounds. Try build-1792362038668572407 passed in 4 m 28 s (unit level 2303 tests, 2.60 s of 5 s).
Delivery: mesh-controller to novox. Then mesh-delivery's next approved merge (the view's path fix, issue 1134) asks the view's first build.
Reviewed-by: reviewer-r12@shanks at e621e15d2f5dec15da0358cfada5acfd7d257cbd
mesh/merge-gate head e621e15d2f5d merged into trunk b1cfb85f86ed — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
Deliverynovox/mesh-controller@e621e15d2f5d — delivered since 2026-10-18T22:40:35Z
Delivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
tier 0: mesh-controller
tier 1: build-agent
ace: receives build-agent
g14: receives build-agent
novox: receives mesh-controller, build-agent
shanks: receives build-agent
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine
Machines
mesh-controller on every machine running it: sent
build-agent on every machine running it: sent
Transitions
2026-10-18 22:25 (new) → proposed (announced): novox/mesh-controller#386's head announced
2026-10-18 22:31 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-18 22:31 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-18 22:32 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-18 22:32 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-18 22:40 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@e621e15d2f5d` — **delivered** since 2026-10-18T22:40:35Z
**Delivery plan** — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
- tier 0: mesh-controller
- tier 1: build-agent
- ace: receives build-agent
- g14: receives build-agent
- novox: receives mesh-controller, build-agent
- shanks: receives build-agent
- build-agent keeps data (ADR 0233): what it holds is backed up before it moves
- grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine
**Machines**
- mesh-controller on every machine running it: sent
- build-agent on every machine running it: sent
**Transitions**
- 2026-10-18 22:25 (new) → proposed (announced): novox/mesh-controller#386's head announced
- 2026-10-18 22:31 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-18 22:31 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-18 22:32 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-18 22:32 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-18 22:40 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`.
Merge check at e621e15d
Judged: head e621e15d2f5d merged into trunk b1cfb85f86ed; read beside it: mesh-catalog b4527d9091e9, mesh-controller-main b1cfb85f86ed, mesh-host 89025ad004d4, mesh-tools 7412c5b6c9c5
mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller)
mesh/repo-check: PASS — its merge-check.sh passed
Delivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
tier 0: mesh-controller
tier 1: build-agent
ace: receives build-agent
g14: receives build-agent
novox: receives mesh-controller, build-agent
shanks: receives build-agent
build-agent keeps data (ADR 0233): what it holds is backed up before it moves
grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before build-agent is judged on its first machine
read by no module's build: cmd/mesh-controller/first_builds_integration_test.go, cmd/mesh-controller/first_builds_test.go, internal/inventory/waiting_merges_test.go, testdata/store-tests
Run by the build seat on ace as build-1792362331727461615 (builds --log build-1792362331727461615).
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 1146, reopened when its live case failed: mesh-delivery #1 merged at 00:05:39 on the operator's Approve, and the controller logged 'novox/mesh-delivery merged into main (0177ea7a); nothing the mesh holds reads it' and asked no build, so the registration rule of #383 was never reached.
first_builds.go: a trunk merge into a repository no registered module is built from asks the first build of every module the merge commit holds (fromtouchedBy's added), recorded as a merge's ask so the outcome is judged by the Approve rule (ADR 0432). The warrant is read byapprovedAnnounced, split out ofapprovedMove; builds go throughaskBuilds, split out ofaskNewModules.keepingDeliveryMergesasks its builds when it keeps the word; asked once only. A word that is no Approve asks nothing and says why.first-build-unaskedfor a first merge waiting past 10 minutes (ADR 0426 §3), naming the repository, the merge and the missing word; it clears when answered.Tests: 1146/AC6 (unit), AC7 (integration on the bus, both orders, and a word with no Approve), AC8 (the probe). Reviewed in three rounds. Try build-1792362038668572407 passed in 4 m 28 s (unit level 2303 tests, 2.60 s of 5 s).
Delivery: mesh-controller to novox. Then mesh-delivery's next approved merge (the view's path fix, issue 1134) asks the view's first build.
Reviewed-by: reviewer-r12@shanks at
e621e15d2fDelivery
novox/mesh-controller@e621e15d2f5d— delivered since 2026-10-18T22:40:35ZDelivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
e621e15dJudged: head
e621e15d2f5dmerged into trunkb1cfb85f86ed; read beside it: mesh-catalogb4527d9091e9, mesh-controller-mainb1cfb85f86ed, mesh-host89025ad004d4, mesh-tools7412c5b6c9c5mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: build-agent, mesh-controller)mesh/repo-check: PASS — its merge-check.sh passedDelivery plan — builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step
Run by the build seat on ace as
build-1792362331727461615(builds --log build-1792362331727461615).