bmad-method 6.2.1-next.20 → 6.2.1-next.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-method",
4
- "version": "6.2.1-next.20",
4
+ "version": "6.2.1-next.21",
5
5
  "description": "Breakthrough Method of Agile AI-driven Development",
6
6
  "keywords": [
7
7
  "agile",
@@ -2,6 +2,7 @@
2
2
  diff_output: '' # set at runtime
3
3
  spec_file: '' # set at runtime (path or empty)
4
4
  review_mode: '' # set at runtime: "full" or "no-spec"
5
+ story_key: '' # set at runtime when discovered from sprint status
5
6
  ---
6
7
 
7
8
  # Step 1: Gather Context
@@ -23,8 +24,8 @@ review_mode: '' # set at runtime: "full" or "no-spec"
23
24
  - When multiple phrases match, prefer the most specific match (e.g., "branch diff" over bare "diff").
24
25
  - **If a clear match is found:** Announce the detected mode (e.g., "Detected intent: review staged changes only") and proceed directly to constructing `{diff_output}` using the corresponding sub-case from instruction 3. Skip to instruction 4 (spec question).
25
26
  - **If no match from invocation text, check sprint tracking.** Look for a sprint status file (`*sprint-status*`) in `{implementation_artifacts}` or `{planning_artifacts}`. If found, scan for any story with status `review`. Handle as follows:
26
- - **Exactly one `review` story:** Suggest it: "I found story {{story-id}} in `review` status. Would you like to review its changes? [Y] Yes / [N] No, let me choose". If confirmed, use the story context to determine the diff source (branch name derived from story slug, or uncommitted changes). If declined, fall through to instruction 2.
27
- - **Multiple `review` stories:** Present them as numbered options alongside a manual choice option. Wait for user selection. Then use the selected story's context to determine the diff source as in the single-story case above, and proceed to instruction 3.
27
+ - **Exactly one `review` story:** Set `{story_key}` to the story's key (e.g., `1-2-user-auth`). Suggest it: "I found story {{story-id}} in `review` status. Would you like to review its changes? [Y] Yes / [N] No, let me choose". If confirmed, use the story context to determine the diff source (branch name derived from story slug, or uncommitted changes). If declined, clear `{story_key}` and fall through to instruction 2.
28
+ - **Multiple `review` stories:** Present them as numbered options alongside a manual choice option. Wait for user selection. If the user selects a story, set `{story_key}` to the selected story's key and use the selected story's context to determine the diff source as in the single-story case above, and proceed to instruction 3. If the user selects the manual choice, clear `{story_key}` and fall through to instruction 2.
28
29
  - **If no match and no sprint tracking:** Fall through to instruction 2.
29
30
 
30
31
  2. HALT. Ask the user: **What do you want to review?** Present these options:
@@ -14,7 +14,7 @@ deferred_work_file: '{implementation_artifacts}/deferred-work.md'
14
14
 
15
15
  ### 1. Clean review shortcut
16
16
 
17
- If zero findings remain after triage (all dismissed or none raised): state that and end the workflow.
17
+ If zero findings remain after triage (all dismissed or none raised): state that and proceed to section 6 (Sprint Status Update).
18
18
 
19
19
  ### 2. Write findings to the story file
20
20
 
@@ -82,3 +82,48 @@ If `{spec_file}` is **not** set, present only options 1 and 3 (omit option 2 —
82
82
  - Patches handled: <P>
83
83
  - Deferred: <W>
84
84
  - Dismissed: <R>
85
+
86
+ ### 6. Update story status and sync sprint tracking
87
+
88
+ Skip this section if `{spec_file}` is not set.
89
+
90
+ #### Determine new status based on review outcome
91
+
92
+ - If all `decision-needed` and `patch` findings were resolved (fixed or dismissed) AND no unresolved HIGH/MEDIUM issues remain: set `{new_status}` = `done`. Update the story file Status section to `done`.
93
+ - If `patch` findings were left as action items, or unresolved issues remain: set `{new_status}` = `in-progress`. Update the story file Status section to `in-progress`.
94
+
95
+ Save the story file.
96
+
97
+ #### Sync sprint-status.yaml
98
+
99
+ If `{story_key}` is not set, skip this subsection and note that sprint status was not synced because no story key was available.
100
+
101
+ If `{sprint_status}` file exists:
102
+
103
+ 1. Load the FULL `{sprint_status}` file.
104
+ 2. Find the `development_status` entry matching `{story_key}`.
105
+ 3. If found: update `development_status[{story_key}]` to `{new_status}`. Update `last_updated` to current date. Save the file, preserving ALL comments and structure including STATUS DEFINITIONS.
106
+ 4. If `{story_key}` not found in sprint status: warn the user that the story file was updated but sprint-status sync failed.
107
+
108
+ If `{sprint_status}` file does not exist, note that story status was updated in the story file only.
109
+
110
+ #### Completion summary
111
+
112
+ > **Review Complete!**
113
+ >
114
+ > **Story Status:** `{new_status}`
115
+ > **Issues Fixed:** <fixed_count>
116
+ > **Action Items Created:** <action_count>
117
+ > **Deferred:** <W>
118
+ > **Dismissed:** <R>
119
+
120
+ ### 7. Next steps
121
+
122
+ Present the user with follow-up options:
123
+
124
+ > **What would you like to do next?**
125
+ > 1. **Start the next story** — run `dev-story` to pick up the next `ready-for-dev` story
126
+ > 2. **Re-run code review** — address findings and review again
127
+ > 3. **Done** — end the workflow
128
+
129
+ **HALT** — I am waiting for your choice. Do not proceed until the user selects an option.
@@ -44,6 +44,7 @@ Load and read full config from `{main_config}` and resolve:
44
44
  - `project_name`, `planning_artifacts`, `implementation_artifacts`, `user_name`
45
45
  - `communication_language`, `document_output_language`, `user_skill_level`
46
46
  - `date` as system-generated current datetime
47
+ - `sprint_status` = `{implementation_artifacts}/sprint-status.yaml`
47
48
  - `project_context` = `**/project-context.md` (load if exists)
48
49
  - CLAUDE.md / memory files (load if exist)
49
50