| name | acceptance-pipeline-catalog |
| description | Use when implementing, reviewing, or debugging a Gherkin acceptance-test pipeline with mutation testing. Covers parser, JSON IR, generator, runtime, step handlers, test runner, mutator, value mutation rules, execution, result classification, reporting, project layout, conformance, and agent setup. Based on Uncle Bob's Acceptance Pipeline Specification. Trigger even when the user mentions Gherkin parsing, acceptance test generation, mutation testing for acceptance tests, or building a portable test pipeline. |
Robert C. Martin Acceptance Pipeline Best Practices
Language-neutral specification for a portable acceptance-test pipeline: Gherkin feature files to JSON IR to generated acceptance tests to mutation testing. Based on Robert C. Martin's Acceptance Pipeline Specification. Contains ~50 rules across 14 categories, prioritized by impact.
When to Apply
Reference these rules when:
- Building a Gherkin parser that outputs JSON IR
- Implementing an acceptance test generator from JSON IR
- Writing an acceptance runtime that expands scenarios and dispatches steps
- Implementing mutation testing for acceptance test example values
- Setting up the full pipeline (parser, generator, runner, mutator) in a new project
- Debugging pipeline failures (parse errors, generation issues, mutation classification)
Pipeline Overview
The pipeline has two modes:
Normal acceptance run:
feature file -> gherkin parser -> JSON IR -> acceptance generator -> generated tests -> test runner
Mutation run:
feature file -> gherkin parser -> base JSON IR -> mutator (one changed IR per mutation)
-> generator (tests per mutation) -> test runner (evaluate each) -> mutation report
The normal run proves the project satisfies the feature. The mutation run probes whether tests are strong enough to fail when example data changes.
Rule Categories by Priority
| Priority | Category | Impact | Prefix | Rules |
|---|
| 1 | Parser | CRITICAL | parser- | 9 |
| 2 | JSON IR | CRITICAL | ir- | 4 |
| 3 | Generator | CRITICAL | gen- | 2 |
| 4 | Runtime | HIGH | rt- | 3 |
| 5 | Step Handlers | HIGH | handler- | 4 |
| 6 | Test Runner | HIGH | runner- | 2 |
| 7 | Mutator Core | HIGH | mut- | 4 |
| 8 | Value Mutation Rules | HIGH | val- | 10 |
| 9 | Result Classification | HIGH | result- | 2 |
| 10 | Conformance | HIGH | conform- | 1 |
| 11 | Agent Setup | HIGH | setup- | 1 |
| 12 | Mutation Execution | MEDIUM | exec- | 4 |
| 13 | Reports | MEDIUM | report- | 3 |
| 14 | Project Layout | MEDIUM | layout- | 3 |
Quick Reference
1. Parser (CRITICAL)
parser-command-interface - Two positional args, exit codes 0/1/2
parser-feature-declaration - Feature: keyword required, trimmed name
parser-background - Optional Background: section with Given/And steps
parser-scenarios - Scenario: and Scenario Outline: both supported
parser-steps - Given/When/Then/And keywords, keyword stored separately
parser-parameters - Angle-bracket placeholders, not expanded by parser
parser-examples-tables - Pipe-delimited tables, header row first
parser-general-rules - Blank lines, comments, whitespace, ordering
parser-unsupported-syntax - Tags, rules, localized keywords, doc strings
2. JSON IR (CRITICAL)
3. Generator (CRITICAL)
4. Runtime (HIGH)
5. Step Handlers (HIGH)
6. Test Runner (HIGH)
7. Mutator Core (HIGH)
8. Value Mutation Rules (HIGH)
9. Result Classification (HIGH)
10. Conformance (HIGH)
11. Agent Setup (HIGH)
12. Mutation Execution (MEDIUM)
13. Reports (MEDIUM)
14. Project Layout (MEDIUM)
How to Use
Read individual reference files for detailed spec requirements and rationale:
- Start with the category relevant to the component you are building
- Each rule file is self-contained with WHY explanations, spec requirements, and examples
- For a new project setup, read
setup-checklist first
- For validation, use
conform-checklist
- Check gotchas.md for known failure points
Reference Files