Check reference
Make MC/DC exclusions explain their impact
An excluded decision changes what a coverage percentage covers. mcdc_ignore_classified makes the reason and product impact of MC/DC exclusions reviewable.
What the check inspects
This default-on verify-stage warning uses the policy under project.checks.mcdc_coverage. It checks code-level ignore categories and honored requirement witness-row exemptions. It flags uncategorized exclusions, capability gaps without a resolvable open KnownIssue and tripwire, and malformed or orphaned witness-row ignores that no table can use. A bare comment is not sufficient evidence that an exclusion is harmless.
Illustrative example: an unsupported input
Suppose the product accepts Unicode names, but a parser branch rejects a valid name form. Excluding that branch as defensive would misdescribe a missing capability. Track the unsupported case as a known issue, retain a reproducer and classify the exclusion according to its actual impact.
Review record:
Excluded behavior: valid Unicode name rejected
Contract impact: a supported input fails
Disposition: capability gap
Evidence: open issue and executable reproducer
This record is illustrative, not annotation syntax. Use the syntax and row-disposition guidance shipped with the installed CLI.
Inspect the inventory before changing comments
List unclassified ignores, then read each in context. A defensive exclusion needs an actual impossibility or defensive-path rationale. An external-evidence exclusion needs the evidence it claims. A product gap needs a tracked issue whose current disposition still applies. Do not change a category merely to remove an uncovered row.
proof mcdc ignores --unclassified
proof audit --check mcdc_ignore_classified --verbose
Classification is not reproducer execution
The structural tripwire check verifies required issue information; it does not itself machine-count every quality expectation for a public-API reproducer or run it twice. Companion known-issue and stale-disposition checks carry additional responsibilities. A classified ignore remains an exclusion from measured coverage, not a covered decision. Publish the excluded inventory beside any percentage, and revisit it when the issue is fixed or the code changes.
Follow the evidence
Classify one exclusion by the behavior it removes from the claim, then inspect its supporting evidence.
Review one MC/DC exclusion. Bring the excluded decision and its supporting issue or evidence so we can assess the product impact and whether the disposition still applies.