Issue 1890 (note 18): a check of heads that were replaced kept running and used build capacity, and a group's check started while its members were still being pushed. This was met twice, so the fix is for the kind, not the instance.
The checker ends every running check whose heads no candidate holds any more. Each check has its own run context, and its verdict is ended (it writes no status, and the gate's hold reads only running).
A group's check starts once its heads have been stable for 15 s (MESH_CHECKER_SETTLE), started and ended by events, with no timer loop (ADR 0437 §8).
Heads held again after an ended check are checked whole.
Quick fix: end only the one stale run seen tonight. Thorough fix (chosen): the checker ends every check whose candidate moved on, because the kind recurs for every group push (ADR 0548: one release, one check).
Not in this change, written on issue 1890: asks already put still run once (an sdk follow-up); the gate's stale Approve asks and stale holds belong to mesh-delivery-gate (mesh-catalog), a separate small fix.
Tests: unit suite with -race and go vet -tags integration are clean. Test counts are unchanged (147 unit, 157 with the integration tag).
Issue 1890 (note 18): a check of heads that were replaced kept running and used build capacity, and a group's check started while its members were still being pushed. This was met twice, so the fix is for the kind, not the instance.
- The checker ends every running check whose heads no candidate holds any more. Each check has its own run context, and its verdict is ended (it writes no status, and the gate's hold reads only `running`).
- A group's check starts once its heads have been stable for 15 s (`MESH_CHECKER_SETTLE`), started and ended by events, with no timer loop (ADR 0437 §8).
- Heads held again after an ended check are checked whole.
Quick fix: end only the one stale run seen tonight. Thorough fix (chosen): the checker ends every check whose candidate moved on, because the kind recurs for every group push (ADR 0548: one release, one check).
Not in this change, written on issue 1890: asks already put still run once (an sdk follow-up); the gate's stale Approve asks and stale holds belong to mesh-delivery-gate (mesh-catalog), a separate small fix.
Tests: unit suite with -race and `go vet -tags integration` are clean. Test counts are unchanged (147 unit, 157 with the integration tag).
Reviewed-by: review-stale@shanks at d95e9f3229139fe12e854c73ddcffac3770a9a27
Deliverynovox/mesh-delivery@d95e9f322913 — merged since 2026-10-26T21:11:03Z
Source — source.main moved to novox/mesh-delivery@31ddd09087. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-10-26 21:02 (new) → proposed (announced): novox/mesh-delivery#79's head announced
2026-10-26 21:02 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-26 21:11 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@d95e9f322913` — **merged** since 2026-10-26T21:11:03Z
**Source** — source.main moved to novox/mesh-delivery@31ddd090876f. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-10-26 21:02 (new) → proposed (announced): novox/mesh-delivery#79's head announced
- 2026-10-26 21:02 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-26 21:11 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.
Issue 1890 (note 18): a check of heads that were replaced kept running and used build capacity, and a group's check started while its members were still being pushed. This was met twice, so the fix is for the kind, not the instance.
running).MESH_CHECKER_SETTLE), started and ended by events, with no timer loop (ADR 0437 §8).Quick fix: end only the one stale run seen tonight. Thorough fix (chosen): the checker ends every check whose candidate moved on, because the kind recurs for every group push (ADR 0548: one release, one check).
Not in this change, written on issue 1890: asks already put still run once (an sdk follow-up); the gate's stale Approve asks and stale holds belong to mesh-delivery-gate (mesh-catalog), a separate small fix.
Tests: unit suite with -race and
go vet -tags integrationare clean. Test counts are unchanged (147 unit, 157 with the integration tag).Reviewed-by: review-stale@shanks at
d95e9f3229Delivery
novox/mesh-delivery@d95e9f322913— merged since 2026-10-26T21:11:03ZSource — source.main moved to novox/mesh-delivery@31ddd09087. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.