fix: restore workflow input contracts after md migration
This commit is contained in:
parent
d87d654af7
commit
c1484c3dcc
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}`
|
||||
|
|
|
|||
|
|
@ -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}`
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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}`);
|
||||
|
|
|
|||
Loading…
Reference in New Issue