diff --git a/README.md b/README.md
index 6e1f3a9b0..8a461b602 100644
--- a/README.md
+++ b/README.md
@@ -69,6 +69,15 @@ Products, platforms, complex features — structured planning then build:
Every step tells you what's next. Optional phases (brainstorming, research, UX design) are available when you need them — ask `/bmad-help` anytime. For a detailed walkthrough, see the [Getting Started Tutorial](http://docs.bmad-method.org/tutorials/getting-started/).
+### Workflow Path Resolution
+
+BMad workflow/task files often reference placeholders such as `{project-root}` and installed paths like `{project-root}/_bmad/...`.
+
+- In installed projects, `{project-root}` resolves to the consuming repository root where BMAD is installed.
+- `_bmad/...` paths point to the installed BMAD runtime content in that repository.
+- In this source repository, equivalent source files typically live under `src/...`.
+- When a workflow must run directly from source (without install), use explicit `src/...` paths in that workflow step.
+
## Modules
BMad Method extends with official modules for specialized domains. Modules are available during installation and can be added to your project at any time. After the V6 beta period these will also be available as Plugins and Granular Skills.
diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md b/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md
index ae3f954dd..29b70b1f3 100644
--- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md
+++ b/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md
@@ -6,7 +6,7 @@ description: 'Document Discovery & Confirmation - Handle fresh context validatio
nextStepFile: './step-v-02-format-detection.md'
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.md'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
-prdPurpose: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md'
+prdPurpose: '../data/prd-purpose.md'
---
# Step 1: Document Discovery & Confirmation
diff --git a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md
index 6b74fc0fb..1dfb52dd1 100644
--- a/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md
+++ b/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md
@@ -30,7 +30,7 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
-- When 'A' selected: Read fully and follow: {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.md
+- When 'A' selected: Read fully and follow: src/core/workflows/advanced-elicitation/workflow.md
- When 'P' selected: Read fully and follow: {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
diff --git a/src/bmm/workflows/4-implementation/code-review/steps/step-03-execute-review.md b/src/bmm/workflows/4-implementation/code-review/steps/step-03-execute-review.md
index 48672c205..6ca2f3896 100644
--- a/src/bmm/workflows/4-implementation/code-review/steps/step-03-execute-review.md
+++ b/src/bmm/workflows/4-implementation/code-review/steps/step-03-execute-review.md
@@ -2,16 +2,29 @@
name: 'step-03-execute-review'
description: 'Execute full adversarial review and record actionable findings'
nextStepFile: './step-04-present-and-resolve.md'
+reviewFindingsFile: '{story_dir}/review-findings.json'
---
VALIDATE EVERY CLAIM - Check git reality vs story claims
+ Every issue MUST be captured using the structured findings contract below
+
+ Initialize findings artifacts:
+ - Set {{review_findings}} = [] (in-memory array)
+ - Set {{review_findings_file}} = {reviewFindingsFile}
+ - Each finding record MUST contain:
+ id, severity, type, summary, detail, file_line, proof, suggested_fix, reviewer, timestamp
+ - `file_line` format MUST be `path/to/file:line`
+ - `reviewer` value MUST be `senior-dev-review`
+ - `timestamp` MUST use system ISO datetime
+
Review git vs story File List discrepancies:
1. **Files changed but not in story File List** → MEDIUM finding (incomplete documentation)
2. **Story lists files but no git changes** → HIGH finding (false claims)
3. **Uncommitted changes not documented** → MEDIUM finding (transparency issue)
+ For every discrepancy, append a finding object to {{review_findings}}.
@@ -21,8 +34,29 @@ nextStepFile: './step-04-present-and-resolve.md'
For EACH Acceptance Criterion:
1. Read the AC requirement
2. Search implementation files for evidence
- 3. Determine: IMPLEMENTED, PARTIAL, or MISSING
- 4. If MISSING/PARTIAL → HIGH SEVERITY finding
+ 3. Determine: IMPLEMENTED, PARTIAL, or MISSING using this algorithm:
+ - IMPLEMENTED:
+ - Direct code evidence exists for ALL AC clauses, and
+ - At least one corroborating test OR deterministic runtime verification exists, and
+ - Any docs/comments are supported by code/test evidence.
+ - PARTIAL:
+ - Some AC clauses have direct implementation evidence but one or more clauses are missing OR only indirectly covered, or
+ - Evidence is helper/utility code not clearly wired to the story path, or
+ - Evidence is docs/comments only without strong corroboration.
+ - MISSING:
+ - No credible code/test/docs evidence addresses the AC clauses.
+ 4. Evidence-strength rules:
+ - Code + tests = strong evidence
+ - Code only = medium evidence
+ - Docs/comments/README only = weak evidence (cannot justify IMPLEMENTED alone)
+ 5. Indirect evidence rules:
+ - Generic helpers/utilities count as PARTIAL unless explicitly wired by call sites OR integration tests.
+ 6. Severity mapping for AC gaps:
+ - MISSING critical-path AC → HIGH
+ - MISSING non-critical AC → MEDIUM
+ - PARTIAL critical-path AC → HIGH
+ - PARTIAL non-critical AC → MEDIUM
+ 7. If AC is PARTIAL or MISSING, append a finding object to {{review_findings}}.
@@ -31,6 +65,7 @@ nextStepFile: './step-04-present-and-resolve.md'
2. Search files for evidence it was actually done
3. **CRITICAL**: If marked [x] but NOT DONE → CRITICAL finding
4. Record specific proof (file:line)
+ 5. Append finding object to {{review_findings}} when mismatch is found
@@ -40,6 +75,7 @@ nextStepFile: './step-04-present-and-resolve.md'
3. **Error Handling**: Missing try/catch, poor error messages
4. **Code Quality**: Complex functions, magic numbers, poor naming
5. **Test Quality**: Are tests real assertions or placeholders?
+ 6. For each issue, append finding object to {{review_findings}}
@@ -54,6 +90,27 @@ nextStepFile: './step-04-present-and-resolve.md'
Find at least 3 more specific, actionable issues
+
+ Persist findings contract for downstream step:
+ - Save {{review_findings}} as JSON array to {{review_findings_file}}
+ - Ensure JSON is valid and each finding includes all required fields
+ - Set {{findings_contract}} = "JSON array at {{review_findings_file}}"
+
+
+ Example finding record (must match real records):
+ {
+ "id": "AC-003-MISSING-001",
+ "severity": "HIGH",
+ "type": "acceptance-criteria",
+ "summary": "AC-3 missing null-check in API handler",
+ "detail": "Endpoint accepts null payload despite AC requiring rejection with 400.",
+ "file_line": "src/api/handler.ts:87",
+ "proof": "No guard before dereference; test suite lacks AC-3 rejection test.",
+ "suggested_fix": "Add null guard + 400 response and add regression test in test/api/handler.test.ts.",
+ "reviewer": "senior-dev-review",
+ "timestamp": "2026-02-08T00:00:00.000Z"
+ }
+
## Next
diff --git a/src/bmm/workflows/4-implementation/code-review/steps/step-04-present-and-resolve.md b/src/bmm/workflows/4-implementation/code-review/steps/step-04-present-and-resolve.md
index d3e23bc78..87df0d1ab 100644
--- a/src/bmm/workflows/4-implementation/code-review/steps/step-04-present-and-resolve.md
+++ b/src/bmm/workflows/4-implementation/code-review/steps/step-04-present-and-resolve.md
@@ -2,9 +2,15 @@
name: 'step-04-present-and-resolve'
description: 'Present findings and either apply fixes or create follow-up action items'
nextStepFile: './step-05-update-status.md'
+reviewFindingsFile: '{story_dir}/review-findings.json'
---
+ Load structured findings from {reviewFindingsFile}
+ Validate findings schema for each entry:
+ id, severity, type, summary, detail, file_line, proof, suggested_fix, reviewer, timestamp
+
+ If findings file missing or malformed: HALT with explicit error and return to step 3 generation
Categorize findings: HIGH (must fix), MEDIUM (should fix), LOW (nice to fix)
Set {{fixed_count}} = 0
Set {{action_count}} = 0
diff --git a/src/bmm/workflows/4-implementation/correct-course/workflow.md b/src/bmm/workflows/4-implementation/correct-course/workflow.md
index f6cfff26a..9b0149e75 100644
--- a/src/bmm/workflows/4-implementation/correct-course/workflow.md
+++ b/src/bmm/workflows/4-implementation/correct-course/workflow.md
@@ -17,7 +17,7 @@ web_bundle: false
- `project_knowledge`
- `sprint_status` = `{implementation_artifacts}/sprint-status.yaml`
- `date` (system-generated)
- - `installed_path` = `{project-root}/_bmad/bmm/workflows/4-implementation/correct-course`
+ - `installed_path` = `src/bmm/workflows/4-implementation/correct-course`
- `default_output_file` = `{planning_artifacts}/sprint-change-proposal-{date}.md`
@@ -28,6 +28,6 @@ web_bundle: false
- Validate against checklist at {installed_path}/checklist.md using _bmad/core/tasks/validate-workflow.md
+ Validate against checklist at {installed_path}/checklist.md using src/core/tasks/validate-workflow.md
diff --git a/src/bmm/workflows/4-implementation/create-story/instructions.xml b/src/bmm/workflows/4-implementation/create-story/instructions.xml
index 2a8d6ce5f..e10d70cf1 100644
--- a/src/bmm/workflows/4-implementation/create-story/instructions.xml
+++ b/src/bmm/workflows/4-implementation/create-story/instructions.xml
@@ -310,7 +310,7 @@
- Validate against checklist at {installed_path}/checklist.md using _bmad/core/tasks/validate-workflow.md
+ Validate against checklist at {installed_path}/checklist.md using src/core/tasks/validate-workflow.md
Save story document unconditionally
diff --git a/src/bmm/workflows/4-implementation/dev-story/steps/step-02-load-context.md b/src/bmm/workflows/4-implementation/dev-story/steps/step-02-load-context.md
index 8a480efbd..30ef4f6a6 100644
--- a/src/bmm/workflows/4-implementation/dev-story/steps/step-02-load-context.md
+++ b/src/bmm/workflows/4-implementation/dev-story/steps/step-02-load-context.md
@@ -8,8 +8,25 @@ nextStepFile: './step-03-detect-review-continuation.md'
Load all available context to inform implementation
Load {project_context} for coding standards and project-wide patterns (if exists)
- Parse sections: Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Dev Agent Record, File List, Change Log, Status
- Load comprehensive context from story file's Dev Notes section
+ Validate story source before parsing:
+ - Verify story file exists and is readable
+ - If missing/unreadable: emit explicit error and HALT
+
+ Parse and validate required sections: Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Dev Agent Record, File List, Status
+ - If section missing, empty, or malformed: emit explicit error with section name and HALT
+ - Dev Notes is CRITICAL and MUST be present with non-empty actionable content
+
+ Parse and validate optional section: Change Log
+ - If missing/empty: create warning and continue with safe default ("No prior change log entries")
+
+ Validate structure before extraction:
+ - Story: identifiable title + narrative structure
+ - Acceptance Criteria: parseable list/numbered clauses
+ - Tasks/Subtasks: checkbox task format with stable task boundaries
+ - Dev Agent Record/File List/Status: parseable heading + body content
+ - If malformed structure prevents reliable parsing: emit explicit error and HALT
+
+ Load comprehensive context from story file's Dev Notes section ONLY after validation passes
Extract developer guidance from Dev Notes: architecture requirements, previous learnings, technical specifications
Use enhanced story context to inform implementation decisions and approaches