maestro-flow 0.3.7 → 0.3.9
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/.claude/commands/learn-decompose.md +3 -3
- package/.claude/commands/learn-follow.md +5 -5
- package/.claude/commands/learn-investigate.md +3 -3
- package/.claude/commands/learn-retro.md +303 -0
- package/.claude/commands/learn-second-opinion.md +3 -3
- package/.claude/commands/maestro-analyze.md +123 -99
- package/.claude/commands/maestro-brainstorm.md +2 -2
- package/.claude/commands/maestro-execute.md +137 -96
- package/.claude/commands/maestro-fork.md +111 -0
- package/.claude/commands/maestro-init.md +6 -6
- package/.claude/commands/maestro-learn.md +74 -298
- package/.claude/commands/maestro-merge.md +77 -0
- package/.claude/commands/maestro-milestone-audit.md +72 -60
- package/.claude/commands/maestro-milestone-complete.md +67 -59
- package/.claude/commands/maestro-milestone-release.md +6 -6
- package/.claude/commands/maestro-plan.md +151 -130
- package/.claude/commands/maestro-quick.md +4 -4
- package/.claude/commands/maestro-roadmap.md +5 -5
- package/.claude/commands/maestro-spec-generate.md +5 -5
- package/.claude/commands/maestro-ui-design.md +3 -3
- package/.claude/commands/maestro-verify.md +106 -87
- package/.claude/commands/maestro.md +10 -4
- package/.claude/commands/manage-codebase-rebuild.md +4 -4
- package/.claude/commands/manage-codebase-refresh.md +1 -1
- package/.claude/commands/manage-harvest.md +5 -5
- package/.claude/commands/manage-issue-discover.md +1 -1
- package/.claude/commands/manage-issue-execute.md +6 -6
- package/.claude/commands/manage-issue.md +6 -6
- package/.claude/commands/manage-learn.md +23 -17
- package/.claude/commands/manage-memory-capture.md +15 -17
- package/.claude/commands/manage-memory.md +3 -3
- package/.claude/commands/manage-status.md +24 -24
- package/.claude/commands/quality-business-test.md +5 -5
- package/.claude/commands/quality-debug.md +4 -4
- package/.claude/commands/quality-integration-test.md +4 -4
- package/.claude/commands/quality-refactor.md +3 -3
- package/.claude/commands/quality-retrospective.md +7 -7
- package/.claude/commands/quality-review.md +4 -4
- package/.claude/commands/quality-sync.md +3 -3
- package/.claude/commands/quality-test-gen.md +4 -4
- package/.claude/commands/quality-test.md +9 -9
- package/.claude/commands/spec-add.md +2 -2
- package/.claude/commands/spec-load.md +8 -3
- package/.claude/commands/spec-setup.md +5 -5
- package/.claude/commands/wiki-connect.md +3 -3
- package/.claude/commands/wiki-digest.md +30 -5
- package/.codex/skills/maestro-analyze/SKILL.md +52 -14
- package/.codex/skills/maestro-execute/SKILL.md +27 -26
- package/.codex/skills/maestro-milestone-audit/SKILL.md +103 -209
- package/.codex/skills/maestro-milestone-complete/SKILL.md +149 -158
- package/.codex/skills/maestro-plan/SKILL.md +47 -17
- package/.codex/skills/maestro-roadmap/SKILL.md +3 -2
- package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +2 -2
- package/.codex/skills/team-executor/roles/executor/commands/monitor.md +1 -1
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +2 -2
- package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +1 -1
- package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +1 -1
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +1 -1
- package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +1 -1
- package/README.md +115 -227
- package/README.zh-CN.md +169 -187
- package/bin/maestro-mcp.js +1 -1
- package/chains/_intent-map.json +21 -9
- package/chains/_router.json +30 -77
- package/chains/brainstorm-driven.json +17 -6
- package/chains/full-lifecycle.json +22 -23
- package/chains/milestone-close.json +20 -7
- package/chains/milestone-fork-merge.json +50 -0
- package/chains/roadmap-driven.json +17 -6
- package/chains/spec-driven.json +17 -6
- package/dashboard/dist/assets/{ArtifactsPage-A9yzYtpj.js → ArtifactsPage-DZNCi6tn.js} +12 -7
- package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +49 -0
- package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +22 -0
- package/dashboard/dist/assets/CollabPage-B4NAHXS2.js +1 -0
- package/dashboard/dist/assets/ExecutionPanel-CFt4LJyq.js +1 -0
- package/dashboard/dist/assets/KanbanPage-C8USth6H.js +21 -0
- package/dashboard/dist/assets/{MarkdownRenderer-CCXHaut3.js → MarkdownRenderer-X4af_WNb.js} +1 -1
- package/dashboard/dist/assets/McpPage-BKfCVIyU.js +21 -0
- package/dashboard/dist/assets/OutputPanel-BlBQFJSW.js +1 -0
- package/dashboard/dist/assets/ProblemsPanel-De3DLvoI.js +1 -0
- package/dashboard/dist/assets/{RequirementBoardPage-CEOvppGn.js → RequirementBoardPage-Bf1trzqs.js} +2 -2
- package/dashboard/dist/assets/{RequirementPage-DpnbTEqY.js → RequirementPage-Bllxe2XI.js} +10 -5
- package/dashboard/dist/assets/{SpecsPage-CYqOfFkB.js → SpecsPage-9lwxKT27.js} +2 -2
- package/dashboard/dist/assets/{SupervisorPage-B2sZwkq8.js → SupervisorPage-SusdfHFq.js} +1 -1
- package/dashboard/dist/assets/{TeamsPage-CkZdCAVZ.js → TeamsPage-DsuM6OwC.js} +2 -2
- package/dashboard/dist/assets/TreeBrowser-Q12qobZs.js +6 -0
- package/dashboard/dist/assets/WorkflowPage-D_Fzdy3_.js +6 -0
- package/dashboard/dist/assets/{arrow-left-6fktHyjN.js → arrow-left-Bqtb2hle.js} +1 -1
- package/dashboard/dist/assets/{check-Cbxq2l1-.js → check-u6fGOwQO.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-Yts3bi8p.js → chevron-right-Csu22t58.js} +1 -1
- package/dashboard/dist/assets/{circle-4Ci4Xolf.js → circle-CMrkbRNg.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-B25g9BTL.js → circle-alert-c3tH1P4z.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-DzO2BlL7.js → circle-check-big-TDSeWstm.js} +1 -1
- package/dashboard/dist/assets/{circle-check-BA5_XqeV.js → circle-check-gYxxSYuH.js} +1 -1
- package/dashboard/dist/assets/{code-zxwuybO8.js → code-CFN2uX9V.js} +1 -1
- package/dashboard/dist/assets/{columns-3-DV4oeCfU.js → columns-3-38xIDlzy.js} +1 -1
- package/dashboard/dist/assets/{download-CXCyQw8M.js → download-DC7KkKyP.js} +1 -1
- package/dashboard/dist/assets/{folder-Bvjj8Vn9.js → folder-CWq_lAnf.js} +1 -1
- package/dashboard/dist/assets/index-DWG-WrzT.js +231 -0
- package/dashboard/dist/assets/{index-BvScJmJM.js → index-Do71weNR.js} +1 -1
- package/dashboard/dist/assets/index-GUNJodSR.css +1 -0
- package/dashboard/dist/assets/{list-Dj4i9N75.js → list-CgIP_2A-.js} +1 -1
- package/dashboard/dist/assets/{minus-DwlFabsT.js → minus-DYoN5UGk.js} +1 -1
- package/dashboard/dist/assets/{pen-line-D7UzECt6.js → pen-line-Bh_WKYHm.js} +1 -1
- package/dashboard/dist/assets/{proxy-B9XRqHD9.js → proxy-BKxDAKTj.js} +1 -1
- package/dashboard/dist/assets/{search-BQbBTIYl.js → search-SieXnOgr.js} +1 -1
- package/dashboard/dist/assets/{shallow-Clb1Lyd_.js → shallow-Bme1JY57.js} +1 -1
- package/dashboard/dist/assets/{table-BqxCXid2.js → table-llyEtj-7.js} +1 -1
- package/dashboard/dist/assets/terminal-BB3Xfuv5.js +6 -0
- package/dashboard/dist/assets/{trash-2-6rN9B-EQ.js → trash-2-C8f4vFFM.js} +1 -1
- package/dashboard/dist/assets/{zap-DxUhG-gk.js → zap-4uwlzVm0.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -4
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +8 -4
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +20 -10
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js +3 -4
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js +4 -4
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +4 -3
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js +20 -7
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js +4 -4
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/git.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/git.js +79 -0
- package/dashboard/dist-server/dashboard/src/server/routes/git.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/index.js +3 -0
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js +14 -14
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/linear.js +7 -5
- package/dashboard/dist-server/dashboard/src/server/routes/linear.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/workspace.js +43 -0
- package/dashboard/dist-server/dashboard/src/server/routes/workspace.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.js +186 -25
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.d.ts +6 -0
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js +24 -2
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +4 -7
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.test.js +5 -5
- package/dashboard/dist-server/dashboard/src/shared/constants.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js +4 -4
- package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.js +7 -1
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dashboard/package.json +59 -59
- package/dist/src/cli.js +3 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/{team.d.ts → collab.d.ts} +2 -2
- package/dist/src/commands/collab.d.ts.map +1 -0
- package/dist/src/commands/{team.js → collab.js} +391 -24
- package/dist/src/commands/collab.js.map +1 -0
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +7 -1
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/msg.d.ts.map +1 -1
- package/dist/src/commands/msg.js +4 -3
- package/dist/src/commands/msg.js.map +1 -1
- package/dist/src/hooks/team-monitor.d.ts.map +1 -1
- package/dist/src/hooks/team-monitor.js +16 -0
- package/dist/src/hooks/team-monitor.js.map +1 -1
- package/dist/src/tools/collab-adapter.d.ts +85 -0
- package/dist/src/tools/collab-adapter.d.ts.map +1 -0
- package/dist/src/tools/collab-adapter.js +320 -0
- package/dist/src/tools/collab-adapter.js.map +1 -0
- package/dist/src/tools/namespace-guard.d.ts +2 -0
- package/dist/src/tools/namespace-guard.d.ts.map +1 -1
- package/dist/src/tools/namespace-guard.js +12 -0
- package/dist/src/tools/namespace-guard.js.map +1 -1
- package/dist/src/tools/phase-gate-evaluator.d.ts +45 -0
- package/dist/src/tools/phase-gate-evaluator.d.ts.map +1 -0
- package/dist/src/tools/phase-gate-evaluator.js +42 -0
- package/dist/src/tools/phase-gate-evaluator.js.map +1 -0
- package/dist/src/tools/team-members.d.ts +18 -0
- package/dist/src/tools/team-members.d.ts.map +1 -1
- package/dist/src/tools/team-members.js +50 -0
- package/dist/src/tools/team-members.js.map +1 -1
- package/dist/src/tools/team-tasks.d.ts +120 -0
- package/dist/src/tools/team-tasks.d.ts.map +1 -0
- package/dist/src/tools/team-tasks.js +365 -0
- package/dist/src/tools/team-tasks.js.map +1 -0
- package/dist/src/tools/transition-recorder.d.ts +3 -0
- package/dist/src/tools/transition-recorder.d.ts.map +1 -1
- package/dist/src/tools/transition-recorder.js +52 -1
- package/dist/src/tools/transition-recorder.js.map +1 -1
- package/dist/src/utils/get-version.d.ts.map +1 -1
- package/dist/src/utils/get-version.js +15 -4
- package/dist/src/utils/get-version.js.map +1 -1
- package/package.json +1 -1
- package/templates/config.json +7 -0
- package/templates/worktree-scope.json +10 -0
- package/templates/worktrees.json +27 -0
- package/workflows/analyze.md +86 -36
- package/workflows/brainstorm.md +17 -37
- package/workflows/delegate-usage.md +39 -41
- package/workflows/execute.md +247 -61
- package/workflows/fork.md +309 -0
- package/workflows/init.md +11 -2
- package/workflows/issue.md +66 -7
- package/workflows/maestro-coordinate.codex.md +1 -1
- package/workflows/maestro-coordinate.md +24 -17
- package/workflows/maestro.md +54 -37
- package/workflows/memory.md +2 -1
- package/workflows/merge.md +285 -0
- package/workflows/milestone-audit.md +89 -70
- package/workflows/milestone-complete.md +89 -156
- package/workflows/plan.md +131 -19
- package/workflows/retrospective.md +5 -5
- package/workflows/roadmap.md +12 -4
- package/workflows/spec-generate.md +9 -0
- package/workflows/status.md +76 -27
- package/workflows/ui-design.md +14 -12
- package/workflows/verify.md +44 -8
- package/.claude/commands/learn-retro-decision.md +0 -198
- package/.claude/commands/learn-retro-git.md +0 -160
- package/.claude/commands/maestro-phase-add.md +0 -63
- package/.claude/commands/maestro-phase-transition.md +0 -75
- package/.codex/skills/maestro-phase-add/SKILL.md +0 -154
- package/.codex/skills/maestro-phase-transition/SKILL.md +0 -173
- package/chains/singles/phase-add.json +0 -31
- package/chains/singles/phase-transition.json +0 -23
- package/dashboard/dist/assets/ChatInput-PuCvZZ3y.js +0 -67
- package/dashboard/dist/assets/ChatPage-v19GURYH.js +0 -8
- package/dashboard/dist/assets/CollabPage-I5k_mCbG.js +0 -1
- package/dashboard/dist/assets/KanbanPage-PDDBv5-9.js +0 -16
- package/dashboard/dist/assets/McpPage-CiqXpCHg.js +0 -16
- package/dashboard/dist/assets/TreeBrowser-0VIMWclo.js +0 -11
- package/dashboard/dist/assets/WorkflowPage-Csm23wUS.js +0 -6
- package/dashboard/dist/assets/git-branch-DL8p9kVC.js +0 -6
- package/dashboard/dist/assets/index-11DuhKhc.js +0 -231
- package/dashboard/dist/assets/index-D2Mtyw7I.css +0 -1
- package/dashboard/dist/assets/wrench-BScEJFqC.js +0 -11
- package/dist/src/commands/team.d.ts.map +0 -1
- package/dist/src/commands/team.js.map +0 -1
- package/workflows/phase-add.md +0 -252
- package/workflows/phase-transition.md +0 -399
|
@@ -196,17 +196,18 @@ Bash(`mkdir -p ${sessionFolder}`)
|
|
|
196
196
|
|
|
197
197
|
**Decomposition Rules**:
|
|
198
198
|
|
|
199
|
-
1. **
|
|
199
|
+
1. **Plan resolution** (per scratch-milestone-architecture):
|
|
200
200
|
|
|
201
201
|
| Input | Resolution |
|
|
202
202
|
|-------|------------|
|
|
203
|
-
| `--dir <path>` | Use path directly
|
|
204
|
-
|
|
|
205
|
-
|
|
|
203
|
+
| `--dir <path>` | Use path directly (scratch plan dir) |
|
|
204
|
+
| No args | Find all pending plans for current milestone from state.json.artifacts[] |
|
|
205
|
+
| Number (e.g., `3`) | Find pending plans for phase N from state.json.artifacts[] |
|
|
206
206
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
207
|
+
For multi-plan: execute sequentially. Each plan is a full CSV session.
|
|
208
|
+
|
|
209
|
+
2. **Load plan** (per PLAN_DIR):
|
|
210
|
+
- Read `{PLAN_DIR}/plan.json` for wave structure
|
|
210
211
|
- Extract `plan.waves` array with task assignments
|
|
211
212
|
|
|
212
213
|
3. **Detect completed tasks (breakpoint resume)**:
|
|
@@ -307,24 +308,23 @@ If a task is blocked/failed and other tasks in later waves depend on it:
|
|
|
307
308
|
- Update `status` to match CSV status
|
|
308
309
|
- Write back to disk
|
|
309
310
|
|
|
310
|
-
4. **
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
},
|
|
321
|
-
"status": "verifying" | "executing"
|
|
322
|
-
}
|
|
311
|
+
4. **Register EXC artifact in state.json**:
|
|
312
|
+
```
|
|
313
|
+
Read .workflow/state.json
|
|
314
|
+
plan_artifact = state.json.artifacts.find(a => a.type == "plan" && a.path == PLAN_DIR_relative)
|
|
315
|
+
next_id = max EXC-NNN + 1
|
|
316
|
+
Push artifact: { id: "EXC-{next_id}", type: "execute", milestone: plan_artifact.milestone,
|
|
317
|
+
phase: plan_artifact.phase, scope: plan_artifact.scope, path: plan_artifact.path,
|
|
318
|
+
status: "completed", depends_on: plan_artifact.id, harvested: false,
|
|
319
|
+
created_at: execution_start, completed_at: now() }
|
|
320
|
+
Write state.json (atomic)
|
|
323
321
|
```
|
|
324
|
-
- If all completed: set status = "verifying"
|
|
325
|
-
- If partial: set status = "executing" (resumable)
|
|
326
322
|
|
|
327
|
-
5. **
|
|
323
|
+
5. **Extract incremental learnings**:
|
|
324
|
+
- Read all `.summaries/` from PLAN_DIR
|
|
325
|
+
- Extract strategy adjustments, patterns, pitfalls
|
|
326
|
+
- Append to `.workflow/specs/learnings.md`
|
|
327
|
+
- Mark artifact `harvested: true` in state.json
|
|
328
328
|
|
|
329
329
|
6. **Generate context.md**:
|
|
330
330
|
|
|
@@ -368,11 +368,12 @@ Completed: {completed_count}/{total_count} tasks
|
|
|
368
368
|
Blocked: {blocked_count} tasks
|
|
369
369
|
Waves: {waves_executed}/{total_waves}
|
|
370
370
|
|
|
371
|
-
Summaries: {
|
|
372
|
-
Tasks: {
|
|
371
|
+
Summaries: {PLAN_DIR}/.summaries/
|
|
372
|
+
Tasks: {PLAN_DIR}/.task/
|
|
373
373
|
|
|
374
374
|
Next steps:
|
|
375
|
-
Skill({ skill: "maestro-verify"
|
|
375
|
+
Skill({ skill: "maestro-verify" })
|
|
376
|
+
Skill({ skill: "maestro-verify", args: "--dir {PLAN_DIR}" })
|
|
376
377
|
Skill({ skill: "manage-status" })
|
|
377
378
|
```
|
|
378
379
|
|
|
@@ -1,209 +1,103 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-milestone-audit
|
|
3
|
-
description: Audit current milestone for cross-phase integration gaps and produce verdict report
|
|
4
|
-
argument-hint: "[milestone, e.g., '
|
|
5
|
-
allowed-tools: Read, Write, Bash, Glob, Grep, Agent
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Maestro Milestone Audit (Single Agent)
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
$maestro-milestone-audit ""
|
|
14
|
-
$maestro-milestone-audit "
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
run_in_background: false
|
|
105
|
-
})
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Merge agent findings with Step 4 analysis.
|
|
109
|
-
|
|
110
|
-
### Step 6: Categorize Findings
|
|
111
|
-
|
|
112
|
-
Classify each finding:
|
|
113
|
-
- **Critical**: Breaking integration gap (blocks milestone completion)
|
|
114
|
-
- **High**: Missing integration test coverage
|
|
115
|
-
- **Medium**: Inconsistent naming/conventions across phases
|
|
116
|
-
- **Low**: Documentation gaps, minor style inconsistencies
|
|
117
|
-
|
|
118
|
-
### Step 7: Determine Verdict
|
|
119
|
-
|
|
120
|
-
- **PASS**: No critical or high findings
|
|
121
|
-
- **CONDITIONAL**: High findings exist but have clear fix paths
|
|
122
|
-
- **FAIL**: Critical findings that block milestone completion
|
|
123
|
-
|
|
124
|
-
### Step 8: Write Audit Report
|
|
125
|
-
|
|
126
|
-
Write to `.workflow/milestone-audit-{milestone}.md`:
|
|
127
|
-
|
|
128
|
-
```markdown
|
|
129
|
-
# Milestone Audit: {milestone}
|
|
130
|
-
**Date**: {ISO date}
|
|
131
|
-
**Verdict**: {PASS|CONDITIONAL|FAIL}
|
|
132
|
-
|
|
133
|
-
## Phases Audited
|
|
134
|
-
|
|
135
|
-
| Phase | Status | Verification | Review | Tasks |
|
|
136
|
-
|-------|--------|-------------|--------|-------|
|
|
137
|
-
| {NN}-{slug} | {status} | {verdict} | {verdict} | {done}/{total} |
|
|
138
|
-
|
|
139
|
-
## Integration Analysis
|
|
140
|
-
|
|
141
|
-
### Critical Issues
|
|
142
|
-
{list or "None"}
|
|
143
|
-
|
|
144
|
-
### High Issues
|
|
145
|
-
{list or "None"}
|
|
146
|
-
|
|
147
|
-
### Medium Issues
|
|
148
|
-
{list or "None"}
|
|
149
|
-
|
|
150
|
-
### Low Issues
|
|
151
|
-
{list or "None"}
|
|
152
|
-
|
|
153
|
-
## Cross-Phase Dependencies
|
|
154
|
-
|
|
155
|
-
{dependency matrix or diagram}
|
|
156
|
-
|
|
157
|
-
## Recommendations
|
|
158
|
-
|
|
159
|
-
{prioritized fix suggestions}
|
|
160
|
-
|
|
161
|
-
## Next Steps
|
|
162
|
-
|
|
163
|
-
{if PASS}
|
|
164
|
-
Ready for: $maestro-milestone-complete "{milestone}"
|
|
165
|
-
{elif CONDITIONAL}
|
|
166
|
-
Fix high issues, then re-audit: $maestro-milestone-audit "{milestone}"
|
|
167
|
-
{else}
|
|
168
|
-
Fix critical issues first. See recommendations above.
|
|
169
|
-
{endif}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Step 9: Completion Report
|
|
173
|
-
|
|
174
|
-
```
|
|
175
|
-
=== MILESTONE AUDIT: {milestone} ===
|
|
176
|
-
Verdict: {PASS|CONDITIONAL|FAIL}
|
|
177
|
-
|
|
178
|
-
Phases: {count} audited
|
|
179
|
-
Findings: {critical} critical, {high} high, {medium} medium, {low} low
|
|
180
|
-
|
|
181
|
-
Report: .workflow/milestone-audit-{milestone}.md
|
|
182
|
-
|
|
183
|
-
{if PASS}
|
|
184
|
-
Ready for milestone completion: $maestro-milestone-complete "{milestone}"
|
|
185
|
-
{else}
|
|
186
|
-
Fix {critical+high} blocking issues before completing milestone.
|
|
187
|
-
{endif}
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## Error Handling
|
|
193
|
-
|
|
194
|
-
| Code | Severity | Description | Recovery |
|
|
195
|
-
|------|----------|-------------|----------|
|
|
196
|
-
| E001 | error | Milestone identifier required | Specify milestone or set current_milestone in state.json |
|
|
197
|
-
| E002 | error | Milestone not found in roadmap | Check roadmap.md for valid milestones |
|
|
198
|
-
| E003 | error | Phases incomplete for this milestone | Complete phases first, or audit partial |
|
|
199
|
-
| W001 | warning | Phase lacks completed_at | May not have been formally transitioned |
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
## Core Rules
|
|
204
|
-
|
|
205
|
-
1. **Read everything before judging** — collect all phase data before analyzing gaps
|
|
206
|
-
2. **Cross-phase focus** — single-phase issues are not this skill's concern; focus on boundaries
|
|
207
|
-
3. **Actionable findings** — every finding must include a specific fix suggestion
|
|
208
|
-
4. **Clear verdict** — PASS/CONDITIONAL/FAIL with unambiguous criteria
|
|
209
|
-
5. **Agent only when needed** — spawn integration-checker only for 3+ phase milestones
|
|
1
|
+
---
|
|
2
|
+
name: maestro-milestone-audit
|
|
3
|
+
description: Audit current milestone using artifact registry for cross-phase integration gaps and produce verdict report
|
|
4
|
+
argument-hint: "[milestone, e.g., 'M1']"
|
|
5
|
+
allowed-tools: Read, Write, Bash, Glob, Grep, Agent
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Maestro Milestone Audit (Single Agent)
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
$maestro-milestone-audit ""
|
|
14
|
+
$maestro-milestone-audit "M1"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Output**: Audit report with artifact chain verification, integration analysis, and PASS/FAIL verdict
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
Sequential audit based on artifact registry in state.json. Checks phase coverage (ANL→PLN→EXC chains), ad-hoc completeness, execution completeness, and cross-artifact integration.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Implementation
|
|
28
|
+
|
|
29
|
+
### Step 1: Parse Arguments
|
|
30
|
+
|
|
31
|
+
Extract milestone identifier from arguments.
|
|
32
|
+
If empty: read `current_milestone` from `.workflow/state.json`.
|
|
33
|
+
If still empty: error E001.
|
|
34
|
+
|
|
35
|
+
### Step 2: Load Artifact Registry
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
cat .workflow/state.json
|
|
39
|
+
cat .workflow/roadmap.md
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
- Parse `state.json.artifacts[]` filtered by milestone
|
|
43
|
+
- Parse `roadmap.md` for phase list in this milestone
|
|
44
|
+
- Group artifacts by type and phase
|
|
45
|
+
|
|
46
|
+
### Step 3: Phase Coverage Check
|
|
47
|
+
|
|
48
|
+
For each phase in roadmap:
|
|
49
|
+
- Check for completed analyze artifact (optional but noted)
|
|
50
|
+
- Check for completed plan artifact (required)
|
|
51
|
+
- Check for completed execute artifact (required)
|
|
52
|
+
|
|
53
|
+
Report coverage matrix.
|
|
54
|
+
|
|
55
|
+
### Step 4: Ad-hoc & Execution Completeness
|
|
56
|
+
|
|
57
|
+
- Check all adhoc-scoped artifacts are completed
|
|
58
|
+
- For each execute artifact, verify tasks in plan dir are all completed
|
|
59
|
+
|
|
60
|
+
### Step 5: Integration Check
|
|
61
|
+
|
|
62
|
+
Spawn Agent for cross-phase integration validation:
|
|
63
|
+
- Shared interfaces compatibility
|
|
64
|
+
- Dependency chain satisfaction
|
|
65
|
+
- Data contract consistency
|
|
66
|
+
- API endpoint consistency
|
|
67
|
+
|
|
68
|
+
Write report to `.workflow/milestones/{milestone}/audit-report.md`
|
|
69
|
+
|
|
70
|
+
### Step 6: Verdict
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
PASS if:
|
|
74
|
+
- All phases have EXC artifacts (completed)
|
|
75
|
+
- No critical integration gaps
|
|
76
|
+
- All adhoc artifacts completed
|
|
77
|
+
|
|
78
|
+
FAIL if:
|
|
79
|
+
- Missing EXC artifacts for any phase
|
|
80
|
+
- Critical integration gaps found
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Display structured audit report with next-step routing.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Error Handling
|
|
88
|
+
|
|
89
|
+
| Code | Severity | Description | Recovery |
|
|
90
|
+
|------|----------|-------------|----------|
|
|
91
|
+
| E001 | error | Milestone identifier required | Specify milestone or ensure current_milestone is set |
|
|
92
|
+
| E002 | error | Milestone not found in state.json | Check milestone ID |
|
|
93
|
+
| E003 | error | No execute artifacts found | Run maestro-execute first |
|
|
94
|
+
| W001 | warning | Some phases lack analyze artifacts | Note: analysis optional but recommended |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Core Rules
|
|
99
|
+
|
|
100
|
+
1. **Artifact registry is source of truth** — don't scan directories, read state.json
|
|
101
|
+
2. **Non-blocking warnings** — missing analyze is warning, missing execute is error
|
|
102
|
+
3. **Integration check is required** — always spawn checker agent
|
|
103
|
+
4. **Clear verdict** — PASS or FAIL with specific reasons
|