Issue 1713, met a second time on 2026-10-23: plan-1792748906937927069 (mesh-catalog #459) reported done while mesh-build-go, mesh-build-node, mosquitto and ssh-client were refused registration (ADR 0266) and the machines were sent their old builds. The refusals arrived while the plan was already failed, so nothing kept them; the Retry settled the four from their build records as built.
main.go's 'heard and recorded, and not registered' case calls takeRefused: the refusal is kept by build id always (RecordRefused and in process), whatever the plans' state.
With a module it reaches planBuilt with the refusal; without a readable manifest it fails the asking plan by id (planFailedBuild, moduleAskedAs).
A Retry's records overlay now fails these records, so the module is asked again under a new id.
Tests (1713/AC1-AC3, issue note 5), red before the fix: TestARefusalWhileThePlanIsFailedIsKeptAndRetried, TestARefusalWithoutAModuleFailsItsPlanByIDAndIsRetried, TestAPlanNeverSettlesARefusedBuildBuilt.
Issue 1713, met a second time on 2026-10-23: plan-1792748906937927069 (mesh-catalog #459) reported done while mesh-build-go, mesh-build-node, mosquitto and ssh-client were refused registration (ADR 0266) and the machines were sent their old builds. The refusals arrived while the plan was already failed, so nothing kept them; the Retry settled the four from their build records as built.
- main.go's 'heard and recorded, and not registered' case calls takeRefused: the refusal is kept by build id always (RecordRefused and in process), whatever the plans' state.
- With a module it reaches planBuilt with the refusal; without a readable manifest it fails the asking plan by id (planFailedBuild, moduleAskedAs).
- A Retry's records overlay now fails these records, so the module is asked again under a new id.
Tests (1713/AC1-AC3, issue note 5), red before the fix: TestARefusalWhileThePlanIsFailedIsKeptAndRetried, TestARefusalWithoutAModuleFailsItsPlanByIDAndIsRetried, TestAPlanNeverSettlesARefusedBuildBuilt.
Try: try-1792751015229339669 passed (unit 1759, integration 3037).
Reviewed-by: review-1713@shanks at 149f89e8f9bfd2dbac28d652295374abad16db83
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792753090890815254 (novox/mesh-controller at c834e4f8 into ma…
A build heard and recorded and not registered kept its refusal only when a
plan was open or the plans were held. A tier's first failure fails its plan,
so later refusals were lost; a Retry then settled those builds built from
their records, sent the modules' old versions and reported the plan done.
A build without a readable manifest never reached its plan at all.
Keep the refusal in the store and the process whatever the plans' state, and
fail the asking plan by the build's id when the module is not known.
Issue 1713.
Deliverynovox/mesh-controller@149f89e8f9bf — failed since 2026-10-23T10:59:33Z
Covered: covered after its failure: a later walk that contains it was delivered: plan-1792753090890815254 (novox/mesh-controller at c834e4f8 into main, done, contains its merge c834e4f8)
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-23 10:49 (new) → proposed (announced): novox/mesh-controller#446's head announced
2026-10-23 10:55 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-23 10:55 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-23 10:58 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-23 10:58 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-23 10:59 delivering → failed (failed): its walk failed, carrying its own commit: a gate on a first machine (what it carried put back), a build, a machine
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@149f89e8f9bf` — **failed** since 2026-10-23T10:59:33Z
**Covered**: covered after its failure: a later walk that contains it was delivered: plan-1792753090890815254 (novox/mesh-controller at c834e4f8 into main, done, contains its merge c834e4f8)
**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-23 10:49 (new) → proposed (announced): novox/mesh-controller#446's head announced
- 2026-10-23 10:55 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-23 10:55 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-23 10:58 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-23 10:58 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-23 10:59 delivering → failed (failed): its walk failed, carrying its own commit: a gate on a first machine (what it carried put back), a build, a machine
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 1713, met a second time on 2026-10-23: plan-1792748906937927069 (mesh-catalog #459) reported done while mesh-build-go, mesh-build-node, mosquitto and ssh-client were refused registration (ADR 0266) and the machines were sent their old builds. The refusals arrived while the plan was already failed, so nothing kept them; the Retry settled the four from their build records as built.
Tests (1713/AC1-AC3, issue note 5), red before the fix: TestARefusalWhileThePlanIsFailedIsKeptAndRetried, TestARefusalWithoutAModuleFailsItsPlanByIDAndIsRetried, TestAPlanNeverSettlesARefusedBuildBuilt.
Try: try-1792751015229339669 passed (unit 1759, integration 3037).
Reviewed-by: review-1713@shanks at
149f89e8f9Delivery
novox/mesh-controller@149f89e8f9bf— failed since 2026-10-23T10:59:33ZCovered: covered after its failure: a later walk that contains it was delivered: plan-1792753090890815254 (novox/mesh-controller at
c834e4f8into main, done, contains its mergec834e4f8)Delivery 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.