ci: set up autofix.ci for Prettier on pull requests - #1539
Conversation
Wire autofix.ci so PR format drift is auto-committed via the autofix.ci GitHub App. Pin and allowlist autofix-ci/action@v1.3.4 to satisfy the repository action-pin guard. Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThis PR adds a GitHub Actions workflow named autofix.ci that runs Prettier on pull requests and pushes to main, applying formatting patches automatically. It registers the pinned autofix-ci/action commit SHA in the reviewed action allowlist and adds a test to verify the pin. ChangesAutofix Workflow and Pin Registration
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
Comment |
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
PR Summary by QodoCI: add autofix.ci workflow to auto-commit Prettier fixes on PRs
AI Description
Diagram
High-Level Assessment
Files changed (3) |
BigSimmo
commented
Jul 31, 2026
@cursoragent Unblock the current open PR. 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; do not discard dirty work; do not treat a local-ahead commit as the reviewed tip. Do not merge the PR, force-push, rebase, or arm auto-merge. No provider-backed gates without approval. If you cannot push or resolve threads, diagnose and comment only; if inline replies fail, resolve when possible and put blocker dispositions in the summary comment. If auto-merge is already armed, push only for a real blocker and avoid cancelling in-flight required CI unless the push clears that blocker. If the PR is already merged or closed: confirm outcome, post one summary, and stop. Primary job: clear mergeability and required-CI blockers on this tip. Do a full product review only if needed to explain or fix a blocker. Stay light otherwise—no broad verification suites or Playwright unless needed to prove one concrete unblock fix. Snapshot the GitHub head: tip, 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, and unresolved threads that block merge or required CI. Missing checks while dirty are not green. Tip moved → re-snapshot. Ledger-lookup against that GitHub head under an unblock/fix scope for this PR. If already handled at this head for unblock work, merge-tree clean, required checks green, and no blocking threads: summarize, comment, stop. Unblock once: real conflict → merge origin/main with the smallest correct resolution (prefer main’s shared queues; keep this PR’s notes); behind-but-clean → one sync, late if required CI is in flight; clean → leave. skip-branch-sync and similar labels 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. Fix only what blocks required checks or mergeability on this tip. Ignore advisory red unless it reveals a real required failure. Prefer the smallest safe fix; if a bot/autofix commit caused the break, prefer revert. Prove with the smallest targeted check only. Format and commit before push. Push only blocker-fix commits. Append ledger for the final GitHub head under the unblock scope. Never push a ledger-only tip. One PR comment: tip, sync/merge-tree, what blocked and what you fixed or dispositioned, required CI status, residual risks; merge left to me. Stop when merge-tree is clean on the current GitHub tip, no blocking threads remain for merge/required CI, and required checks are green or clearly in progress. |
PR #1539 at tip
The earlier red Merge is left to you. Residual: install the autofix.ci GitHub App after merge. Ledger append is local only (not pushed). |
Code Review by Qodo🐞 Bugs (0)📘 Rule violations (0)📎 Requirement gaps (0)Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTo customize comments, go to the Qodo configuration screen, or learn more in the docs. |
Unblock summary — PR #1539Tip: Sync / merge-tree: ahead 1 / behind 0 vs What blocked: Stale What I fixed / dispositioned: No code change, no push. Waited for successor CI run Required CI on tip (
Residual risks: Install the autofix.ci GitHub App on this repo after merge, or the new workflow will run but cannot push format commits. Ledger row appended locally under scope Merge left to you. |
BigSimmo
commented
Jul 31, 2026
@cursoragent Work the current open PR. 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; do not discard dirty work; 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 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 cancelling in-flight required CI unless the push clears that blocker. If the PR is already merged or closed: confirm outcome, post one summary, and stop. Goal: review and Bugbot the tip, fix actionable issues with the smallest correct changes, clear merge / required-CI / thread blockers, prove fixes with focused local checks, push, append ledger, and post one PR summary. Use broader offline gates only when the delta or a failed required check warrants them. Regenerate large assets only when a fix requires it. Snapshot the GitHub head: tip, behind/ahead, mergeable state, merge-tree versus origin/main, required checks on that tip including Production UI when selected, unresolved actionable threads. Missing checks while dirty are not green. Tip moved → re-snapshot. Ledger-lookup against that GitHub head under the 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. 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. After any sync or push, re-snapshot before declaring done. No sync thrash. Review high-confidence issues only. Separate PR-introduced defects from pre-existing re-emitted data. For generated assets, review contracts, aliases, and cache—not every generated line. Flag RAG or governance before editing; fix PR-body policy text only when wrong or missing. Ignore bot noise. Fix P0/P1 always; clear scoped P2 when locally provable; else disposition and resolve. Required-check failures on this tip only; ignore advisory. Prove each fix with the smallest targeted check; escalate to cheap or PR-local verification only when the change set, risk surface, or CI failure needs that breadth. Format and commit before push. Push only this PR’s fix commits. Append ledger for the final GitHub head. Never push a ledger-only tip. One PR comment: tip, sync/merge-tree, fixed versus dispositioned, required CI, decisive local proof, residual risks; merge left to me. Stop when merge-tree is clean on the current GitHub tip, no actionable threads remain, required checks are green or clearly in progress, summary posted, merge left to me. |
PR #1539 worked at tip
Residual: confirm the autofix.ci GitHub App is installed. Ledger append is local only. Merge left to you. |
Sync behind-but-clean tip for PR #1539 mergeability. Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Review-and-fix summary — PR #1539Tip: Sync / merge-tree: Was behind-but-clean vs Review / Bugbot: High-confidence review of the PR delta ( Fixed vs dispositioned:
Required CI: Prior tip Decisive local proof: merge-tree clean; reviewed workflow uses pinned checkout/ Ledger: Appended locally under Merge left to you. |
Uh oh!
There was an error while loading. Please reload this page.


Summary
.github/workflows/autofix.ymlnamed exactlyautofix.ciso the autofix.ci GitHub App can securely identify and update PRs.npm run formatviasetup-node-cached) thenautofix-ci/action@c5b2d67…(v1.3.4).scripts/github-action-pins.mjsand cover it in the pin unit tests.Operator step required after merge: install the autofix.ci GitHub App on
BigSimmo/Database. Until that app is installed, the workflow will run but cannot push format commits.Verification
npm run check:github-actions— passednpm run test—Test Files 451 passed (451)/Tests 4715 passed | 4 skipped (4719)npx prettier --checkon changed files — cleannpm run verify:pr-local(no build/UI/RAG surface in this diff; pin guard + full unit suite cover the change)Risk and rollout
contents: readin-workflow; write capability comes only from the autofix.ci app after install. Bot-authored heads may still hit environment approval / required-check quirks (same class of issue as other bot pushes)..github/workflows/autofix.ymland uninstall the autofix.ci app; revert the pin allowlist entry if unused.Notes
ubuntu-24.04, pinnedactions/checkout@v7.0.1, and the reviewed autofix action SHA per repository supply-chain policy (not the mutable@v7/ unannotated stub from the setup page).fail-fastleft at the action default (true) so a pending format fix cancels sibling workflows on the unformatted SHA.Summary by CodeRabbit