From 2cf1ef1f5e611cc72e33995f1d69a02897ff996c Mon Sep 17 00:00:00 2001 From: Alex Verkhovsky Date: Thu, 9 Apr 2026 00:52:31 -0700 Subject: [PATCH] feat(quick-dev): add sprint-status sync to one-shot route Epic stories do get implemented via one-shot in practice. Add the same in-progress / review sync pair that step-03 and step-05 already have, with identical idempotency guards and skip-on-missing behavior. --- .../bmad-quick-dev/step-oneshot.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md b/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md index c9da6c288..23ebb5589 100644 --- a/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md +++ b/src/bmm-skills/4-implementation/bmad-quick-dev/step-oneshot.md @@ -13,6 +13,19 @@ deferred_work_file: '{implementation_artifacts}/deferred-work.md' ### Implement +#### Sync sprint status (start) + +Skip if `{story_key}` is unset or `{sprint_status}` does not exist on disk. Otherwise: + +1. Load the FULL `{sprint_status}` file. +2. Find the `development_status` entry matching `{story_key}`. If not found, warn once and skip. +3. Derive the parent epic key as `epic-{N}` from the leading numeric segment of `{story_key}`. +4. **Idempotency check.** If `development_status[{story_key}]` is already `in-progress` AND the parent epic is already `in-progress` or `done` (or missing), skip — no write needed. +5. Set `development_status[{story_key}]` to `in-progress`. +6. If the parent epic entry exists and is `backlog`, set it to `in-progress`. Leave it alone otherwise. +7. Refresh `last_updated` to the current date. +8. Save the file, preserving ALL comments and structure including STATUS DEFINITIONS and WORKFLOW NOTES. + Implement the clarified intent directly. ### Review @@ -39,6 +52,17 @@ Write `{spec_file}` using `./spec-template.md`. Fill only these sections — del 2. **Title and Intent** — `# {title}` heading and `## Intent` with **Problem** and **Approach** lines. Reuse the summary you already generated for the terminal. 3. **Suggested Review Order** — append after Intent. Build using the same convention as `./step-05-present.md` § "Generate Suggested Review Order" (spec-file-relative links, concern-based ordering, ultra-concise framing). +### Sync sprint status (end) + +Skip if `{story_key}` is unset or `{sprint_status}` does not exist on disk. Otherwise: + +1. Load the FULL `{sprint_status}` file. +2. Find the `development_status` entry matching `{story_key}`. If not found, warn once and skip. +3. **Idempotency check.** If `development_status[{story_key}]` is already `review` (or `done`), skip — do not regress. +4. Set `development_status[{story_key}]` to `review`. Do not touch the parent epic entry. +5. Refresh `last_updated` to the current date. +6. Save the file, preserving ALL comments and structure including STATUS DEFINITIONS and WORKFLOW NOTES. + ### Commit If version control is available and the tree is dirty, create a local commit with a conventional message derived from the intent. If VCS is unavailable, skip.