Design 47: the share is the node-engine's config; threads only size a step (ADR 0553 round 2)

This commit is contained in:
2026-10-26 14:42:33 +01:00
parent 03e2f644bf
commit 363402150f
@@ -140,9 +140,9 @@ source revision is derived from the keys: every **want** equals its module's **f
(ADR 0525 §2, §4, §5). One ask is one whole job on one node: the fetch, the build and the push of a fingerprint, or the fetch, the digest and
the levels of a check (ADR 0525 §3). A session may call a build module's tools on a named node (ADR 0525 §8).
**The build seats yield** (ADR 0553): the node-engine places every build module's runtime of a node in one slice at the top
of the hierarchy, at idle CPU weight and nice 19, under one quota of the node's share of its processors (the tool runner's
setting `build-cpu-share`, default half, set per node), and each step runs its part of that share in threads. Interactive and
service work always come first, and all build modules of a node share one bound.
of the hierarchy, at idle CPU weight and nice 19, under one quota of the node's share of its processors (the node-engine's
own config `build-cpu-share`, default half, set per node). The quota bounds all build modules of the node together; a step
sizes its threads from the share over its own module's capacity. Interactive and service work always come first.
- **The checker** runs the merge check on built artifacts: a change's tests, through the build module of each
module's language and by that language's convention, running only the packages whose inputs changed and
taking the kept verdict of the rest; it writes the change's one status (ADR 0444, ADR 0445, ADR 0447); it runs dark in R4c-5 (ADR 0484).