---
name: 'step-v-01-discovery'
description: 'Document Discovery & Confirmation - Handle fresh context validation, confirm PRD path, discover input documents'
# File references (ONLY variables used in this step)
nextStepFile: './step-v-02-format-detection.md'
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
prdPurpose: '../data/prd-purpose.md'
---
# Step 1: Document Discovery & Confirmation
## STEP GOAL:
Handle fresh context validation by confirming PRD path, discovering and loading input documents from frontmatter, and initializing the validation report.
## 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 analytical rigor
- ✅ User brings domain knowledge and specific PRD context
### Step-Specific Rules:
- 🎯 Focus ONLY on discovering PRD and input documents, not validating yet
- 🚫 FORBIDDEN to perform any validation checks in this step
- 💬 Approach: Systematic discovery with clear reporting to user
- 🚪 This is the setup step - get everything ready for validation
## EXECUTION PROTOCOLS:
- 🎯 Discover and confirm PRD to validate
- 💾 Load PRD and all input documents from frontmatter
- 📖 Initialize validation report next to PRD
- 🚫 FORBIDDEN to load next step until user confirms setup
## CONTEXT BOUNDARIES:
- Available context: PRD path (user-specified or discovered), workflow configuration
- Focus: Document discovery and setup only
- Limits: Don't perform validation, don't skip discovery
- Dependencies: Configuration loaded from PRD workflow.md initialization
## MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
### 1. Load PRD Purpose and Standards
Load and read the complete file at:
`{prdPurpose}`
This file contains the BMAD PRD philosophy, standards, and validation criteria that will guide all validation checks. Internalize this understanding - it defines what makes a great BMAD PRD.
### 2. Discover PRD to Validate
**If PRD path provided as invocation parameter:**
- Use provided path
**If no PRD path provided:**
**PRD Validation Workflow**
Which PRD would you like to validate?
Please provide the path to the PRD file you want to validate.
**Wait for user to provide PRD path.**
### 3. Validate PRD Exists and Load
Once PRD path is provided:
- Check if PRD file exists at specified path
- If not found: "I cannot find a PRD at that path. Please check the path and try again."
- If found: Load the complete PRD file including frontmatter
### 4. Extract Frontmatter and Input Documents
From the loaded PRD frontmatter, extract:
- `inputDocuments: []` array (if present)
- Any other relevant metadata (classification, date, etc.)
**If no inputDocuments array exists:**
Note this and proceed with PRD-only validation
### 5. Load Input Documents
For each document listed in `inputDocuments`:
- Attempt to load the document
- Track successfully loaded documents
- Note any documents that fail to load
**Build list of loaded input documents:**
- Product Brief (if present)
- Research documents (if present)
- Other reference materials (if present)
### 6. Ask About Additional Reference Documents
**I've loaded the following documents from your PRD frontmatter:**
{list loaded documents with file names}
**Are there any additional reference documents you'd like me to include in this validation?**
These could include:
- Additional research or context documents
- Project documentation not tracked in frontmatter
- Standards or compliance documents
- Competitive analysis or benchmarks
Please provide paths to any additional documents, or type 'none' to proceed.
**Load any additional documents provided by user.**
### 7. Initialize Validation Report
Create validation report at: `{validationReportPath}`
**Initialize with frontmatter:**
```yaml
---
validationTarget: '{prd_path}'
validationDate: '{current_date}'
inputDocuments: [list of all loaded documents]
validationStepsCompleted: []
validationStatus: IN_PROGRESS
---
```
**Initial content:**
```markdown
# PRD Validation Report
**PRD Being Validated:** {prd_path}
**Validation Date:** {current_date}
## Input Documents
{list all documents loaded for validation}
## Validation Findings
[Findings will be appended as validation progresses]
```
### 8. Present Discovery Summary
**Setup Complete!**
**PRD to Validate:** {prd_path}
**Input Documents Loaded:**
- PRD: {prd_name} ✓
- Product Brief: {count} {if count > 0}✓{else}(none found){/if}
- Research: {count} {if count > 0}✓{else}(none found){/if}
- Additional References: {count} {if count > 0}✓{else}(none){/if}
**Validation Report:** {validationReportPath}
**Ready to begin validation.**
### 9. Present MENU OPTIONS
Display:
**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Format Detection
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- User can ask questions or add more documents - always respond and redisplay menu
#### Menu Handling Logic:
- IF A: Read fully and follow: {advancedElicitationTask}, and when finished redisplay the menu
- IF P: Read fully and follow: {partyModeWorkflow}, and when finished redisplay the menu
- IF C: Read fully and follow: {nextStepFile} to begin format detection
- IF user provides additional document: Load it, update report, redisplay summary
- IF Any other: help user, then redisplay menu
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- PRD path discovered and confirmed
- PRD file exists and loads successfully
- All input documents from frontmatter loaded
- Additional reference documents (if any) loaded
- Validation report initialized next to PRD
- User clearly informed of setup status
- Menu presented and user input handled correctly
### ❌ SYSTEM FAILURE:
- Proceeding with non-existent PRD file
- Not loading input documents from frontmatter
- Creating validation report in wrong location
- Proceeding without user confirming setup
- Not handling missing input documents gracefully
**Master Rule:** Complete discovery and setup BEFORE validation. This step ensures everything is in place for systematic validation checks.