01

Structural

"Is this artifact internally coherent?"

What belongs in this family →

Structural Retrospective

Build Provenance & SBOM

Is the artifact you are about to deploy structurally the one your pipeline built? A software bill of materials plus build provenance attestation (SLSA-style) answers: these sources, these…

Structural Predictive

Compiler

Does this code compile? The cheapest and most certain sensor in the catalog. A compiler doesn’t just check syntax — it resolves imports, validates module structure, and produces an artifact.

Structural Predictive

Contract & Refinement Types

Behavioral guarantees checked before the code ever runs. Typestate systems, refinement types, and design-by-contract annotations (Eiffel-style pre/postconditions, Dafny requires/ensures) ask the…

Structural Predictive

Linter

Catches structural inconsistencies that are syntactically valid but semantically suspect. Lower oracle strength than a type checker, but faster feedback on style and common traps.

Structural Predictive

Model Checking

Exhaustive exploration of a system’s reachable states against a temporal property. Where a type checker proves a property holds for one step, and statically checked invariants prove a property holds…

Structural Predictive

Schema Validator

Structural coherence at the boundary of the system. OpenAPI/GraphQL schema validation, Terraform plan, Kubernetes admission validation, SQL parser/type checker — all of these answer: is this a valid…

Structural Predictive

Static Analysis

Pattern-matching and dataflow analysis over the source without executing it. Covers the space between a linter (style and local patterns) and a type checker (type soundness): null dereferences…

Structural Predictive

Theorem Proving

A machine-checked proof that a property holds for all inputs, not just the ones a test happened to exercise.

Structural Predictive

Type Checker

A Rust compiler saying expected Option<Foo>, found Foo is vastly more useful to an agent than “please reconsider whether this is correct.” This is the first and strongest form of computational…

02

Behavioral

"Does it do what we expect?"

What belongs in this family →

03

Test Effectiveness

"Do our tests actually detect failures?"

What belongs in this family →

04

Invariants

"What must always be true?"

What belongs in this family →

05

Adversarial

"Can we make our evidence of correctness fail?"

What belongs in this family →

Adversarial Predictive

Differential Testing

implementation_A(input) == implementation_B(input). You don’t know which is right. But disagreement is an excellent sensor.

Adversarial Predictive

Fault Injection

Kill a node. Drop a network connection. Inject latency. A sensor of resilience — does the system continue to satisfy its invariants under partial failure?

Adversarial Predictive

Fuzzing

What happens on inputs humans didn’t think of? Fuzzing is a sensor of robustness against the infinite space of inputs the system will actually encounter — including inputs no engineer would ever…

Adversarial Retrospective

Live Chaos Experiments

Fault injection against the running production system: kill a node, sever a region, corrupt a fraction of messages, and watch whether runtime invariants hold.

Adversarial Predictive

Metamorphic Testing

You don’t know the answer, but you know how the answer should change. This is a particularly beautiful sensor because you don’t need an oracle.

Adversarial Predictive

Property-Based Testing

You state a property that should hold for every input, and the tool generates inputs trying to break it.

Adversarial Predictive

Static Security Analysis

Attacking the code before it runs. Taint tracking, dataflow analysis, and pattern-based scanners (Semgrep, CodeQL) ask: “is there any path through this program where an adversary’s input reaches a…

06

Runtime

"What is it actually doing?"

What belongs in this family →

07

Change

"What did this change actually affect?"

What belongs in this family →

Change Predictive

A/B Testing

Did users actually behave differently? An A/B test splits traffic between two versions and measures whether the treatment changes a user outcome metric — click-through, conversion, retention…

Change Predictive

API Compatibility

Did externally observable contracts change? A sensor of boundary stability — can old and new versions coexist?

Change Retrospective

Canary Analysis

Does the new version behave differently from the old version? A sensor of behavioral drift between deployments, measured on real traffic.

Change Retrospective

Error-Budget Impact

Did this change consume an abnormal amount of reliability budget? A sensor that directly ties code changes to user-visible impact.

Change Retrospective

Feature Flag Exposure Telemetry

A change behind a flag is not a change anyone has experienced. Flag evaluation streams answer “who is actually seeing the new behavior, right now?” — the difference between deployed and live, and the…

Change Retrospective

Incremental Build Correctness

Did the build system actually rebuild everything this change touched? Incremental builds and remote caches save hours, and silently shipping a stale artifact is the price when the dependency graph…

Change Retrospective

Shadow Traffic

Run the new implementation against real inputs without affecting users. A sensor that produces differential evidence with zero user risk.

08

Architecture

"Is the system becoming harder to reason about?"

What belongs in this family →

09

Evolution

"Does this look like changes that caused trouble before?"

What belongs in this family →

10

Human Comprehension

"Can another observer understand and challenge this?"

What belongs in this family →