ci: hygiene gates — matrix unblock, scope, cancel, gitleaks, RAG offline - #1413
Conversation
Unblock the weekly release-browser-matrix from pr-required so a blocking scheduled dependency audit cannot skip Firefox/WebKit. Narrow ui_changed away from src/app/api and db_changed away from API routes; fail-fast @critical UI on PRs before the full suite; treat aggregate cancelled as neutral; pin Gitleaks to event SHAs; wire eval:rag:offline when rag_eval_changed. Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 2 minutes Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (12)
Comment |
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Resolve verify:cheap conflict by keeping both check:gitleaks-pinned and check:outstanding-issues. Rebuild the resolved archive with #95/#97 from this branch and #112 from main, and keep the archive as one contiguous table so the new outstanding-issues gate stays green. Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
CI triageCI failed on this PR. Automated classification of the 2 failed job(s):
Compared with main CI run #6744 (success). Classification is evidence routing, not permission to ignore a failure. Exact quarantined Playwright identities remain governed by the flake ledger. |
Use always() && !cancelled() so superseded concurrency cancels leave the aggregate cancelled/skipped instead of false-red, without treating cancelled needs as success when the tip never produced proof. Format the merged outstanding-issues archive for Prettier. Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Adopt main's cancelled-vs-failure aggregate (stay red, clear diagnosis) and drop the unsafe always() && !cancelled() approach — skipped required checks count as passing on GitHub. Keep critical-first UI wiring and teach the #1409 aggregate tests about UI_FAST_RESULT. Restore main's FIXED #95 open row; keep #97 archived from this branch. Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
…es-1bf5 Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
…es-1bf5 Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Verify the linux_x64 release archive against the published SHA-256 before install, keep the pin in the gitleaks self-test, and treat scripts/run-gitleaks-pinned.mjs as a workflow-scope change. Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
main's #1418 (ledger merge dedupe + L4 quarterly archive rotation) and #1413 both edited docs/outstanding-issues.md, so this was a real content conflict rather than staleness: git merge-tree --write-tree confirmed CONFLICT before any resolution was attempted. Resolved by taking main's version of the ledger wholesale and re-applying this branch's five-row archive move on top, so neither side's work is lost: - from main: #88 and #97 archived, new open row #126 (quarterly ledger rotation) with queue order 35, the #23 "When" update (release-browser-matrix no longer blocked by pr-required), the #86 detail update, and the issues:next-id bump to 127. - from this branch: #95, #96, #104, #109 and #115 moved from Open items to Resolved / archive. No row from either side was dropped, and no id appears in both tables. Verified: 121 rows (52 open, 69 archived), marker next-id=127 above the highest; each of #88, #97, #95, #96, #104, #109, #115 resolves to exactly one archive row and #126 to one open row; zero conflict markers remain. npm run verify:cheap -> EXIT=0; "Gate-manifest OK: all 29 verify:cheap gates are enforced in CI"; "Test Files 431 passed (431)"; "Tests 4496 passed | 4 skipped (4500)". npx prettier --check . -> "All matched files use Prettier code style!" Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011YdPS2KhKqz2buzsUgmX3c
Summary
Implements the recommended CI hygiene items from the testing-approach review (everything Grok can safely do without tackling
#093):release-browser-matrix— depends onchanges/static-pr/build/ui-criticalsuccess, notpr-required, so a blocking schedulednpm auditcan no longer skip Firefox/WebKit (#023structural half).src/app/api/**no longer setsui_changed; API routes no longer setdb_changed.#095cancelled diagnosis — landed onmainvia PR Distinguish a cancelled PR-required run from a real failure #1409. This PR aligns with it (if: always(), stay red, clear cancelled vs failure). Does not use!cancelled()(skipped required checks count as passing).#097) — event head checkout + pinned base..head range.test:e2e:criticalthen fulltest:e2e:pron PR/merge_group; aggregate tests coverUI_FAST_RESULT.eval:rag:offlinewhenrag_eval_changed.Merge readiness:
MERGEABLE+CLEAN, tip CI green includingPR required(run30520428391on7cdb4dc1). Still draft — mark ready, then merge. I did not merge.Not in this PR:
#093. ConfirmCI_TRIAGE_ENABLEDmanually.Clinical Governance Preflight
RAG impact
RAG impact: no retrieval behaviour change — adds offline
eval:rag:offlinewhen retrieval/answer paths change; no ranking/selection/imputation/live-eval threshold change.Verification
Follow-ups
CI_TRIAGE_ENABLED=true.release-browser-matrix(#023remainder).#093separately.