From ef60e5d09eea3dd757d7e604d60a702d117c5263 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 11 Nov 2026 15:49:13 +0100 Subject: [PATCH] COND2 (whole): the keeper's whole test starts with a kept source and no view of the catalog half MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Builds: design 47 G §388 Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ --- .../cmd/mesh-conditions/whole_integration_test.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/mesh-conditions/cmd/mesh-conditions/whole_integration_test.go b/modules/mesh-conditions/cmd/mesh-conditions/whole_integration_test.go index 36292d779..48af4aaf2 100644 --- a/modules/mesh-conditions/cmd/mesh-conditions/whole_integration_test.go +++ b/modules/mesh-conditions/cmd/mesh-conditions/whole_integration_test.go @@ -294,7 +294,7 @@ func TestTheKeeperWholeRaisesAndClearsOnTheBus(t *testing.T) { } buckets := []string{"mesh-controller_conditions", "mesh-delivery-assigner_wants", "node-engine_have", "mesh-delivery-assigner_assignments", "mesh-healers_attempts"} - for _, s := range []string{ConditionsState, HistoryState, HeldState, BoundsState} { + for _, s := range []string{ConditionsState, HistoryState, HeldState, ViewsState, BoundsState} { buckets = append(buckets, Module+"_"+s) } for _, b := range buckets { @@ -302,6 +302,12 @@ func TestTheKeeperWholeRaisesAndClearsOnTheBus(t *testing.T) { t.Fatal(err) } } + // Design 47 G §388: the catalog's holder is stopped, and the keeper hears the source it kept at an earlier run. + views, _ := js.KeyValue(ctx, Module+"_"+ViewsState) + kept, _ := json.Marshal(keptView{Observer: watchmanModule, Node: "ace"}) + if _, err := views.Create(ctx, viewKey(watchmanModule, "ace"), kept); err != nil { + t.Fatal(err) + } events, err := nc.SubscribeSync("mesh.seat." + Seat + ".event.>") if err != nil { t.Fatal(err)