Design 47: the build seats yield under one share per node (ADR 0553)
This commit is contained in:
@@ -4,6 +4,7 @@ status: in-progress
|
||||
code: [mesh-controller, mesh-catalog modules/mesh-delivery-gate, mesh-delivery, mesh-host, mesh-sdk, mesh-vault, hq 00-META/checks]
|
||||
updated: 2026-10-26
|
||||
decisions:
|
||||
- "ADR 0553"
|
||||
- "ADR 0551"
|
||||
- "ADR 0550"
|
||||
- "ADR 0549"
|
||||
@@ -138,6 +139,10 @@ source revision is derived from the keys: every **want** equals its module's **f
|
||||
**build capacity**, a setting of the node that the build modules read; a node at capacity 0, the control-node among them, pulls nothing
|
||||
(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.
|
||||
- **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).
|
||||
|
||||
Reference in New Issue
Block a user