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
Write the report a completed review was always for
Work item V5 of the M3 plan. A review could be run and every finding decided,
and then it produced nothing: no report, no export, nothing to send anyone.
The renderer is pure, so the exact text is testable without a database, and an
assembler gathers what it needs in one place rather than two routes drifting
about what a report contains. Two things make it more than a list of findings.
It says what was examined, not only what was found. A reader cannot otherwise
tell "nothing is wrong" from "nothing was looked at", and that distinction is
the whole value of a review. The counts come from the coverage ledger the
pipeline already reconciled, so they are what the app counted rather than what
a model claimed.
It records what the person decided, dismissals included, with their reasons. A
dismissal is evidence about the engine rather than an absence of one, and
dropping it would throw away the only signal that says which prompts need work.
Confirmed nitpicks stay too: what someone chose to keep is not the report's to
second-guess.
The protocol's own prose about output format is deliberately not parsed.
Rendering arbitrary instructions is not tractable, and a report whose shape
depended on prompt-shaped text would change meaning without anyone editing the
code that writes it.
Exports live outside the run directory, so a report outlives the worktrees,
bundle and logs that deleting a review removes. The filename uses the UTC day
and turns branch slashes into hyphens, so a second export the same day replaces
the first instead of accumulating near-identical files.
Eighteen unit tests on the text itself, including the no-em-dash rule that
binds every surface, plus two end-to-end tests that build the report from a
review which actually ran and write the export to disk. Three mutations
checked and all caught: dropping dismissals, omitting the completeness
statement, and reversing the severity order.
0 commit comments