Problem
Config defines output_folder as the root output dir (e.g., _bmad-output/). Five Phase 4 workflows override it to {implementation_artifacts}, which silently changes the variable's meaning and makes it unreliable for referencing files at the root level like project-context.md.
Config hierarchy:
output_folder = {project-root}/_bmad-output (ROOT — from core config)
├── planning_artifacts = {output_folder}/planning-artifacts
└── implementation_artifacts = {output_folder}/implementation-artifacts
Fix
Change overrides to correctly reference config, matching the pattern already used by dev-story and sprint-status.
Files to edit:
-
src/bmm/workflows/4-implementation/code-review/workflow.yaml (line 15)
- Change:
output_folder: "{implementation_artifacts}" → output_folder: "{config_source}:output_folder"
-
src/bmm/workflows/4-implementation/create-story/workflow.yaml (line 12)
- Change:
output_folder: "{implementation_artifacts}" → output_folder: "{config_source}:output_folder"
-
src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml (line 12)
- Change:
output_folder: "{implementation_artifacts}" → output_folder: "{config_source}:output_folder"
- ALSO fix lines 46-47:
{output_folder}/*epic*.md → {planning_artifacts}/*epic*.md
(The override was causing epics to be searched in implementation_artifacts instead of planning_artifacts — a latent bug)
-
src/bmm/workflows/4-implementation/correct-course/workflow.yaml (line 15)
- Change:
output_folder: "{implementation_artifacts}" → output_folder: "{config_source}:output_folder"
-
src/bmm/workflows/4-implementation/retrospective/workflow.yaml (line 7)
- Change:
output_folder: "{config_source}:implementation_artifacts}" → output_folder: "{config_source}:output_folder"
- (Also fixes existing typo: extra closing brace)
Already correct (no changes needed):
dev-story/workflow.yaml — output_folder: "{config_source}:output_folder"
sprint-status/workflow.yaml — output_folder: "{config_source}:output_folder"
Impact check
None of the 5 workflows use {output_folder} in their instruction files or default_output_file. They all use {implementation_artifacts} directly for their artifact paths. The only {output_folder} usage in Phase 4 instructions is sprint-planning's input_file_patterns (being fixed to {planning_artifacts}).
Verification
- Grep for
output_folder.*implementation_artifacts in Phase 4 workflow.yaml files — should be zero
- Grep for
{output_folder} in Phase 4 files — all remaining usages should make sense with root meaning
- Run
npm test
Problem
Config defines
output_folderas the root output dir (e.g.,_bmad-output/). Five Phase 4 workflows override it to{implementation_artifacts}, which silently changes the variable's meaning and makes it unreliable for referencing files at the root level likeproject-context.md.Config hierarchy:
Fix
Change overrides to correctly reference config, matching the pattern already used by dev-story and sprint-status.
Files to edit:
src/bmm/workflows/4-implementation/code-review/workflow.yaml(line 15)output_folder: "{implementation_artifacts}"→output_folder: "{config_source}:output_folder"src/bmm/workflows/4-implementation/create-story/workflow.yaml(line 12)output_folder: "{implementation_artifacts}"→output_folder: "{config_source}:output_folder"src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml(line 12)output_folder: "{implementation_artifacts}"→output_folder: "{config_source}:output_folder"{output_folder}/*epic*.md→{planning_artifacts}/*epic*.md(The override was causing epics to be searched in implementation_artifacts instead of planning_artifacts — a latent bug)
src/bmm/workflows/4-implementation/correct-course/workflow.yaml(line 15)output_folder: "{implementation_artifacts}"→output_folder: "{config_source}:output_folder"src/bmm/workflows/4-implementation/retrospective/workflow.yaml(line 7)output_folder: "{config_source}:implementation_artifacts}"→output_folder: "{config_source}:output_folder"Already correct (no changes needed):
dev-story/workflow.yaml—output_folder: "{config_source}:output_folder"sprint-status/workflow.yaml—output_folder: "{config_source}:output_folder"Impact check
None of the 5 workflows use
{output_folder}in their instruction files ordefault_output_file. They all use{implementation_artifacts}directly for their artifact paths. The only{output_folder}usage in Phase 4 instructions is sprint-planning'sinput_file_patterns(being fixed to{planning_artifacts}).Verification
output_folder.*implementation_artifactsin Phase 4 workflow.yaml files — should be zero{output_folder}in Phase 4 files — all remaining usages should make sense with root meaningnpm test