Promote staging to main - #1130
Conversation
…1118) Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: kyle-compute <kylehvdbnl@gmail.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…placed, scoped rerun (#1120) Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: kyle-compute <kylehvdbnl@gmail.com>
| # /tasks/sweep — and instead of returning None, which means under-quota. | ||
| # another transaction already holds the org/user quota lock (an in-flight | ||
| # cancellation), raise instead of pile-waiting — and instead of returning | ||
| # None, which means under-quota. |
There was a problem hiding this comment.
Quota cancel ignores kept verdict
High Severity
_reconcile_cancelled_tasks still marks exhausted tasks FAILED and hard-sets an in-flight verdict to FAILED, without cancel_verdict or the SUCCESS→COMPLETED promotion used by user cancel. After append keeps a successful verdict, a quota overage cancel can leave FAILED with an accept payload (or wipe a restorable verdict while the payload remains). Lock-free admission makes this cancel path more common.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit fa60898. Configure here.
There was a problem hiding this comment.
Risk: high. Left a non-blocking comment: Cursor Bugbot finished as skipped and left an unresolved high-severity finding on quota-cancel verdict handling, so this is not approved. Assigned reviewers for human review of this billing/quota promotion.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 33a8e4e. Configure here.
|
|
||
| console.print( | ||
| f"[green]Verdict computed:[/green] {'GOOD' if verdict.is_good else 'NEEDS REVIEW'} " | ||
| f"[green]Verdict computed:[/green] {verdict.verdict.upper()} " |
There was a problem hiding this comment.
Empty QA path clears kept verdict
Medium Severity
When a QA job finds no eligible trials, this path sets verdict to None and records SUCCESS. With verdicts now kept across append until a replacement write, that race no longer completes a blank slate — it deletes the kept accept/reject payload the append path preserved.
Reviewed by Cursor Bugbot for commit 33a8e4e. Configure here.




Caution
DO NOT USE THE MERGE BUTTON ON THIS PULL REQUEST.
THE BUTTON CREATES A NEW COMMIT AND BREAKS THE RELEASE MODEL.
COMMENT
/promoteTO COMPLETE THE PROMOTION.Summary
Ships the quota lock removal, the QA accept/reject verdict rework, the network-shape e2e de-race, and
/promote <sha>support in the promotion workflow.Commits in this promotion
Validation
Staging Deployis green on the staging tipe43f64f8a1228767055eb76930fc9b0362cbe93a(run completed 2026-08-08T23:39:32Z).mainis an ancestor of the tip, so the promotion fast-forwards cleanly.Note
High Risk
Quota admission without locks changes overshoot behavior under concurrency; verdict prompt and persistence logic affect production QA outcomes; promotion script changes gate what ships to main.
Overview
This promotion bundles release tooling, quota admission, a QA verdict overhaul, and Playwright network-shape hardening.
Promotion workflow centralizes preflight in
verify_promotion_target.sh. Bare/promoteand Promotion Preflight default to thepromotion-targetSHA in the PR body (unfilled placeholder fails; no marker → staging tip)./promote <sha>and thetarget_shainput override the pin. Success comments note when staging still has unpromoted commits after a partial promote.Quotas: trial submission and sweeps no longer take blocking org/user advisory locks; admission can briefly overshoot caps and the enforcement sweep cancels overage using non-blocking
try_acquire_quota_locksonly.QA / verdict: the model outputs
accept/reject(stored payloads still includeis_good). The verdict prompt is rewritten around immediate rejection rules (leaks, weak tests, baseline failures). Successful verdicts persist through new trials, retries, and QA cancel until a new pass replaces them; Rerun verdict callsqa/backfillwithforce: false. The task overview lists all version trials (foreign trials marked “elsewhere”). cc_chat is removed end-to-end per the changelog.E2E: shared
network-log.tsattributes requests by issue time and holds responses so StrictMode abort races do not flake counts. Trial retry locks the task row before reserving the next trial index.Reviewed by Cursor Bugbot for commit 33a8e4e. Bugbot is set up for automated code reviews on this repo. Configure here.