Delivery group fix/1733-no-hour, with mesh-catalog fix/1733-no-hour (the gate's one-hour ask bound goes, so the Approve is asked only on a verdict).
Change (mesh-delivery-checker). Every path that left a candidate without a verdict writes one, from an event, with no timer:
A group with a member whose repository's trunk head is not known (a pull request the checker cannot claim) is not judged in part: its verdict fails naming that repository, and every status of the group says so. Before, the other members' pass could let the group merge with that member never checked.
The verdict of heads that cannot be judged replaces whatever the key held, such as a running verdict left by a check that can no longer run (issue 1422's path).
A deleted verdict key is judged again on its delete event, and a check running when its key is deleted writes it anew. The checker's one watch of its verdicts calls both handlers (VerdictWritten from #103, VerdictDeleted here).
Quick or thorough. Quick: keep the gate's fallback. Thorough, chosen: every unjudged path writes a verdict, so the gate needs no timer.
Tests. Three rows at the end of the no-trunk test; counts unchanged (checker 147 unit / 10 integration, repository 588 / 76). gofmt, vet, the unit suite and the checker's integration level pass locally.
Pushed-by: fix-lost@shanks
Reviewed-by: rev-l2@shanks at 2d8ad2e66a
Delivery group fix/1733-no-hour, with mesh-catalog fix/1733-no-hour (the gate's one-hour ask bound goes, so the Approve is asked only on a verdict).
**Change (mesh-delivery-checker).** Every path that left a candidate without a verdict writes one, from an event, with no timer:
- A group with a member whose repository's trunk head is not known (a pull request the checker cannot claim) is not judged in part: its verdict fails naming that repository, and every status of the group says so. Before, the other members' pass could let the group merge with that member never checked.
- The verdict of heads that cannot be judged replaces whatever the key held, such as a running verdict left by a check that can no longer run (issue 1422's path).
- A deleted verdict key is judged again on its delete event, and a check running when its key is deleted writes it anew. The checker's one watch of its verdicts calls both handlers (VerdictWritten from #103, VerdictDeleted here).
**Quick or thorough.** Quick: keep the gate's fallback. Thorough, chosen: every unjudged path writes a verdict, so the gate needs no timer.
**Tests.** Three rows at the end of the no-trunk test; counts unchanged (checker 147 unit / 10 integration, repository 588 / 76). gofmt, vet, the unit suite and the checker's integration level pass locally.
**Review.** Rebased onto #103, one verdicts watch.
Pushed-by: fix-lost@shanks
Reviewed-by: rev-l2@shanks at 2d8ad2e66a8f652dc9f90cd82a071cae8772767a
Once the gate's one-hour ask bound goes (mesh-catalog fix/1733-no-hour), the
gate asks the operator's Approve only on a verdict, so every path that left
a candidate without one now writes one, from an event and with no timer:
- a group with a member whose repository's trunk head is not known (a pull
request the checker cannot claim) is not judged in part: its verdict fails
naming that repository, and every status of the group says so (a pass of
the others would have let it merge with that member never checked);
- the verdict of heads that cannot be judged replaces whatever the key held,
such as a running verdict left by a check that can no longer run;
- a verdict key deleted is judged again on its delete (the checker watches its
verdicts), and a check running when its key is deleted writes it anew.
Tests: three rows at the end of the no-trunk test; counts unchanged.
Deliverynovox/mesh-delivery@2d8ad2e66a8f — merged since 2026-10-28T21:29:59Z
Source — source.main moved to novox/mesh-delivery@5b2e5bc537. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
composed together: pass — the checker's verdict at the members' heads (f2aa87f2701d)
Transitions
2026-10-28 20:50 (new) → proposed (announced): novox/mesh-delivery#104's head announced
2026-10-28 20:50 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-10-28 21:29 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-delivery@2d8ad2e66a8f` — **merged** since 2026-10-28T21:29:59Z
**Source** — source.main moved to novox/mesh-delivery@5b2e5bc53776. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `fix/1733-no-hour`: novox/mesh-catalog@f37f93e812df, novox/mesh-delivery@2d8ad2e66a8f
- composed together: pass — the checker's verdict at the members' heads (f2aa87f2701d)
**Transitions**
- 2026-10-28 20:50 (new) → proposed (announced): novox/mesh-delivery#104's head announced
- 2026-10-28 20:50 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-10-28 21:29 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `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.
Delivery group fix/1733-no-hour, with mesh-catalog fix/1733-no-hour (the gate's one-hour ask bound goes, so the Approve is asked only on a verdict).
Change (mesh-delivery-checker). Every path that left a candidate without a verdict writes one, from an event, with no timer:
Quick or thorough. Quick: keep the gate's fallback. Thorough, chosen: every unjudged path writes a verdict, so the gate needs no timer.
Tests. Three rows at the end of the no-trunk test; counts unchanged (checker 147 unit / 10 integration, repository 588 / 76). gofmt, vet, the unit suite and the checker's integration level pass locally.
Review. Rebased onto #103, one verdicts watch.
Pushed-by: fix-lost@shanks
Reviewed-by: rev-l2@shanks at
2d8ad2e66aDelivery
novox/mesh-delivery@2d8ad2e66a8f— merged since 2026-10-28T21:29:59ZSource — source.main moved to novox/mesh-delivery@5b2e5bc537. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/1733-no-hour: novox/mesh-catalog@f37f93e812, novox/mesh-delivery@2d8ad2e66aTransitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.