What problem does it solve? It answers whether a running feature actually satisfies what its spec promised, without trusting the builder's own tests or being influenced by the implementation. By judging only the live system against the spec's definition of done, it produces an independent, code-blind verdict that a merge gate can rely on. ## Core Features & Use Cases - Code-blind holdout evaluation: Exercises born-verifiable done-criteria (scenarios and assertions) against a provisioned running environment, never reading the diff, codebase, or the builder's test suite. - Mechanical classification and fail-closed judging: Uses faff dod classify to partition criteria, forces prose criteria to needs-human, delegates integration-tier criteria to the review/merge test floor, and emits a validated faff-contract:holdout-verdict block. - Spawner-attested blindness: Under the caged form, evaluate-call.mjs provably withholds the repo from the evaluator process, derives code_blind itself, stamps the attestation, and scrubs credentials before persisting the verdict. - Use Case: In an L4 unattended delivery run, after a build completes, this evaluator provisions an environment, exercises each spec criterion against the live endpoints, and writes a verdict that the merge gate consumes to decide whether the change may land. ## Quick Start Configure the evaluator slot to faffter-noon-evaluate and run a holdout evaluation of the current spec against a provisioned environment to produce a holdout-verdict block.