A module depends on the node seats that apply its resources (hq ADR 0207)

Seed node-package-manager and node-container-runtime. Derive each module's
dependencies from its declared service, package and container resources;
judge them over the node's whole set, exempting the foundation. Refuse at
assign (several modules may go on as one act) and at unassign of the last
holder; report at composition in status, behind one switch.
This commit is contained in:
jochen
2026-10-04 12:34:11 +02:00
parent 912e9f4e85
commit 10f948e970
16 changed files with 916 additions and 41 deletions
+9 -6
View File
@@ -18,7 +18,9 @@ import (
// vocabulary test follows. If this fails because a seat was added, the fix is a record in novox/hq
// and a row in to-be 26, not a new number here.
func TestTheSeatsAreAClosedSetAndEachNamesItsDecision(t *testing.T) {
record := regexp.MustCompile(`^novox/hq ADR \d{4}$`)
// A seat a later record extends names both, "novox/hq ADR 0166, ADR 0207": the one that defined
// it and the one that seeded it.
record := regexp.MustCompile(`^novox/hq ADR \d{4}(, ADR \d{4})*$`)
seen := map[string]bool{}
delivered := map[string]string{}
for _, s := range Seats() {
@@ -44,11 +46,12 @@ func TestTheSeatsAreAClosedSetAndEachNamesItsDecision(t *testing.T) {
delivered[s.Delivers] = s.Name
}
}
// Nineteen since node-environment and node-login-shell (novox/hq ADR 0203, ADR 0204), after
// node-build-agent made seventeen (ADR 0190) — eighteen once the retired mesh-build-machine row
// goes, when no registered manifest claims it any more.
if len(Seats()) != 19 {
t.Errorf("the mesh defines %d seats rather than 19; the set is closed, so a change here is "+
// Twenty-one since node-package-manager and node-container-runtime (novox/hq ADR 0207), after
// node-environment and node-login-shell made nineteen (ADR 0203, ADR 0204) and node-build-agent
// seventeen (ADR 0190) — twenty once the retired mesh-build-machine row goes, when no registered
// manifest claims it any more.
if len(Seats()) != 21 {
t.Errorf("the mesh defines %d seats rather than 21; the set is closed, so a change here is "+
"a decision (novox/hq ADR 0110): %s", len(Seats()), seatNames())
}
}