acceptance-review-criteria

Gate definitions and verdict rubric for the DISTILL reviewer — applied across 4 lenses (coverage, business-alignment, testability, boundary-enforcement).

When to use

Entry contract

Exit contract

Invariants

Gate Lens Severity Short definition
G1 Coverage BLOCKER AC → scenario bijection: every AC has ≥1 scenario, no orphan scenario
G2 Coverage HIGH ≥1 scenario covers a boundary condition per business rule
G3 Business Alignment HIGH All Given/When/Then terms belong to the domain vocabulary
G4 Business Alignment BLOCKER Zero implementation details in Gherkin steps
G5 Testability HIGH Every step is unambiguous in the domain vocabulary
G6 Testability HIGH Feature scenarios ↔ implementation plan entries bijection
G7 Boundary Enforcement BLOCKER Every coverage-matrix row targets an Application use case boundary
G8 Boundary Enforcement HIGH ≥1 walking skeleton scenario per major feature flow
G9 Boundary Enforcement HIGH Every @visual-tagged scenario has ≥1 matching Playwright E2E spec in tests/e2e/

Why this shape

Adversarial lens-by-lens reviews reduce confirmation bias: each lens applies a single criterion in isolation without being influenced by others. The DELIVER team — engineers, testers, architects — consumes DISTILL artefacts. A scenario contaminated with technical jargon or an AC without a matching scenario translates directly into cycle debt.

« Specifications that are automatically verifiable provide concrete examples of desired system behaviour. » — Adzic, G., Specification by Example, 2011.

Allowed customisation

See also