Issue 335: a build that passed its gate was failed and put back by the first machine's later reports #227

Merged
mesh-admin merged 3 commits from issues/335-a-passed-gate-was-failed-by-later-reports into main 2026-10-08 19:51:27 +00:00
Contributor

On 2026-10-08 dunst's new build passed its gate on the laptop (healthy 3 times over 2m5s). Twenty-eight minutes later the same walk marked it failed at its gate, with those same words as the reason, and put it back.

  • Cause: the controller judged the first machine's report again on every step of the walk, also after the gate had passed.
    • The send to the rest waited on another walk.
    • That walk then sent the laptop a declaration the laptop did not report on.
    • At the 30-minute bound for a first machine's report, the walk failed.
    • failFirstSend then put back a module whose gate had passed.
  • Fix: merged in mesh-controller#165 (8170fc5).
    • A passed gate sends the rest.
    • A carried module takes over its lead's pass before its step is read.
    • A guard, not reached with those two changes, keeps a later path from putting back a passed build.
  • Replay: R335 in mesh-lab#72, which points at 8170fc5 and is proved to fail on the merge's first parent and pass on the merge.
  • Status: resolved, with fixed-by: mesh-controller#165, mesh-lab#72 (playbook 03, step 3).
  • No design changes: ADR 0236 already says a pass is a verdict. The code did not follow it.
  • Still open, not part of this issue: why the laptop's node-engine did not report on a send between 16:49 and 18:01 UTC.

merge-check.sh (records, index, cycle, words) passes locally.

On 2026-10-08 dunst's new build passed its gate on the laptop (healthy 3 times over 2m5s). Twenty-eight minutes later the same walk marked it failed at its gate, with those same words as the reason, and put it back. - **Cause:** the controller judged the first machine's report again on every step of the walk, also after the gate had passed. - The send to the rest waited on another walk. - That walk then sent the laptop a declaration the laptop did not report on. - At the 30-minute bound for a first machine's report, the walk failed. - `failFirstSend` then put back a module whose gate had passed. - **Fix:** merged in mesh-controller#165 (8170fc5). - A passed gate sends the rest. - A carried module takes over its lead's pass before its step is read. - A guard, not reached with those two changes, keeps a later path from putting back a passed build. - **Replay:** R335 in mesh-lab#72, which points at 8170fc5 and is proved to fail on the merge's first parent and pass on the merge. - **Status:** `resolved`, with `fixed-by: mesh-controller#165, mesh-lab#72` (playbook 03, step 3). - No design changes: ADR 0236 already says a pass is a verdict. The code did not follow it. - **Still open, not part of this issue:** why the laptop's node-engine did not report on a send between 16:49 and 18:01 UTC. `merge-check.sh` (records, index, cycle, words) passes locally.
mesh-admin added 1 commit 2026-10-08 18:27:44 +00:00
Issue 335: a build that passed its gate was failed and put back by the first machine's later reports
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
b409537dbc
Recorded so the gate's verdict is known to be final, and the replay R335
holds it.
Author
Contributor

Delivery novox/hq@bbbaf943e805 — delivered since 2026-10-08T19:51:54Z

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-08 19:49 (new) → proposed (announced): novox/hq#227's head announced
  • 2026-10-08 19:49 proposed → checked (checked): the verdict names this commit
  • 2026-10-08 19:49 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-08 19:51 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 19:51 published → delivered (done): nothing for a walk to move

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/hq@bbbaf943e805` — **delivered** since 2026-10-08T19:51:54Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-08 19:49 (new) → proposed (announced): novox/hq#227's head announced - 2026-10-08 19:49 proposed → checked (checked): the verdict names this commit - 2026-10-08 19:49 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-08 19:51 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 19:51 published → delivered (done): nothing for a walk to move The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
jschoubben added 1 commit 2026-10-08 18:49:42 +00:00
Issue 335: leave fixed-by for the merge, and call the put-back refusal a guard
mesh/delivery superseded: a newer head of the same pull request
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
f346efb938
jschoubben added 1 commit 2026-10-08 19:49:04 +00:00
Issue 335: resolved by mesh-controller#165 (8170fc5) with replay R335
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
bbbaf943e8
mesh-admin merged commit 4955a663d3 into main 2026-10-08 19:51:27 +00:00
mesh-admin deleted branch issues/335-a-passed-gate-was-failed-by-later-reports 2026-10-08 19:51:28 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#227