@devo-bmad-custom/agent-orchestration 1.0.3 → 1.0.5
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
|
@@ -902,7 +902,7 @@ Scripts are generated AT ROUTING TIME (after track selection), not at session st
|
|
|
902
902
|
> **Track override:** Small track limits AR to 1 pass regardless of this section. Medium/Large tracks follow the loop below.
|
|
903
903
|
|
|
904
904
|
- **AR passes (no findings):** Announce `"✅ AR passed."` and immediately proceed to next step — no halt.
|
|
905
|
-
- **AR finds any combination of 🟢/🟡/🔴:**
|
|
905
|
+
- **AR finds any combination of 🟢/🟡/🔴:** The review agent itself fixes ALL findings in the same pane/context (🔴 first, then 🟡, then 🟢) before reporting back. The agent reviews → fixes → re-reviews in a self-contained loop. No separate dev agent handoff. This loop is autonomous up to max 3 iterations.
|
|
906
906
|
- **AR loop max (3) reached with unresolved 🔴:** This is a halt trigger — requires user decision:
|
|
907
907
|
|
|
908
908
|
```
|
|
@@ -940,7 +940,7 @@ flowchart TD
|
|
|
940
940
|
Chain: `Quick Spec → Quick Dev → Review Gate (3 sub-agents: AR+DRY · UV · SR) → QA Tests (Playwright) → ⛔ USER APPROVAL → /prepare-to-merge`
|
|
941
941
|
|
|
942
942
|
|
|
943
|
-
**AR pass criterion (Small):** ONE pass only — no retry loop. **Small track overrides the general AR autonomous loop — 1 pass maximum regardless of general AR rules.**
|
|
943
|
+
**AR pass criterion (Small):** ONE pass only — no retry loop. **Small track overrides the general AR autonomous loop — 1 pass maximum regardless of general AR rules.** Each review sub-agent fixes ALL its own findings (🔴/🟡/🟢) in the same pane before reporting back — no separate dev agent handoff. If 🔴 persists after one fix attempt: escalate to user.
|
|
944
944
|
|
|
945
945
|
**Review gate (Small):** `review agent` in **split pane** — stays visible because a 🔴 finding may require user scope decision. Spawns 3 concurrent Gate Sub-agents (`review_type: 3-sub`): Sub-1 (architect-agent: AR+DRY), Sub-2 (ux-designer: UV), Sub-3 (security-agent: SR).
|
|
946
946
|
|
|
@@ -985,7 +985,7 @@ flowchart TD
|
|
|
985
985
|
|
|
986
986
|
Chain: `Quick Spec → Research (1–2 in-process) → UX Design → Review Gate 1 (3 sub-agents: AR+DRY · UV · SR) → Quick Dev → Final Review Gate (3 sub-agents: AR+DRY · UV · SR) → QA Tests (Playwright) → ⛔ USER APPROVAL → /prepare-to-merge`
|
|
987
987
|
|
|
988
|
-
**QA Enforcement (Medium):** Use `@playwright/test` directly
|
|
988
|
+
**QA Enforcement (Medium):** Use `@playwright/test` directly via `cd frontend && npx playwright test`. NEVER use playwright MCP tools. QA agent writes `.spec.ts` files and runs them with `npx playwright test`. If Chromium is not installed, run `npx playwright install chromium` first.
|
|
989
989
|
|
|
990
990
|
**Research step:** 1–2 in-process analyst-agent sub-agents depending on task scope. UI-heavy: one explores codebase, one researches design patterns online. Backend-only: one agent suffices. If research reveals task is infeasible or out of scope, agents report to Master Orchestrator who HALTS and presents findings to user before proceeding to Review Gate 1.
|
|
991
991
|
|
|
@@ -1075,7 +1075,7 @@ flowchart LR
|
|
|
1075
1075
|
|
|
1076
1076
|
**Epic completion condition:** All stories in the sprint plan for that epic are marked `done` AND the Review Gate has passed.
|
|
1077
1077
|
|
|
1078
|
-
**Large track 3-sub-agent epic gate autonomous loop:** All 3 Gate Sub-agents run concurrently in Mode [4], sequentially in Mode [1] (`review_type: 3-sub`): Sub-1 architect-agent (AR+DRY), Sub-2 ux-designer (UV), Sub-3 security-agent (SR).
|
|
1078
|
+
**Large track 3-sub-agent epic gate autonomous loop:** All 3 Gate Sub-agents run concurrently in Mode [4], sequentially in Mode [1] (`review_type: 3-sub`): Sub-1 architect-agent (AR+DRY), Sub-2 ux-designer (UV), Sub-3 security-agent (SR). Each sub-agent reviews AND fixes its own findings in the same pane before reporting back — no separate dev agent handoff. Re-run gate to verify. All autonomous up to 3 iterations.
|
|
1079
1079
|
|
|
1080
1080
|
**Review gate terminal (3 loops, unresolved 🔴):** Auto-escalate via [CC] Correct Course — do not halt, do not ask. Announce: `"⚠️ Review gate [{epic_slug}] — 🔴 unresolved after 3 reviews. Auto-escalating to Correct Course."` and invoke [CC] immediately.
|
|
1081
1081
|
|
|
@@ -1109,7 +1109,7 @@ Wait for explicit `[approve]` before running PTM. PTM runs in-process in the mai
|
|
|
1109
1109
|
| story-file-written | Dev Story (new dev-agent per story, split pane) |
|
|
1110
1110
|
| Dev Story | skills-detection → TDD implementation |
|
|
1111
1111
|
| TDD implementation | review agent (3 Gate Sub-agents concurrent, `review_type: 3-sub`) |
|
|
1112
|
-
| review agent (Sub-1: AR+DRY) |
|
|
1112
|
+
| review agent (Sub-1: AR+DRY) | reviews + fixes own findings (🔴/🟡/🟢) in same pane; halt ONLY if 🔴 requires user scope change |
|
|
1113
1113
|
| review agent (Sub-2: UV + Sub-3: SR) | qa-sub-agent (auto-invoked, split pane) if all pass; Dev Story if 🔴 |
|
|
1114
1114
|
| qa-sub-agent | story-done if tests pass; Dev Story with failing output if fail |
|
|
1115
1115
|
| story-done | Create Story (next backlog story) OR all-epics-complete |
|
|
@@ -1129,7 +1129,7 @@ When a story reaches `story-done` state, Master Orchestrator AUTOMATICALLY spawn
|
|
|
1129
1129
|
|
|
1130
1130
|
On QA pass: proceed to next story or Epic Retrospective. On QA failure: route back to Dev Story agent (split pane) with failing test output.
|
|
1131
1131
|
|
|
1132
|
-
**QA Enforcement (Large):** `@playwright/test` only
|
|
1132
|
+
**QA Enforcement (Large):** `@playwright/test` only via `cd frontend && npx playwright test`. NEVER use playwright MCP tools. QA sub-agent writes `.spec.ts` files and runs them with `npx playwright test`. If Chromium is not installed, run `npx playwright install chromium` first.
|
|
1133
1133
|
|
|
1134
1134
|
**Per-Story Dev Agent (Large Track):**
|
|
1135
1135
|
For large stories (3+ files or includes UX work), spawn a **new dedicated dev agent** per story in split pane:
|
|
@@ -1215,7 +1215,7 @@ flowchart TD
|
|
|
1215
1215
|
|
|
1216
1216
|
Chain: `Quick Spec → Quick Research (1 analyst, optional) → Quick Dev → Review Gate (3 sub-agents: AR+DRY · UV · SR) → QA Tests (Playwright) → ⛔ USER APPROVAL → PTM`
|
|
1217
1217
|
|
|
1218
|
-
**QA Enforcement (Compact):** Use `@playwright/test` directly
|
|
1218
|
+
**QA Enforcement (Compact):** Use `@playwright/test` directly via `cd frontend && npx playwright test`. NEVER use playwright MCP tools. QA agent writes `.spec.ts` files and runs them with `npx playwright test`. If Chromium is not installed, run `npx playwright install chromium` first.
|
|
1219
1219
|
|
|
1220
1220
|
**Research decision:** Optional — Master Orchestrator decides at QS completion:
|
|
1221
1221
|
- Unfamiliar codebase area → spawn 1 analyst (codebase exploration)
|
|
@@ -1266,7 +1266,7 @@ flowchart TD
|
|
|
1266
1266
|
|
|
1267
1267
|
Chain: `Quick Spec → Research (2 in-process) → PRD → UX Design + Arch Notes + Sprint Plan (same session) → Review Gate 1 (3 sub-agents: AR+DRY · UV · SR — reviews all plans vs PRD) → Dev (split pane) → Review Gate 2 (3 sub-agents: AR+DRY · UV · SR) → QA Tests (Playwright) → ⛔ USER APPROVAL → PTM`
|
|
1268
1268
|
|
|
1269
|
-
**QA Enforcement (Extended):** Use `@playwright/test` directly
|
|
1269
|
+
**QA Enforcement (Extended):** Use `@playwright/test` directly via `cd frontend && npx playwright test`. NEVER use playwright MCP tools. QA agent writes `.spec.ts` files and runs them with `npx playwright test`. If Chromium is not installed, run `npx playwright install chromium` first.
|
|
1270
1270
|
|
|
1271
1271
|
**Research scope:** Always 2 agents:
|
|
1272
1272
|
1. Codebase exploration agent (what files/patterns are involved?)
|
|
@@ -1507,7 +1507,7 @@ On max 3 AR iterations with unresolved 🔴 → HALT per AR escalation rules abo
|
|
|
1507
1507
|
|
|
1508
1508
|
**Step 8S:** Route `/bmad-agent-bmm-quick-flow-solo-dev` → `/bmad-bmm-quick-dev` (split pane). Fixes ALL findings (🔴 + 🟡 + 🟢) from `review-plan-{artifact_id}.md`.
|
|
1509
1509
|
|
|
1510
|
-
**Step 9S — Review Gate:** `review agent` with `review_type: 3-sub`. **AR pass rules (Small path):** 1 pass max.
|
|
1510
|
+
**Step 9S — Review Gate:** `review agent` with `review_type: 3-sub`. **AR pass rules (Small path):** 1 pass max. Each review sub-agent fixes its own findings (🔴/🟡/🟢) in the same pane before reporting back. If 🔴 persists → route back to Step 8S once. Persistent 🔴 → escalate.
|
|
1511
1511
|
|
|
1512
1512
|
**Step 10S:** QA Tests — `/bmad-agent-bmm-qa` (split pane). Playwright `.spec.ts` only.
|
|
1513
1513
|
|
|
@@ -1655,19 +1655,18 @@ Derive `artifact_id` from active `session_id` if not already set. Run ALL passes
|
|
|
1655
1655
|
|
|
1656
1656
|
**Pass 1:**
|
|
1657
1657
|
1. Route `/bmad-agent-bmm-ux-designer` with UI Review handoff context (`loop_mode: true`, `output_path: ...pass1.md`)
|
|
1658
|
-
2. ux-designer produces
|
|
1659
|
-
3.
|
|
1658
|
+
2. ux-designer reviews code, produces findings, then **fixes ALL findings itself** (🔴 first, then 🟡, then 🟢) in the same pane — no separate dev agent handoff
|
|
1659
|
+
3. ux-designer writes `ui-review-findings-{artifact_id}-pass1.md` with findings and fix status
|
|
1660
|
+
4. Conductor reads results:
|
|
1660
1661
|
- No findings → announce `"✅ UV passed in 1 pass."` → exit loop early
|
|
1661
|
-
-
|
|
1662
|
-
|
|
1663
|
-
**Auto-fix step (after each pass with ANY findings):**
|
|
1664
|
-
Route dev agent with fix list from `ui-review-findings-{artifact_id}-pass{N}.md`. Dev fixes ALL listed items (🔴 + 🟡 + 🟢) autonomously. No halts.
|
|
1662
|
+
- All findings fixed by agent → proceed to pass 2 for re-verification (if `uv_loop_max >= 2`)
|
|
1663
|
+
- Unfixable 🔴 (requires scope change) → HALT for user
|
|
1665
1664
|
|
|
1666
1665
|
**Pass 2** (if `uv_loop_max >= 2` AND pass 1 had findings):
|
|
1667
|
-
Re-run ux-designer. Write `ui-review-findings-{artifact_id}-pass2.md`.
|
|
1666
|
+
Re-run ux-designer to verify fixes landed. Agent re-reviews, fixes any regressions or remaining items. Write `ui-review-findings-{artifact_id}-pass2.md`.
|
|
1668
1667
|
|
|
1669
1668
|
**Pass 3** (if `uv_loop_max = 3` AND pass 2 had findings):
|
|
1670
|
-
Re-run ux-designer. Write `ui-review-findings-{artifact_id}-pass3.md`.
|
|
1669
|
+
Re-run ux-designer. Final verification pass. Write `ui-review-findings-{artifact_id}-pass3.md`.
|
|
1671
1670
|
|
|
1672
1671
|
**After final pass OR early exit on 🟢-only:**
|
|
1673
1672
|
- Write canonical: `ui-review-findings-{artifact_id}.md` (copy of last pass file)
|
|
@@ -1797,19 +1796,18 @@ Derive `artifact_id` from active `session_id` if not already set. Run ALL passes
|
|
|
1797
1796
|
|
|
1798
1797
|
**Pass 1:**
|
|
1799
1798
|
1. Route `/bmad-agent-bmm-architect` with DRY Review handoff context (`output_path: ...pass1.md`)
|
|
1800
|
-
2. architect-agent produces
|
|
1801
|
-
3.
|
|
1799
|
+
2. architect-agent reviews code, produces findings, then **fixes ALL findings itself** (🔴 first, then 🟡, then 🟢) in the same pane — no separate dev agent handoff
|
|
1800
|
+
3. architect-agent writes `dry-review-findings-{artifact_id}-pass1.md` with findings and fix status
|
|
1801
|
+
4. Conductor reads results:
|
|
1802
1802
|
- No findings → announce `"✅ DRY passed in 1 pass."` → exit loop early
|
|
1803
|
-
-
|
|
1804
|
-
|
|
1805
|
-
**Auto-fix step (after each pass with ANY findings):**
|
|
1806
|
-
Route dev agent with fix list. Dev fixes ALL listed items (🔴 + 🟡 + 🟢) autonomously. No halts.
|
|
1803
|
+
- All findings fixed by agent → proceed to pass 2 for re-verification (if `dry_loop_max >= 2`)
|
|
1804
|
+
- Unfixable 🔴 (requires scope change) → HALT for user
|
|
1807
1805
|
|
|
1808
1806
|
**Pass 2** (if `dry_loop_max >= 2` AND pass 1 had findings):
|
|
1809
|
-
Re-run architect-agent. Write `dry-review-findings-{artifact_id}-pass2.md`.
|
|
1807
|
+
Re-run architect-agent to verify fixes landed. Agent re-reviews, fixes any regressions or remaining items. Write `dry-review-findings-{artifact_id}-pass2.md`.
|
|
1810
1808
|
|
|
1811
1809
|
**Pass 3** (if `dry_loop_max = 3` AND pass 2 had findings):
|
|
1812
|
-
Re-run architect-agent. Write `dry-review-findings-{artifact_id}-pass3.md`.
|
|
1810
|
+
Re-run architect-agent. Final verification pass. Write `dry-review-findings-{artifact_id}-pass3.md`.
|
|
1813
1811
|
|
|
1814
1812
|
**After final pass OR early exit on 🟢-only:**
|
|
1815
1813
|
- Write canonical: `dry-review-findings-{artifact_id}.md` (copy of last pass)
|
|
@@ -1938,19 +1936,18 @@ Derive `artifact_id` from active `session_id` if not already set. Run ALL passes
|
|
|
1938
1936
|
|
|
1939
1937
|
**Pass 1:**
|
|
1940
1938
|
1. Route `/bmad-agent-bmm-security` (or dev fallback) with both skills loaded
|
|
1941
|
-
2.
|
|
1942
|
-
3.
|
|
1939
|
+
2. Security agent reviews code, produces findings, then **fixes ALL findings itself** (🔴 VULN first, then 🟡 VERIFY, then 🟢 minor) in the same pane — no separate dev agent handoff
|
|
1940
|
+
3. Agent writes `sr-review-findings-{artifact_id}-pass1.md` with findings and fix status
|
|
1941
|
+
4. Conductor reads results:
|
|
1943
1942
|
- No findings → announce `"✅ SR passed in 1 pass."` → exit loop early
|
|
1944
|
-
-
|
|
1945
|
-
|
|
1946
|
-
**Auto-fix step (after each pass with ANY findings):**
|
|
1947
|
-
Route dev agent with fix list. Dev fixes ALL listed items (🔴 + 🟡 + 🟢) autonomously. No halts.
|
|
1943
|
+
- All findings fixed by agent → proceed to pass 2 for re-verification (if `sr_loop_max >= 2`)
|
|
1944
|
+
- Unfixable 🔴 (requires scope change) → HALT for user
|
|
1948
1945
|
|
|
1949
1946
|
**Pass 2** (if `sr_loop_max >= 2` AND pass 1 had findings):
|
|
1950
|
-
Re-run security agent
|
|
1947
|
+
Re-run security agent to verify fixes landed. Agent re-reviews, fixes any regressions or remaining items. Write `sr-review-findings-{artifact_id}-pass2.md`.
|
|
1951
1948
|
|
|
1952
1949
|
**Pass 3** (if `sr_loop_max = 3` AND pass 2 had findings):
|
|
1953
|
-
Re-run security agent. Write `sr-review-findings-{artifact_id}-pass3.md`.
|
|
1950
|
+
Re-run security agent. Final verification pass. Write `sr-review-findings-{artifact_id}-pass3.md`.
|
|
1954
1951
|
|
|
1955
1952
|
**After final pass OR early exit on 🟢-only:**
|
|
1956
1953
|
- Write canonical: `sr-review-findings-{artifact_id}.md` (copy of last pass)
|