Proof check reference
Make the reproducer’s intent explicit
A test that preserves defective behavior can be useful characterization, but it should not masquerade as a test of the intended contract. This check flags one recognizable form of that ambiguity.
What the check reads
The verify-stage warning inspects active KnownIssue prose and bound reproducer source. It looks for a prohibition in the issue and a non-negated accept-verb in a test declaration name with overlapping subject terms. Explicit safe-contract or characterization acknowledgements exempt the source. This is a name-and-annotation heuristic, not a parser that proves assertions match natural-language intent.
proof audit --check known_issue_reproducer_consistentAn illustrative case
Illustrative case: the issue says an empty api_key must be rejected, while its test is named test_allows_empty_api_key and expects acceptance. Decide what the test means. A regression test can assert rejection and fail while the bug is live. A deliberate characterization can pass while the bug is live, provided that polarity and the expected mutation are clearly recorded.
Resolve the finding
- Inspect the named test body and independently approved requirement, not just the declaration name.
- Align the assertion and name with the safe contract, or explicitly label deliberate characterization and define its tripwire_mutation.
- Run the test on the relevant revisions and retain the observed polarity before rerunning this check.
What a clear result means
A neutral test name can hide the same wrong assertion without triggering the heuristic. Conversely, an acknowledgement can silence the check without repairing a bad test. Review the oracle and observed result; neither a name change nor a clean lint result establishes that the intended behavior holds.
Continue with one real issue
Known issue reproducer present and resolves · High severity reproducer grade
Bring one finding, its requirement and the current evidence to scope a walkthrough of what your reviewer can establish and what still needs work.