Skip to content

Commit db95d2c

Browse files
authored
Merge pull request #4 from stephenleo/bad-v1.2.0-audit
feat(bad): v1.2.0 — watchdog integration, 7-step pipeline, consistency audit
2 parents 922c6ce + 44bce85 commit db95d2c

File tree

17 files changed

+588
-161
lines changed

17 files changed

+588
-161
lines changed

.claude-plugin/marketplace.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"name": "bmad-bad",
2525
"source": "./",
2626
"description": "Autonomous development orchestrator for the BMad Method. Runs fully autonomous parallel multi-agent pipelines through the full story lifecycle (create → dev → review → PR) driven by your sprint backlog and dependency graph.",
27-
"version": "1.1.0",
27+
"version": "1.2.0",
2828
"author": { "name": "Marie Stephen Leo" },
2929
"skills": [
3030
"./skills/bad"

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ Once your epics and stories are planned, BAD takes over:
1212

1313
1. *(`MODEL_STANDARD` subagent)* Builds a dependency graph from your sprint backlog — maps story dependencies, syncs GitHub PR status, and identifies what's ready to work on
1414
2. Picks ready stories from the graph, respecting epic ordering and dependencies
15-
3. Runs up to `MAX_PARALLEL_STORIES` stories simultaneously — each in its own isolated git worktree — each through a sequential 5-step pipeline:
15+
3. Runs up to `MAX_PARALLEL_STORIES` stories simultaneously — each in its own isolated git worktree — each through a sequential 7-step pipeline:
1616
- **Step 1** *(`MODEL_STANDARD` subagent)*`bmad-create-story`: generates and validates the story spec
17-
- **Step 2** *(`MODEL_STANDARD` subagent)*`bmad-dev-story`: implements the code
18-
- **Step 3** *(`MODEL_QUALITY` subagent)*`bmad-code-review`: reviews and fixes the implementation
19-
- **Step 4** *(`MODEL_STANDARD` subagent)* — commit, push, open PR, monitor CI, fix any failing checks
20-
- **Step 5** *(`MODEL_STANDARD` subagent)* — PR code review: reviews diff, applies fixes, pushes clean
17+
- **Step 2** *(`MODEL_STANDARD` subagent)*`bmad-testarch-atdd`: generates failing acceptance tests
18+
- **Step 3** *(`MODEL_STANDARD` subagent)*`bmad-dev-story`: implements the code
19+
- **Step 4** *(`MODEL_STANDARD` subagent)*`bmad-testarch-test-review`: reviews test quality, applies fixes
20+
- **Step 5** *(`MODEL_QUALITY` subagent)*`bmad-code-review`: reviews and fixes the implementation
21+
- **Step 6** *(`MODEL_STANDARD` subagent)* — commit, push, open PR, monitor CI, fix any failing checks
22+
- **Step 7** *(`MODEL_STANDARD` subagent)* — PR code review: reviews diff, applies fixes, pushes clean
2123
4. *(`MODEL_STANDARD` subagent)* Optionally auto-merges batch PRs sequentially (lowest story number first), resolving any conflicts
2224
5. Waits, then loops back for the next batch — until the entire sprint is done
2325

@@ -91,6 +93,7 @@ BAD is configured at install time (`/bad setup`) and stores settings in the `bad
9193
| `WAIT_TIMER_SECONDS` | `3600` | Wait between batches |
9294
| `RETRO_TIMER_SECONDS` | `600` | Delay before auto-retrospective |
9395
| `CONTEXT_COMPACTION_THRESHOLD` | `80` | Context window % at which to compact context |
96+
| `STALE_TIMEOUT_MINUTES` | `60` | Minutes of subagent inactivity before watchdog alerts (0 = disabled) |
9497
| `TIMER_SUPPORT` | `true` | Use native platform timers; `false` for prompt-based continuation |
9598
| `MONITOR_SUPPORT` | `true` | Use the Monitor tool for CI/PR-merge polling; `false` for Bedrock/Vertex/Foundry |
9699
| `API_FIVE_HOUR_THRESHOLD` | `80` | (Claude Code) 5-hour usage % at which to pause |

docs/index.md

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -68,36 +68,40 @@ Run with optional runtime overrides:
6868
Once your epics and stories are planned, BAD takes over:
6969
7070
1. *(`MODEL_STANDARD` subagent)* Builds a dependency graph from your sprint backlog — maps story dependencies, syncs GitHub PR status, and identifies what's ready to work on
71-
2. Picks ready stories from the graph, respecting epic ordering and dependencies
72-
3. Runs up to `MAX_PARALLEL_STORIES` stories simultaneously — each in its own isolated git worktree — each through a sequential 5-step pipeline. **Every step runs in a dedicated subagent with a fresh context window**, keeping the coordinator lean and each agent fully focused on its single task:
71+
2. Picks ready stories from the graph, respecting epic ordering and dependencies; runs a blocking epic-level test design step (`bmad-testarch-test-design`) once when starting each new epic
72+
3. Runs up to `MAX_PARALLEL_STORIES` stories simultaneously — each in its own isolated git worktree — each through a sequential 7-step pipeline. **Every step runs in a dedicated subagent with a fresh context window**, keeping the coordinator lean and each agent fully focused on its single task:
7373
- **Step 1** *(`MODEL_STANDARD` subagent)*`bmad-create-story`: generates and validates the story spec
74-
- **Step 2** *(`MODEL_STANDARD` subagent)*`bmad-dev-story`: implements the code
75-
- **Step 3** *(`MODEL_QUALITY` subagent)*`bmad-code-review`: reviews and fixes the implementation
76-
- **Step 4** *(`MODEL_STANDARD` subagent)* — commit, push, open PR, monitor CI, fix any failing checks
77-
- **Step 5** *(`MODEL_STANDARD` subagent)* — PR code review: reviews diff, applies fixes, pushes clean
74+
- **Step 2** *(`MODEL_STANDARD` subagent)*`bmad-testarch-atdd`: generates failing acceptance tests
75+
- **Step 3** *(`MODEL_STANDARD` subagent)*`bmad-dev-story`: implements the code
76+
- **Step 4** *(`MODEL_STANDARD` subagent)*`bmad-testarch-test-review`: reviews test quality, applies fixes
77+
- **Step 5** *(`MODEL_QUALITY` subagent)*`bmad-code-review`: reviews and fixes the implementation
78+
- **Step 6** *(`MODEL_STANDARD` subagent)* — commit, push, open PR, monitor CI, fix any failing checks
79+
- **Step 7** *(`MODEL_STANDARD` subagent)* — PR code review: reviews diff, applies fixes, pushes clean
7880
4. *(`MODEL_STANDARD` subagent)* Optionally auto-merges batch PRs sequentially (lowest story number first), resolving any conflicts
79-
5. Waits, then loops back for the next batch — until the entire sprint is done
81+
5. On epic completion, optionally runs a retrospective (`bmad-retrospective`) after a `RETRO_TIMER_SECONDS` countdown — the user can trigger it early, skip it, or stop BAD
82+
6. Waits, then loops back for the next batch — until the entire sprint is done
8083

8184
## Configuration
8285

8386
BAD is configured at install time (`/bad setup`) and stores settings in the `bad:` section of `_bmad/config.yaml`. All values can be overridden at runtime with `KEY=VALUE` args.
8487

85-
| Variable | Config Key | Default | Description |
86-
|---|---|---|---|
87-
| `MAX_PARALLEL_STORIES` | `max_parallel_stories` | `3` | Stories to run per batch |
88-
| `WORKTREE_BASE_PATH` | `worktree_base_path` | `.worktrees` | Base directory for per-story git worktrees (relative to repo root) |
89-
| `MODEL_STANDARD` | `model_standard` | `sonnet` | Model for create, dev, and PR steps |
90-
| `MODEL_QUALITY` | `model_quality` | `opus` | Model for code review step |
91-
| `AUTO_PR_MERGE` | `auto_pr_merge` | `false` | Auto-merge PRs sequentially after each batch |
92-
| `RUN_CI_LOCALLY` | `run_ci_locally` | `false` | Run CI locally instead of GitHub Actions |
93-
| `WAIT_TIMER_SECONDS` | `wait_timer_seconds` | `3600` | Seconds to wait between batches |
94-
| `RETRO_TIMER_SECONDS` | `retro_timer_seconds` | `600` | Seconds before auto-retrospective after epic completion |
95-
| `CONTEXT_COMPACTION_THRESHOLD` | `context_compaction_threshold` | `80` | Context window % at which to compact context |
96-
| `TIMER_SUPPORT` | `timer_support` | `true` | Use native platform timers; `false` for prompt-based continuation |
97-
| `MONITOR_SUPPORT` | `monitor_support` | `true` | Use the Monitor tool for CI/PR-merge polling; `false` for Bedrock/Vertex/Foundry |
98-
| `API_FIVE_HOUR_THRESHOLD` | `api_five_hour_threshold` | `80` | (Claude Code) 5-hour usage % at which to pause |
99-
| `API_SEVEN_DAY_THRESHOLD` | `api_seven_day_threshold` | `95` | (Claude Code) 7-day usage % at which to pause |
100-
| `API_USAGE_THRESHOLD` | `api_usage_threshold` | `80` | (Other harnesses) Generic usage % at which to pause |
88+
| Variable | Default | Description |
89+
|---|---|---|
90+
| `MAX_PARALLEL_STORIES` | `3` | Stories to run per batch |
91+
| `WORKTREE_BASE_PATH` | `.worktrees` | Base directory for per-story git worktrees (relative to repo root) |
92+
| `MODEL_STANDARD` | `sonnet` | Model for create, ATDD, dev, test review, and PR steps |
93+
| `MODEL_QUALITY` | `opus` | Model for code review step |
94+
| `AUTO_PR_MERGE` | `false` | Auto-merge PRs sequentially after each batch |
95+
| `RUN_CI_LOCALLY` | `false` | Run CI locally instead of GitHub Actions |
96+
| `WAIT_TIMER_SECONDS` | `3600` | Seconds to wait between batches |
97+
| `RETRO_TIMER_SECONDS` | `600` | Seconds before auto-retrospective after epic completion |
98+
| `CONTEXT_COMPACTION_THRESHOLD` | `80` | Context window % at which to compact context |
99+
| `STALE_TIMEOUT_MINUTES` | `60` | Minutes of subagent inactivity before watchdog alerts (0 = disabled) |
100+
| `TIMER_SUPPORT` | `true` | Use native platform timers; `false` for prompt-based continuation |
101+
| `MONITOR_SUPPORT` | `true` | Use the Monitor tool for CI/PR-merge polling; `false` for Bedrock/Vertex/Foundry |
102+
| `API_FIVE_HOUR_THRESHOLD` | `80` | (Claude Code) 5-hour usage % at which to pause |
103+
| `API_SEVEN_DAY_THRESHOLD` | `95` | (Claude Code) 7-day usage % at which to pause |
104+
| `API_USAGE_THRESHOLD` | `80` | (Other harnesses) Generic usage % at which to pause |
101105

102106
## Agent Harness Support
103107

0 commit comments

Comments
 (0)