189 lines
6.4 KiB
Markdown
189 lines
6.4 KiB
Markdown
---
|
|
# File references (ONLY variables used in this step)
|
|
nextStepFile: './step-v-03-density-validation.md'
|
|
altStepFile: './step-v-02b-parity-check.md'
|
|
prdFile: '{prd_file_path}'
|
|
validationReportPath: '{validation_report_path}'
|
|
---
|
|
|
|
# Step 2: Format Detection & Structure Analysis
|
|
|
|
## STEP GOAL:
|
|
|
|
Detect if PRD follows BMAD format and route appropriately - classify as BMAD Standard / BMAD Variant / Non-Standard, with optional parity check for non-standard formats.
|
|
|
|
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
|
|
### Universal Rules:
|
|
|
|
- 🛑 NEVER generate content without user input
|
|
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
|
|
### Role Reinforcement:
|
|
|
|
- ✅ You are a Validation Architect and Quality Assurance Specialist
|
|
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
|
- ✅ We engage in collaborative dialogue, not command-response
|
|
- ✅ You bring systematic validation expertise and pattern recognition
|
|
- ✅ User brings domain knowledge and PRD context
|
|
|
|
### Step-Specific Rules:
|
|
|
|
- 🎯 Focus ONLY on detecting format and classifying structure
|
|
- 🚫 FORBIDDEN to perform other validation checks in this step
|
|
- 💬 Approach: Analytical and systematic, clear reporting of findings
|
|
- 🚪 This is a branch step - may route to parity check for non-standard PRDs
|
|
|
|
## EXECUTION PROTOCOLS:
|
|
|
|
- 🎯 Analyze PRD structure systematically
|
|
- 💾 Append format findings to validation report
|
|
- 📖 Route appropriately based on format classification
|
|
- 🚫 FORBIDDEN to skip format detection or proceed without classification
|
|
|
|
## CONTEXT BOUNDARIES:
|
|
|
|
- Available context: PRD file loaded in step 1, validation report initialized
|
|
- Focus: Format detection and classification only
|
|
- Limits: Don't perform other validation, don't skip classification
|
|
- Dependencies: Step 1 completed - PRD loaded and report initialized
|
|
|
|
## MANDATORY SEQUENCE
|
|
|
|
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
|
|
|
### 1. Extract PRD Structure
|
|
|
|
Load the complete PRD file and extract:
|
|
|
|
**All Level 2 (##) headers:**
|
|
- Scan through entire PRD document
|
|
- Extract all ## section headers
|
|
- List them in order
|
|
|
|
**PRD frontmatter:**
|
|
- Extract classification.domain if present
|
|
- Extract classification.projectType if present
|
|
- Note any other relevant metadata
|
|
|
|
### 2. Check for BMAD PRD Core Sections
|
|
|
|
Check if the PRD contains the following BMAD PRD core sections:
|
|
|
|
1. **Executive Summary** (or variations: ## Executive Summary, ## Overview, ## Introduction)
|
|
2. **Success Criteria** (or: ## Success Criteria, ## Goals, ## Objectives)
|
|
3. **Product Scope** (or: ## Product Scope, ## Scope, ## In Scope, ## Out of Scope)
|
|
4. **User Journeys** (or: ## User Journeys, ## User Stories, ## User Flows)
|
|
5. **Functional Requirements** (or: ## Functional Requirements, ## Features, ## Capabilities)
|
|
6. **Non-Functional Requirements** (or: ## Non-Functional Requirements, ## NFRs, ## Quality Attributes)
|
|
|
|
**Count matches:**
|
|
- How many of these 6 core sections are present?
|
|
- Which specific sections are present?
|
|
- Which are missing?
|
|
|
|
### 3. Classify PRD Format
|
|
|
|
Based on core section count, classify:
|
|
|
|
**BMAD Standard:**
|
|
- 5-6 core sections present
|
|
- Follows BMAD PRD structure closely
|
|
|
|
**BMAD Variant:**
|
|
- 3-4 core sections present
|
|
- Generally follows BMAD patterns but may have structural differences
|
|
- Missing some sections but recognizable as BMAD-style
|
|
|
|
**Non-Standard:**
|
|
- Fewer than 3 core sections present
|
|
- Does not follow BMAD PRD structure
|
|
- May be completely custom format, legacy format, or from another framework
|
|
|
|
### 4. Report Format Findings to Validation Report
|
|
|
|
Append to validation report:
|
|
|
|
```markdown
|
|
## Format Detection
|
|
|
|
**PRD Structure:**
|
|
[List all ## Level 2 headers found]
|
|
|
|
**BMAD Core Sections Present:**
|
|
- Executive Summary: [Present/Missing]
|
|
- Success Criteria: [Present/Missing]
|
|
- Product Scope: [Present/Missing]
|
|
- User Journeys: [Present/Missing]
|
|
- Functional Requirements: [Present/Missing]
|
|
- Non-Functional Requirements: [Present/Missing]
|
|
|
|
**Format Classification:** [BMAD Standard / BMAD Variant / Non-Standard]
|
|
**Core Sections Present:** [count]/6
|
|
```
|
|
|
|
### 5. Route Based on Format Classification
|
|
|
|
**IF format is BMAD Standard or BMAD Variant:**
|
|
|
|
Display: "**Format Detected:** {classification}
|
|
|
|
Proceeding to systematic validation checks..."
|
|
|
|
Without delay, read fully and follow: {nextStepFile} (step-v-03-density-validation.md)
|
|
|
|
**IF format is Non-Standard (< 3 core sections):**
|
|
|
|
Display: "**Format Detected:** Non-Standard PRD
|
|
|
|
This PRD does not follow BMAD standard structure (only {count}/6 core sections present).
|
|
|
|
You have options:"
|
|
|
|
Present MENU OPTIONS below for user selection
|
|
|
|
### 6. Present MENU OPTIONS (Non-Standard PRDs Only)
|
|
|
|
**[A] Parity Check** - Analyze gaps and estimate effort to reach BMAD PRD parity
|
|
**[B] Validate As-Is** - Proceed with validation using current structure
|
|
**[C] Exit** - Exit validation and review format findings
|
|
|
|
#### EXECUTION RULES:
|
|
|
|
- ALWAYS halt and wait for user input
|
|
- Only proceed based on user selection
|
|
|
|
#### Menu Handling Logic:
|
|
|
|
- IF A (Parity Check): Read fully and follow: {altStepFile} (step-v-02b-parity-check.md)
|
|
- IF B (Validate As-Is): Display "Proceeding with validation..." then read fully and follow: {nextStepFile}
|
|
- IF C (Exit): Display format findings summary and exit validation
|
|
- IF Any other: help user respond, then redisplay menu
|
|
|
|
---
|
|
|
|
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
|
|
### ✅ SUCCESS:
|
|
|
|
- All ## Level 2 headers extracted successfully
|
|
- BMAD core sections checked systematically
|
|
- Format classified correctly based on section count
|
|
- Findings reported to validation report
|
|
- BMAD Standard/Variant PRDs proceed directly to next validation step
|
|
- Non-Standard PRDs pause and present options to user
|
|
- User can choose parity check, validate as-is, or exit
|
|
|
|
### ❌ SYSTEM FAILURE:
|
|
|
|
- Not extracting all headers before classification
|
|
- Incorrect format classification
|
|
- Not reporting findings to validation report
|
|
- Not pausing for non-standard PRDs
|
|
- Proceeding without user decision for non-standard formats
|
|
|
|
**Master Rule:** Format detection determines validation path. Non-standard PRDs require user choice before proceeding.
|