Area 4 (join 11): the indexer's TestManifestDeclarations reads its readers' invokes in both forms

The readers' invokes are read with mesh-sdk's catalogue.InvokedVerbs, so a long-form {verb, fields} entry (the
assigner's) is read rather than refused by the test's own decode.

Builds: design 47 G A-275, §558

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
2026-11-12 11:56:44 +01:00
parent a59e40c02f
commit 4f076c6cc3
+10 -2
View File
@@ -245,12 +245,20 @@ func TestManifestDeclarations(t *testing.T) { // 1238/AC1, 1444 (reads the build
t.Fatal(err)
}
var r struct {
Invokes []string `json:"invokes"`
Invokes json.RawMessage `json:"invokes"`
}
if err := json.Unmarshal(raw, &r); err != nil {
t.Fatalf("%s: %v", p, err)
}
for _, inv := range r.Invokes {
// A reader's invokes in either form, a verb or {verb, fields} (§558, A-275), read by mesh-sdk's one reader.
if len(r.Invokes) == 0 {
continue
}
invoked, err := catalogue.InvokedVerbs(r.Invokes)
if err != nil {
t.Fatalf("%s: %v", p, err)
}
for _, inv := range invoked {
// The grants part (W8) and the assigner read modules until their own subtasks move them to revision; the join removes this line.
if (p == "../mesh-grants/module.json" || p == "../mesh-delivery-assigner/module.json") && inv == "mesh-delivery-indexer.modules" ||
inv == "mesh-delivery-indexer.indexer_read_modules" { // design 47 G §196: the readers' own subtasks move them to the catalog half