Vacuous Truth
A statement that holds only because its subject set is empty — a green result that measured nothing.
A statement is vacuously true when it holds because there is nothing for it to be false about. "Every test in this run passed" is vacuously true if zero tests ran. In logic this is unremarkable; in verification it is a trap, because the vacuous pass is indistinguishable from a real one at a glance.
The pattern recurs at every scale:
- A test filter that matches no test names reports success and skips everything.
- A layout assertion inside a container with no height constraint always passes, because nothing can overflow a box that grows to fit.
- A width assertion against an image already narrower than its column passes with the fix reverted.
- A continuous-integration watcher polling immediately after a push sees one fast check and zero pending, and declares everything green before the real jobs have registered — see Continuous Integration.
- A diff-based gate reports "no changes" when it is diffing the wrong two references.
The remedy is always the same: assert the precondition first. Confirm the container actually scrolls, the search actually matched, the expected number of checks actually exist. Read the count, not the exit code. See Assertion and Falsifiability.
See also5
Hand-picked in the note itself — the neighbours worth reading next.
Silent Failure
A failure that produces no signal, so the absence of an error reads as success.
Method44 connections
Ground Truth
The measurement that arbitrates, as opposed to the artifact that merely reports.
Method30 connections
Flaky Test
A test that passes and fails on identical input, and the most corrosive thing a suite can contain.
Testing & Verification12 connections
Coverage Gate
A build check that fails when coverage falls below a threshold, and what that pressure produces.
Testing & Verification14 connections
Exhaustive Claim
A statement of the form "the last one" or "nothing else does this" — load-bearing, and only as good as the search behind it.
Method13 connections
Related2
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from24
Notes elsewhere in the wiki that reach for this one.
- AssertionTesting & Verification
The statement in a test that must hold, and the only part that can actually fail.
- Branch CoverageTesting & Verification
The proportion of conditional outcomes exercised — the strictest ordinary coverage metric, and the most informative.
- Character EncodingSystems & Tooling
The mapping between characters and bytes, and the source of a specific family of invisible bugs.
- Code CoverageTesting & Verification
The proportion of code executed by a test suite — a map of what is untested, not a measure of quality.
- ContainerizationSystems & Tooling
Packaging an application with its dependencies into an isolated, reproducible runtime unit.
- Continuous DeploymentVersion Control & Delivery
Automatically releasing every change that passes validation.
- Continuous IntegrationVersion Control & Delivery
Automatically building and testing every change, so integration problems surface immediately.
- Coverage GateTesting & Verification
A build check that fails when coverage falls below a threshold, and what that pressure produces.
- Exhaustive ClaimMethod
A statement of the form "the last one" or "nothing else does this" — load-bearing, and only as good as the search behind it.
- FalsifiabilityMethod
A claim is only worth something if you know what observation would refute it.
- GlobSystems & Tooling
Wildcard pattern matching over filenames, similar enough to regular expressions to mislead.
- Ground TruthMethod
The measurement that arbitrates, as opposed to the artifact that merely reports.
- HallucinationAgents & Language Models
Fluent, confident output that is not grounded in anything real.
- InstrumentationTesting & Verification
Adding measurement to code so its execution can be observed, and the distortions that introduces.
- ObservabilityMethod
How much of a system's internal state can be inferred from what it emits.
- ProcessSystems & Tooling
A running program with its own memory, environment, and identity.
- Reproducible CaseMethod
The smallest set of steps that reliably produces a fault, and the unit of real debugging.
- Resource StarvationTesting & Verification
Failures caused by competition for a finite shared resource rather than by any defect.
- ShellSystems & Tooling
The interactive command interpreter, and a programming language with unusually sharp edges.
- Silent FailureMethod
A failure that produces no signal, so the absence of an error reads as success.
- Test DoubleTesting & Verification
A stand-in for a real dependency during a test — and the ways a stand-in can lie.
- Test FixtureTesting & Verification
The prepared data or state a test runs against.
- Test-Driven DevelopmentTesting & Verification
Writing a failing test first, making it pass, then improving the code with the test as a net.
- Truncation BiasMethod
Reading a truncated result as if it were the whole result, so every counterexample is invisible.