From 2bee9ffb88f6b756b32557859defe438e62c5c90 Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Thu, 14 May 2026 17:40:45 -0400 Subject: [PATCH] =?UTF-8?q?test(3517):=20add=20allow-test-rule=20exemption?= =?UTF-8?q?=20=E2=80=94=20STATE.md=20is=20the=20runtime=20contract?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/bug-3517-phase-complete-state-md-staleness.test.cjs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/bug-3517-phase-complete-state-md-staleness.test.cjs b/tests/bug-3517-phase-complete-state-md-staleness.test.cjs index fb9744ecf..e0a4335d8 100644 --- a/tests/bug-3517-phase-complete-state-md-staleness.test.cjs +++ b/tests/bug-3517-phase-complete-state-md-staleness.test.cjs @@ -1,3 +1,9 @@ +// allow-test-rule: state-md-is-the-runtime-contract — this test asserts the +// exact STATE.md fields written by phase.complete; STATE.md IS the product +// surface being verified, not source code. Same justification pattern as +// tests/bug-2698-crlf-install.test.cjs. Migration to typed-IR parser tracked +// in #2974. + /** * Regression tests for bug #3517: * `gsd-sdk query phase.complete N` returns state_updated: true but