From 949d818db8d95ba6eb96d85a9ddf51a990c121c4 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Tue, 21 Oct 2025 18:41:40 -0500 Subject: [PATCH] sprint status story location relative --- docs/sprint-status.yaml | 37 ++++++++----- .../sprint-planning/instructions.md | 55 ++++++++++++------- .../sprint-status-template.yaml | 25 +++++---- .../sprint-planning/workflow.yaml | 3 +- 4 files changed, 76 insertions(+), 44 deletions(-) diff --git a/docs/sprint-status.yaml b/docs/sprint-status.yaml index 14e91906..805db916 100644 --- a/docs/sprint-status.yaml +++ b/docs/sprint-status.yaml @@ -1,21 +1,26 @@ -# Sprint Status - Generated 2025-10-20 -# Project: MyPlantFamily -# Project Key: MyPlantFamily -# Language: English -# -# TRACKING SYSTEM: -# ================ -# System: file-system -# Story Location: /Users/brianmadison/dev/BMAD-METHOD/docs/stories -# +# generated: 2025-10-21 +# project: MyPlantFamily +# project_key: MyPlantFamily +# tracking_system: file-system +# story_location: {project-root}/docs/stories + # STATUS DEFINITIONS: # ================== # Epic Status: -# Epic: backlog → contexted +# - backlog: Epic exists in epic file but not contexted +# - contexted: Epic tech context created (required before drafting stories) +# # Story Status: -# Story: backlog → drafted → ready-for-dev → in-progress → review → done +# - backlog: Story only exists in epic file +# - drafted: Story file created in stories folder +# - ready-for-dev: Draft approved and story context created +# - in-progress: Developer actively working on implementation +# - review: Under SM review (via review-story workflow) +# - done: Story completed +# # Retrospective Status: -# Retrospective: optional → completed +# - optional: Can be completed but not required +# - completed: Retrospective has been done # # WORKFLOW NOTES: # =============== @@ -24,6 +29,12 @@ # - SM typically drafts next story after previous one is 'done' to incorporate learnings # - Dev moves story to 'review', SM reviews, then Dev moves to 'done' +generated: 2025-10-21 +project: MyPlantFamily +project_key: MyPlantFamily +tracking_system: file-system +story_location: "{project-root}/docs/stories" + development_status: # Epic 1: Foundation & Core Plant Management epic-1: backlog diff --git a/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md b/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md index 38dc854b..8745eb04 100644 --- a/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md @@ -56,12 +56,12 @@ development_status: **Story file detection:** -- Check: `{story_location}/{story-key}.md` (e.g., `stories/1-1-user-authentication.md`) +- Check: `{story_location_absolute}/{story-key}.md` (e.g., `stories/1-1-user-authentication.md`) - If exists → upgrade status to at least `drafted` **Story context detection:** -- Check: `{story_location}/{story-key}-context.md` (e.g., `stories/1-1-user-authentication-context.md`) +- Check: `{story_location_absolute}/{story-key}-context.md` (e.g., `stories/1-1-user-authentication-context.md`) - If exists → upgrade status to at least `ready-for-dev` **Preservation rule:** @@ -79,37 +79,54 @@ development_status: Create or update {status_file} with: -**File Header:** +**File Structure:** ```yaml -# Sprint Status - Generated {date} -# Project: {project_name} -# Project Key: {project_key} -# Language: {document_output_language} -# -# TRACKING SYSTEM: -# ================ -# System: {tracking_system} -# Story Location: {story_location} -# +# generated: {date} +# project: {project_name} +# project_key: {project_key} +# tracking_system: {tracking_system} +# story_location: {story_location} + # STATUS DEFINITIONS: # ================== # Epic Status: -# Epic: backlog → contexted +# - backlog: Epic exists in epic file but not contexted +# - contexted: Epic tech context created (required before drafting stories) +# # Story Status: -# Story: backlog → drafted → ready-for-dev → in-progress → review → done +# - backlog: Story only exists in epic file +# - drafted: Story file created in stories folder +# - ready-for-dev: Draft approved and story context created +# - in-progress: Developer actively working on implementation +# - review: Under SM review (via review-story workflow) +# - done: Story completed +# # Retrospective Status: -# Retrospective: optional → completed -``` +# - optional: Can be completed but not required +# - completed: Retrospective has been done +# +# WORKFLOW NOTES: +# =============== +# - Epics should be 'contexted' before stories can be 'drafted' +# - Stories can be worked in parallel if team capacity allows +# - SM typically drafts next story after previous one is 'done' to incorporate learnings +# - Dev moves story to 'review', SM reviews, then Dev moves to 'done' -**Development Status Section:** +generated: { date } +project: { project_name } +project_key: { project_key } +tracking_system: { tracking_system } +story_location: { story_location } -```yaml development_status: # All epics, stories, and retrospectives in order ``` Write the complete sprint status YAML to {status_file} +CRITICAL: For story_location field, write the variable value EXACTLY as defined in workflow.yaml: "{project-root}/docs/stories" +CRITICAL: Do NOT resolve {project-root} to an absolute path - keep it as the literal string "{project-root}/docs/stories" +CRITICAL: Metadata appears TWICE - once as comments (#) for documentation, once as YAML key:value fields for parsing Ensure all items are ordered: epic, its stories, its retrospective, next epic... diff --git a/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml b/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml index a00d48fc..3e314127 100644 --- a/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +++ b/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml @@ -1,17 +1,13 @@ # Sprint Status Template # This is an EXAMPLE showing the expected format # The actual file will be generated with all epics/stories from your epic files -# -# Generated: {date} -# Project: {project_name} -# Project Key: {project_key} -# Language: {document_output_language} -# -# TRACKING SYSTEM: -# ================ -# System: {tracking_system} -# Story Location: {story_location} -# + +# generated: {date} +# project: {project_name} +# project_key: {project_key} +# tracking_system: {tracking_system} +# story_location: {story_location} + # STATUS DEFINITIONS: # ================== # Epic Status: @@ -38,6 +34,13 @@ # - Dev moves story to 'review', SM reviews, then Dev moves to 'done' # EXAMPLE STRUCTURE (your actual epics/stories will replace these): + +generated: 05-06-2-2025 21:30 +project: My Awesome Project +project_key: jira-1234 +tracking_system: file-system +story_location: "{project-root}/docs/stories" + development_status: epic-1: contexted 1-1-user-authentication: done diff --git a/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml b/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml index 47bfeaaa..015a8f18 100644 --- a/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml @@ -24,7 +24,8 @@ variables: # Tracking system configuration tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello - story_location: "{config_source}:dev_story_location" # File path for file-system, Future will support URL for Jira/Linear/Trello + story_location: "{project-root}/docs/stories" # Relative path for file-system, Future will support URL for Jira/Linear/Trello + story_location_absolute: "{config_source}:dev_story_location" # Absolute path for file operations # Source files (file-system only) epics_location: "{output_folder}" # Directory containing epic*.md files