---
name: 'step-v-05-measurability-validation'
description: 'Measurability Validation - Validate that all requirements (FRs and NFRs) are measurable and testable'

# File references (ONLY variables used in this step)
nextStepFile: './step-v-06-traceability-validation.md'
prdFile: '{prd_file_path}'
validationReportPath: '{validation_report_path}'
---

# Step 5: Measurability Validation

## STEP GOAL:

Validate that all Functional Requirements (FRs) and Non-Functional Requirements (NFRs) are measurable, testable, and follow proper format without implementation details.

## 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 systematic validation, not collaborative dialogue
- ✅ You bring analytical rigor and requirements engineering expertise
- ✅ This step runs autonomously - no user input needed

### Step-Specific Rules:

- 🎯 Focus ONLY on FR and NFR measurability
- 🚫 FORBIDDEN to validate other aspects in this step
- 💬 Approach: Systematic requirement-by-requirement analysis
- 🚪 This is a validation sequence step - auto-proceeds when complete

## EXECUTION PROTOCOLS:

- 🎯 Extract all FRs and NFRs from PRD
- 💾 Validate each for measurability and format
- 📖 Append findings to validation report
- 📖 Display "Proceeding to next check..." and load next step
- 🚫 FORBIDDEN to pause or request user input

## CONTEXT BOUNDARIES:

- Available context: PRD file, validation report
- Focus: FR and NFR measurability only
- Limits: Don't validate other aspects, don't pause for user input
- Dependencies: Steps 2-4 completed - initial validation checks done

## MANDATORY SEQUENCE

**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.

### 1. Attempt Sub-Process Validation

**Try to use Task tool to spawn a subprocess:**

"Perform measurability validation on this PRD:

**Functional Requirements (FRs):**
1. Extract all FRs from Functional Requirements section
2. Check each FR for:
   - '[Actor] can [capability]' format compliance
   - No subjective adjectives (easy, fast, simple, intuitive, etc.)
   - No vague quantifiers (multiple, several, some, many, etc.)
   - No implementation details (technology names, library names, data structures unless capability-relevant)
3. Document violations with line numbers

**Non-Functional Requirements (NFRs):**
1. Extract all NFRs from Non-Functional Requirements section
2. Check each NFR for:
   - Specific metrics with measurement methods
   - Template compliance (criterion, metric, measurement method, context)
   - Context included (why this matters, who it affects)
3. Document violations with line numbers

Return structured findings with violation counts and examples."

### 2. Graceful Degradation (if Task tool unavailable)

If Task tool unavailable, perform analysis directly:

**Functional Requirements Analysis:**

Extract all FRs and check each for:

**Format compliance:**
- Does it follow "[Actor] can [capability]" pattern?
- Is actor clearly defined?
- Is capability actionable and testable?

**No subjective adjectives:**
- Scan for: easy, fast, simple, intuitive, user-friendly, responsive, quick, efficient (without metrics)
- Note line numbers

**No vague quantifiers:**
- Scan for: multiple, several, some, many, few, various, number of
- Note line numbers

**No implementation details:**
- Scan for: React, Vue, Angular, PostgreSQL, MongoDB, AWS, Docker, Kubernetes, Redux, etc.
- Unless capability-relevant (e.g., "API consumers can access...")
- Note line numbers

**Non-Functional Requirements Analysis:**

Extract all NFRs and check each for:

**Specific metrics:**
- Is there a measurable criterion? (e.g., "response time < 200ms", not "fast response")
- Can this be measured or tested?

**Template compliance:**
- Criterion defined?
- Metric specified?
- Measurement method included?
- Context provided?

### 3. Tally Violations

**FR Violations:**
- Format violations: count
- Subjective adjectives: count
- Vague quantifiers: count
- Implementation leakage: count
- Total FR violations: sum

**NFR Violations:**
- Missing metrics: count
- Incomplete template: count
- Missing context: count
- Total NFR violations: sum

**Total violations:** FR violations + NFR violations

### 4. Report Measurability Findings to Validation Report

Append to validation report:

```markdown
## Measurability Validation

### Functional Requirements

**Total FRs Analyzed:** {count}

**Format Violations:** {count}
[If violations exist, list examples with line numbers]

**Subjective Adjectives Found:** {count}
[If found, list examples with line numbers]

**Vague Quantifiers Found:** {count}
[If found, list examples with line numbers]

**Implementation Leakage:** {count}
[If found, list examples with line numbers]

**FR Violations Total:** {total}

### Non-Functional Requirements

**Total NFRs Analyzed:** {count}

**Missing Metrics:** {count}
[If missing, list examples with line numbers]

**Incomplete Template:** {count}
[If incomplete, list examples with line numbers]

**Missing Context:** {count}
[If missing, list examples with line numbers]

**NFR Violations Total:** {total}

### Overall Assessment

**Total Requirements:** {FRs + NFRs}
**Total Violations:** {FR violations + NFR violations}

**Severity:** [Critical if >10 violations, Warning if 5-10, Pass if <5]

**Recommendation:**
[If Critical] "Many requirements are not measurable or testable. Requirements must be revised to be testable for downstream work."
[If Warning] "Some requirements need refinement for measurability. Focus on violating requirements above."
[If Pass] "Requirements demonstrate good measurability with minimal issues."
```

### 5. Display Progress and Auto-Proceed

Display: "**Measurability Validation Complete**

Total Violations: {count} ({severity})

**Proceeding to next validation check...**"

Immediately load and execute {nextStepFile} (step-v-06-traceability-validation.md)

---

## 🚨 SYSTEM SUCCESS/FAILURE METRICS

### ✅ SUCCESS:

- All FRs extracted and analyzed for measurability
- All NFRs extracted and analyzed for measurability
- Violations documented with line numbers
- Severity assessed correctly
- Findings reported to validation report
- Auto-proceeds to next validation step
- Subprocess attempted with graceful degradation

### ❌ SYSTEM FAILURE:

- Not analyzing all FRs and NFRs
- Missing line numbers for violations
- Not reporting findings to validation report
- Not assessing severity
- Not auto-proceeding

**Master Rule:** Requirements must be testable to be useful. Validate every requirement for measurability, document violations, auto-proceed.
