C5: Verify On Harness¶
Enforces P1: Every component is a harness; supports P4 and P5.
AIBlock.verify(output, contract) is owned by the harness, not the orchestrator. The reliability_pipeline coordinates verification and aggregates the evidence rather than running every check itself.
Why on the harness¶
A harness knows how to check its own output more specifically than a generic orchestrator can. Owning verify() also means a harness can detect its own failure modes (P4), and the verification result becomes the per-run learning signal (P5).
Enforced at: tests/mvp/reliability_pipeline/test_verify_dispatch.py.