From 04ad0b501984433641f03e82e2bd3c72f21a73d9 Mon Sep 17 00:00:00 2001 From: Jonah Schulte Date: Thu, 1 Jan 2026 14:15:18 -0500 Subject: [PATCH] fix: use epic-specific tracking files for parallel epic processing - Change tracking file from `.autonomous-epic-progress.yaml` to `.autonomous-epic-progress-epic-{{epic_num}}.yaml` - Prevents race conditions when multiple epics run in parallel - Each epic now maintains isolated tracking state - Updates: README.md, instructions.xml (4 locations), workflow.yaml Resolves issue where parallel epic processing would stomp on shared tracking file causing data loss and synchronization issues --- .../workflows/4-implementation/autonomous-epic/README.md | 5 ++++- .../4-implementation/autonomous-epic/instructions.xml | 8 ++++---- .../4-implementation/autonomous-epic/workflow.yaml | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/modules/bmm/workflows/4-implementation/autonomous-epic/README.md b/src/modules/bmm/workflows/4-implementation/autonomous-epic/README.md index 714a14c9..23dc9e37 100644 --- a/src/modules/bmm/workflows/4-implementation/autonomous-epic/README.md +++ b/src/modules/bmm/workflows/4-implementation/autonomous-epic/README.md @@ -265,7 +265,10 @@ Next Steps: ### Progress File -Autonomous epic maintains state in `.autonomous-epic-progress.yaml`: +Autonomous epic maintains state in `.autonomous-epic-progress-epic-{{epic_num}}.yaml`: + +> **Note:** Each epic gets its own tracking file to support parallel epic processing. +> For example: `.autonomous-epic-progress-epic-02.yaml` for epic 02. ```yaml epic_num: 2 diff --git a/src/modules/bmm/workflows/4-implementation/autonomous-epic/instructions.xml b/src/modules/bmm/workflows/4-implementation/autonomous-epic/instructions.xml index fdf572cf..a1f20d11 100644 --- a/src/modules/bmm/workflows/4-implementation/autonomous-epic/instructions.xml +++ b/src/modules/bmm/workflows/4-implementation/autonomous-epic/instructions.xml @@ -184,7 +184,7 @@ 📝 Staying on current branch: {{current_branch}} (parallel epic mode) - Initialize progress tracking file: + Initialize progress tracking file at: .autonomous-epic-progress-epic-{{epic_num}}.yaml - epic_num - started timestamp - total_stories @@ -319,7 +319,7 @@ Increment success_count - Update progress file + Update progress file: .autonomous-epic-progress-epic-{{epic_num}}.yaml @@ -332,7 +332,7 @@ Progress: {{success_count}} ✅ | {{failure_count}} ❌ | {{remaining}} pending - Update progress file status: complete + Update progress file status to complete: .autonomous-epic-progress-epic-{{epic_num}}.yaml @@ -382,7 +382,7 @@ Update sprint-status: epic-{{epic_num}} = "done" - Remove progress file + Remove progress file: .autonomous-epic-progress-epic-{{epic_num}}.yaml diff --git a/src/modules/bmm/workflows/4-implementation/autonomous-epic/workflow.yaml b/src/modules/bmm/workflows/4-implementation/autonomous-epic/workflow.yaml index fac0862a..2d65c579 100644 --- a/src/modules/bmm/workflows/4-implementation/autonomous-epic/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/autonomous-epic/workflow.yaml @@ -13,7 +13,7 @@ story_dir: "{implementation_artifacts}" # Workflow components installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/autonomous-epic" instructions: "{installed_path}/instructions.xml" -progress_file: "{story_dir}/.autonomous-epic-progress.yaml" +progress_file: "{story_dir}/.autonomous-epic-progress-epic-{epic_num}.yaml" # Variables epic_num: "" # User provides or auto-discover next epic