bmad-auto-copilot 1.2.3 → 1.2.4
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
package/templates/bmad-loop.sh
CHANGED
|
@@ -286,6 +286,13 @@ get_story_state_by_key() {
|
|
|
286
286
|
| sed 's/[[:space:]]*$//'
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
+
get_story_state_token() {
|
|
290
|
+
local raw_state="$1"
|
|
291
|
+
|
|
292
|
+
# Extract leading canonical token (letters/hyphen), normalize to lowercase.
|
|
293
|
+
echo "$raw_state" | sed -E 's/^[[:space:]]*([A-Za-z-]+).*$/\1/' | tr '[:upper:]' '[:lower:]'
|
|
294
|
+
}
|
|
295
|
+
|
|
289
296
|
# ============================================================
|
|
290
297
|
# GIT COMMIT
|
|
291
298
|
# ============================================================
|
|
@@ -393,11 +400,17 @@ for ((iteration=1; iteration<=MAX_ITERATIONS; iteration++)); do
|
|
|
393
400
|
log "[WARN] Could not determine review story key; skipping auto-commit this iteration" "yellow"
|
|
394
401
|
else
|
|
395
402
|
current_state=$(get_story_state_by_key "$review_story_key")
|
|
396
|
-
|
|
403
|
+
current_state_token=$(get_story_state_token "$current_state")
|
|
404
|
+
|
|
405
|
+
if [[ "$current_state_token" != "$current_state" ]]; then
|
|
406
|
+
log "[WARN] Non-canonical sprint status value for $review_story_key: '$current_state' (parsed token: '$current_state_token')" "yellow"
|
|
407
|
+
fi
|
|
408
|
+
|
|
409
|
+
if [[ "$current_state_token" == "done" ]]; then
|
|
397
410
|
log "[VERIFIED] Story $review_story_key confirmed DONE" "green"
|
|
398
411
|
invoke_git_commit "$review_story_key"
|
|
399
412
|
else
|
|
400
|
-
log "[RETRY] Story $review_story_key still in '$current_state' (not done) — will retry next iteration" "yellow"
|
|
413
|
+
log "[RETRY] Story $review_story_key still in '$current_state' (token: '$current_state_token', not done) — will retry next iteration" "yellow"
|
|
401
414
|
fi
|
|
402
415
|
fi
|
|
403
416
|
;;
|
|
@@ -38,6 +38,8 @@ Based on review outcome:
|
|
|
38
38
|
- If ALL HIGH and MEDIUM issues are fixed AND all ACs implemented: update status from `review` to `done`
|
|
39
39
|
- If issues remain unfixable: update status from `review` to `in-progress` (will re-enter dev cycle)
|
|
40
40
|
- Preserve ALL comments and structure in `_bmad-output/implementation-artifacts/sprint-status.yaml`
|
|
41
|
+
- The status value MUST be a literal token only: exactly `done` or `in-progress` (never prose, counts, or summaries)
|
|
42
|
+
- After saving, re-read the same story entry and verify the value is exactly `done` or `in-progress`; if not, correct it immediately and save again
|
|
41
43
|
|
|
42
44
|
## Rules
|
|
43
45
|
- Use best judgment for ALL decisions — never ask the user
|
|
@@ -46,3 +48,4 @@ Based on review outcome:
|
|
|
46
48
|
- Document issues you cannot auto-fix in the story file
|
|
47
49
|
- All tests must pass after any fixes
|
|
48
50
|
- Follow the workflow checklist to verify completeness
|
|
51
|
+
- NEVER write explanatory text into sprint status values; write explanations only in story Dev Agent Record / Change Log
|