diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 8843dc1d55..447ec2627a 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -66,6 +66,13 @@ jobs: run: pnpm check:lane-wiring - name: Plugin interop declarations match the dashboard API run: pnpm check:plugin-interop-drift + # AGENTS.md states the deletion ratchet as policy — "A quarantined test is DELETED after 14 + # days (quarantinedAt + 2 weeks) unless rescued" — and nothing enforced it. Same shape as the + # lifecycle-column note above: the script supports `--strict`, the package script omitted it, + # and no workflow ran it, so it could not fail however long an entry sat there. It fires 5 days + # BEFORE the deadline so the choice is still delete-or-rescue rather than an overdue entry. + - name: Quarantine deletion ratchet + run: pnpm check:quarantine-ledger typecheck: name: Typecheck diff --git a/package.json b/package.json index c25767646b..a844197437 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "check:lane-wiring": "node scripts/check-lane-wiring.mjs", "check:plugin-interop-drift": "node scripts/check-plugin-interop-drift.mjs", "census:lifecycle-columns": "node scripts/lifecycle-column-census.mjs", - "check:quarantine-ledger": "node scripts/check-quarantine-ledger.mjs", + "check:quarantine-ledger": "node scripts/check-quarantine-ledger.mjs --strict", "check:mock-completeness": "node scripts/check-mock-completeness.mjs", "test:gate": "node scripts/check-no-nohup.mjs && node scripts/check-no-cwd-relative-dashboard-test-reads.mjs && node scripts/check-no-kill-4040.mjs && node scripts/check-no-getdatabase.mjs && node scripts/check-capacity-pool-id.mjs && node scripts/check-no-node-only-core-imports-in-dashboard.mjs && node scripts/check-pi-versions-pinned.mjs && node scripts/check-no-test-timeout-appeasement.mjs && node scripts/check-changeset-format.mjs && node scripts/check-mock-completeness.mjs && node scripts/check-inert-sync-lane-conversions.mjs && sh -c 'pnpm --filter @fusion/engine test:core & engine_pid=$!; pnpm --filter @fusion/core test:pg-gate & pg_pid=$!; pnpm --filter @fusion/core test:unit-gate & unit_pid=$!; status=0; wait $engine_pid || status=1; wait $pg_pid || status=1; wait $unit_pid || status=1; exit $status' && pnpm --filter @runfusion/fusion test:ci-shape", "smoke:boot": "node scripts/boot-smoke.mjs",