The shape

A package other teams import. It has no production of its own; a release that breaks a caller is the failure mode.

The stack

One row per doubt. No two rows do the same job.

DoubtSensorWhy this one
unintended change API Compatibility Change Classifies the surface diff in seconds and needs no consumer list.
wrong logic Property-Based Testing Adversarial Callers send inputs you never thought of; so does the generator.
unasserted execution Mutation Testing Test Effectiveness A library is small enough to mutate whole on every release.
not internally consistent Type Checker Structural Published types are part of the contract; check them before callers do.
nobody can find out why Documentation Drift Human Comprehension Doctests; the README example is the first code every user runs.
reveals wrong specification, missing behavior, late effects Escaped Defect Rate Test Effectiveness Downstream bug reports are the only production signal a library gets.

Left open, on purpose

  • untested conditions

    Both closers split live traffic between two versions, and a library has no traffic. Its users' production is where the untried inputs live, and their canary is what sees them.

  • falls over with a dependency

    A library does not own the database or the network that fails. The application that wires it to them does, and fault injection belongs there.

  • unjudged observation

    No production of its own, so no observations to judge. The invariants that would judge them are each user's, written in their domain's terms.

  • does not run where deployed

    Every user deploys it somewhere different, and only their smoke test runs there. Yours can cover the install and nothing past it.

What this stack is mistaken for proving

6 sensors close 5 of 19 doubts and reveal 3 more after the fact. It says nothing about unspecified property, emergent failure, correlated blind spot, unreached by tests, cannot carry the load, nobody knows where the coupling is, nobody knows where the risk sits. A green board from this stack is not evidence against any of those.

Every row but one runs before a release, because a release is the only event a library has. The exception is the escaped defect rate, which is your users’ production read back through their bug reports. It lags by months, and it is still the only sensor here that can tell you the property you tested for was the wrong one.

All plays