From c4a8590671e70438b99fb59027b1041c57788872 Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 9 Nov 2026 21:00:10 +0100 Subject: [PATCH] W1.5, W1.6 (judge): a kept data's form is from 0 and its catch-up tool the module's own MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The node agent calls a restored kept data's catch-up tool from the restore point, so the judge refuses a form below 0 and a catch-up tool the module does not declare; a foundation part keeps its new objects in the old section with their cap and form (ADR 0619 §2). Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ Builds: design 47 G §295, §299 --- modules/mesh-delivery-indexer/judge/busstate_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/mesh-delivery-indexer/judge/busstate_test.go b/modules/mesh-delivery-indexer/judge/busstate_test.go index bf214994..1748e853 100644 --- a/modules/mesh-delivery-indexer/judge/busstate_test.go +++ b/modules/mesh-delivery-indexer/judge/busstate_test.go @@ -87,6 +87,12 @@ func TestBusStateIsJudgedOnce(t *testing.T) { {"a digest of a field that is no text", manifest(strings.Replace(ledger, `{"title":{"type":"text"}}`, `{"title":{"type":"text"},"n":{"type":"integer"},"sum":{"type":"text","digest-of":"n"}}`, 1)), []string{"\"records\"", "field \"sum\"", "digest of \"n\"", "no text field"}}, {"a digest of a text field", manifest(strings.Replace(ledger, `{"title":{"type":"text"}}`, `{"title":{"type":"text"},"sum":{"type":"text","digest-of":"title"}}`, 1)), nil}, + // W1.5 (design 47, *Its form is declared*): a form below 0 is refused where the reader reads it, in `requires` too. + {"a form below 0", manifest(`{"name":"x","storage":"key-value","template":"state","form":-1}`), []string{"its form is -1"}}, + // W1.6 (ADR 0619 §2): a foundation part keeps its new objects in the old section, with their cap and form (the + // same objects in the new form it is refused: DLV-J1 in the index's verdicts test). + {"a foundation part's objects in the old section", `{"module":"mesh-delivery-assigner","version":"1","tools":["assigner_graph_again"],` + + `"objects":[{"name":"revisions","max-mib":256,"form":1,"catch-up":"assigner_graph_again"}]}`, nil}, } { _, problems := Manifest([]byte(c.raw), nil) switch {