mirror of
https://github.com/Comfy-Org/github-workflows.git
synced 2026-11-05 00:17:37 +00:00
Labels
No labels
cursor-review-catalog-drift
groom
groom
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/github-workflows#360
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/github-workflows/pull/359
Author: @mattmillerai
Created: 10/7/2026
Status: ✅ Merged
Merged: 10/7/2026
Merged by: @mattmillerai
Base:
main← Head:matt/be-19455-approve-scope-review-followups📝 Commits (3)
a30afc3fix(cursor-review): address approve_scope review findings from #357 (BE-19455)d33d3b9fix(cursor-review): fail closed on quoted rename paths and blank approve_scope (BE-19455)37f1710Merge remote-tracking branch 'origin/main' into matt/be-19455-approve-scope-review-followups📊 Changes
6 files changed (+211 additions, -48 deletions)
View changed files
📝
.github/cursor-review/README.md(+1 -1)📝
.github/cursor-review/auto-approve.py(+78 -24)📝
.github/cursor-review/post-review.py(+18 -1)📝
.github/cursor-review/tests/test_auto_approve.py(+110 -19)📝
.github/workflows/cursor-review.yml(+3 -2)📝
docs/callers/cursor-review.md(+1 -1)📄 Description
ELI-5
#357 taught auto-approve to ignore some findings that sit outside the newest changes on a PR. The PR merged before its own review panel finished, and the panel then found a few ways that relaxation could let something through by accident. This PR closes the small gaps: whenever the bot can't be sure, it goes back to counting every finding.
What changed
post-review.pyL2522). A nested copy such as<!-- cursor-review-non<marker>-gating -->survived the singlereplace(). A newstrip_non_gating()strips the marker and the visible "not blocking" note until the text stops changing.auto-approve.pyL267).hunk_rangesnow returnsNonewhen any section's path can't be read, for example a git-C-quoted name.resolve_scopethen fails closed tofull.auto-approve.pyL310). An incremental block with no new-side hunk, such as a pure rebase, now fails closed tofull. Before, every non-severe finding became non-gating. The caller guide, README and input description are updated to match.plan_thread_resolutionhonoured the marker underfull(auto-approve.pyL757). A newhonour_non_gatingflag is True only whencmd_decidegated underdelta. Afullround andapprove-externalnow treat a marked thread above the threshold as blocking.len(reasons) > 1used as a proxy for the scope note (auto-approve.pyL944 / L886). The newscope_note_of()matches the `approve_scope `` prefix, so untrusted trust reasons are never shown as the scope line.--approve-scopemeantdelta(auto-approve.pyL255). An empty value now resolves tofull. Only the workflow input's owndefault:choosesdelta.filefailed open (auto-approve.pyL334). It now returnsno usable file anchor, so it gates.auto-approve.pyL756).classify_threadnow returns an explicitskipped-non-gatingverdict for marked threads, so a looser threshold later on cannot auto-resolve them.Not changed
approve_scopedefaults todelta(cursor-review.ymlL358). Explained on the thread: this is the deliberate purpose of BE-19455 and is documented in the input description, the README and the caller guide. Auto-approve itself stays opt-in throughapprove_max_severity, and callers who want the old behaviour setapprove_scope: full.repeat_ofdon't gate (auto-approve.pyL325). This is valid but needs a change to the judge contract or a structural thread match, so it's ticketed as BE-19480.Testing
.github/cursor-review:python3 -m unittest discover -s testsran 1002 tests, OK. There are 7 new regression tests inApproveScopeTest, and all of them fail againstorigin/mainwithout this change..github/cursor-approve: 149 tests, OK (1 skipped)..github/workflow-pins: 551 tests, OK (43 skipped).bash .github/bump-callers/tests/*.sh: 3 of 3 pass.actionlint .github/workflows/cursor-review.yml: only the knownjob.workflow_shaand SC2018/SC2019 noise from the old local actionlint.🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.