mirror of
https://github.com/Comfy-Org/github-workflows.git
synced 2026-11-05 00:17:37 +00:00
[PR #158] [MERGED] fix(cursor-review): catalog-drift footer describes the report it is on (BE-6912) #168
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#168
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/158
Author: @mattmillerai
Created: 8/12/2026
Status: ✅ Merged
Merged: 8/12/2026
Merged by: @mattmillerai
Base:
main← Head:matt/be-6912-catalog-drift-footer📝 Commits (3)
5b646e4fix(cursor-review): catalog-drift footer describes the report it is on (BE-6912)93e05dcfix(cursor-review): make the drift footer's claims survive the repin it describes (BE-6912)0ca95c8fix(cursor-review): gate the drift footer's claims on the action each one describes (BE-6912)📊 Changes
3 files changed (+476 additions, -8 deletions)
View changed files
📝
.github/cursor-review/catalog-drift.py(+151 -4)📝
.github/cursor-review/tests/test_catalog_drift.py(+324 -3)📝
README.md(+1 -1)📄 Description
ELI-5
Every week a robot checks whether the four AI models our PR-review panel uses still exist in Cursor's catalog. It writes what it finds into one issue that it keeps rewriting. The bottom of that issue said "this closes itself once there's nothing to report" — but it never can, because the catalog always lists extra reasoning tiers we don't pin, and those count as "something to report". So the issue sits open forever while telling you it shouldn't, which reads as "nobody has looked at this in weeks." That matters, because the same issue is where a genuinely broken pin gets reported. Now the bottom of the issue tells you which kind of report you're looking at: act on this now, or nothing here is urgent.
What changed
render_body()'s trailing footer was one fixed string; it is now_footer(report), rendered from the report in the same classes the report already separates internally:urgent(delisted or zdr_risk) — "Act on this now:", names the 🚨 sections, says that is why the run is red, and states plainly that repinning will not close the issue (the next run just rewrites it without the 🚨 section).cursor-review-catalog-drift.ymlactually closes on.analyze()is untouched — no behavior change. Proof rather than assertion: running the CLI on the realcursor-review.ymland the captured 2026-08-10 catalog againstorigin/main's copy of the script produces a byte-identical report JSON (urgent,has_findings, every list), and the only line that differs in the rendered body is the footer.Why the old promise could never be kept (falsification, not just reasoning)
The diff asserts a capability does not happen, so it was checked empirically rather than argued from the code:
analyze()on the fixture captured from run 31363137595 with that run's real pins: 192 catalog ids, 178 unpinned same-lab, 3 unpinned families, 0 delisted, 0 NO-ZDR, audit fresh →urgent=False,has_findings=True. The close arm needshas_findings=False.repos/.../issues?state=all&labels=cursor-review-catalog-driftreturns exactly one issue, #144, open since 2026-08-10,closed_at: null. No drift issue has ever been closed by the check.test_the_real_catalog_run_that_prompted_this_gets_the_advisory_footer).Tests
New
FooterTest(7 cases) covering the urgent arm (both delisted and NO-ZDR), the advisory arm, the clean arm, the real-catalog report, the invariant lead across all arms, and a guard that the exact old promise string never reappears on a report with findings. It also pins the fixture→state mapping, so ifurgent/has_findingsever move, the tests stop silently testing the wrong arm. Three pre-existing assertions on the old footer text ("This issue is sticky", used as "the sections below the fold survived") were re-anchored to"Filed by the weekly", which is invariant across arms.python3 -m unittest discover -s .github/cursor-review/tests -p 'test_*.py' -v— 182 tests, OK.Judgment calls
unpinned or unpinned_labsactually being present. The stale-audit path itself is untouched, per the ticket's out-of-scope note; only the footer's description of it. Covered bytest_a_findings_report_with_no_standing_list_is_not_told_it_stays_open_forever.README.mdbeyond "one rendered string plus a test." The workflow catalog carried the same unreachable promise ("closed automatically on a clean run"). It is technically true of the mechanism, but it leaves the identical wrong impression in the second place it is stated, so it now says the close is rare in practice and points at the footer. Revert that hunk if you would rather keep the diff to the one file.Out of scope and deliberately not touched, per the ticket: removing
unpinnedfromhas_findings(that is a decision — it would mean the weekly advisory never surfaces as an issue at all), what makes a runurgent, and the workflow's open/update/close branch.Unrelated observation, not fixed here:
python3 .github/agents-md-integrity/check_agents_md.py --root .fails on this repo's ownAGENTS.md(227 lines, ceiling 200) onmain. This repo has noci-agents-md-integrity.ymlcaller, so nothing gates it.Closes BE-6912.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.