@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devo-bmad-custom/agent-orchestration",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "BMAD Method — AI-native agile workflow system for Claude Code and compatible AI assistants",
5
5
  "keywords": [
6
6
  "bmad",
@@ -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 🟢/🟡/🔴:** Auto-fix ALL findings (🔴 first, then 🟡, then 🟢), re-run AR. Do not halt for user input. This loop is autonomous up to max 3 iterations.
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.** All findings (🔴/🟡/🟢) auto-fixed inline. If 🔴 persists after one fix attempt: escalate to user.
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. NEVER use playwright MCP tools. QA agent writes `.spec.ts` files only.
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). ALL findings (🔴/🟡/🟢) auto-fix re-run gate. All autonomous up to 3 iterations.
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) | auto-fix ALL (🔴/🟡/🟢); halt ONLY if 🔴 requires user scope change |
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. NEVER use playwright MCP tools. QA sub-agent writes `.spec.ts` files and runs them via Playwright CLI.
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. NEVER use playwright MCP tools. QA agent writes `.spec.ts` files only.
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. NEVER use playwright MCP tools. QA agent writes `.spec.ts` files only.
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. ALL findings (🔴/🟡/🟢) auto-fixed. If 🔴 persists → route back to Step 8S once. Persistent 🔴 → escalate.
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 `ui-review-findings-{artifact_id}-pass1.md`
1659
- 3. Conductor reads findings:
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
- - 🟢/🟡/🔴 extract ALL actionable items into fix list (🔴 first, then 🟡, then 🟢)
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`. Same categorization.
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 `dry-review-findings-{artifact_id}-pass1.md`
1801
- 3. Conductor reads findings:
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
- - 🟢/🟡/🔴 extract ALL actionable items into fix list (🔴 first, then 🟡, then 🟢)
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`. Same categorization.
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. Agent produces `sr-review-findings-{artifact_id}-pass1.md`
1942
- 3. Conductor reads findings:
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
- - 🟢/🟡/🔴 extract ALL actionable items (🔴 VULN first, then 🟡 VERIFY, then 🟢 minor)
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 with both skills. Write `sr-review-findings-{artifact_id}-pass2.md`.
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)