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
|
@@ -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.
|
|
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
|
|
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
|
|