Issue 1806, ADR 0553/0554. Change A, group fix/build-cpu-yields with mesh-sdk and mesh-host.
mesh-build-go, mesh-build-node and mesh-build-image pin mesh-sdk 17b7cc48; each step's go, node and buildah commands get GOMAXPROCS/UV_THREADPOOL_SIZE from buildstep.NodeLimits — none until change B gives the share; then share ÷ own capacity (shanks: 4). The per-module cpu-cap setting is gone. Status tools show cpu.limits and cpu.in-force (unit, slice, nice).
Rebuilds mesh-build-go, mesh-build-node and mesh-build-image: their runtimes restart once. Builds are otherwise unchanged until change B gives them the share: no thread limit, no slice yet.
Tests: unit suites and vet clean. Try try-1793022907797599445 passed.
Issue 1806, ADR 0553/0554. Change A, group fix/build-cpu-yields with mesh-sdk and mesh-host.
mesh-build-go, mesh-build-node and mesh-build-image pin mesh-sdk 17b7cc48; each step's go, node and buildah commands get GOMAXPROCS/UV_THREADPOOL_SIZE from buildstep.NodeLimits — none until change B gives the share; then share ÷ own capacity (shanks: 4). The per-module cpu-cap setting is gone. Status tools show cpu.limits and cpu.in-force (unit, slice, nice).
Rebuilds mesh-build-go, mesh-build-node and mesh-build-image: their runtimes restart once. Builds are otherwise unchanged until change B gives them the share: no thread limit, no slice yet.
Tests: unit suites and vet clean. Try try-1793022907797599445 passed.
Reviewed-by: review-buildcpu@shanks at 2aecbe80553cb2b1787e44d966f3a96629f98c36
The operator's desktop slows while it builds (shanks at 92%, the Go build
runtime at 1650% of 24 processors). The build modules declare cpu-cap
(default shanks=50,g14=50,ace=75), which the composer turns into the runtime's
quota at idle priority; each step's go, node and buildah commands get
GOMAXPROCS and UV_THREADPOOL_SIZE for their part of it, and the status tools
show the limits and what the kernel holds the runtime to.
Review round 1: a cap per module let three build modules take three shares
of the node. The share is now one node value held by the node-engine's
yielding slice; each step divides it by every build slot of the node, from the
composer's words, or assumes every build seat at its own capacity without them.
Change A rebuilds the three build modules, so their runtimes restart once; it
changes nothing else about their builds until change B gives them the share.
Deliverynovox/mesh-catalog@2aecbe80553c — merged since 2026-10-26T14:22:53Z
Source — source.main moved to novox/mesh-catalog@ceb3aac9b3. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
2026-10-26 14:22 (new) → proposed (announced): novox/mesh-catalog#499's head announced
2026-10-26 14:22 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 14:22 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-catalog@2aecbe80553c` — **merged** since 2026-10-26T14:22:53Z
**Source** — source.main moved to novox/mesh-catalog@ceb3aac9b39a. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `fix/build-cpu-yields`: novox/mesh-catalog@2aecbe80553c, novox/mesh-host@a78239b2aa05, novox/mesh-sdk@17b7cc480d6d
**Transitions**
- 2026-10-26 14:22 (new) → proposed (announced): novox/mesh-catalog#499's head announced
- 2026-10-26 14:22 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 14:22 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 1806, ADR 0553/0554. Change A, group fix/build-cpu-yields with mesh-sdk and mesh-host.
mesh-build-go, mesh-build-node and mesh-build-image pin mesh-sdk 17b7cc48; each step's go, node and buildah commands get GOMAXPROCS/UV_THREADPOOL_SIZE from buildstep.NodeLimits — none until change B gives the share; then share ÷ own capacity (shanks: 4). The per-module cpu-cap setting is gone. Status tools show cpu.limits and cpu.in-force (unit, slice, nice).
Rebuilds mesh-build-go, mesh-build-node and mesh-build-image: their runtimes restart once. Builds are otherwise unchanged until change B gives them the share: no thread limit, no slice yet.
Tests: unit suites and vet clean. Try try-1793022907797599445 passed.
Reviewed-by: review-buildcpu@shanks at
2aecbe8055Delivery
novox/mesh-catalog@2aecbe80553c— merged since 2026-10-26T14:22:53ZSource — source.main moved to novox/mesh-catalog@ceb3aac9b3. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/build-cpu-yields: novox/mesh-catalog@2aecbe8055, novox/mesh-host@a78239b2aa, novox/mesh-sdk@17b7cc480dTransitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.