Repository navigation
ci: stop Engine Review Pass and Secrets Audit failures on main - #3756
Conversation
…dit, Copy gate) - pr-guards.yml / Engine Review Pass: issue_comment runs execute in the default-branch context, so failing the job attributed the failure to main's head commit (24+ failed runs per 4h). The verdict is still posted as the "Engine Review Pass" commit status on the PR head; the job now fails only for pull_request and pull_request_review events and warns otherwise, the same pattern Head SHA Check Guard uses in this file. - security.yml / Secrets Audit: run scripts/ci/check_secrets_baseline.sh, the check pr-gate.yml and pr-secrets-non-main.yml already use. It still fails on a secret missing from .secrets.baseline but passes line-number-only drift, which failed security on main five times in four days. Adds a test pinning it. - trust/page.tsx: reword the Preview row so it no longer says "not GA", which tripped the live-claim copy rule, and refresh scripts/copy-lint/baseline.json to drop 11 entries whose copy was already fixed (the gate fails on stale entries too). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VyDxaAGDu8kUNAqqsCa4AZ
FindingsActionable comments posted: 2 Caution Review failedThe pull request is closed.
|
|
The author engine is I will not post that marker myself. Generated by Claude Code |
✅ Bundle Size Report
Bundle is within the 10.0MB limit. |
On issue_comment events the pulls.get lookup ran before the try block, so a transient API error still failed the job in main's context. Catch it and send it through failRun like the other failure paths, and make the warning say the PR verdict is the commit status rather than claiming one was posted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VyDxaAGDu8kUNAqqsCa4AZ
PR Blocker ChecklistHead SHA: Status: Ready
|
Copy gate has failed on every push to main since #3641: eleven baseline.json entries went stale after their copy was fixed, and the trust page's Preview row said "not GA", which trips the live-claim rule even as a negation. Ported from #3756 so this PR's gate can run green; no-ops once main carries that change. - frontend/src/app/trust/page.tsx: "before general release" instead of "but is not GA". - scripts/copy-lint/baseline.json: regenerated with --update-baseline (deletions only; no entries added for the files this PR introduces). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GyhDYEfpvtBTjWGrzsiaDL
|
The Vercel project's Git integration or its GitHub app access needs checking on the Vercel side. Nothing in this repository can fix that, and no fix exists yet. I re-ran the job once. It will stay red until Vercel builds previews again. Generated by Claude Code |
Copy gate has failed on every push to main since #3641: eleven baseline.json entries went stale after their copy was fixed, and the trust page's Preview row said "not GA", which trips the live-claim rule even as a negation. Ported from #3756 so this PR's gate can run green; no-ops once main carries that change. - frontend/src/app/trust/page.tsx: "before general release" instead of "but is not GA". - scripts/copy-lint/baseline.json: regenerated with --update-baseline (deletions only; no entries added for the files this PR introduces). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GyhDYEfpvtBTjWGrzsiaDL
main's #3713 already reworded the trust page Preview row and refreshed the copy baseline; take main's wording, so this PR now changes only the two workflows and the security workflow test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VyDxaAGDu8kUNAqqsCa4AZ
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
REVIEW: PASS hermes 9d9e3fc Gate-strength review of Claude's CI fix (head matches requested (1)–(3) Engine Review Pass not weakened
(4) Trust / secrets surface
(5) Secrets Audit
(6) Tests / local verification
CI (head
|
Brings the branch up to date with main (1d9c995) so CI can build the PR merge commit again. One conflict, in frontend/src/app/trust/page.tsx: this branch had ported the Preview-row wording from #3756 ("before general release") to keep the Copy gate green; #3756 has since merged with its own wording ("but has not reached general release"). Resolved by taking main's line, so this PR no longer changes that file. scripts/copy-lint/baseline.json is identical on both sides. Verified on the merged tree: lint and design-lint clean, tsc clean, vitest 209 files passed, next build green with /demo emitted, trust-safety copy check passes, copy gate exits 0 against main's baseline. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GyhDYEfpvtBTjWGrzsiaDL
Summary
.github/workflows/pr-guards.yml):issue_commentruns execute in the default-branch context, so failing the job counted the failure against main's head commit (24+ failed runs per 4 hours on main).Engine Review Passcommit status on the PR head SHA. The job itself now fails only forpull_requestandpull_request_reviewevents and logs a warning otherwise, the same pattern Head SHA Check Guard uses in this file.issue_commentnow goes through the same helper, so a transient API error no longer fails the run on main..github/workflows/security.yml):scripts/ci/check_secrets_baseline.sh, the checkpr-gate.ymlandpr-secrets-non-main.ymlalready use..secrets.baseline(detect-secrets-hook exit 1). It now passes line-number-only drift (exit 3), which failed security on main five times since 2026-10-24.test_main_secrets_audit_tolerates_baseline_line_driftpins this.frontend/src/app/trust/page.tsx. feat(trace): report depth exhaustion and walk transformation links by direction #3713 made the same fix on main, so after merging main this PR takes main's wording and no longer touches the trust page or the copy baseline.Type of Change
Test Plan
tests/scripts/test_security_workflow_boundaries.py(new test), plustest_check_workflow_inventory.py. All pass.scripts/ci/check_supply_chain.pypasses.check-copy.mjs --gateagainst main's baseline passes.pull_requestandpull_request_reviewset a failure status and fail the job.issue_commentsets a failure status and logs a warning.issue_commentwith a failing PR lookup logs a warning.Checklist
sys.modules[X] = stub, I justified it in the PR description (no such test)Related Issues
These are main-branch failures tracked by the deploy-path health routine:
issue_commentevents..secrets.baseline.Vercel Preview Builtwas red here because Vercel has created no deployments since 2026-10-29 09:20Z (see the comment on this PR). This PR no longer touchesfrontend/, so that guard skips.🤖 Generated with Claude Code
https://claude.ai/code/session_01VyDxaAGDu8kUNAqqsCa4AZ
Note
Low Risk
CI-only guard behavior changes; PR verdicts still come from commit statuses and the shared secrets script still blocks unknown findings.
Overview
Fixes false-red main branch runs from two CI guards while keeping PR gating behavior intact.
Engine Review Pass (
pr-guards.yml) now routes failures through afailRunhelper aligned with Head SHA Check Guard: the job only fails onpull_request/pull_request_review. Onissue_comment(default-branch context), it still posts the Engine Review Pass commit status on the PR head SHA but logs a warning instead of failing the workflow run. PR lookup on comments is wrapped in try/catch so transient API errors follow the same rule.Secrets Audit on main (
security.yml) no longer invokesdetect-secrets-hookdirectly; it runs the sharedscripts/ci/check_secrets_baseline.shused by PR gates. New secrets still fail (exit 1); baseline line-number drift after merges (exit 3) no longer fails security on main. A workflow boundary test locks in that the maindetect-secretsjob uses the script and not a bare hook.Reviewed by Cursor Bugbot for commit 9d9e3fc. Bugbot is set up for automated code reviews on this repo. Configure here.