Group fix/capacity-follows-cpu-share (mesh-sdk, mesh-catalog, mesh-delivery). mesh-sdk merges first; the other two pin this head (805b4d9, which merges sdk main #99 into the branch).
Capacity = min(configured, the build slice's CPU quota cores / cores-per-step), read live from the cgroup, said when it changes and written to capacity..
Build hours (the operator, 2026-10-26 21:18: g14 builds only 18:00-06:00): optional build-hours per node in local time; outside it capacity is 0, running steps finish, one timer to the next edge, each edge said once; an unreadable value means any hour, shown loudly.
A running ask writes its phases to its step key.
Quick fix: lower each node's configured capacity by hand. Thorough fix (chosen): capacity derived from what the node gives the build slice, in the shared puller every build module uses.
No try (one release, one check): this group's check is its only run.
Group fix/capacity-follows-cpu-share (mesh-sdk, mesh-catalog, mesh-delivery). **mesh-sdk merges first**; the other two pin this head (805b4d9, which merges sdk main #99 into the branch).
- Capacity = min(configured, the build slice's CPU quota cores / cores-per-step), read live from the cgroup, said when it changes and written to capacity.<node>.
- Build hours (the operator, 2026-10-26 21:18: g14 builds only 18:00-06:00): optional `build-hours` per node in local time; outside it capacity is 0, running steps finish, one timer to the next edge, each edge said once; an unreadable value means any hour, shown loudly.
- A running ask writes its phases to its step key.
Quick fix: lower each node's configured capacity by hand. Thorough fix (chosen): capacity derived from what the node gives the build slice, in the shared puller every build module uses.
No try (one release, one check): this group's check is its only run.
Reviewed-by: review-cap@shanks at 805b4d9a35366c081c6e221bdbd049c6d346daa1
Since the build CPU cap (issue 1806) shanks' mesh-build-go kept capacity 3 inside a 12-core slice:
three full checks got about 4 cores each and ran past the 30-minute step bound (issue 1890).
The puller now judges by min(configured, floor(slice quota cores / cores-per-step)), the quota
read live from its cgroup, says it on change and writes capacity.<node> to the pauses state.
A run's phases (fetch and merge, digest, tests) are logged with the ask id and written to its
running step key; Asker.Wait hands every step value to a WithStepSeen hook.
mesh/delivery-group group fix/capacity-follows-cpu-share rejected: composed together: the checker's verdict at the members' heads (63694fe9222d): unit: ..test
mesh/check failed: unit: ..test: ✔ a transient empty list for four passes retires nothing; five stable passes retire, data kept (418.253369ms) | d00da…
The operator, 2026-10-26 21:18: g14 builds only from 18:00 to 06:00. A build-hours setting names a
window per node in its local time (crossing midnight allowed, absent = any hour); outside it the
capacity judged by is 0, running steps finish, and the puller wakes on one timer at the next edge.
The change is said in the log and in capacity.<node> with the window and when it opens.
Deliverynovox/mesh-sdk@805b4d9a3536 — merged since 2026-10-26T20:33:29Z
Source — source.main moved to novox/mesh-sdk@2cbe219371. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
2026-10-26 20:31 (new) → proposed (announced): novox/mesh-sdk#100's head announced
2026-10-26 20:31 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 20:33 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-sdk@805b4d9a3536` — **merged** since 2026-10-26T20:33:29Z
**Source** — source.main moved to novox/mesh-sdk@2cbe21937153. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `fix/capacity-follows-cpu-share`: novox/mesh-catalog@8e116cb0e6e4, novox/mesh-delivery@ea94f9234c97, novox/mesh-sdk@805b4d9a3536
**Transitions**
- 2026-10-26 20:31 (new) → proposed (announced): novox/mesh-sdk#100's head announced
- 2026-10-26 20:31 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 20:33 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: the operator's Approve of this pull request's merge into main is ended: its head 3f8b0b42480b is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 3f8b0b42480b is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
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.
Group fix/capacity-follows-cpu-share (mesh-sdk, mesh-catalog, mesh-delivery). mesh-sdk merges first; the other two pin this head (
805b4d9, which merges sdk main #99 into the branch).build-hoursper node in local time; outside it capacity is 0, running steps finish, one timer to the next edge, each edge said once; an unreadable value means any hour, shown loudly.Quick fix: lower each node's configured capacity by hand. Thorough fix (chosen): capacity derived from what the node gives the build slice, in the shared puller every build module uses.
No try (one release, one check): this group's check is its only run.
Reviewed-by: review-cap@shanks at
805b4d9a35Delivery
novox/mesh-sdk@805b4d9a3536— merged since 2026-10-26T20:33:29ZSource — source.main moved to novox/mesh-sdk@2cbe219371. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/capacity-follows-cpu-share: novox/mesh-catalog@8e116cb0e6, novox/mesh-delivery@ea94f9234c, novox/mesh-sdk@805b4d9a35Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 3f8b0b42480b is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.