@devo-bmad-custom/agent-orchestration 1.0.3 → 1.0.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
|
@@ -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
|
|
|
@@ -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 |
|
|
@@ -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)
|