No client names a holder: each reader keeps its own constant, held to its manifest (ADR 0625 section 4, issue 1966)

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
2026-11-05 18:37:28 +01:00
parent 2dbb0da8a5
commit c8241d0be6
40 changed files with 187 additions and 176 deletions
+4 -6
View File
@@ -65,12 +65,10 @@ func checkRepository(repository string) error {
// operator, 2026-11-03: no graph-related code in mesh-sdk, only contracts). It names no module.
const (
// State is the name of the indexer's state of the module graph, as its manifest declares it, and Bucket its
// bucket: one key per module (Key).
State = "graph"
Bucket = meshcatalogclient.Module + "_" + State
// Read is the line a reader's manifest names in `reads` to read the graph.
Read = meshcatalogclient.Module + "." + State
// State is the name of the indexer's state of the module graph, as its manifest declares it: one key per module
// (Key). Its bucket is the holder's name and the state's, which the indexer and each reader name from its own
// manifest, never this package (ADR 0625 §4).
State = "graph"
// History is the revisions the graph state keeps per key (ADR 0603 §2).
History = 5
)
+1 -1
View File
@@ -213,7 +213,7 @@ func sampleNode() Node {
// nodeValues: a node round-trips with its lists sorted, an unknown version is refused, a node that does not hold is
// refused naming why, and the state is the indexer's graph (ADR 0603 §2).
func nodeValues(t *testing.T) {
if Bucket != "mesh-delivery-indexer_graph" || Read != "mesh-delivery-indexer.graph" || History != 5 || State != "graph" {
if History != 5 || State != "graph" {
t.Error("the graph's state differs from the decided layout")
}
g := sampleNode()