Design
Architecture quality gate — design completeness
Checks
| Check | Description | Type | Blocking |
|---|---|---|---|
plan_produced | Architecture plan exists | File exists | Yes |
has_context_section | Plan includes context and constraints | Pattern match | Yes |
has_decisions_section | Plan documents key architectural decisions | Pattern match | Yes |
has_components_section | Plan breaks down into components | Pattern match | Yes |
has_data_model_section | Plan defines data model (or explicitly states N/A) | Pattern match | No |
references_prd | Plan references the approved PRD | Pattern match | No |
open_questions | No unresolved open questions remain | Custom | No |
Raw Definition
38 lines
yaml
name: design
description: Architecture quality gate — design completeness
checks:
- id: plan_produced
description: Architecture plan exists
check: file:.sniper/artifacts/{protocol_id}/plan.md
blocking: true
- id: has_context_section
description: Plan includes context and constraints
check: grep:.sniper/artifacts/{protocol_id}/plan.md:"## Context"
blocking: true
- id: has_decisions_section
description: Plan documents key architectural decisions
check: grep:.sniper/artifacts/{protocol_id}/plan.md:"## Decisions"
blocking: true
- id: has_components_section
description: Plan breaks down into components
check: grep:.sniper/artifacts/{protocol_id}/plan.md:"## Components"
blocking: true
- id: has_data_model_section
description: Plan defines data model (or explicitly states N/A)
check: grep:.sniper/artifacts/{protocol_id}/plan.md:"## Data Model"
blocking: false # Not every feature requires a data model
- id: references_prd
description: Plan references the approved PRD
check: grep:.sniper/artifacts/{protocol_id}/plan.md:"prd.md"
blocking: false
- id: open_questions
description: No unresolved open questions remain
check: "!grep:.sniper/artifacts/{protocol_id}/plan.md:\\*\\*TBD\\*\\*|\\*\\*TODO\\*\\*|\\*\\*OPEN\\*\\*"
blocking: false