module check names a read of state its owner does not keep, and says what each module keeps and reads (novox/hq ADR 0201)

This commit is contained in:
jochen
2026-10-04 02:50:02 +02:00
parent aec55b7072
commit cde22ff627
3 changed files with 31 additions and 0 deletions
+12
View File
@@ -80,3 +80,15 @@ func TestEveryManifestsStateIsLocalAndEveryReadIsKept(t *testing.T) {
t.Fatalf("the catalogue's state is not what ADR 0201 says:\n %s", strings.Join(problems, "\n "))
}
}
// `module check` says it too: the cross-catalogue pass names a read nothing on the shelf keeps.
func TestTheCataloguePassNamesAReadItsOwnerDoesNotKeep(t *testing.T) {
shelf := Shelf{
"licence-manager": {Module: "licence-manager", State: []StateDeclaration{{Name: "bindings"}}},
"claude-code": {Module: "claude-code", Reads: []string{"licence-manager.tokens"}},
}
problems := CatalogueProblems(shelf)
if len(problems) != 1 || !strings.Contains(problems[0], `keeps no state called "tokens"`) {
t.Fatalf("the catalogue pass said %v", problems)
}
}