Skip to content

A ccr-overview-v2 Round States No File Coverage, and the Exit-45 Remedy Cannot Clear It #1692

Description

@ptr727

status exits 45, COVERAGE_IS_UNSTATED, on a Copilot round written in the ccr-overview-v2 format, and the remedy that exit names does not clear it. Measured across every round in that format read here so far.

What was measured

Four rounds in that format, across two pull requests, read for both coverage spellings:

Pull request Head fleet-review marker Files reviewed line
1687 d0e722f9 yes no
1690 95f95297 no no
1690 c8b38cd1 no no
1690 6efc875c no no

Every head above carries .github/skills/code-review/SKILL.md, which asks the reviewer to end its body with the marker, and .github/copilot-instructions.md. The three rounds on 1690 were separated by two explicit re-requests through requestReviews, so this is not one round being unlucky.

The exit's own text says to confirm the head carries the current instructions and then request another review. The head did carry them and another review was requested twice, so the stated remedy is unavailable on this shape.

Why the second format is worse placed than the first

The first format states coverage in its Review details section, as - **Files reviewed:** N/M, and COVERAGE_BULLET requires the bullet. The second format has no Review details section at all and states its metadata on bare bold lines, which is why EFFORT_LINE had to drop its own bullet requirement to keep reading effort=.

So the spelling a second-format round would most plausibly use for coverage is the one the coverage reader cannot see. Executed against a constructed body in that format:

**Files reviewed:** 3/4      -> coverage_of reads 'unstated', unrecognized_in reads []
- **Files reviewed:** 3/4    -> coverage_of reads 'partial'

Files reviewed sitting in VETTED_LABELS does nothing about it, since LABEL_LINE also requires a bullet and the line never reaches that comparison. The result is a round that stated its coverage being read as stating none, silently, with no shape reported.

Why it matters

Exit 45 is a blocking state whose remedy is a re-request, and here the re-request is inert. That is the cry-wolf shape this script names as its own failure mode elsewhere: a gate that fires on a condition nobody can clear teaches a reader to route around it. It also puts the maintainer in the position of waiving the coverage item on every second-format round, which is what happened on 1690.

Nothing here is a false green. A round that states no coverage is read as stating none, which blocks, and that is the honest direction. The defect is that the block is unclearable and, on the bare-bold spelling, that a real statement reads as absent.

Shape of the work

Three parts, and the first two are independent of each other.

  • Read the bare-bold spelling. coverage_statements and its patterns require a bullet where this format states metadata without one. Widening that has the same hazard the LABEL_LINE decision already records, since this format's own **Changes:** prose label would read as metadata, so the coverage line needs its own pattern rather than a widened label reader.
  • Settle what the reviewer actually emits. Whether the marker's absence is the format dropping the instruction, the instruction not reaching a round in that format, or something about how the round is requested, is unmeasured. A round requested a third way, or a round on a different repository carrying the same instructions, would separate those.
  • Decide what exit 45 should do on a round that states nothing in a format known not to state it. Blocking on an unclearable condition and blocking on a clearable one read identically today, and only the second has a remedy worth printing.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions