You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Count Copilot Findings Stated Only in a Review Notes File Table #3893
scripts/pr_review_copilot.py silently drops findings that a Copilot review states only in its file table, when the table's second column is headed Review notes.
Shape that is missed. A constructed example of the body shape:
The reader counts table findings only where a header cell equals the vocabulary's table_findings, which is "findings" in scripts/reviewers/copilot.json (pr_review_copilot.py around line 559).
| File | Review notes | labels as ["file", "review notes"], so no table finding is counted.
unthreaded = max(named - linked, 0) then reads 0 wherever every summary-list entry links a thread, so FINDINGS WITH NO THREAD never prints.
placed() treats any table whose first header is file as placed, so no UNPLACED hold or note fires either.
The miss surfaced on #3892, where four table-only findings went uncounted and were answered by hand.
Care in the fix.
Adding "review notes" to the vocabulary alone overcounts, since the tally counts any cell with alphanumeric text, and every Reviewed. row would read as a finding. Count on the [P\d] marker, or skip the filler text.
One cell can hold two findings under one marker.
A recognized table finding only adds to a count, so its text never prints under the block.
No fixture in tests/test_pr_review_copilot.py has this header.
Done when a review carrying this shape prints its table-only findings under FINDINGS WITH NO THREAD with their text, and a Reviewed. row counts as nothing. A fixture of the shape above must pin it.
Activity