Compare commits

..

3 Commits

Author SHA1 Message Date
Alex Verkhovsky 8008897fe9
Merge branch 'main' into fix/code-review-sprint-status-update 2026-03-20 10:49:52 -06:00
Alex Verkhovsky e50e1ebdc2 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) <noreply@anthropic.com>
2026-03-20 10:35:53 -06:00
dependabot[bot] 4b2389231f
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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
2026-03-20 01:13:25 -06:00
3 changed files with 9 additions and 5 deletions

6
package-lock.json generated
View File

@ -7230,9 +7230,9 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/h3": { "node_modules/h3": {
"version": "1.15.5", "version": "1.15.8",
"resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz", "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.8.tgz",
"integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==", "integrity": "sha512-iOH6Vl8mGd9nNfu9C0IZ+GuOAfJHcyf3VriQxWaSWIB76Fg4BnFuk4cxBxjmQSSxJS664+pgjP6e7VBnUzFfcg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {

View File

@ -25,7 +25,7 @@ story_key: '' # set at runtime when discovered from sprint status
- **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 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: - **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:** 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. - **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. Set `{story_key}` to the selected story's key. Then use the selected story's context to determine the diff source as in the single-story case above, and proceed to instruction 3. - **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. - **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: 2. HALT. Ask the user: **What do you want to review?** Present these options:

View File

@ -85,7 +85,7 @@ If `{spec_file}` is **not** set, present only options 1 and 3 (omit option 2 —
### 6. Update story status and sync sprint tracking ### 6. Update story status and sync sprint tracking
Skip this section if `{spec_file}` is not set or `{story_key}` is not set. Skip this section if `{spec_file}` is not set.
#### Determine new status based on review outcome #### Determine new status based on review outcome
@ -96,6 +96,8 @@ Save the story file.
#### Sync sprint-status.yaml #### 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: If `{sprint_status}` file exists:
1. Load the FULL `{sprint_status}` file. 1. Load the FULL `{sprint_status}` file.
@ -123,3 +125,5 @@ Present the user with follow-up options:
> 1. **Start the next story** — run `dev-story` to pick up the next `ready-for-dev` story > 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 > 2. **Re-run code review** — address findings and review again
> 3. **Done** — end the workflow > 3. **Done** — end the workflow
**HALT** — I am waiting for your choice. Do not proceed until the user selects an option.