Strict evaluator (Phase 1): throw if any check fails, collecting all
failures into one actionable message (Validation-applicative, not
short-circuit). The deterministic-tier verdict — use it in node:test, or any
runner, over a runHook / runHarness result. measure (Phase 3) is the
scored counterpart over trials.
Strict evaluator (Phase 1): throw if any check fails, collecting all failures into one actionable message (Validation-applicative, not short-circuit). The deterministic-tier verdict — use it in
node:test, or any runner, over arunHook/runHarnessresult.measure(Phase 3) is the scored counterpart over trials.