From 7fd07d0236c129450e054a1e6e22c3240df43e0a Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 4 Nov 2026 12:41:30 +0100 Subject: [PATCH] DLV-R1: the judge's seat-set test reads mesh-contracts' seat list: fifty-nine seats, the registry seats beside the artifact store, pull-waits and renames Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig --- .../mesh-delivery-indexer/judge/rules_test.go | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/modules/mesh-delivery-indexer/judge/rules_test.go b/modules/mesh-delivery-indexer/judge/rules_test.go index b58c5b5c..c18ab3bf 100644 --- a/modules/mesh-delivery-indexer/judge/rules_test.go +++ b/modules/mesh-delivery-indexer/judge/rules_test.go @@ -4854,7 +4854,10 @@ func TestTheSeatsAreAClosedSetAndEachNamesItsDecision(t *testing.T) { if s.Delivers != "" { // Two seats answering for one provision would put the question "which one?" back, // which is the question a seat exists to answer. - if other, twice := delivered[s.Delivers]; twice { + // Except artifact-store, which the two registry seats for images and bundles deliver beside the artifact store + // until its old name closes (novox/hq ADR 0613, design 51): a reference's seat says which one answers. + if other, twice := delivered[s.Delivers]; twice && !(s.Delivers == "artifact-store" && + slices.Contains([]string{"container-image-registry", "oci-artifact-registry"}, s.Name)) { t.Errorf("%s and %s both deliver %q", other, s.Name, s.Delivers) } delivered[s.Delivers] = s.Name @@ -4899,8 +4902,9 @@ func TestTheSeatsAreAClosedSetAndEachNamesItsDecision(t *testing.T) { {catalogue.WatchdogsSeat, "signals,stuck,presence,dead-letters,resync", ""}, {catalogue.SelfCheckSeat, "doctor,probes", "checked"}, {catalogue.HealersSeat, "healers,heal,drill", "healer-acted"}, - // And mesh-config's config; its switch went with the controller (ADR 0590 clause 3). - {"mesh-config", "config", ""}, + // And mesh-config's config; its switch went with the controller (ADR 0590 clause 3); and its open renames + // (design 32 *A config value renamed*, ADR 0620). + {"mesh-config", "config,renames", ""}, // And ADR 0565 clause 1's two. {catalogue.WantsSeat, "upgrade,bus", "policy-changed"}, {catalogue.HandActsSeat, "hand-act,hand-acts,warranted", "act-recorded"}, @@ -4926,7 +4930,7 @@ func TestTheSeatsAreAClosedSetAndEachNamesItsDecision(t *testing.T) { if props, _ := engine.Serves[5].Input["properties"].(map[string]any); props["id"] == nil { t.Errorf("acts takes no id: %v", engine.Serves[5].Input) } - if strings.Join(verbs, ",") != "hand-over,access-act,judge-directories,setuid-search,root-free,acts,packages,composition,compose,compose-candidate" || + if strings.Join(verbs, ",") != "hand-over,access-act,judge-directories,setuid-search,root-free,acts,packages,composition,compose,compose-candidate,pull-waits" || strings.Join(engine.Emits, ",") != "asked,done,refused" { t.Errorf("node-engine serves %v and emits %v", verbs, engine.Emits) } @@ -4952,9 +4956,11 @@ func TestTheSeatsAreAClosedSetAndEachNamesItsDecision(t *testing.T) { // fifty-three with the four health seats (novox/hq ADR 0564 clause 1); fifty-five with mesh-wants and mesh-hand-acts // (novox/hq ADR 0565 clause 1); fifty-six with mesh-artifact-sweep (novox/hq ADR 0571 clause 2); // fifty-seven with mesh-grants (ADR 0582 clause 1); fifty-eight with mesh-enrolment (novox/hq ADR 0587 ยง1); fifty-six - // without the controller's seat and mesh-grants, which served its lease write alone (novox/hq ADR 0590, issue 1126). - if len(catalogue.Seats()) != 56 { - t.Errorf("the mesh defines %d seats rather than 56; the set is closed, so a change here is "+ + // without the controller's seat and mesh-grants, which served its lease write alone (novox/hq ADR 0590, issue 1126); + // fifty-nine with the registry seats go-package-registry, container-image-registry and oci-artifact-registry beside + // npm-package-registry (novox/hq ADR 0613, design 51), the seat list now mesh-contracts' (ADR 0625). + if len(catalogue.Seats()) != 59 { + t.Errorf("the mesh defines %d seats rather than 59; the set is closed, so a change here is "+ "a decision (novox/hq ADR 0110): %s", len(catalogue.Seats()), seatNames()) } }