mirror of
https://github.com/Comfy-Org/github-workflows.git
synced 2026-11-05 00:17:37 +00:00
[PR #1] [MERGED] feat: add reusable cursor-review workflow + centralized assets #14
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#14
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/1
Author: @mattmillerai
Created: 6/2/2026
Status: ✅ Merged
Merged: 6/2/2026
Merged by: @mattmillerai
Base:
main← Head:feat/cursor-review-reusable📝 Commits (1)
c6b5549feat: add reusable cursor-review workflow + centralized assets📊 Changes
10 files changed (+1463 additions, -0 deletions)
View changed files
➕
.github/cursor-review/__pycache__/extract-findings.cpython-314.pyc(+0 -0)➕
.github/cursor-review/__pycache__/post-review.cpython-314.pyc(+0 -0)➕
.github/cursor-review/extract-findings.py(+101 -0)➕
.github/cursor-review/post-review.py(+297 -0)➕
.github/cursor-review/prompt-adversarial.md(+43 -0)➕
.github/cursor-review/prompt-edge-case.md(+45 -0)➕
.github/cursor-review/prompt-judge.md(+52 -0)➕
.github/cursor-review/slack-notify.sh(+224 -0)➕
.github/workflows/cursor-review.yml(+700 -0)📝
README.md(+1 -0)📄 Description
Extracts the label-triggered multi-model Cursor review out of the private consumer repos (
cloud,comfy-cloud-mcp-server) into one shared reusable workflow here — single source of truth, no per-repo drift.Why
cursor-review was copy-ported into each consumer repo. The copies drift (e.g. the severity feature landed in
cloudbut notcomfy-cloud-mcp-server, and a verbatim re-copy then failed the consumer's markdown formatter). Centralizing ends that: consumers carry only a thin caller.What's here
.github/workflows/cursor-review.yml— reusableworkflow_callworkflow. Same job graph as the private original: gate → diff-size → 8-cell panel (4 labs × adversarial/edge-case) → judge consolidate → Slack start/complete DMs. Repo-specific knobs are now inputs:judge_model(defaultclaude-opus-4-7-thinking-xhigh)diff_size_cap(default 5000)review_label(defaultcursor-review)diff_excludes(generic default; consumers pass their generated/vendored paths)workflows_ref(which ref of this repo to load assets from)CURSOR_API_KEY(required),SLACK_BOT_TOKEN(optional).github/cursor-review/— the trusted review logic:prompt-adversarial.md,prompt-edge-case.md,prompt-judge.md,extract-findings.py,post-review.py,slack-notify.sh.Trust model (improved)
The private original
git show'd the prompts/scripts from the consumer's base SHA (trusted-but-in-PR-repo). Here the workflow loads them by checking out this repo (public, pinned viaworkflows_ref), so a PR in the consumer repo can't influence what runs at all. The diff under review still comes from the PR head; the logic doesn't.Severity
The bundled
post-review.py+ prompts include the CodeRabbit-style severity categorization (🔴 critical / 🟠 high / 🟡 medium / 🟢 low / ⚪ nit badges + a summary count table), so this is the latest version — it supersedes the in-flight per-repo severity port.Validation
actionlintclean (exit 0);post-review.py/extract-findings.pycompile.Rollout
comfy-cloud-mcp-servermigrates to a thin caller (separate PR, depends on this) and deletes its local copies.cloudmigrates next (follow-up; cloud-team review).v1tag once reviewed so callers can pin to@v1.🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.