# Unknown is not pass

> A verdict has three values, and the third is the one a percentage hides, as shown in [three verdicts]. A surface that no test touches has not passed.

Page: Methodology · Verify
Canonical: https://banes-lab.com/disciplined-methodology/verify#unknown-is-not-pass

This section is stop 43 of 102 in the learning route. Previous: [28 - A report, not a checkbox](https://banes-lab.com/disciplined-methodology/verify/a-report-not-a-checkbox.md). Next: [30 - One correct answer](https://banes-lab.com/disciplined-methodology/verify/one-correct-answer.md). It builds on [28 - A report, not a checkbox](https://banes-lab.com/disciplined-methodology/verify/a-report-not-a-checkbox.md).

A verdict has three values, and the third is the one a percentage hides, as shown in [D1·a three verdicts](https://banes-lab.com/disciplined-methodology/verify#unknown-is-not-pass-panel-a). A surface that no test touches has not passed. Its verdict is unknown, and unknown never rounds up to pass.

### Three verdicts, not two

Coverage pursued by intuition and reported as a percentage never walks the space a system can fail in. Coverage is high, the failure that ships lives in a case the test suite never imagined, and the number never moved. A percentage counts lines executed, and a line can execute while no claim about it gets checked.

For this reason no evidence means unknown, never pass: a verdict is pass or fail only against an evidence set that is not empty. Coverage is measured as the surfaces a unit can fail in, rather than as a percentage of lines. In practice, the surfaces a unit can fail in are mapped before its tests are written, using the catalogue described in [what can drift, seen through how it drifts](https://banes-lab.com/software-architecture/coverage/what-can-drift-seen-through-how-it-drifts.md), projected onto [correctness](https://banes-lab.com/records/arch/correctness.md): each surface with its failure modes, its technique, its predicate and its evidence source. Surfaces that are still unknown are reported as unknown, never as passed.

To check this, name a failure surface of one unit that the tests do not touch. If you can, coverage is not complete, whatever the percentage says.

D1·a three verdicts

```mermaid
flowchart TB
surface["A surface a unit can fail in"]
tested{"Does a test touch it?"}
passed{"Did it pass?"}
pass["Pass"]
fail["Fail"]
unknown["Unknown · never rounds up to pass"]
surface --> tested
tested -- no --> unknown
tested -- yes --> passed
passed -- yes --> pass
passed -- no --> fail
```

## Links to

- [What can drift, seen through how it drifts](https://banes-lab.com/software-architecture/coverage/what-can-drift-seen-through-how-it-drifts.md)
- [Correctness](https://banes-lab.com/records/arch/correctness.md)

## Linked from

- [Validation gates](https://banes-lab.com/pag/validation/validation-gates.md)
- [Coverage is derived](https://banes-lab.com/disciplined-methodology/verify/coverage-is-derived.md)
- [What can drift, seen through how it drifts](https://banes-lab.com/software-architecture/coverage/what-can-drift-seen-through-how-it-drifts.md)
- [What the diagnoses found](https://banes-lab.com/anatomy/reading/what-the-diagnoses-found.md)
