From 0c467ba3b6c30e1dc032174fb6974c5137d7b1f6 Mon Sep 17 00:00:00 2001 From: Shay Date: Wed, 3 Jun 2026 10:31:56 -0700 Subject: [PATCH] test: promote identity-falsifiability eval into the pre-merge smoke gate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit test_pack_measurements_phase2.py (ADR-0043) was reachable only under `--suite full` and post-merge full-pytest.yml — outside the blocking PR smoke gate. A regression flipping identity falsifiability (ratified packs must diverge directionally), the pack-invariant grounding/refusal floor, or the zero-fabrication invariant therefore cleared the PR gate and surfaced only post-merge on main (the smoke blind spot for dedicated test files). Add the file to both the `smoke` suite tuple (core/cli.py) and the smoke.yml CI gate so the falsifiability claim blocks-on-regression rather than detect-after-merge. Adds ~4 min to the PR gate. Verified: modified smoke gate green on the main base via the CI-equivalent invocation (140 passed). --- .github/workflows/smoke.yml | 10 +++++++--- core/cli.py | 8 ++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/smoke.yml b/.github/workflows/smoke.yml index 62057ecf..6af2cf47 100644 --- a/.github/workflows/smoke.yml +++ b/.github/workflows/smoke.yml @@ -1,8 +1,11 @@ name: smoke -# Fast PR gate — runs the smoke suite (~2-3 min) on every PR push. +# Fast PR gate — runs the smoke suite on every PR push. # Covers: chat runtime, pipeline, architectural invariants, audio sensorium -# (tests/test_audio_*.py — compiler/eval-gates/mount/CRDT-merge/teachers, ~3s). +# (tests/test_audio_*.py — compiler/eval-gates/mount/CRDT-merge/teachers, ~3s), +# and identity falsifiability (tests/test_pack_measurements_phase2.py, ADR-0043 +# — ratified packs diverge directionally; pack-invariant refusal floor; no +# fabrication). The falsifiability lane adds ~4 min but blocks-on-regression. # # Full pytest runs post-merge to main (see full-pytest.yml). # Regressions caught here block the PR; anything outside the smoke @@ -51,4 +54,5 @@ jobs: tests/test_runtime_config.py \ tests/test_cognitive_turn_pipeline.py \ tests/test_architectural_invariants.py \ - tests/test_audio_*.py + tests/test_audio_*.py \ + tests/test_pack_measurements_phase2.py diff --git a/core/cli.py b/core/cli.py index a5a76600..e6a21712 100644 --- a/core/cli.py +++ b/core/cli.py @@ -41,6 +41,14 @@ _TEST_SUITES: dict[str, tuple[str, ...]] = { "tests/test_runtime_config.py", "tests/test_cognitive_turn_pipeline.py", "tests/test_architectural_invariants.py", + # ADR-0043 — identity falsifiability: ratified identity packs must + # produce distinct, directionally-correct articulations, with a + # pack-invariant grounding/refusal floor and zero fabrication. Lives + # only under ``full`` historically, so a divergence regression cleared + # the PR gate and surfaced only post-merge. Promoted into smoke so + # the falsifiability claim blocks-on-regression rather than + # detect-after-merge. + "tests/test_pack_measurements_phase2.py", ), "runtime": ( "tests/test_chat_runtime.py",