Issue 1890. checker_status counted every step key a build module left 'running' (some since 2026-10-21) as a running step, so the operator and the lead read every node as full while checks waited. The checker's own capacity (buildrun.Places, in memory, freed at the step bound) was never held by them: this changes what the status says, not how checks are placed.
Keys past the step bound, or whose build module is not running on that node (node-engine.have), move to a separate left_running list with the reason.
Groups made only of hq pull requests are no longer listed as unjudged.
A test proves a step that never ends fails its check and frees its node's place.
Not in scope (issue 1890 note 2): mesh-sdk's buildstep never ends a step of a stopped module; a key past the bound may still run on its node.
Issue 1890. checker_status counted every step key a build module left 'running' (some since 2026-10-21) as a running step, so the operator and the lead read every node as full while checks waited. The checker's own capacity (buildrun.Places, in memory, freed at the step bound) was never held by them: this changes what the status says, not how checks are placed.
- Keys past the step bound, or whose build module is not running on that node (node-engine.have), move to a separate `left_running` list with the reason.
- Groups made only of hq pull requests are no longer listed as unjudged.
- A test proves a step that never ends fails its check and frees its node's place.
Not in scope (issue 1890 note 2): mesh-sdk's buildstep never ends a step of a stopped module; a key past the bound may still run on its node.
Try: passed (unit and integration) on e7620287.
Reviewed-by: review-1890@shanks at e7620287603227c57627a329e1f4a7320e886e62
The checker's own places are released when a step ends or its wait passes the step bound; checker_status read every
'running' key in the build modules' steps buckets as a step in flight, so keys left by stopped, restarted or unassigned
build modules looked like full nodes. It now lists them under left_running with why (past the bound, module not on the
node, module not running), and leaves hq-only groups out of the unjudged candidates.
Deliverynovox/mesh-delivery@e76202876032 — delivered since 2026-10-23T11:03:50Z
Delivery plan — builds mesh-delivery-checker → novox; no bus step
tier 0: mesh-delivery-checker
novox: receives mesh-delivery-checker
Machines
mesh-delivery-checker on every machine running it: sent
Transitions
2026-10-23 10:36 (new) → proposed (announced): novox/mesh-delivery#24's head announced
2026-10-23 10:39 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-23 10:39 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-23 11:01 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 11:01 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 11:03 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-delivery@e76202876032` — **delivered** since 2026-10-23T11:03:50Z
**Delivery plan** — builds mesh-delivery-checker → novox; no bus step
- tier 0: mesh-delivery-checker
- novox: receives mesh-delivery-checker
**Machines**
- mesh-delivery-checker on every machine running it: sent
**Transitions**
- 2026-10-23 10:36 (new) → proposed (announced): novox/mesh-delivery#24's head announced
- 2026-10-23 10:39 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-23 10:39 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-23 11:01 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 11:01 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 11:03 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 1890. checker_status counted every step key a build module left 'running' (some since 2026-10-21) as a running step, so the operator and the lead read every node as full while checks waited. The checker's own capacity (buildrun.Places, in memory, freed at the step bound) was never held by them: this changes what the status says, not how checks are placed.
left_runninglist with the reason.Not in scope (issue 1890 note 2): mesh-sdk's buildstep never ends a step of a stopped module; a key past the bound may still run on its node.
Try: passed (unit and integration) on
e7620287.Reviewed-by: review-1890@shanks at
e762028760Delivery
novox/mesh-delivery@e76202876032— delivered since 2026-10-23T11:03:50ZDelivery plan — builds mesh-delivery-checker → novox; no bus step
Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.