prove_closure
Compare two saved scans of the same tree to verify which findings a fix actually closed, rejecting incomparable runs and classifying moved, removed, or new issues.
Instructions
Say which findings a change actually closed, by comparing two saved scans of one tree.
First it decides whether the two runs can be compared for closure at all: the same instrument commit, version, rules, file types and exclusions, both trees pinned to a commit and clean, both results quoting lines at the same level. The trees themselves may differ -- that difference is what is measured. If the runs cannot be compared, nothing is reported as closed and the repair is named.
Only then does it match every occurrence without its line number: closed
(present before, absent from every file the second run read), still open (and
how many only moved lines), relocated to another path (renamed or moved, not
fixed), removed (the whole file is gone from the second tree -- not counted as
closed), moved into or out of test code, new, and unverifiable (in a file the
second run did not read). A file the second run could not open is never counted
as fixed.
To keep the verdict as a file that names the two scans it judged, run
qrp-mcp closure BEFORE AFTER --out FILE.
Use it after a fix, to evidence the fix. Do not use it to compare coverage
figures between two estates -- compare_coverage answers that. It reads two
local files and nothing else.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| after | Yes | Path to the JSON result of the scan made AFTER the change, same tree, same instrument, same level. | |
| before | Yes | Path to the JSON result of the scan made BEFORE the change (`qrp-mcp scan PATH --out FILE`). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||