diff --git a/modules/mesh-delivery-checker/internal/check/tagwanted.go b/modules/mesh-delivery-checker/internal/check/tagwanted.go index 4dd1a301..ec4078af 100644 --- a/modules/mesh-delivery-checker/internal/check/tagwanted.go +++ b/modules/mesh-delivery-checker/internal/check/tagwanted.go @@ -21,7 +21,7 @@ import ( // checks, so a waiter on a verdict does not wake on it. const EventTagWanted = meshdeliverychecker.HolderEventTagWanted -// AsksStream is the checker's stream that carries tag-wanted and verdict, in its old streams section (ADR 0619): the +// AsksStream is the checker's stream that carries tag-wanted and verdict, one that keeps its history (ADR 0592 §6): the // bus names it ASKS. const AsksStream = "asks" diff --git a/modules/mesh-delivery-checker/manifest_test.go b/modules/mesh-delivery-checker/manifest_test.go index 30e5f4a7..9a560980 100644 --- a/modules/mesh-delivery-checker/manifest_test.go +++ b/modules/mesh-delivery-checker/manifest_test.go @@ -38,6 +38,7 @@ type stream struct { Name string `json:"name"` Events []string `json:"events"` MaxAgeDays int `json:"max-age-days,omitempty"` + Retention string `json:"retention,omitempty"` } type manifest struct { @@ -147,8 +148,9 @@ func TestManifestDeclarations(t *testing.T) { // 1678/AC1 } // The checker says each time it wrote a preview or a status, so the indexer's and the forge bridge's watches find the buckets (ADR 0484 clauses 2 and 3). // Its family asks (design 51 *Tagged versions*, design 26): tag-wanted and verdict, seven days, apart from checks so a - // waiter on a verdict does not wake on a tag ask; in the old streams section (ADR 0619). - if want := []stream{{Name: "checks", Events: []string{"preview.**", "owed.**"}}, {Name: "asks", Events: []string{"verdict", "tag-wanted"}, MaxAgeDays: 7}}; !reflect.DeepEqual(m.Streams, want) { + // waiter on a verdict does not wake on a tag ask; a stream that keeps its history, the predefined form of an event family + // (ADR 0592 §6, the manifest validator). + if want := []stream{{Name: "checks", Events: []string{"preview.**", "owed.**"}}, {Name: "asks", Events: []string{"verdict", "tag-wanted"}, Retention: "history"}}; !reflect.DeepEqual(m.Streams, want) { t.Errorf("streams = %+v, want %+v", m.Streams, want) } // The read tools (issue 1686) are served by the tools bundle, not by the checker's process. diff --git a/modules/mesh-delivery-checker/module.json b/modules/mesh-delivery-checker/module.json index 8d47c3c4..4e79f43f 100644 --- a/modules/mesh-delivery-checker/module.json +++ b/modules/mesh-delivery-checker/module.json @@ -30,7 +30,7 @@ ], "streams": [ { "name": "checks", "events": ["preview.**", "owed.**"] }, - { "name": "asks", "events": ["verdict", "tag-wanted"], "max-age-days": 7 } + { "name": "asks", "events": ["verdict", "tag-wanted"], "retention": "history" } ], "state": [ { "name": "asks", "history": 1 },