@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devo-bmad-custom/agent-orchestration",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
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
 
@@ -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 |
@@ -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)