Repository navigation
Pair a Review Findings Entry With Its Thread Past the Line Suffix in pr_review.py - #3181
Conversation
…pr_review.py `entry_paths` now drops a trailing `:LINE` or `:START-END` from a path a list entry names, so `src/a.py:340` pairs with a thread on `src/a.py`. Kept, every entry in that shape read as unthreaded, and the digest reported each one under FINDINGS WITH NO THREAD. Fixes #3176 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ot Fail The narrative reader shares `entry_paths`, so a test now pins that an `Open findings remain:` entry naming `pkg/guard.py:12` pairs with the thread on that file. The prose test for an unthreaded file carrying a line passed with or without the fix and is removed. The `entry_paths` docstring states the pairing rather than overstating the old defect. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
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 |
There was a problem hiding this comment.
🟢 Approval recommended
No blocking issues remain; the only finding is a minor documentation-style nit.
No open issues 🎉
What changed in this PR
Updates review-finding path matching so entries with line or line-range suffixes pair with their corresponding threads.
Changes:
- Normalize trailing
:LINEand:START-ENDsuffixes. - Add prose and narrative pairing tests.
| File | Summary |
|---|---|
tests/test_pr_review.py |
Adds regression coverage; keep the noted docstring sentence on one line. |
scripts/pr_review.py |
Normalizes line-suffixed paths before matching. |
Review effort: Lite
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3181 +/- ##
==========================================
Coverage ? 64.14%
==========================================
Files ? 17
Lines ? 9198
Branches ? 0
==========================================
Hits ? 5900
Misses ? 3298
Partials ? 0
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:
|
…ain (#3183) - #3179 reads a section heading in `pr_review.py` through one reduction and one leading-count rule, so the role a summary is vetted with and its count cannot disagree. Its vetted-but-unread check compares which previously-missed summaries were read rather than how many blocks there are. Two sections of the same kind in one wrapper read as two blocks, each counted by its own heading. A finding entry opening on a severity badge is never read as a section heading, whatever its title says. The pre-existing gap with sections alternating in one wrapper is #3180. - #3181 pairs a `Review findings:` or `Open findings remain:` entry with its thread past a `:LINE` or `:START-END` suffix. Every entry in that shape used to read as unthreaded. The change is to scripts and tests only, so no installed Skill changes at release. Closes #3173 Closes #3174 Closes #3176 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Summary
Resolves #3176.
entry_pathsnow drops a trailing:LINEor:START-ENDfrom a path a list entry names in a code span. So`src/a.py:340`pairs with a thread onsrc/a.py. Before, aReview findings:entry in that shape never paired, and the digest reported every such entry underFINDINGS WITH NO THREAD, including the ones that had opened a thread.The narrative
Open findings remain:reader sharesentry_paths, so it gets the same pairing. A test pins it there too.Verification
python3 -m unittest test_pr_review: all pass.developat f4eb405: the prose subtest naminglib/reader.py:340andwriter.py:12-18, and the narrative test namingpkg/guard.py:12.ruff format --check,ruff check,mypy, and the commit hooks' prose and EOL gates are clean.🤖 Generated with Claude Code