fix: restore workflow input contracts after md migration

This commit is contained in:
Dicky Moore 2026-02-08 16:33:34 +00:00
parent d87d654af7
commit c1484c3dcc
7 changed files with 106 additions and 1 deletions

View File

@ -3,6 +3,22 @@ name: code-review
description: "Perform an adversarial senior developer code review with concrete findings across quality, tests, architecture, security, and performance"
main_config: '{project-root}/_bmad/bmm/config.yaml'
web_bundle: false
input_file_patterns:
architecture:
description: "System architecture for review context"
whole: "{planning_artifacts}/*architecture*.md"
sharded: "{planning_artifacts}/*architecture*/*.md"
load_strategy: "FULL_LOAD"
ux_design:
description: "UX design specification (if UI review)"
whole: "{planning_artifacts}/*ux*.md"
sharded: "{planning_artifacts}/*ux*/*.md"
load_strategy: "FULL_LOAD"
epics:
description: "Epic and story requirements for review context"
whole: "{planning_artifacts}/*epic*.md"
sharded: "{planning_artifacts}/*epic*/*.md"
load_strategy: "FULL_LOAD"
---
# Code Review Workflow

View File

@ -3,6 +3,35 @@ name: correct-course
description: "Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation"
main_config: '{project-root}/_bmad/bmm/config.yaml'
web_bundle: false
input_file_patterns:
prd:
description: "Product requirements for impact analysis"
whole: "{planning_artifacts}/*prd*.md"
sharded: "{planning_artifacts}/*prd*/*.md"
load_strategy: "FULL_LOAD"
epics:
description: "All epics to analyze change impact"
whole: "{planning_artifacts}/*epic*.md"
sharded: "{planning_artifacts}/*epic*/*.md"
load_strategy: "FULL_LOAD"
architecture:
description: "System architecture and decisions"
whole: "{planning_artifacts}/*architecture*.md"
sharded: "{planning_artifacts}/*architecture*/*.md"
load_strategy: "FULL_LOAD"
ux_design:
description: "UX design specification (if UI impacts)"
whole: "{planning_artifacts}/*ux*.md"
sharded: "{planning_artifacts}/*ux*/*.md"
load_strategy: "FULL_LOAD"
tech_spec:
description: "Technical specification"
whole: "{planning_artifacts}/*tech-spec*.md"
load_strategy: "FULL_LOAD"
document_project:
description: "Brownfield project documentation (optional)"
sharded: "{project_knowledge}/index.md"
load_strategy: "INDEX_GUIDED"
---
## Initialization

View File

@ -3,6 +3,28 @@ name: create-story
description: "Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking"
main_config: '{project-root}/_bmad/bmm/config.yaml'
web_bundle: false
input_file_patterns:
prd:
description: "PRD (fallback - epics file should have most content)"
whole: "{planning_artifacts}/*prd*.md"
sharded: "{planning_artifacts}/*prd*/*.md"
load_strategy: "SELECTIVE_LOAD"
architecture:
description: "Architecture (fallback - epics file should have relevant sections)"
whole: "{planning_artifacts}/*architecture*.md"
sharded: "{planning_artifacts}/*architecture*/*.md"
load_strategy: "SELECTIVE_LOAD"
ux:
description: "UX design (fallback - epics file should have relevant sections)"
whole: "{planning_artifacts}/*ux*.md"
sharded: "{planning_artifacts}/*ux*/*.md"
load_strategy: "SELECTIVE_LOAD"
epics:
description: "Enhanced epics+stories file with BDD and source hints"
whole: "{planning_artifacts}/*epic*.md"
sharded_index: "{planning_artifacts}/*epic*/index.md"
sharded_single: "{planning_artifacts}/*epic*/epic-{{epic_num}}.md"
load_strategy: "SELECTIVE_LOAD"
---
## Initialization

View File

@ -3,6 +3,32 @@ name: retrospective
description: "Run after epic completion to review overall success, extract lessons learned, and surface impact on upcoming work"
main_config: '{project-root}/_bmad/bmm/config.yaml'
web_bundle: false
agent_manifest: '{project-root}/_bmad/_config/agent-manifest.csv'
input_file_patterns:
epics:
description: "The completed epic for retrospective"
whole: "{planning_artifacts}/*epic*.md"
sharded_index: "{planning_artifacts}/*epic*/index.md"
sharded_single: "{planning_artifacts}/*epic*/epic-{{epic_num}}.md"
load_strategy: "SELECTIVE_LOAD"
previous_retrospective:
description: "Previous epic's retrospective (optional)"
pattern: "{implementation_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md"
load_strategy: "SELECTIVE_LOAD"
architecture:
description: "System architecture for context"
whole: "{planning_artifacts}/*architecture*.md"
sharded: "{planning_artifacts}/*architecture*/*.md"
load_strategy: "FULL_LOAD"
prd:
description: "Product requirements for context"
whole: "{planning_artifacts}/*prd*.md"
sharded: "{planning_artifacts}/*prd*/*.md"
load_strategy: "FULL_LOAD"
document_project:
description: "Brownfield project documentation (optional)"
sharded: "{planning_artifacts}/*.md"
load_strategy: "INDEX_GUIDED"
---
## Initialization
@ -14,6 +40,7 @@ web_bundle: false
- `user_skill_level`
- `planning_artifacts`
- `implementation_artifacts`
- `agent_manifest` = `{project-root}/_bmad/_config/agent-manifest.csv`
- `sprint_status_file` = `{implementation_artifacts}/sprint-status.yaml`
- `story_directory` = `{implementation_artifacts}`
- `retrospectives_folder` = `{implementation_artifacts}`

View File

@ -3,6 +3,14 @@ name: sprint-planning
description: "Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle"
main_config: '{project-root}/_bmad/bmm/config.yaml'
web_bundle: false
epics_location: "{planning_artifacts}"
epics_pattern: "epic*.md"
input_file_patterns:
epics:
description: "All epics with user stories"
whole: "{epics_location}/{epics_pattern}"
sharded: "{epics_location}/epic*/*.md"
load_strategy: "FULL_LOAD"
---
## Initialization
@ -14,6 +22,8 @@ web_bundle: false
- `planning_artifacts`
- `project_name`
- `date` (system-generated)
- `epics_location` = `{planning_artifacts}`
- `epics_pattern` = `epic*.md`
- `installed_path` = `{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning`
- `status_file` = `{implementation_artifacts}/sprint-status.yaml`
- `default_output_file` = `{status_file}`

View File

@ -28,7 +28,7 @@ When called during template workflow processing:
<workflow>
<step n="1" title="Method Registry Loading">
<action>Load and read {{methods}} and {{agent-party}}</action>
<action>Load and read {{methods}} and {{agent_manifest}}</action>
<csv-structure>
<i>category: Method grouping (core, structural, risk, etc.)</i>

View File

@ -58,6 +58,7 @@ test('bmm-style.csv: extracts workflow-file refs with trailing commas', () => {
const { fullPath, content } = loadFixture('valid/bmm-style.csv');
const refs = extractCsvRefs(fullPath, content);
assert(refs.length === 2, `Expected 2 refs, got ${refs.length}`);
// Keep this legacy .yaml reference to verify backward-compatible CSV parsing.
assert(refs[0].raw === '_bmad/bmm/workflows/document-project/workflow.yaml', `Wrong raw[0]: ${refs[0].raw}`);
assert(refs[1].raw === '_bmad/core/workflows/brainstorming/workflow.md', `Wrong raw[1]: ${refs[1].raw}`);
assert(refs[0].type === 'project-root', `Wrong type: ${refs[0].type}`);