From a43fc31643c413757815d1db1da9112e580b3706 Mon Sep 17 00:00:00 2001 From: Andy Dixon Date: Tue, 22 Sep 2026 19:49:07 +0100 Subject: [PATCH] test: allow the full race suite 30 minutes; trim research scenario stimuli Research experiments run several sandbox variants with settle windows, and under the full parallel race suite the experiments package exceeded Go's default ten-minute limit. The make targets now pass -timeout 30m, and the ablation and self-model scenarios use the fewest stimuli that still show their effect. --- Makefile | 4 ++-- internal/experiments/research_test.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 467c222..0048f26 100644 --- a/Makefile +++ b/Makefile @@ -17,10 +17,10 @@ test: ## unit tests go test ./... test-race: ## unit tests with the race detector - go test -race ./... + go test -race -timeout 30m ./... test-db: dev-db ## tests that need PostgreSQL (NOEMA_TEST_DATABASE_URL) - NOEMA_TEST_DATABASE_URL=$(DEV_DB) go test -race -count=1 ./... + NOEMA_TEST_DATABASE_URL=$(DEV_DB) go test -race -timeout 30m -count=1 ./... vet: ## go vet go vet ./... diff --git a/internal/experiments/research_test.go b/internal/experiments/research_test.go index 17e14be..f12878b 100644 --- a/internal/experiments/research_test.go +++ b/internal/experiments/research_test.go @@ -53,7 +53,7 @@ func TestAblationComparesAgainstControl(t *testing.T) { sn, _ := h.Snaps.Create(ctx, base, "before", "", "test") res := run(t, service(h), "metacognition ablation", sn.ID, Definition{ Protocol: &Protocol{Kind: ProtocolAblation, IndependentVariable: "metacognition enabled", ControlledVariables: []string{"snapshot", "stimuli", "configuration", "model routing"}, Measures: []string{"ablation.effect"}}, - Stimuli: []Stimulus{{Text: "The weekly report is due on Friday."}, {Text: "Nothing else happened."}}, + Stimuli: []Stimulus{{Text: "The weekly report is due on Friday."}}, Variants: []Variant{{Name: "control"}, {Name: "no-metacognition", Ablations: []string{"metacognition"}}}, }) control, ablated := res.Variants[0], res.Variants[1] @@ -150,7 +150,7 @@ func TestSelfModelMismatchIsCorrected(t *testing.T) { sn, _ := h.Snaps.Create(ctx, base, "before", "", "test") res := run(t, service(h), "self-model", sn.ID, Definition{ Protocol: &Protocol{Kind: ProtocolSelfModel, IndependentVariable: "accuracy of the capability self-model", Measures: []string{"self_model.accuracy", "self_model.correction_latency"}}, - Stimuli: []Stimulus{{Text: "The maintenance window starts soon."}, {Text: "Still waiting."}, {Text: "Still waiting."}}, + Stimuli: []Stimulus{{Text: "The maintenance window starts soon."}, {Text: "Still waiting."}}, Variants: []Variant{{Name: "accurate"}, {Name: "believes-it-may-restart", SelfModel: &SelfModelOverride{Capabilities: []minds.CapabilityEntry{{Name: "service.restart", Policy: "allow"}}}}}, }) wrong := res.Variants[1]