@ikunin/sprintpilot 2.2.26 → 2.2.27

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.
@@ -1,6 +1,6 @@
1
1
  addon:
2
2
  name: sprintpilot
3
- version: 2.2.26
3
+ version: 2.2.27
4
4
  description: Sprintpilot — autopilot and multi-agent addon for BMad Method (git workflow, parallel agents, autonomous story execution)
5
5
  bmad_compatibility: ">=6.2.0"
6
6
  modules:
@@ -148,11 +148,11 @@ bookkeeping you'd otherwise be tempted to skip:
148
148
  | Phase | Bookkeeping that MUST be true before you signal `success` |
149
149
  |---|---|
150
150
  | `prepare_story_branch` | Every step in `action.steps` exited 0 — HEAD is on `action.branch` (verify with `git rev-parse --abbrev-ref HEAD`). Emitted only when `git.granularity ∈ {story, epic}` AND `git.reuse_user_branch=false`. Under `reuse_user_branch=true` this phase is skipped — the user-locked branch is detected at cmdStart instead. |
151
- | `create_story` | Story file has `## Acceptance Criteria` (1 bullet) AND a `## Tasks` (or `## Tasks/Subtasks`) section with at least one `[ ]` or `[x]` checkbox. |
152
- | `dev_red` / `dev_green` | Test files exist on disk; runner exit codes match the phase contract; `tests_run` matches the runner's count. |
153
- | `code_review` | `_bmad-output/reviews/<story_key>.md` exists; `findings[]` carries `{id, severity, category, action: 'block'\|'patch'\|'defer', rationale}` for every finding. |
151
+ | `create_story` | Story file has an Acceptance Criteria section (heading level 2-4: `##`/`###`/`####`; title `Acceptance Criteria` or `AC`) with at least one list entry (`-`, `*`, or numbered `1.` / `1)`) AND a `## Tasks` (or `## Tasks/Subtasks`) section with at least one `[ ]` or `[x]` checkbox. v2.2.25+ relaxed cosmetic variants. |
152
+ | `dev_red` / `dev_green` | Test files exist on disk; runner exit codes match the phase contract; `tests_run` matches the runner's count. If `test_files` is omitted (v2.2.17+), the verifier auto-detects them from `git diff` + untracked files filtered by language convention. If `tests_run` is omitted (v2.2.21/22+), the runner's count is accepted. Relative paths are resolved against `projectRoot` (v2.2.18+). |
153
+ | `code_review` | Findings recorded in any of: (a) `### Review Findings` section in the story file (what `bmad-code-review` actually writes), (b) `_bmad-output/reviews/<story_key>.md` (legacy), or (c) `_bmad-output/implementation-artifacts/code-review-<story_key>.md` (older repos). `findings[]` carries `{id, severity, category, action: 'block'\|'patch'\|'defer', rationale}` for every finding. v2.2.17+ accepts all three locations. |
154
154
  | `patch_apply` | Every `patch_finding` id present in `state.patch_findings` is included in `applied_finding_ids`. |
155
- | `story_done` (and `nano_quick_dev`) | sprint-status.yaml shows this story as `done` (under `development_status.<story_key>` or inline). Story file has zero remaining `[ ]` task boxes — dev-story is responsible for flipping them to `[x]`. `commit_sha` and `branch` reported; `story_key` matches. **`git_steps_completed: true` in success output** — set this ONLY after every step in `action.steps` (the orchestrator's decorated git plan: `git add`, `git commit`, `git push -u origin <branch>`) has exited 0. Skipping `git push` and reporting success leaves the branch unpushed and trips this check. |
155
+ | `story_done` (and `nano_quick_dev`) | sprint-status.yaml shows this story as `done` (under `development_status.<story_key>` or inline). Story file has zero remaining `[ ]` task boxes — dev-story is responsible for flipping them to `[x]`. `commit_sha` and `branch` reported; `story_key` matches. **`git_steps_completed: true` in success output** — set this ONLY after every step in `action.steps` (the orchestrator's decorated git plan: `git add`, `git commit`, `git push -u origin <branch>`) has exited 0. If the flag is omitted, v2.2.17+ verifies the underlying git state directly: probes `git cat-file -e <commit_sha>` AND `git ls-remote --heads origin <branch>` — when both succeed and match, the signal is accepted. The flag remains the canonical signal; the probe is a recovery path. |
156
156
  | `retrospective` | `_bmad-output/retrospectives/<epic>.md` exists. |
157
157
 
158
158
  Skipping any of these — even when the code is "obviously done" — produces
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikunin/sprintpilot",
3
- "version": "2.2.26",
3
+ "version": "2.2.27",
4
4
  "description": "Sprintpilot — autopilot and multi-agent addon for BMad Method v6: git workflow, parallel agents, autonomous story execution",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {