Initial commit of the L'Ami Fiduciaire SaaS platform built on Laravel 12, Vue 3, Inertia.js 2, and Tailwind CSS 4. Story 0.1 (rename folders to declarations in database) is implemented and code-reviewed: migration, rollback, and 6 Pest tests all passing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9.2 KiB
Sprint Status - Multi-Mode Service
The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml Modes: interactive (default), validate, data ⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines.
Set mode = {{mode}} if provided by caller; otherwise mode = "interactive" Jump to Step 20 Jump to Step 30 Continue to Step 1 Load {project_context} for project-wide patterns and conventions (if exists) Try {sprint_status_file} ❌ sprint-status.yaml not found. Run `/bmad:bmm:workflows:sprint-planning` to generate it, then rerun sprint-status. Exit workflow Continue to Step 2 Read the FULL file: {sprint_status_file} Parse fields: generated, project, project_key, tracking_system, story_location Parse development_status map. Classify keys: - Epics: keys starting with "epic-" (and not ending with "-retrospective") - Retrospectives: keys ending with "-retrospective" - Stories: everything else (e.g., 1-2-login-form) Map legacy story status "drafted" → "ready-for-dev" Count story statuses: backlog, ready-for-dev, in-progress, review, done Map legacy epic status "contexted" → "in-progress" Count epic statuses: backlog, in-progress, done Count retrospective statuses: optional, doneValidate all statuses against known values:
-
Valid story statuses: backlog, ready-for-dev, in-progress, review, done, drafted (legacy)
-
Valid epic statuses: backlog, in-progress, done, contexted (legacy)
-
Valid retrospective statuses: optional, done
⚠️ Unknown status detected: {{#each invalid_entries}}
{{key}}: "{{status}}" (not recognized) {{/each}}
Valid statuses:
- Stories: backlog, ready-for-dev, in-progress, review, done
- Epics: backlog, in-progress, done
- Retrospectives: optional, done How should these be corrected? {{#each invalid_entries}} {{@index}}. {{key}}: "{{status}}" → [select valid status] {{/each}}
Enter corrections (e.g., "1=in-progress, 2=backlog") or "skip" to continue without fixing: Update sprint-status.yaml with corrected values Re-parse the file with corrected statuses
Detect risks:
- IF any story has status "review": suggest
/bmad:bmm:workflows:code-review - IF any story has status "in-progress" AND no stories have status "ready-for-dev": recommend staying focused on active story
- IF all epics have status "backlog" AND no stories have status "ready-for-dev": prompt
/bmad:bmm:workflows:create-story - IF
generatedtimestamp is more than 7 days old: warn "sprint-status.yaml may be stale" - IF any story key doesn't match an epic pattern (e.g., story "5-1-..." but no "epic-5"): warn "orphaned story detected"
- IF any epic has status in-progress but has no associated stories: warn "in-progress epic has no stories"
- Project: {{project}} ({{project_key}})
- Tracking: {{tracking_system}}
- Status file: {sprint_status_file}
Stories: backlog {{count_backlog}}, ready-for-dev {{count_ready}}, in-progress {{count_in_progress}}, review {{count_review}}, done {{count_done}}
Epics: backlog {{epic_backlog}}, in-progress {{epic_in_progress}}, done {{epic_done}}
Next Recommendation: /bmad:bmm:workflows:{{next_workflow_id}} ({{next_story_id}})
{{#if risks}} Risks: {{#each risks}}
-
{{this}} {{/each}} {{/if}}
Read and parse {sprint_status_file}
Validate required metadata fields exist: generated, project, project_key, tracking_system, story_location is_valid = false error = "Missing required field(s): {{missing_fields}}" suggestion = "Re-run sprint-planning or add missing fields manually" Return
Verify development_status section exists with at least one entry is_valid = false error = "development_status missing or empty" suggestion = "Re-run sprint-planning or repair the file manually" Return
Validate all status values against known valid statuses:
- Stories: backlog, ready-for-dev, in-progress, review, done (legacy: drafted)
- Epics: backlog, in-progress, done (legacy: contexted)
- Retrospectives: optional, done is_valid = false error = "Invalid status values: {{invalid_entries}}" suggestion = "Fix invalid statuses in sprint-status.yaml" Return
is_valid = true message = "sprint-status.yaml valid: metadata complete, all statuses recognized"