From 164157f98ea0aca4689395bac46002062da84bde Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Thu, 20 Aug 2026 19:35:29 +0200 Subject: [PATCH] chore(ci): raise the traceability ratchet from 82% to 88% MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Actual coverage is 90% (`bun run traces:coverage`), so the gate had ~8 points of slack — a requirement could stop being traced and CI would not notice. Per the ratchet policy in the workflow, move it up to sit just under the real figure. MIN_COVERAGE_PERCENT in scripts/extract-traces.ts moves in lockstep: the workflow comment says to keep the two in sync and extract-traces.test.ts asserts it, so changing only the YAML turns the frontend suite red. (The stale "fails below 50%" comment in scripts/test-all.sh, wrong since the threshold moved to 82, was corrected in the preceding commit along with the rest of that file.) --- .gitea/workflows/traceability-check.yml | 2 +- scripts/extract-traces.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/traceability-check.yml b/.gitea/workflows/traceability-check.yml index ff4e1ba6..52043f0d 100644 --- a/.gitea/workflows/traceability-check.yml +++ b/.gitea/workflows/traceability-check.yml @@ -94,7 +94,7 @@ jobs: # # Keep in sync with MIN_COVERAGE_PERCENT in scripts/extract-traces.ts; # scripts/extract-traces.test.ts fails if the two drift apart. - MIN_THRESHOLD=82 + MIN_THRESHOLD=88 if [ "$COVERAGE" -lt "$MIN_THRESHOLD" ]; then echo "❌ ERROR: Coverage ($COVERAGE%) is below minimum threshold ($MIN_THRESHOLD%)" exit 1 diff --git a/scripts/extract-traces.ts b/scripts/extract-traces.ts index bf7d2cef..de15a20f 100644 --- a/scripts/extract-traces.ts +++ b/scripts/extract-traces.ts @@ -56,7 +56,7 @@ interface TracesData { * * TRACES: | DR-093 */ -export const MIN_COVERAGE_PERCENT = 82; +export const MIN_COVERAGE_PERCENT = 88; // Repo root, derived from this script's location (scripts/ -> repo root). // Must NOT be hardcoded to a developer's machine, or CI checkouts see no files.