An industry resource
What independent observations
would cause us to believe
this software is correct?
Software is increasingly an opaque artifact. We cannot — and often do not want to — fully understand every implementation. The Software Observatory is a catalog of epistemic sensors: the observable signals that reduce uncertainty about whether a system is correct, maintainable, and behaving as intended. Not "code quality metrics." Measurement instruments pointed at different failure modes.
No single sensor measures correctness. Coverage measures execution. Mutation testing measures test sensitivity. Types measure a particular class of structural inconsistency. Contracts measure boundary assumptions. Observability measures what actually happened and preserves enough dimensionality to investigate unknown unknowns.
They are all measurement instruments pointed at different failure modes.
Eleven sensor families
The catalog is organized into eleven families, each asking a different question about the system. Together, they form a mesh of independent evidence — no single sensor is sufficient, but the combination constrains uncertainty from multiple directions.
Structural
"Is this artifact internally coherent?"
Compiler, type checker, linter, formatter, schema validator
02Behavioral
"Does it do what we expect?"
Unit, integration, E2E, contract, snapshot tests
03Test Effectiveness
"Do our tests actually detect failures?"
Coverage, diff coverage, mutation testing
04Invariants
"What must always be true?"
Balance >= 0, every FK valid, every request has one ID
05Adversarial
"Can we make our evidence of correctness fail?"
Fuzzing, mutation testing, fault injection, chaos
06Runtime
"What is it actually doing?"
Logs, traces, metrics, profiles, high-cardinality events
07Change
"What did this change actually affect?"
Diff coverage, API compatibility, canary, shadow traffic
08Architecture
"Is the system becoming harder to reason about?"
Dependency graphs, coupling, fitness functions, hotspots
09Evolution
"Does this look like changes that caused trouble before?"
Revert rate, regression rate, churn, incident correlation
10Human Comprehension
"Can another observer understand and challenge this?"
Review, explainability tests, documentation drift, onboarding
11AI-Generated Code
"What evidence do we have that this change is safe?"
Agent sensor stacks, computational gates, independence
The confidence stack
Sensors are not peers. They form a hierarchy — from the cheapest, most certain signals at the bottom to the most expensive, most meaningful signals at the top. Each layer depends on the layers below it.
Mutation Testing
Take if user.is_admin: allow() and mutate it to
if not user.is_admin: allow(). If all your tests still
pass, your tests did not actually establish the behavior you thought
they established. Mutation testing is a sensor of test
sensitivity rather than test presence — and it may
be one of the most interesting sensors in the entire catalog.
Catalog entries
- AI-Generated Code Agent Sensor Stack An agent should be surrounded by sensors. And crucially: the agent doesn’t
- Change API Compatibility Did externally observable contracts change? A sensor of boundary stability
- Architecture Boundary Sensors “This package must not import that package.” A sensor of encapsulation and
- Test Effectiveness Branch Coverage Did we exercise both sides of decisions? Better than line
- Structural Build Provenance & SBOM Is the artifact you are about to deploy structurally the one your pipeline
- Invariants Business Invariants A successful payment implies an order eventually becomes paid.