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
pr_review.py Reads a Copilot File-Table Cell Naming Two Paths as One, Exiting 45 on Full Coverage #2251
scripts/pr_review.py exits 45 (COVERAGE_IS_UNSTATED) on a Copilot round whose file table names every changed file, when one row lists two files in a single cell.
Copilot sometimes groups related files into one row, each path in its own backticks, separated by a comma:
| File | Description |
| ---- | ----------- |
| `src/app.sh` | Adds the guard. |
| `docs/a.md`, `docs/b.example` | Document the new read. |
With src/app.sh, docs/a.md and docs/b.example as the changed files, the digest reads the second row as one path, docs/a.md`, `docs/b.example with the backticks inside it. It then reports the table as leaving out both real files and naming a file the diff does not carry:
NO FILE TABLE STANDS IN: the table leaves out docs/a.md, docs/b.example, and names docs/a.md`, `docs/b.example, which the diff does not carry
So a round that read the whole diff blocks the gate. Re-requesting the review does not help, because the table's shape is Copilot's.
Copilot also writes each / in a cell with a zero-width space after it (docs/a.md), which the parser already handles for one path per cell.
Expected
A cell holding several backticked paths separated by commas counts as naming each of them. With that, the table above stands in for coverage of exactly the three changed files.
Related
#2167 handles a wildcard row in the same table, a different shape.
Seen on the promotion pull request ptr727/HomeAutomation-Config#660, merged on the maintainer's explicit go-ahead after the table was checked by hand.
A sibling shape of the same class: a row whose cell is one path followed by a parenthesized annotation, written as a second row for a file another row already names.
| File | Description |
| ---- | ----------- |
| src/app.sh | Adds the guard. |
| docs/a.md | Documents the new read. |
| docs/a.md (cleanup) | Rewords the cleanup step. |
With src/app.sh and docs/a.md as the changed files, the digest reads the third row as the path docs/a.md (cleanup) and refuses the table:
NO FILE TABLE STANDS IN: the table names docs/a.md (cleanup), which the diff does not carry
The table names every changed file exactly, so the round read the whole diff and the gate still exits 45. A second requested round on the same head stated no coverage and carried no table, so re-requesting did not clear it, and the maintainer merged on the evidence of a manual diff of the table against the changed files.
Expected: a cell whose text is a changed path followed by a parenthesized annotation counts as naming that path, so the table above stands in for coverage of exactly the two changed files.
Activity
ptr727 commentedon Oct 1, 2026
A sibling shape of the same class: a row whose cell is one path followed by a parenthesized annotation, written as a second row for a file another row already names.
With
src/app.shanddocs/a.mdas the changed files, the digest reads the third row as the pathdocs/a.md (cleanup)and refuses the table:The table names every changed file exactly, so the round read the whole diff and the gate still exits 45. A second requested round on the same head stated no coverage and carried no table, so re-requesting did not clear it, and the maintainer merged on the evidence of a manual diff of the table against the changed files.
Expected: a cell whose text is a changed path followed by a parenthesized annotation counts as naming that path, so the table above stands in for coverage of exactly the two changed files.
Seen on ptr727/Blog#358, a resync of hub
mainat0378c78.🤖 Generated with Claude Code
Read a Split File-Table Cell and Let a Noted Row Stop Refusing Withou…
Promote develop to main: Read Split and Noted Copilot File-Table Cells (