Enforce answer summaryMode contract, scan composite GitHub actions, accessibility tweaks, and docs/CI hygiene updates - #1530
Conversation
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in:55 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 (3)
Comment |
🔒 Upgrade RequiredPrivate repository analysis requires Pro or Enterprise. Upgrade: https://ecc.tools/pricing?plan=pro ECC Tools keeps the core app open, and puts private repos, team features, and enterprise controls behind paid tiers. |
This pull request has been ignored for the connected project Preview Branches by Supabase. |
BigSimmo
commented
Jul 31, 2026
@cursoragent Work the current open PR end-to-end. Confirm the PR number and GitHub head first from context. If more than one open PR could apply, stop and say which one you would use and why. Fetch and start from the remote tip that matches that GitHub head. If the named branch ref is missing or stale, use the PR head ref. Preserve unrelated local WIP, including any local-only ledger commits; do not discard dirty work, and do not treat a local-ahead commit as the reviewed tip. Do not merge the PR, force-push, rebase, or arm auto-merge unless I explicitly ask. No provider-backed gates without separate approval. If you cannot push or resolve threads, diagnose and comment only; if inline replies fail, resolve when possible and put dispositions in the summary comment. If auto-merge is already armed, push only for a real blocker, and avoid pushes that would cancel in-flight required CI unless the push itself clears that blocker. If the PR is already merged or closed: confirm the head and merge commit, note required-CI outcome, post one summary, and stop. Goal: deep review plus Bugbot, fix actionable issues with the smallest correct changes, clear merge / required-CI / thread blockers, run strong local offline verification, push fixes, append the review ledger, and post one PR summary. Prefer thoroughness over speed. Regenerate large assets only when a fix requires it; then run the asset check and keep compatibility aliases byte-identical where the repo uses them. Snapshot the GitHub head SHA: tip, base, behind/ahead, mergeable state, merge-tree versus origin/main (real conflict versus behind-but-clean), required checks on that tip including Production UI when selected, advisory separately, unresolved actionable threads. Missing checks while dirty are not green. If the tip moves mid-work, re-snapshot and continue from the new head. Ledger-lookup against that GitHub head under the heavy review-and-fix scope for this PR. Already reviewed at this head with clean merge-tree, green required checks, and no new actionable threads → summarize, comment, stop unless I asked for a fresh superseding pass. Follow the repo review protocol. Unblock once: real conflict → merge origin/main (prefer main’s shared queues; keep this PR’s notes); behind-but-clean → one sync, late if required CI is in flight; clean → leave. Labels like skip-branch-sync do not block a manual sync needed to clear a real blocker. No sync thrash. After any sync or push, re-snapshot tip, merge-tree, and required checks before declaring done. Dedupe the ledger if a merge touched it. Review high-confidence delta risks only. Separate PR-introduced defects from pre-existing re-emitted debt. For generated assets, review contracts, aliases, cache, and manifests—not every generated line. If protected RAG or ranking surfaces are touched, say so before editing; fix PR-body policy text only when wrong or missing. Ignore bot noise. No nit spam or broad rewrites. Escalate verification by touched risk: clinical / RAG / privacy / migrations / auth → domain check plus production-readiness when warranted; UI / phone-chrome / routing / styling → ensure plus phone-chrome or UI gates when warranted; generated assets or docs inventory/links → asset or docs checks when warranted. Fix P0/P1 always; clear scoped P2 when locally provable; else disposition and resolve. Required-check failures on this tip only; ignore advisory. Prefer reverting a bad autofix commit. After fixes: format and commit before push; smallest targeted proof; repo cheap gate; repo PR-local gate. No release, lighthouse, live eval, or live provider gates without approval. Push only this PR’s fix commits. Append ledger for the final GitHub head under the heavy scope. Never push a ledger-only tip—include ledger in a real fix push, or leave a no-change ledger append local and unpushed. One PR comment: tip, sync/merge-tree, fixed versus dispositioned, threads, required CI, decisive local gate lines, residual risks; merge left to me. Inline only for remaining human-needed P0/P1. Stop when merge-tree is clean on the current GitHub tip, actionable threads are clear, required checks are green or clearly in progress, heavy gates for scope passed, summary posted, merge left to me. |
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
PR #1530 ( Done
Verification
|
Resolve real conflicts with origin/main. Keep main's non-stream summaryMode rejection (already upstream) and branch-mutation pin checks, preserve native-disabled density controls, and retain the summaryMode contract test coverage that main still lacks.
Code Review by Qodo
1. Unconditional pin-check self-test |
Uh oh!
There was an error while loading. Please reload this page.
PR Summary by QodoEnforce summaryMode contract, harden GitHub Actions pinning, and a11y/docs hygiene
AI Description
Diagram
High-Level Assessment
Files changed (17) |
Update mobile interaction regressions to expect native disabled density placeholders without redundant aria-disabled attributes.
🔒 Upgrade RequiredPrivate repository analysis requires Pro or Enterprise. Upgrade: https://ecc.tools/pricing?plan=pro ECC Tools keeps the core app open, and puts private repos, team features, and enterprise controls behind paid tiers. |
PR #1530 end-to-end summaryTip: Sync
Fixed
Dispositioned
Threads
Required CI (tip |
Uh oh!
There was an error while loading. Please reload this page.


Motivation
/api/answeracceptedsummaryModebut ran full answer generation, and tighten summary-mode scope validation to avoid summarizing a different document than was validated.uses:references and pinning policy gaps, and extend PR policy coverage to release branches.disabledfor unavailable controls and remove interactive-but-href-less anchors in mockups.Description
release/**to the PR policy workflow trigger in.github/workflows/pr-policy.ymlso release-targeted PRs run the same metadata checks asmainPRs.summaryModeon the non-stream answer route by returning asummary_mode_stream_required400 error insrc/app/api/answer/route.ts, and scope streamed summary requests to the exactdocumentIdinsrc/app/api/answer/stream/route.ts.src/lib/validation/answer-request.tsto reject conflicting or multi-documentsummaryModepayloads and addtests/answer-summary-mode-contract.test.tsto assert the contract and route-level rejection.scripts/check-github-action-pins.mjs) to discover and scan.github/actions/**/action.ymlcomposite actions, add a self-test harness, and improve workflow file discovery/collection logic.disabledoveraria-disabledand non-actionable anchors to non-interactive elements, includingFavouritesHub, differential density controls, and mockups; and update the corresponding DOM tests undertests/to assert the new behavior.allow-scripts=trueentry from.npmrcand add/modify a number of audit and process docs (docs/*) to reflect findings and remediation steps from the repo-wide sweep.Testing
tests/answer-summary-mode-contract.test.tsand updatedtests/favourites-hub-unavailable-controls.dom.test.tsx, and the test suite asserts request-schema rules and UI disabled semantics; these tests pass locally under the repo test run.typecheck(tsc --noEmit) which passed, and the test suite (npm run test) which passed in the verification run reported (703 passed, 2 skipped);check:edge:functionsalso passed in that run.node_modules/eslint(pre-existing local environment gap), andnpm/format gates are noted in docs as requiringnpm ci/ Node 24 to reproduce fully.Codex Task