From c609d96e237dd0080c14b82e14993c875c6aa865 Mon Sep 17 00:00:00 2001 From: "Aaron K. Clark" Date: Mon, 25 May 2026 22:42:22 -0500 Subject: [PATCH] =?UTF-8?q?chore(rec-28):=20flip=20ignoreAudit=20Stage=201?= =?UTF-8?q?=E2=86=922=20=E2=80=94=20strict-by-default=20now=20backlog=20is?= =?UTF-8?q?=20clear?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rec 28 #28-6d+ closes out: the audit task now defaults to fail-on- violation locally as well as in CI. Status: the Rec 28 #28-5..#28-6d+ sweep cleared every author-declared- not-a-regression-test stub (DemoFieldsTest, DebuggerManualTest, experiments/ToArrayTest, the TODO()-stub family, etc.). The remaining 51 @Ignore annotations all carry a category prefix (flaky / blocked-on / wip / manual-tool) and a tracking-issue #N reference — the audit finds zero violations. Before: boolean strict = project.hasProperty('ignoreAuditStrict') && project.property('ignoreAuditStrict') == 'true' # default → warn-only; -PignoreAuditStrict=true → fail After: boolean strict = !(project.hasProperty('ignoreAuditStrict') && project.property('ignoreAuditStrict') == 'false') # default → fail; -PignoreAuditStrict=false → warn (for triage) The CI workflow still passes -PignoreAuditStrict=true explicitly; the flag is now redundant but harmless and the literal value documents intent on the workflow side. This brings the gradle task's default in line with what docs/testing/IGNORE_TEST_POLICY.md has already documented as "Stage 2 (failing, current — flipped 2026-05-21)". Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/ Co-Authored-By: Claude Opus 4.7 (1M context) --- gradle/ignoreAudit.gradle | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gradle/ignoreAudit.gradle b/gradle/ignoreAudit.gradle index 132979219d5..7dbd40b7727 100644 --- a/gradle/ignoreAudit.gradle +++ b/gradle/ignoreAudit.gradle @@ -96,12 +96,15 @@ task ignoreAudit { } } } - // Stage 1: warn-only mode while the existing in-tree backlog is - // being swept (Rec 28 #28-5..#28-8). Flip to fail-on-violation - // by passing -PignoreAuditStrict=true once the warning count - // drops to zero. See docs/testing/IGNORE_TEST_POLICY.md. - boolean strict = project.hasProperty('ignoreAuditStrict') && - project.property('ignoreAuditStrict') == 'true' + // Stage 2: strict-by-default. The Rec 28 #28-5..#28-6d+ sweep + // cleared every author-declared-not-a-regression-test stub; the + // surviving @Ignore annotations all carry a category + tracking + // issue ref, so the audit currently finds zero violations. New + // @Ignore additions that lack the policy form will fail CI. + // Override with -PignoreAuditStrict=false to fall back to + // warn-only mode for triage. See docs/testing/IGNORE_TEST_POLICY.md. + boolean strict = !(project.hasProperty('ignoreAuditStrict') && + project.property('ignoreAuditStrict') == 'false') if (!violations.isEmpty()) { if (strict) {