Archived
Give the uplink seat its verbs, staged until its holders serve them (hq ADR 0241)
mesh/delivery-group group feat/node-uplink-verbs ready: every member ready, and composed together they pass
mesh/merge-gate pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step; every machine composes with the change as it…
mesh/repo-check fail: its merge-check.sh failed: FAIL github.com/novox/mesh-controller/cmd/mesh-controller 1800.041s
mesh/delivery superseded: a newer head of the same pull request
mesh/delivery-group group feat/node-uplink-verbs ready: every member ready, and composed together they pass
mesh/merge-gate pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step; every machine composes with the change as it…
mesh/repo-check fail: its merge-check.sh failed: FAIL github.com/novox/mesh-controller/cmd/mesh-controller 1800.041s
mesh/delivery superseded: a newer head of the same pull request
What a machine resolves through and over which links had no tool: the resolver file and its writer, and each link with its routes and resolvers, are now verbs of node-uplink, the same whatever manages the network. A verb required at once would refuse every holder before the catalogue could serve it, and a stored one would be required by an older controller, so it is staged: promised and routed, never stored, and not yet a condition of holding.
This commit is contained in:
@@ -156,3 +156,25 @@ func TestTheControllersVerbsInTheRowAreTheBinarys(t *testing.T) {
|
||||
t.Fatal("a verb this binary adds was not added")
|
||||
}
|
||||
}
|
||||
|
||||
// A verb still staged (novox/hq ADR 0241) is never in the store's row: a controller older than it reads
|
||||
// the row and would require what no holder of its time serves.
|
||||
func TestAStagedVerbIsNotSeeded(t *testing.T) {
|
||||
inv := ForTest(t)
|
||||
if _, err := inv.SeedSeats(t.Context(), catalogue.DefaultSeats()); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// Seeded twice: the second widens, and must not add it either.
|
||||
if _, err := inv.SeedSeats(t.Context(), catalogue.DefaultSeats()); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
got, err := inv.Seats(t.Context())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, s := range got {
|
||||
if s.Name == "node-uplink" && len(s.Serves) != 0 {
|
||||
t.Fatalf("the row keeps %v", s.Serves)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user