From 38031571c1ec5dfa765a7efea8ea955c1387333f Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 9 Nov 2026 21:11:49 +0100 Subject: [PATCH] The judge accepts a kept data's form and catch-up tool as the reader now reads them (design 47) Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ --- modules/mesh-delivery-indexer/judge/busstate_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/mesh-delivery-indexer/judge/busstate_test.go b/modules/mesh-delivery-indexer/judge/busstate_test.go index a38f7943..bde31cfd 100644 --- a/modules/mesh-delivery-indexer/judge/busstate_test.go +++ b/modules/mesh-delivery-indexer/judge/busstate_test.go @@ -28,6 +28,18 @@ func TestBusStateIsJudgedOnce(t *testing.T) { {"within bounds", manifest(`{"name":"cache","storage":"key-value","template":"state","options":{"history":8,"key-ttl":true}},` + `{"name":"audit","storage":"stream","template":"log","options":{"max-mib":64,"max-age-days":365}},` + `{"name":"files","storage":"object-store","template":"objects","options":{"max-mib":2048}},` + ledger), nil}, + // Design 47: every kept data may say its form and its catch-up tool, in an old section and in `requires` by template, + // and is accepted as read; one saying neither reads as before. + {"a form and a catch-up tool on every kept kind", `{"module":"a","version":"1","tools":["a_take_in"],` + + `"state":["seen",{"name":"modules","form":1,"catch-up":"a_take_in"}],"logs":[{"name":"acts","form":2}],` + + `"streams":[{"name":"forge","events":["merged"],"form":1,"catch-up":"a_take_in"}],` + + `"objects":[{"name":"revisions","max-mib":64,"form":1,"catch-up":"a_take_in"}],"requires":[` + + `{"name":"holds","storage":"key-value","template":"state","form":1,"catch-up":"a_take_in"},` + + `{"name":"history","storage":"stream","template":"log","options":{"max-mib":64},"form":1},` + + `{"name":"marks","storage":"stream","template":"events","options":{"events":["seen"]},"form":1},` + + `{"name":"blobs","storage":"object-store","template":"objects","options":{"max-mib":64},"form":4,"catch-up":"a_take_in"},` + + `{"name":"records","storage":"ledger","template":"ledger","options":{"max-mib":512},"form":3,"catch-up":"a_take_in","types":[` + + `{"name":"decision","schema":{"title":{"type":"text"}},"operations":[{"name":"propose","effect":"set-fields","fields":["title"]}]}]}]}`, nil}, // 1966/AC7: each refused case, naming the module, the entry and the field {"unknown storage type", manifest(`{"name":"x","storage":"tape"}`), []string{"a's bus state \"x\"", "storage type \"tape\""}}, {"unknown template", manifest(`{"name":"x","storage":"stream","template":"pile"}`), []string{"\"x\"", "template \"pile\""}},