## Blocky Pipeline — Which approach?

How should users compose custom stage sequences?

A

### YAML Block Config

Define a custom stage sequence directly in `config.yaml` as an ordered list of named blocks. No UI — pure text.

    pipeline:
      blocks:
        - pm
        - pm_reviewer
        - architect
        - qa_planner
        - qa_write
        - engineer
        - reviewer
        - deploy_tester

#### Pros

- No extra tooling
- Git-versionable
- Works today

#### Cons

- No visual feedback
- Easy to typo stage names

B

### Web Drag-and-Drop UI

A browser-based block editor: drag stage blocks into a sequence, toggle options per block, export to `config.yaml`.

🧩 Pipeline Builder
📋 PM
→
🏗️ Architect
→
🧪 QA Write
→
+ Add block

#### Pros

- Visual, intuitive
- Validates connections

#### Cons

- Extra tool to build & maintain
- Separate from main run flow

C

### YAML blocks + named presets

Extend YAML config: define reusable named presets (like `tdd`, `standard`) AND allow a custom ordered list in the same file. Best of both worlds.

    pipeline:
      mode: custom   # or: standard, tdd

      # Only used when mode: custom
      custom_stages:
        - pm
        - architect
        - qa_planner
        - qa_write      # TDD style
        - engineer
        - reviewer
        - deploy_tester

#### Pros

- Presets for common flows
- Full custom when needed
- Backwards compatible

#### Cons

- Slightly more config surface