From def698427e44aac009d1b16be645d5930a02eeb5 Mon Sep 17 00:00:00 2001 From: Martin Vogel Date: Mon, 27 Jul 2026 01:37:53 +0200 Subject: [PATCH] fix(contract): route the 0h VM-soak needle through the canonical soak entry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The venue unification moved the VM soak sequence and its completion guard into scripts/soak-legs.sh; the smoke-fixture contract still pinned the old direct soak-test.sh call in vm-run-tests.sh, failing Step 0h — and with it every test leg on every venue of dry run 30224804737 (the test wave's 20 reds share this one cause). Masked until now: the contract chain runs sequentially and Step 0e failed first on the pre-fix tree, so 0h was never reached; post-fix verification used --suites mode, which skips the chain. All contract steps 0a-0j now verified green standalone in bulk. Invariant preserved, anchor moved: the VM wrapper must route --soak through the canonical entry under its protected temp root, and the canonical entry must completion-guard every leg on the soak summary (grep for '=== soak-test: PASSED ===' lives in soak-legs.sh:101). Signed-off-by: Martin Vogel --- tests/test_smoke_fixture_contract.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/test_smoke_fixture_contract.sh b/tests/test_smoke_fixture_contract.sh index d38282192..55fd0a782 100755 --- a/tests/test_smoke_fixture_contract.sh +++ b/tests/test_smoke_fixture_contract.sh @@ -272,12 +272,20 @@ require( and "vm-run-tests.sh --soak '$duration'" in windows_vm, "the Windows VM driver must route the native daemon soak through its protected-temp harness", ) +# The soak sequence and its completion guards moved into the ONE canonical +# entry scripts/soak-legs.sh (venue parity: _soak.yml, compose and the VM all +# run the same file); the VM wrapper supplies the protected temp root and +# routes into it. +soak_legs = read("scripts/soak-legs.sh") require( 'if [ "$1" = "--soak" ]' in windows_vm_runner - and 'scripts/soak-test.sh "$binary" "$duration"' in windows_vm_runner - and "=== soak-test: PASSED ===" in windows_vm_runner, - "the Windows VM harness must run and completion-guard the native daemon soak under its " - "protected temp root", + and 'scripts/soak-legs.sh "$binary" "$duration"' in windows_vm_runner, + "the Windows VM harness must route the native daemon soak through the canonical soak " + "entry under its protected temp root", +) +require( + "grep -Fq '=== soak-test: PASSED ==='" in soak_legs, + "the canonical soak entry must completion-guard every leg on the soak summary", ) require( pr_workflow.count("scripts/smoke-local.sh") >= 2,