Repository navigation
Read Copilot's Revised Overview Shape in pr_review.py - #2482
Conversation
Copilot's ccr-overview-v2 body changed shape on 2026-10-07. The resolved section's summary now opens on its count, "3 resolved since last review", which no vetted spelling matched, so a round carrying it exited 43. The same revision drops the "**Findings:**" line and states its total as a bare "**0 open findings**" line, which went unread and printed "?". normal() now rewrites a count opening a marker to "(N)", the vetted summaries gain the count-first spelling, and stated_total() reads the open-findings line. A fixture of the revised shape covers both. Fixes #2479 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every sibling overview pattern tolerates a carriage return before the line end, and this one did not, so a CRLF body read no total. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe review parser recognizes a revised resolved-summary form and reads open-finding totals from the overview preamble. Tests cover summary wording, count normalization, singular and plural totals, CRLF input, and excluded count locations. ChangesReview summary parsing
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The revised summary forms and open-finding counts are covered by tests. Whether carried-forward findings can cause a misleading diagnostic remains unconfirmed; no actionable merge-blocking risk is established. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #2482 +/- ##
===========================================
+ Coverage 58.47% 58.48% +0.01%
===========================================
Files 16 16
Lines 8062 8065 +3
===========================================
+ Hits 4714 4717 +3
Misses 3348 3348
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🔵 Needs a closer look
The cumulative open-findings count is not safely compared against round-local findings.
0 open findings
What changed in this PR
Updates pr_review.py to support Copilot’s revised overview format, including count-first resolved summaries and bare open-findings totals.
Changes:
- Adds revised summary and total parsing, including CRLF bodies.
- Adds regression fixtures and tests.
- Requires correcting cumulative open-count handling before approval.
| File | Description |
|---|---|
scripts/pr_review.py |
Extends overview parsing; cumulative open counts can produce false shortfalls or missing-thread findings. |
tests/test_pr_review.py |
Adds coverage for revised overview formats and edge cases. |
🧠 Review effort: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
@coderabbitai review |
✅ Action performedReview finished.
|
….py, and install-tools.ps1 (#2489) ## Summary Promotes four changes to `main`. Three are fixes from the Windows-host lane, each verified on a native Windows 11 host. - [#2484](#2484): the six `test_bootstrap` tests that execute `install-tools.sh` directly now skip off Linux instead of erroring with `WinError 193`. Linux CI still runs them. - [#2485](#2485): `carry.py`'s worktree-registration check compares resolved paths instead of strings, so it no longer refuses every registered worktree on Windows. Its change lines print POSIX paths on every host. - [#2486](#2486): `install-tools.ps1` reads a winget Version token that is not a version, such as `Unknown`, `<` or `>`, as an unread installed version. The tool reports `unknown` rather than `outdated`, and `-Install` leaves it alone instead of installing over it. - [#2482](#2482): `pr_review.py` reads Copilot's revised overview shape. Refs #2479. Closes #2473 Closes #1117 Closes #2258 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Summary
On 2026-10-07 Copilot revised its
ccr-overview-v2review body, andpr_review.pymisread it in two ways:<summary><strong>3 resolved since last review</strong></summary>matched no vetted spelling, so a round carrying it exited 43,UNRECOGNIZED_REVIEWER_OUTPUT.normal()now rewrites a count opening a marker to(N), the way it already rewrote a bracketed count, andVETTED_SUMMARIESgains(N) resolved since last review.**N open findings**line, and the**Findings:**line is gone. The total went unread, printed?, and suppressed the shortfall it is compared for.stated_total()now reads that line too, CRLF bodies included.This is a format change rather than a side effect of the GitHub incident the same morning. The revised shape first appeared on a round ahead of the incident window, and it is still present in rounds after the incident ended.
A fixture of the revised shape, with constructed titles and ids, covers both readers. Each new test was run against the unfixed script and failed. The
commentslabel is on this PR because the vetted-list size comment changes, and a test requires that count.Refs #2479. The pre-existing question of whether an open-findings total counts findings an earlier round raised is filed as #2481.
Verification
python3 -m unittest tests.test_pr_review: 605 tests OKruff format --check,ruff check,mypy: clean on both filesprose_lint.py --diff origin/develop --allow-comments, with and without--check sentence-length: cleanrepo_gate.py --check eol,spec/validate.py: clean🤖 Generated with Claude Code
Summary by CodeRabbit