Skip to content

fix(bmm): remove output_folder semantic override in Phase 4 workflows #1602

@alexeyv

Description

@alexeyv

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:

  1. src/bmm/workflows/4-implementation/code-review/workflow.yaml (line 15)

    • Change: output_folder: "{implementation_artifacts}"output_folder: "{config_source}:output_folder"
  2. src/bmm/workflows/4-implementation/create-story/workflow.yaml (line 12)

    • Change: output_folder: "{implementation_artifacts}"output_folder: "{config_source}:output_folder"
  3. 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)
  4. src/bmm/workflows/4-implementation/correct-course/workflow.yaml (line 15)

    • Change: output_folder: "{implementation_artifacts}"output_folder: "{config_source}:output_folder"
  5. 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.yamloutput_folder: "{config_source}:output_folder"
  • sprint-status/workflow.yamloutput_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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions