The gate keeps a merge it hears before it holds its seat and catches source.main up when it does, so a missed merge no longer leaves the checker on an old trunk (issue 1726)
#474
Merged
jschoubbenmerged 2 commits from fix/1726-trunk-catch-up into main2026-10-24 19:47:47 +00:00
Issue 1726, notes 29-32: at 13:11 on 2026-10-24 the gate acknowledged unread the merges of hq#472 and mesh-catalog#471 heard before it held its seat, and its adopt left MergedAt zero, so source.main kept old trunks and every check in those repositories was judged on them; the operator's Approve of mesh-catalog#472 merged nothing. An event heard while the seat is undecided is offered again, not dropped; adopt dates the merge once; SourceCatchUp weighs each repository's newest merge against source.main when the gate comes to hold its seat. Tests 1726c/AC1-AC4 fail on main. Try try-1792842916125019643 passed on trunk 545c72bb.
Reviewed-by: review-1726c@shanks at 40da368ee3
Pushed-by: lead-47@shanks
Issue 1726, notes 29-32: at 13:11 on 2026-10-24 the gate acknowledged unread the merges of hq#472 and mesh-catalog#471 heard before it held its seat, and its adopt left MergedAt zero, so source.main kept old trunks and every check in those repositories was judged on them; the operator's Approve of mesh-catalog#472 merged nothing. An event heard while the seat is undecided is offered again, not dropped; adopt dates the merge once; SourceCatchUp weighs each repository's newest merge against source.main when the gate comes to hold its seat. Tests 1726c/AC1-AC4 fail on main. Try try-1792842916125019643 passed on trunk 545c72bb.
Reviewed-by: review-1726c@shanks at 40da368ee34e0828b417473a0bf82139d48388c0
Pushed-by: lead-47@shanks
The checker takes a repository's trunk head only from the gate's source.main. On 2026-10-24 gitea's
restarted poll announced mesh-catalog #471's merge while the gate was starting and could not yet tell
whether it held the seat; the gate acknowledged the event unread. It then adopted the controller's walk
of the merge commit, which carries no merge time, so every older merge of the repository looked newer
and source.main was never moved: #472 was checked on the trunk before #471 and its merge refused.
- An event heard before the gate can tell whether it holds the seat is offered again, not taken.
- An adopted merge is dated by its walk's creation, so it settles into source.main as a forge merge does.
- Each time the gate comes to hold the seat it weighs the newest merge of each repository against
source.main once more, so a merge marked there and never written (as #471) is written; never backwards.
mesh/check pass 40da368ee34e on ee216e4e63f1 | unit 246 run, 4189 kept | integration 228 run, 4249 kept | over bound: unit, integration (slowest unit …
Deliverynovox/mesh-catalog@40da368ee34e — delivered since 2026-10-24T19:52:26Z
Delivery plan — builds mesh-delivery-gate → novox; no bus step
tier 0: mesh-delivery-gate
novox: receives mesh-delivery-gate
Machines
mesh-delivery-gate on every machine running it: sent
Transitions
2026-10-24 12:06 (new) → proposed (announced): novox/mesh-catalog#474's head announced
2026-10-24 12:09 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-24 12:09 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-24 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-24 19:51 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-24 19:52 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-catalog@40da368ee34e` — **delivered** since 2026-10-24T19:52:26Z
**Delivery plan** — builds mesh-delivery-gate → novox; no bus step
- tier 0: mesh-delivery-gate
- novox: receives mesh-delivery-gate
**Machines**
- mesh-delivery-gate on every machine running it: sent
**Transitions**
- 2026-10-24 12:06 (new) → proposed (announced): novox/mesh-catalog#474's head announced
- 2026-10-24 12:09 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-24 12:09 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-24 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-24 19:51 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-24 19:52 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 1726, notes 29-32: at 13:11 on 2026-10-24 the gate acknowledged unread the merges of hq#472 and mesh-catalog#471 heard before it held its seat, and its adopt left MergedAt zero, so source.main kept old trunks and every check in those repositories was judged on them; the operator's Approve of mesh-catalog#472 merged nothing. An event heard while the seat is undecided is offered again, not dropped; adopt dates the merge once; SourceCatchUp weighs each repository's newest merge against source.main when the gate comes to hold its seat. Tests 1726c/AC1-AC4 fail on main. Try try-1792842916125019643 passed on trunk
545c72bb.Reviewed-by: review-1726c@shanks at
40da368ee3Pushed-by: lead-47@shanks
Delivery
novox/mesh-catalog@40da368ee34e— delivered since 2026-10-24T19:52:26ZDelivery plan — builds mesh-delivery-gate → novox; no bus step
Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.