maestro-flow 0.3.9 → 0.3.11
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/agents/workflow-collab-planner.md +1 -1
- package/.claude/agents/workflow-executor.md +1 -1
- package/.claude/agents/workflow-plan-checker.md +1 -1
- package/.claude/agents/workflow-planner.md +1 -1
- package/.claude/commands/learn-decompose.md +176 -176
- package/.claude/commands/learn-follow.md +167 -167
- package/.claude/commands/learn-retro.md +1 -1
- package/.claude/commands/maestro-analyze.md +46 -3
- package/.claude/commands/maestro-coordinate.md +1 -3
- package/.claude/commands/maestro-execute.md +14 -0
- package/.claude/commands/maestro-plan.md +16 -0
- package/.claude/commands/manage-harvest.md +131 -131
- package/.claude/commands/manage-issue-discover.md +2 -2
- package/.claude/commands/manage-issue.md +5 -5
- package/.claude/commands/spec-add.md +67 -56
- package/.claude/commands/spec-load.md +66 -64
- package/.claude/commands/spec-setup.md +5 -9
- package/.codex/skills/learn-decompose/SKILL.md +119 -0
- package/.codex/skills/learn-follow/SKILL.md +83 -0
- package/.codex/skills/learn-investigate/SKILL.md +83 -0
- package/.codex/skills/learn-retro/SKILL.md +83 -0
- package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
- package/.codex/skills/maestro/SKILL.md +335 -0
- package/.codex/skills/maestro-analyze/SKILL.md +84 -75
- package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
- package/.codex/skills/maestro-chain/SKILL.md +233 -0
- package/.codex/skills/maestro-coordinate/SKILL.md +167 -278
- package/.codex/skills/maestro-execute/SKILL.md +435 -438
- package/.codex/skills/maestro-fork/SKILL.md +68 -0
- package/.codex/skills/maestro-init/SKILL.md +171 -167
- package/.codex/skills/maestro-learn/SKILL.md +80 -0
- package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
- package/.codex/skills/maestro-merge/SKILL.md +62 -0
- package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
- package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
- package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
- package/.codex/skills/maestro-overlay/SKILL.md +188 -185
- package/.codex/skills/maestro-plan/SKILL.md +66 -69
- package/.codex/skills/maestro-quick/SKILL.md +26 -23
- package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
- package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
- package/.codex/skills/maestro-ui-design/SKILL.md +34 -31
- package/.codex/skills/maestro-verify/SKILL.md +556 -566
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
- package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
- package/.codex/skills/manage-harvest/SKILL.md +82 -0
- package/.codex/skills/manage-issue/SKILL.md +80 -65
- package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
- package/.codex/skills/manage-learn/SKILL.md +190 -186
- package/.codex/skills/manage-memory/SKILL.md +95 -72
- package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
- package/.codex/skills/manage-status/SKILL.md +102 -89
- package/.codex/skills/quality-business-test/SKILL.md +228 -223
- package/.codex/skills/quality-debug/SKILL.md +54 -66
- package/.codex/skills/quality-integration-test/SKILL.md +532 -544
- package/.codex/skills/quality-refactor/SKILL.md +197 -191
- package/.codex/skills/quality-retrospective/SKILL.md +512 -505
- package/.codex/skills/quality-review/SKILL.md +93 -105
- package/.codex/skills/quality-sync/SKILL.md +101 -89
- package/.codex/skills/quality-test/SKILL.md +202 -198
- package/.codex/skills/quality-test-gen/SKILL.md +93 -104
- package/.codex/skills/spec-add/SKILL.md +58 -39
- package/.codex/skills/spec-load/SKILL.md +45 -40
- package/.codex/skills/spec-map/SKILL.md +180 -182
- package/.codex/skills/spec-setup/SKILL.md +94 -76
- package/.codex/skills/team-coordinate/SKILL.md +346 -357
- package/.codex/skills/team-executor/SKILL.md +70 -112
- package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
- package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
- package/.codex/skills/team-review/SKILL.md +232 -225
- package/.codex/skills/team-tech-debt/SKILL.md +78 -100
- package/.codex/skills/team-testing/SKILL.md +242 -235
- package/.codex/skills/wiki-connect/SKILL.md +75 -0
- package/.codex/skills/wiki-digest/SKILL.md +87 -0
- package/README.md +14 -11
- package/README.zh-CN.md +14 -11
- package/chains/issue-lifecycle.json +13 -13
- package/chains/singles/issue-analyze.json +3 -3
- package/chains/singles/issue-execute.json +3 -3
- package/chains/singles/issue-plan.json +3 -3
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js +34 -0
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +2 -3
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +5 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/normalize-task.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/shared/normalize-task.js +75 -0
- package/dashboard/dist-server/dashboard/src/shared/normalize-task.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +21 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/src/hooks/constants.d.ts +92 -12
- package/dashboard/dist-server/src/hooks/constants.js +151 -16
- package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
- package/dashboard/dist-server/src/types/index.d.ts +5 -0
- package/dist/src/commands/collab.d.ts +1 -34
- package/dist/src/commands/collab.d.ts.map +1 -1
- package/dist/src/commands/collab.js +8 -76
- package/dist/src/commands/collab.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +5 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +115 -10
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -1
- package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.js +3 -1
- package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +5 -1
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.js +7 -3
- package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts +6 -1
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.js +27 -5
- package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +7 -2
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +7 -0
- package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -0
- package/dist/src/hooks/__tests__/statusline-visual-test.js +236 -0
- package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -0
- package/dist/src/hooks/constants.d.ts +92 -12
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +151 -16
- package/dist/src/hooks/constants.js.map +1 -1
- package/dist/src/hooks/guards/index.d.ts +2 -0
- package/dist/src/hooks/guards/index.d.ts.map +1 -1
- package/dist/src/hooks/guards/index.js +2 -0
- package/dist/src/hooks/guards/index.js.map +1 -1
- package/dist/src/hooks/guards/preflight-guard.d.ts +29 -0
- package/dist/src/hooks/guards/preflight-guard.d.ts.map +1 -0
- package/dist/src/hooks/guards/preflight-guard.js +95 -0
- package/dist/src/hooks/guards/preflight-guard.js.map +1 -0
- package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
- package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
- package/dist/src/hooks/guards/spec-validator.js +66 -0
- package/dist/src/hooks/guards/spec-validator.js.map +1 -0
- package/dist/src/hooks/index.d.ts +1 -0
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +1 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
- package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
- package/dist/src/hooks/keyword-spec-injector.js +96 -0
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/preflight-core.d.ts +37 -0
- package/dist/src/hooks/preflight-core.d.ts.map +1 -0
- package/dist/src/hooks/preflight-core.js +86 -0
- package/dist/src/hooks/preflight-core.js.map +1 -0
- package/dist/src/hooks/spec-bridge.d.ts +40 -0
- package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
- package/dist/src/hooks/spec-bridge.js +97 -0
- package/dist/src/hooks/spec-bridge.js.map +1 -0
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +18 -12
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/statusline.d.ts +8 -17
- package/dist/src/hooks/statusline.d.ts.map +1 -1
- package/dist/src/hooks/statusline.js +269 -112
- package/dist/src/hooks/statusline.js.map +1 -1
- package/dist/src/i18n/locales/en.d.ts.map +1 -1
- package/dist/src/i18n/locales/en.js +5 -0
- package/dist/src/i18n/locales/en.js.map +1 -1
- package/dist/src/i18n/locales/zh.d.ts.map +1 -1
- package/dist/src/i18n/locales/zh.js +5 -0
- package/dist/src/i18n/locales/zh.js.map +1 -1
- package/dist/src/i18n/types.d.ts +5 -0
- package/dist/src/i18n/types.d.ts.map +1 -1
- package/dist/src/team/phase-orchestrator.d.ts +52 -0
- package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
- package/dist/src/team/phase-orchestrator.js +165 -0
- package/dist/src/team/phase-orchestrator.js.map +1 -0
- package/dist/src/team/phase-types.d.ts +51 -0
- package/dist/src/team/phase-types.d.ts.map +1 -0
- package/dist/src/team/phase-types.js +41 -0
- package/dist/src/team/phase-types.js.map +1 -0
- package/dist/src/tools/collab-adapter.d.ts +17 -0
- package/dist/src/tools/collab-adapter.d.ts.map +1 -1
- package/dist/src/tools/collab-adapter.js +138 -0
- package/dist/src/tools/collab-adapter.js.map +1 -1
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +6 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/merge-validator.d.ts +24 -0
- package/dist/src/tools/merge-validator.d.ts.map +1 -0
- package/dist/src/tools/merge-validator.js +220 -0
- package/dist/src/tools/merge-validator.js.map +1 -0
- package/dist/src/tools/spec-entry-parser.d.ts +56 -0
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
- package/dist/src/tools/spec-entry-parser.js +196 -0
- package/dist/src/tools/spec-entry-parser.js.map +1 -0
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +66 -92
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-keyword-index.d.ts +30 -0
- package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
- package/dist/src/tools/spec-keyword-index.js +101 -0
- package/dist/src/tools/spec-keyword-index.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +3 -3
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +49 -23
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/team-agents.d.ts +27 -0
- package/dist/src/tools/team-agents.d.ts.map +1 -0
- package/dist/src/tools/team-agents.js +362 -0
- package/dist/src/tools/team-agents.js.map +1 -0
- package/dist/src/tools/team-mailbox.d.ts +40 -0
- package/dist/src/tools/team-mailbox.d.ts.map +1 -0
- package/dist/src/tools/team-mailbox.js +384 -0
- package/dist/src/tools/team-mailbox.js.map +1 -0
- package/dist/src/tools/team-msg.d.ts +17 -8
- package/dist/src/tools/team-msg.d.ts.map +1 -1
- package/dist/src/tools/team-msg.js +110 -13
- package/dist/src/tools/team-msg.js.map +1 -1
- package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
- package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
- package/dist/src/tools/team-tasks-mcp.js +408 -0
- package/dist/src/tools/team-tasks-mcp.js.map +1 -0
- package/dist/src/types/index.d.ts +5 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/package.json +2 -1
- package/templates/cli/prompts/workflow-skill-conflict-patterns.txt +3 -3
- package/templates/cli/prompts/workflow-skill-lessons-learned.txt +3 -3
- package/templates/search-tools.md +1 -1
- package/workflows/analyze.md +816 -816
- package/workflows/brainstorm.md +471 -471
- package/workflows/cli-tools-usage.md +44 -27
- package/workflows/codebase-rebuild.md +332 -332
- package/workflows/codebase-refresh.md +240 -240
- package/workflows/delegate-usage.md +3 -3
- package/workflows/execute.md +1 -1
- package/workflows/harvest.md +420 -420
- package/workflows/integration-test.md +343 -343
- package/workflows/issue-analyze.md +6 -2
- package/workflows/issue-discover.md +414 -414
- package/workflows/issue-execute.md +6 -3
- package/workflows/issue-plan.md +5 -2
- package/workflows/maestro-coordinate.codex.md +281 -470
- package/workflows/maestro-coordinate.md +14 -14
- package/workflows/maestro-link-coordinate.md +2 -2
- package/workflows/maestro.codex.md +710 -0
- package/workflows/maestro.md +10 -11
- package/workflows/map.md +111 -111
- package/workflows/milestone-complete.md +176 -176
- package/workflows/plan.md +1 -1
- package/workflows/quick.md +497 -497
- package/workflows/refactor.md +300 -300
- package/workflows/retrospective.md +1 -1
- package/workflows/roadmap.md +335 -335
- package/workflows/spec-generate.md +640 -640
- package/workflows/specs-add.md +46 -81
- package/workflows/specs-load.md +15 -17
- package/workflows/specs-setup.md +40 -161
- package/.claude/commands/manage-issue-analyze.md +0 -62
- package/.claude/commands/manage-issue-execute.md +0 -73
- package/.claude/commands/manage-issue-plan.md +0 -62
- package/.codex/skills/manage-issue-analyze/SKILL.md +0 -207
- package/.codex/skills/manage-issue-execute/SKILL.md +0 -200
- package/.codex/skills/manage-issue-plan/SKILL.md +0 -186
|
@@ -1,103 +1,108 @@
|
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
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
|
+
<purpose>
|
|
9
|
+
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. Produces PASS/FAIL verdict report.
|
|
10
|
+
</purpose>
|
|
11
|
+
|
|
12
|
+
<context>
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
$maestro-milestone-audit ""
|
|
16
|
+
$maestro-milestone-audit "M1"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Output**: Audit report with artifact chain verification, integration analysis, and PASS/FAIL verdict
|
|
20
|
+
|
|
21
|
+
</context>
|
|
22
|
+
|
|
23
|
+
<invariants>
|
|
24
|
+
1. **Artifact registry is source of truth** — don't scan directories, read state.json
|
|
25
|
+
2. **Non-blocking warnings** — missing analyze is warning, missing execute is error
|
|
26
|
+
3. **Integration check is required** — always spawn checker agent
|
|
27
|
+
4. **Clear verdict** — PASS or FAIL with specific reasons
|
|
28
|
+
</invariants>
|
|
29
|
+
|
|
30
|
+
<execution>
|
|
31
|
+
|
|
32
|
+
### Step 1: Parse Arguments
|
|
33
|
+
|
|
34
|
+
Extract milestone identifier from arguments.
|
|
35
|
+
If empty: read `current_milestone` from `.workflow/state.json`.
|
|
36
|
+
If still empty: error E001.
|
|
37
|
+
|
|
38
|
+
### Step 2: Load Artifact Registry
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
cat .workflow/state.json
|
|
42
|
+
cat .workflow/roadmap.md
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
- Parse `state.json.artifacts[]` filtered by milestone
|
|
46
|
+
- Parse `roadmap.md` for phase list in this milestone
|
|
47
|
+
- Group artifacts by type and phase
|
|
48
|
+
|
|
49
|
+
### Step 3: Phase Coverage Check
|
|
50
|
+
|
|
51
|
+
For each phase in roadmap:
|
|
52
|
+
- Check for completed analyze artifact (optional but noted)
|
|
53
|
+
- Check for completed plan artifact (required)
|
|
54
|
+
- Check for completed execute artifact (required)
|
|
55
|
+
|
|
56
|
+
Report coverage matrix.
|
|
57
|
+
|
|
58
|
+
### Step 4: Ad-hoc & Execution Completeness
|
|
59
|
+
|
|
60
|
+
- Check all adhoc-scoped artifacts are completed
|
|
61
|
+
- For each execute artifact, verify tasks in plan dir are all completed
|
|
62
|
+
|
|
63
|
+
### Step 5: Integration Check
|
|
64
|
+
|
|
65
|
+
Spawn Agent for cross-phase integration validation:
|
|
66
|
+
- Shared interfaces compatibility
|
|
67
|
+
- Dependency chain satisfaction
|
|
68
|
+
- Data contract consistency
|
|
69
|
+
- API endpoint consistency
|
|
70
|
+
|
|
71
|
+
Write report to `.workflow/milestones/{milestone}/audit-report.md`
|
|
72
|
+
|
|
73
|
+
### Step 6: Verdict
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
PASS if:
|
|
77
|
+
- All phases have EXC artifacts (completed)
|
|
78
|
+
- No critical integration gaps
|
|
79
|
+
- All adhoc artifacts completed
|
|
80
|
+
|
|
81
|
+
FAIL if:
|
|
82
|
+
- Missing EXC artifacts for any phase
|
|
83
|
+
- Critical integration gaps found
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Display structured audit report with next-step routing.
|
|
87
|
+
|
|
88
|
+
</execution>
|
|
89
|
+
|
|
90
|
+
<error_codes>
|
|
91
|
+
|
|
92
|
+
| Code | Severity | Description | Recovery |
|
|
93
|
+
|------|----------|-------------|----------|
|
|
94
|
+
| E001 | error | Milestone identifier required | Specify milestone or ensure current_milestone is set |
|
|
95
|
+
| E002 | error | Milestone not found in state.json | Check milestone ID |
|
|
96
|
+
| E003 | error | No execute artifacts found | Run maestro-execute first |
|
|
97
|
+
| W001 | warning | Some phases lack analyze artifacts | Note: analysis optional but recommended |
|
|
98
|
+
|
|
99
|
+
</error_codes>
|
|
100
|
+
|
|
101
|
+
<success_criteria>
|
|
102
|
+
- [ ] Artifact registry loaded and filtered by milestone
|
|
103
|
+
- [ ] Phase coverage matrix generated
|
|
104
|
+
- [ ] Ad-hoc and execution completeness verified
|
|
105
|
+
- [ ] Integration check performed via agent
|
|
106
|
+
- [ ] Audit report written to milestones/ directory
|
|
107
|
+
- [ ] Clear PASS/FAIL verdict with specific reasons
|
|
108
|
+
</success_criteria>
|
|
@@ -1,149 +1,155 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-milestone-complete
|
|
3
|
-
description: Archive completed milestone scratch artifacts to milestones/ dir, move artifact entries to milestone_history, extract learnings, advance state.
|
|
4
|
-
argument-hint: "[milestone] [--force]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
$maestro-milestone-complete
|
|
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
|
-
state.json.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
1
|
+
---
|
|
2
|
+
name: maestro-milestone-complete
|
|
3
|
+
description: Archive completed milestone scratch artifacts to milestones/ dir, move artifact entries to milestone_history, extract learnings, advance state.
|
|
4
|
+
argument-hint: "[milestone] [--force]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Sequential milestone archival: validate audit → archive scratch dirs → extract learnings → move artifact entries to milestone_history → advance state → clean scratch.
|
|
10
|
+
</purpose>
|
|
11
|
+
|
|
12
|
+
<context>
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
$maestro-milestone-complete "M1"
|
|
16
|
+
$maestro-milestone-complete # uses current_milestone from state.json
|
|
17
|
+
$maestro-milestone-complete --force "M1" # skip audit check
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Output**: `.workflow/milestones/{milestone}/` archive directory
|
|
21
|
+
|
|
22
|
+
</context>
|
|
23
|
+
|
|
24
|
+
<invariants>
|
|
25
|
+
1. **Audit before archive** — refuse without passing audit (unless --force)
|
|
26
|
+
2. **Atomic state update** — write state.json via tmp+rename
|
|
27
|
+
3. **Learnings are mandatory** — always extract before archiving
|
|
28
|
+
4. **Clean after archive** — remove scratch dirs only after successful copy
|
|
29
|
+
5. **Advance state** — always set next milestone or mark project complete
|
|
30
|
+
</invariants>
|
|
31
|
+
|
|
32
|
+
<execution>
|
|
33
|
+
|
|
34
|
+
### Step 1: Parse & Validate
|
|
35
|
+
|
|
36
|
+
1. Read `.workflow/state.json` to get `current_milestone`, `artifacts[]`, `milestones[]`
|
|
37
|
+
2. Determine target milestone (from args or current_milestone)
|
|
38
|
+
3. Check `--force` flag
|
|
39
|
+
4. If no milestone: **E001**
|
|
40
|
+
5. Check audit report exists at `.workflow/milestones/{milestone}/audit-report.md`
|
|
41
|
+
- Missing + not --force: **E002**
|
|
42
|
+
- Verdict FAIL + not --force: **E002**
|
|
43
|
+
6. Check all milestone artifacts completed:
|
|
44
|
+
- `state.json.artifacts.filter(a => a.milestone == target && a.status != "completed")`
|
|
45
|
+
- If any incomplete + not --force: **E003**
|
|
46
|
+
|
|
47
|
+
### Step 2: Archive Scratch Dirs
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
mkdir -p .workflow/milestones/{milestone}/artifacts/
|
|
51
|
+
|
|
52
|
+
# For each artifact path, copy to archive
|
|
53
|
+
for artifact in milestone_artifacts:
|
|
54
|
+
if dir exists .workflow/{artifact.path}:
|
|
55
|
+
cp -r .workflow/{artifact.path} .workflow/milestones/{milestone}/artifacts/$(basename {artifact.path})/
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Snapshot roadmap:
|
|
59
|
+
```bash
|
|
60
|
+
cp .workflow/roadmap.md .workflow/milestones/{milestone}/roadmap-snapshot.md
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Step 3: Extract Learnings
|
|
64
|
+
|
|
65
|
+
- Read `.summaries/` from each execute artifact's plan dir
|
|
66
|
+
- Read `reflection-log.md` if exists
|
|
67
|
+
- Extract patterns, pitfalls, strategy adjustments
|
|
68
|
+
- Append to `.workflow/specs/learnings.md`
|
|
69
|
+
- Avoid duplicates (check existing entries)
|
|
70
|
+
|
|
71
|
+
### Step 4: Archive Artifact Entries
|
|
72
|
+
|
|
73
|
+
Move artifact entries from `state.json.artifacts[]` to `milestone_history`:
|
|
74
|
+
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"milestone_history": [
|
|
78
|
+
...existing,
|
|
79
|
+
{
|
|
80
|
+
"id": "{milestone}",
|
|
81
|
+
"name": "{milestone_name}",
|
|
82
|
+
"status": "completed",
|
|
83
|
+
"completed_at": "{now}",
|
|
84
|
+
"archive_path": "milestones/{milestone}/",
|
|
85
|
+
"archived_artifacts": [ ...all milestone artifact entries... ]
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Remove from `artifacts[]`:
|
|
92
|
+
```
|
|
93
|
+
state.json.artifacts = state.json.artifacts.filter(a => a.milestone != target)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Step 5: Advance State
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
next = state.json.milestones.find(m => m.status == "pending")
|
|
100
|
+
if next:
|
|
101
|
+
state.json.current_milestone = next.id
|
|
102
|
+
next.status = "active"
|
|
103
|
+
else:
|
|
104
|
+
state.json.current_milestone = null
|
|
105
|
+
state.json.status = "completed"
|
|
106
|
+
|
|
107
|
+
state.json.last_updated = now()
|
|
108
|
+
Write state.json (atomic)
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Step 6: Clean Scratch
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
for artifact in archived_artifacts:
|
|
115
|
+
rm -rf .workflow/{artifact.path}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Step 7: Generate Summary & Report
|
|
119
|
+
|
|
120
|
+
Write `.workflow/milestones/{milestone}/summary.md` with outcomes and learnings.
|
|
121
|
+
Update `.workflow/project.md` Context section.
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
=== MILESTONE COMPLETE ===
|
|
125
|
+
Milestone: {milestone} ({name})
|
|
126
|
+
Artifacts: {count} archived
|
|
127
|
+
Next: {next_milestone or "Project complete"}
|
|
128
|
+
|
|
129
|
+
Next steps:
|
|
130
|
+
$maestro-milestone-release -- Cut release
|
|
131
|
+
$maestro-analyze -- Start next milestone
|
|
132
|
+
$manage-status -- View state
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
</execution>
|
|
136
|
+
|
|
137
|
+
<error_codes>
|
|
138
|
+
|
|
139
|
+
| Code | Severity | Description | Recovery |
|
|
140
|
+
|------|----------|-------------|----------|
|
|
141
|
+
| E001 | error | Milestone identifier required | Specify milestone |
|
|
142
|
+
| E002 | error | Audit not passed | Run milestone-audit first |
|
|
143
|
+
| E003 | error | Incomplete artifacts remain | Complete work first |
|
|
144
|
+
|
|
145
|
+
</error_codes>
|
|
146
|
+
|
|
147
|
+
<success_criteria>
|
|
148
|
+
- [ ] Audit report validated (or --force used)
|
|
149
|
+
- [ ] Scratch directories archived to milestones/
|
|
150
|
+
- [ ] Learnings extracted and appended to specs/learnings.md
|
|
151
|
+
- [ ] Artifact entries moved to milestone_history in state.json
|
|
152
|
+
- [ ] State advanced to next milestone (or project marked complete)
|
|
153
|
+
- [ ] Scratch directories cleaned
|
|
154
|
+
- [ ] Summary and completion report generated
|
|
155
|
+
</success_criteria>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro-milestone-release
|
|
3
|
+
description: Version bump, changelog generation, and git tag for a completed milestone. Auto-detects version manifest (package.json, pyproject.toml, Cargo.toml), generates changelog from milestone summaries + git log, creates annotated tag.
|
|
4
|
+
argument-hint: "[<version>] [--bump patch|minor|major] [--dry-run] [--no-tag] [--no-push]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Package a completed milestone into a releasable version. Bumps project version in manifest,
|
|
10
|
+
generates CHANGELOG.md entry from phase/milestone summaries and git log, creates annotated
|
|
11
|
+
git tag, optionally pushes to remote. Runs after `/maestro-milestone-complete`.
|
|
12
|
+
</purpose>
|
|
13
|
+
|
|
14
|
+
<required_reading>
|
|
15
|
+
@~/.maestro/workflows/milestone-release.md
|
|
16
|
+
</required_reading>
|
|
17
|
+
|
|
18
|
+
<context>
|
|
19
|
+
$ARGUMENTS — optional explicit version and flags.
|
|
20
|
+
|
|
21
|
+
**Flags:**
|
|
22
|
+
- `<version>` — Explicit version (e.g. `1.2.0`). If omitted, derived from `--bump`.
|
|
23
|
+
- `--bump patch|minor|major` — Semver bump (default: `minor`)
|
|
24
|
+
- `--dry-run` — Compute version + changelog without writing
|
|
25
|
+
- `--no-tag` — Skip git tag creation
|
|
26
|
+
- `--no-push` — Skip `git push --follow-tags`
|
|
27
|
+
|
|
28
|
+
**Preconditions:**
|
|
29
|
+
- Current milestone completed (audit PASS + milestone-complete run)
|
|
30
|
+
- Working tree clean (no uncommitted changes) unless `--dry-run`
|
|
31
|
+
</context>
|
|
32
|
+
|
|
33
|
+
<execution>
|
|
34
|
+
Follow '~/.maestro/workflows/milestone-release.md' completely.
|
|
35
|
+
|
|
36
|
+
**Flow:** Validate preconditions → Resolve version → Collect changes → Generate CHANGELOG →
|
|
37
|
+
Bump manifest → Commit → Tag → Push
|
|
38
|
+
|
|
39
|
+
**Report:**
|
|
40
|
+
```
|
|
41
|
+
=== RELEASE COMPLETE ===
|
|
42
|
+
Version: v{previous} → v{new}
|
|
43
|
+
Milestone: {name}
|
|
44
|
+
Tag: v{new} {pushed|local-only}
|
|
45
|
+
Changelog: {N} entries
|
|
46
|
+
```
|
|
47
|
+
</execution>
|
|
48
|
+
|
|
49
|
+
<error_codes>
|
|
50
|
+
| Code | Severity | Condition | Recovery |
|
|
51
|
+
|------|----------|-----------|----------|
|
|
52
|
+
| E001 | error | Milestone not completed | Run `$maestro-milestone-complete` first |
|
|
53
|
+
| E002 | error | Audit verdict not PASS | Re-run `$maestro-milestone-audit` |
|
|
54
|
+
| E003 | error | Working tree not clean | Commit or stash changes |
|
|
55
|
+
| E004 | error | Version manifest not found | Add manifest or pass explicit version |
|
|
56
|
+
| E005 | error | Version not greater than current | Choose higher version |
|
|
57
|
+
| W001 | warning | No changes since last tag | Confirm release is desired |
|
|
58
|
+
| W002 | warning | Remote push failed | Retry `git push --follow-tags` |
|
|
59
|
+
</error_codes>
|
|
60
|
+
|
|
61
|
+
<success_criteria>
|
|
62
|
+
- [ ] Preconditions validated
|
|
63
|
+
- [ ] Target version computed and greater than previous
|
|
64
|
+
- [ ] Version manifest(s) updated
|
|
65
|
+
- [ ] CHANGELOG.md entry with milestone summary + grouped changes
|
|
66
|
+
- [ ] Release commit created
|
|
67
|
+
- [ ] Annotated git tag created (unless --no-tag)
|
|
68
|
+
- [ ] Pushed to remote (unless --no-push)
|
|
69
|
+
- [ ] state.json updated with last_release_version
|
|
70
|
+
</success_criteria>
|