From 4b2389231f7633428c7fc2b1eba0ff876c9d7dff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Mar 2026 01:13:25 -0600 Subject: [PATCH 1/2] chore(deps): bump h3 from 1.15.5 to 1.15.8 (#2064) Bumps [h3](https://github.com/h3js/h3) from 1.15.5 to 1.15.8. - [Release notes](https://github.com/h3js/h3/releases) - [Changelog](https://github.com/h3js/h3/blob/main/CHANGELOG.md) - [Commits](https://github.com/h3js/h3/compare/v1.15.5...v1.15.8) --- updated-dependencies: - dependency-name: h3 dependency-version: 1.15.8 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alex Verkhovsky --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7f889240f..bcbfedb40 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7230,9 +7230,9 @@ "license": "ISC" }, "node_modules/h3": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz", - "integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==", + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.8.tgz", + "integrity": "sha512-iOH6Vl8mGd9nNfu9C0IZ+GuOAfJHcyf3VriQxWaSWIB76Fg4BnFuk4cxBxjmQSSxJS664+pgjP6e7VBnUzFfcg==", "dev": true, "license": "MIT", "dependencies": { From 182550407cb8d2b9bd2353b88f7b15c00326aac6 Mon Sep 17 00:00:00 2001 From: Alex Verkhovsky Date: Fri, 20 Mar 2026 10:56:08 -0600 Subject: [PATCH 2/2] fix(code-review): update sprint-status to done after review completes (#2074) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(code-review): update sprint-status to done after review completes The code-review workflow ended without updating sprint-status.yaml from "review" to "done", leaving stories stuck in review status. The dev-story workflow implies code-review handles this transition but it was dropped during the v6.2.0 step-file architecture refactor. - Add sprint_status path to workflow initialization - Track story_key in step-01 when discovered from sprint status - Add step-04 section 6 to update sprint-status.yaml and story file - Add step-04 section 7 with next-step options Closes #2043 Co-Authored-By: Claude Opus 4.6 (1M context) * fix(code-review): address PR review findings — split gating, story_key guard, HALT - Split section 6 guard: story file status gated on spec_file only, sprint-status sync sub-gated on story_key separately - Add conditional branch for manual choice in multi-story path so story_key is cleared when user declines a story selection - Add HALT directive after Next steps menu to prevent LLM runaway Co-Authored-By: Claude Opus 4.6 (1M context) --------- Co-authored-by: Claude Opus 4.6 (1M context) --- .../steps/step-01-gather-context.md | 5 +- .../bmad-code-review/steps/step-04-present.md | 47 ++++++++++++++++++- .../bmad-code-review/workflow.md | 1 + 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/src/bmm-skills/4-implementation/bmad-code-review/steps/step-01-gather-context.md b/src/bmm-skills/4-implementation/bmad-code-review/steps/step-01-gather-context.md index d00d4edb8..3678d069b 100644 --- a/src/bmm-skills/4-implementation/bmad-code-review/steps/step-01-gather-context.md +++ b/src/bmm-skills/4-implementation/bmad-code-review/steps/step-01-gather-context.md @@ -2,6 +2,7 @@ diff_output: '' # set at runtime spec_file: '' # set at runtime (path or empty) review_mode: '' # set at runtime: "full" or "no-spec" +story_key: '' # set at runtime when discovered from sprint status --- # Step 1: Gather Context @@ -23,8 +24,8 @@ review_mode: '' # set at runtime: "full" or "no-spec" - When multiple phrases match, prefer the most specific match (e.g., "branch diff" over bare "diff"). - **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). - **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: - - **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. - - **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. + - **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. + - **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. - **If no match and no sprint tracking:** Fall through to instruction 2. 2. HALT. Ask the user: **What do you want to review?** Present these options: diff --git a/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md b/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md index 799f05fe9..c495d4981 100644 --- a/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md +++ b/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md @@ -14,7 +14,7 @@ deferred_work_file: '{implementation_artifacts}/deferred-work.md' ### 1. Clean review shortcut -If zero findings remain after triage (all dismissed or none raised): state that and end the workflow. +If zero findings remain after triage (all dismissed or none raised): state that and proceed to section 6 (Sprint Status Update). ### 2. Write findings to the story file @@ -82,3 +82,48 @@ If `{spec_file}` is **not** set, present only options 1 and 3 (omit option 2 — - Patches handled:

- Deferred: - Dismissed: + +### 6. Update story status and sync sprint tracking + +Skip this section if `{spec_file}` is not set. + +#### Determine new status based on review outcome + +- 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`. +- 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`. + +Save the story file. + +#### Sync sprint-status.yaml + +If `{story_key}` is not set, skip this subsection and note that sprint status was not synced because no story key was available. + +If `{sprint_status}` file exists: + +1. Load the FULL `{sprint_status}` file. +2. Find the `development_status` entry matching `{story_key}`. +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. +4. If `{story_key}` not found in sprint status: warn the user that the story file was updated but sprint-status sync failed. + +If `{sprint_status}` file does not exist, note that story status was updated in the story file only. + +#### Completion summary + +> **Review Complete!** +> +> **Story Status:** `{new_status}` +> **Issues Fixed:** +> **Action Items Created:** +> **Deferred:** +> **Dismissed:** + +### 7. Next steps + +Present the user with follow-up options: + +> **What would you like to do next?** +> 1. **Start the next story** — run `dev-story` to pick up the next `ready-for-dev` story +> 2. **Re-run code review** — address findings and review again +> 3. **Done** — end the workflow + +**HALT** — I am waiting for your choice. Do not proceed until the user selects an option. diff --git a/src/bmm-skills/4-implementation/bmad-code-review/workflow.md b/src/bmm-skills/4-implementation/bmad-code-review/workflow.md index 6653e3c8a..2cad2d870 100644 --- a/src/bmm-skills/4-implementation/bmad-code-review/workflow.md +++ b/src/bmm-skills/4-implementation/bmad-code-review/workflow.md @@ -44,6 +44,7 @@ Load and read full config from `{main_config}` and resolve: - `project_name`, `planning_artifacts`, `implementation_artifacts`, `user_name` - `communication_language`, `document_output_language`, `user_skill_level` - `date` as system-generated current datetime +- `sprint_status` = `{implementation_artifacts}/sprint-status.yaml` - `project_context` = `**/project-context.md` (load if exists) - CLAUDE.md / memory files (load if exist)