Repository navigation
CI follow-ups: keep PR proof when the dispatch lookup fails, link the matrix proving run, steady two browser clicks - #3532
Conversation
… matrix proving run, steady two browser clicks A failed workflow_dispatch lookup no longer throws away the PR run's proof: only the release matrix proof is withheld, so main still skips coverage, Production UI and Lighthouse it already proved. The dispatch run that proves the matrix gets its own matrix_proof_run_url output and summary line, and PR required lists the matrix among jobs proven on the identical tree. Firefox dropped a My Day calendar click on three main runs in a row (the chosen day once, Today once), and iPad WebKit dropped the DSM Compare remove click once. Both now repeat a click that left no trace while still asserting the full outcome. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014qMDuRLipTaGrY6EyC89hm
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
There was a problem hiding this comment.
BigSimmo has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
🤖 CodeAnt AI — Review Status
|
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
Summary by CodeRabbit
WalkthroughThe CI proof script reports release-matrix proof separately from PR proofs and preserves PR proofs when dispatch lookup fails. The aggregate job reports the matrix when proven. Two UI tests now retry interactions and their outcome checks. ChangesCI proof reporting
UI test retries
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~15 minutes Merge Risk: ⚪ Minimal · up to
|
| Check name | Status | Explanation |
|---|---|---|
| Title check | The title clearly summarizes the main changes: preserving PR proof, linking the matrix run, and stabilizing browser clicks. | |
| Description check | The description includes the required Summary, Verification, and Risk and rollout sections with detailed change context and verification results. The optional Notes section is omitted, but the descrip… | |
| Linked Issues check | Check skipped because no linked issues were found for this pull request. | |
| Out of Scope Changes check | Check skipped because no linked issues were found for this pull request. | |
| Generated And Sensitive Files | The pull request changes only an existing workflow, source script, and test files. No sensitive or generated artifact paths were added. The only added URL is the test fixture `https://example.test/run… | |
| Risky Git Or Deployment Actions | The pull request does not introduce instructions or actions for force-push, hard reset, destructive clean, branch deletion, rebasing shared branches, production data mutation, or deployment without co… | |
| Supabase Project And Schema Safety | The pull request changes only CI proof handling and browser tests. The changed-file diff contains no Supabase project references, schema migrations, data migrations, RLS changes, policy changes, or pr… | |
| Runtime And Package Manager Integrity | The pull request does not change package-manager or runtime configuration. The changed-file inventory contains no package.json, package-lock.json, .npmrc, .nvmrc, or .node-version changes. The only wo… | |
| Api Route Failure Handling | No failure condition is introduced. The GitHub API integration uses a 20-second timeout and throws on non-OK responses. The executable catches proof errors and writes all-false outputs, which forces t… |
Full details: Verification Claims
-
Explanation
The generated objectives summary still contains non-specific verification claims: “ESLint on the listed changed files was clean” and “Prettier reported all matched files use the expected style.” Neither states the exact command or an explicit command/result form. The authored PR description does provide exact commands, but this check also covers generated summaries. The repository confirms distinct
lintandformat:checkscripts, so the summary cannot be treated as naming those checks implicitly.Resolution
Update the generated objectives summary and any other generated notes to state the exact check and result, for example: “Ran
npx eslint scripts/ci-main-tree-proof.mjs tests/ui-my-day-calendar.spec.ts tests/ui-route-coverage.spec.ts tests/ci-cache-safety.test.ts: passed” and “Rannpx prettier --check <changed files>: passed.” If a check was not run, state “Not run: <reason>.”
✨ Finishing Touches
-
✨ Simplify code
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
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. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
🏁 CodeAnt Quality Gate ResultsCommit: ✅ Overall Status: PASSEDQuality Gate Details
|
PR Summary by QodoPreserve PR tree proof on dispatch errors and stabilize browser clicks
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Merging this PR will degrade performance by 58.84%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ❌ |
medication-entities: medicationEntityMatchesInText |
4.3 ms | 29.4 ms | -85.32% |
| ⚡ |
catalog-search: rankCatalogRecords 400 records |
179.9 ms | 156 ms | +15.37% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing claude/project-thread-fvnf7d (d0fce42) with main (4e63d57)
Code Review by Qodo
No findings for this group No findings for this group No findings for this group Resolved findings 1.
|
Qodo FixerNo findings are available for this PR yet. Findings appear here once Qodo has reviewed the PR. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 342815cc0b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
CodeAnt PR Risk: Low Risk
Assessed commit: |
|
On CodeAnt's note that a slow URL update could make the route test remove the remaining diagnosis: the retry can't do that. The locator is the button named "Remove Major depressive disorder". It only clicks while that button is visible, and that button can only clear the major depressive disorder slot. A repeat click is therefore a no-op for bipolar II. The test still asserts the URL ends with exactly Generated by Claude Code |
The aggregate test harness runs under set -u, so it needs the new TREE_PROVEN_MATRIX binding, and the routing contract forbids naming the matrix job inside pr-required, so the notice uses a plain label. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014qMDuRLipTaGrY6EyC89hm
|
Code review by qodo was updated up to the latest commit d31629c |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014qMDuRLipTaGrY6EyC89hm
|
Code review by qodo was updated up to the latest commit 836101a |
|
Code review by qodo was updated up to the latest commit 1e8ed6c |
…to claude/project-thread-fvnf7d
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014qMDuRLipTaGrY6EyC89hm
|
Qodo finding "A slow Today click fails the test anyway" is fixed in 91f5d7d. Generated by Claude Code |
|
Code review by qodo was updated up to the latest commit 91f5d7d |
|
Plan monthly usage limit reached ↗ |
|
Auto-fix: 2 flaky checks, 1 check needs your input. View session →
|
# Conflicts: # scripts/ci-main-tree-proof.mjs
Code Review ✅ Approved🟡 Medium risk · Bounded retries in calendar and comparison UI tests could hide intermittent click failures and increase CI test duration. Keeps PR proof when the workflow_dispatch lookup fails, so only the matrix proof is withheld, and reports the dispatch run URL separately as VerificationRules No rules evaluated Functional validation Not enabledAuto-approval Approved For more verification details, comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
User description
Requested by Josh · project thread
Summary
Before: when GitHub failed to answer the new workflow_dispatch lookup from #3524, main threw away the PR run's proof as well, so coverage, Production UI and Lighthouse ran again. The summary showed one URL labelled "Proving PR run", even when that URL was the dispatch run. The release matrix on main also kept failing in two places:
ui-my-day-calendar.spec.ts:80failed on main runs 38381605921, 38385983110 and 38389360465. It dropped the chosen-day click once and the Today click once.ui-route-coverage.spec.ts:467dropped the DSM Compare remove click once, on run 38389360465.After: a failed dispatch lookup withholds only the matrix proof. The dispatch run that proves the matrix gets its own
matrix_proof_run_urloutput and its own summary line. PR required lists "Firefox/WebKit release matrix" among the jobs proven on the identical tree. It uses a plain label because the routing contract forbids naming the matrix job insidepr-required. The two browser tests repeat a click that left no trace, and they still assert the full outcome:How:
provenRun(...)forworkflow_dispatchis wrapped in.catch, which returnsjobs: null.evaluate()returnsrunUrl(the PR run) andmatrixRunUrl(the dispatch run) separately.expect(...).toPass(). The calendar helper caps the retry at 20 s, so two calls fit the 60 s test timeout. It clicks again only while the control is still visible, so a Today click that landed but rendered slowly is not repeated. Repeating a click is otherwise harmless because each action is idempotent.The root cause of the dropped clicks is not confirmed. The traces are in run artifacts this container cannot download, and Firefox and WebKit are not installed locally.
Areas touched: Delivery and assurance
Verification
node scripts/ci-main-tree-proof.mjs --self-test:ci-main-tree-proof self-test passed.New cases cover a throwing dispatch lookup, which keeps the PR proof and leaves matrix false, and the dispatch URL being reported separately.npx vitest run tests/ci-main-tree-proof.test.ts tests/ci-browser-matrix-coverage.test.ts: 31 passed.npx vitest run tests/ci-cache-safety.test.ts: 81 passed.npx vitest run tests/ci-main-failure-routing.test.ts: passed, as part of a 174-test run of the CI contract files.npm run typecheck: passed.npx eslint scripts/ci-main-tree-proof.mjs tests/ui-my-day-calendar.spec.ts tests/ui-route-coverage.spec.ts tests/ci-cache-safety.test.ts: no output (clean).npx prettier --checkon the changed files: "All matched files use Prettier code style!"npx prettier --check tests/ui-my-day-calendar.spec.tsprinted "All matched files use Prettier code style!";npx eslint tests/ui-my-day-calendar.spec.tsprinted nothing (clean);npx tsc --noEmit -p .printed nothing (passed).Risk and rollout
🤖 Generated with Claude Code
https://claude.ai/code/session_014qMDuRLipTaGrY6EyC89hm
Generated by Claude Code
CodeAnt-AI Description
Retry browser clicks when tests show no response
What Changed
Impact
✅ Fewer flaky Firefox calendar test failures✅ Fewer flaky iPad comparison test failures✅ Click retries still verify the expected result💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.