mirror of
https://github.com/Comfy-Org/github-workflows.git
synced 2026-11-05 00:17:37 +00:00
[PR #167] [MERGED] fix(cursor-review): drop **/.claude/** from the extra_generated_globs default (BE-7633) #177
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#177
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/167
Author: @mattmillerai
Created: 8/14/2026
Status: ✅ Merged
Merged: 8/15/2026
Merged by: @mattmillerai
Base:
main← Head:matt/be-7633-drop-claude-generated-glob📝 Commits (4)
d212d87fix(cursor-review): drop /.claude/ from the extra_generated_globs default (BE-7633)144d368docs(cursor-review): list the literal extra_generated_globs defaults (BE-7633)2cf1319docs(cursor-review): close the round-2 review gaps on the glob/pathspec split (BE-7633)cbad703Merge remote-tracking branch 'origin/main' into matt/be-7633-drop-claude-generated-glob📊 Changes
5 files changed (+79 additions, -17 deletions)
View changed files
📝
.github/cursor-review/README.md(+27 -7)📝
.github/workflows/ci-cursor-review.yml(+15 -3)📝
.github/workflows/cursor-review.yml(+29 -3)📝
README.md(+1 -1)📝
docs/callers/cursor-review.md(+7 -3)📄 Description
ELI-5
cursor-reviewhad a list of "this is generated code, don't bother reviewing it" patterns, and.claude/**was on it. But a.claude/folder is usually hand-written instructions for AI agents — prose a human wrote to steer a machine, which is exactly the sort of change you want a review panel to read. So it comes off the default list. The one repo where the folder really is machine-generated (a tool installed it) can put it back with one line in its own caller.What changed
.github/workflows/cursor-review.yml— removed**/.claude/**from theextra_generated_globsinput default (it was the second of seven entries). The remaining six are unchanged:node_modules,dist,vendor,*.generated.*,*.min.js,*.min.css.descriptionnow records the decision and the escape hatch: supplying the input replaces the default wholesale, so a repo whose.claude/tree is vendored/tool-installed output should pass the defaults plus its own**/.claude/**glob.docs/callers/cursor-review.md— the only other place in the repo that restated the list. Itsdiff_excludesrow still described the pre-classifier default (lockfiles,node_modules,.claude, …, "kept out of both the size count and the reviewed diff"); that default has been''and diff-only since the sharedcheck-pr-sizeclassifier took over. Fixed, and theextra_generated_globsrow it moved to now carries the opt-back-in note..github/workflows/pr-size.ymldeliberately untouched — itsextra_generated_globsdefault is empty and correct.Why
.claudewas on the list at allIt was inherited verbatim when the old
diff_excludesdefault was split into the classifier +extra_generated_globs, not chosen. Classifying an agent-instruction tree as codegen has two effects, both wrong for hand-authored content: it is exempt from the diff-size gate, and it is stripped from the diff handed to the panel and judge. A shared default cannot serve both the hand-authored case and the vendored case, so the default takes the safe side (review it) and the vendored case opts out per repo.Blast radius
Zero at merge. Every consumer pins both
uses:andworkflows_refto a full commit SHA, so the changed default reaches a repo only when that repo merges its own SHA-bump PR — which is a reviewed change in that repo.For whoever authors the bump PRs
Comfy-Org/ComfyUI_frontend(public, verified below): hand-authored.claude/commands+.claude/skillsmarkdown — it should adopt this. One nuance: its caller also restates:!**/.claude/**in its owndiff_excludes, so bumping the pin alone gives it the size-gate half only; the panel starts seeing those files only if that line is also dropped. That is the frontend repo's call, in its own repo — untouched here..claude/is a vendored tool install; it should pass its ownextra_generated_globs(defaults +**/.claude/**) when it bumps. Its name is withheld here on purpose — it is a private repo and this repo is public, andAGENTS.md's first "Conventions & gotchas" bullet forbids naming private callers in workflow files, commit messages or PR text. The source ticket asked for both names in this body; I am naming the public one and describing the private one, because the guardrail outranks the request. Both are named on the ticket, where the bump author can read them..claude/tree is handling its caller under its own ticket.Verification
actionlint .github/workflows/cursor-review.yml— one finding (github.job_workflow_shais not in actionlint's context schema), byte-identical onorigin/mainat the same line. Zero new findings.python3 .github/workflow-pins/check_workflow_pins.py→ OK (7 workflows, none defaultingworkflows_ref); its suite: 78 tests OK. This is the one CI job path-filtered onto.github/workflows/**, so it is what this PR actually runs..github/cursor-review/tests— 187 tests OK (not path-filtered onto this change; run as a sanity check).**/node_modules/** **/dist/** **/vendor/** **/*.generated.* **/*.min.js **/*.min.css.git grep -n 'claude/\*\*'andgit grep -n '\.claude'— no remaining glob-default or doc restatement contradicts the change..github/cursor-review/README.md'sextra_generated_globsrow never listed.claude, so it was already consistent;README.mdandCONTRIBUTING.mddo not enumerate the list.Comfy-Org/ComfyUI_frontend's.claude/tree (commands/,skills/— e.g.adr-compliance-audit.md,comprehensive-pr-review.md: hand-authored prose, not tool output) and its cursor-review caller (pinned at an older SHA of this repo, restating:!**/.claude/**indiff_excludes). Both match what the ticket asserts.Judgment calls
docs/callers/cursor-review.mdfor restatements of the default list. Rewriting that row exposed three more wrong values in the same six-row table —judge_model(claude-opus-4-8-…vs the actualclaude-opus-5-thinking-max),workflows_ref(documented as defaulting tomain; it isrequired:with deliberately no default), anddiff_excludesitself — plus two undocumented inputs. I fixed the values and added the rows rather than leave a table I had just edited half-wrong; the siblingdocs/callers/pr-size.mddocuments all nine of its inputs, so a complete table is the convention here. Doc-only, no behavior.Unexercised artifacts / residual
README.md's cursor-review row documents three inputs that do not exist —blocking:,runs_on:andmodels:are all absent fromon.workflow_call.inputs(the eleven that exist arejudge_model,diff_size_cap,ignore_comments,review_label,extra_generated_globs,extra_lockfiles,diff_excludes,workflows_ref,bot_app_id,ledger_prior_review,run_without_label). A caller copying any of them fails at startup, which is the exact footgunAGENTS.mdrecords under "Document only inputs that exist" —blockingis even its worked example. It is a different defect from this one and I did not want to guess whether the README is describing an intended future state, so it is not fixed here and needs a maintainer's call. This is why the ticket reference below isRefs, notCloses: the ticket namesREADME.mdamong the files to check, and this leaves an unfixed defect in it..claude/tree". The one consumer I could read (above) matches. The two private ones I could not, and would not name here regardless.Refs BE-7633
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.