maestro-flow 0.3.10 → 0.3.12
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/conceptual-planning-agent.md +1 -0
- package/.claude/agents/workflow-analyzer.md +114 -114
- package/.claude/agents/workflow-collab-planner.md +144 -144
- package/.claude/agents/workflow-debugger.md +102 -103
- package/.claude/agents/workflow-executor.md +127 -128
- package/.claude/agents/workflow-integration-checker.md +82 -82
- package/.claude/agents/workflow-nyquist-auditor.md +85 -84
- package/.claude/agents/workflow-phase-researcher.md +85 -85
- package/.claude/agents/workflow-plan-checker.md +90 -90
- package/.claude/agents/workflow-planner.md +178 -178
- package/.claude/agents/workflow-roadmapper.md +81 -83
- package/.claude/agents/workflow-verifier.md +119 -119
- package/.claude/commands/learn-decompose.md +176 -176
- package/.claude/commands/learn-follow.md +167 -167
- package/.claude/commands/learn-retro.md +3 -3
- package/.claude/commands/learn-second-opinion.md +2 -2
- package/.claude/commands/maestro-brainstorm.md +1 -0
- package/.claude/commands/maestro-coordinate.md +1 -3
- package/.claude/commands/maestro-fork.md +133 -111
- package/.claude/commands/maestro-merge.md +85 -77
- package/.claude/commands/maestro-plan.md +88 -2
- package/.claude/commands/maestro-roadmap.md +113 -2
- package/.claude/commands/maestro.md +1 -0
- package/.claude/commands/manage-harvest.md +131 -131
- package/.claude/commands/manage-issue.md +2 -2
- package/.claude/commands/quality-business-test.md +5 -5
- package/.claude/commands/quality-debug.md +3 -2
- package/.claude/commands/quality-retrospective.md +6 -4
- package/.claude/commands/quality-review.md +1 -1
- package/.claude/commands/quality-test-gen.md +5 -4
- 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 +151 -279
- package/.codex/skills/maestro-analyze/SKILL.md +59 -71
- package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
- package/.codex/skills/maestro-chain/SKILL.md +95 -110
- package/.codex/skills/maestro-coordinate/SKILL.md +68 -234
- package/.codex/skills/maestro-execute/SKILL.md +435 -446
- package/.codex/skills/maestro-fork/SKILL.md +98 -0
- package/.codex/skills/maestro-init/SKILL.md +172 -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 +69 -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 +58 -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 +35 -32
- 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 +95 -107
- 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 +94 -105
- 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 +9 -4
- package/README.zh-CN.md +9 -4
- package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
- package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
- package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
- package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
- package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
- package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
- package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
- package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
- package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
- package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
- package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
- package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
- package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
- package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
- package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
- package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
- package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
- package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
- package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
- package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
- package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
- package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
- package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
- package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
- package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
- package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
- package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
- package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
- package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
- package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
- package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
- package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
- package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
- package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
- package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
- package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
- package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
- package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
- package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
- package/dashboard/dist-server/dashboard/src/server/routes/collab.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/team-handler.d.ts +10 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +10 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -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 +28 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
- package/dashboard/dist-server/src/hooks/constants.d.ts +3 -1
- package/dashboard/dist-server/src/hooks/constants.js +4 -2
- package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
- package/dist/shared/agent-types.d.ts +4 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/commands/collab.js +4 -4
- package/dist/src/commands/collab.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +66 -1
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +29 -18
- package/dist/src/commands/install-backend.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.js +23 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
- package/dist/src/hooks/constants.d.ts +3 -1
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +4 -2
- package/dist/src/hooks/constants.js.map +1 -1
- package/dist/src/hooks/guards/index.d.ts +1 -0
- package/dist/src/hooks/guards/index.d.ts.map +1 -1
- package/dist/src/hooks/guards/index.js +1 -0
- package/dist/src/hooks/guards/index.js.map +1 -1
- 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/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/skill-context.d.ts +3 -0
- package/dist/src/hooks/skill-context.d.ts.map +1 -1
- package/dist/src/hooks/skill-context.js +95 -9
- package/dist/src/hooks/skill-context.js.map +1 -1
- 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.map +1 -1
- package/dist/src/hooks/statusline.js +6 -3
- package/dist/src/hooks/statusline.js.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/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.map +1 -1
- package/dist/src/tools/merge-validator.js +114 -16
- package/dist/src/tools/merge-validator.js.map +1 -1
- 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/package.json +2 -1
- package/shared/agent-types.ts +4 -0
- package/templates/worktree-scope.json +9 -10
- package/templates/worktrees.json +26 -27
- package/workflows/analyze.md +816 -816
- package/workflows/brainstorm.md +480 -471
- package/workflows/codebase-rebuild.md +332 -332
- package/workflows/codebase-refresh.md +240 -240
- package/workflows/debug.md +16 -6
- package/workflows/execute.md +1 -1
- package/workflows/fork.md +100 -36
- package/workflows/harvest.md +420 -420
- package/workflows/integration-test.md +355 -343
- package/workflows/issue-discover.md +414 -414
- package/workflows/issue.md +14 -4
- package/workflows/learn.md +19 -5
- package/workflows/maestro.md +1 -0
- package/workflows/map.md +111 -111
- package/workflows/merge.md +113 -55
- 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 +61 -22
- package/workflows/review.md +17 -4
- 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/workflows/test.md +12 -2
- package/workflows/ui-style.md +9 -2
- package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
- package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
- package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
- package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
- package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
- package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
- package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
- package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
- package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
- package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
- package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
|
@@ -1,111 +1,133 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-fork
|
|
3
|
-
description: Create a worktree for milestone-level parallel development, or sync existing worktree with main
|
|
4
|
-
argument-hint: "-m <milestone-number> [--base <branch>] [--sync]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Agent
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
---
|
|
15
|
-
<purpose>
|
|
16
|
-
Create a git worktree for an entire milestone, enabling inter-milestone parallel development.
|
|
17
|
-
|
|
18
|
-
Since `.workflow/` is gitignored, this command explicitly copies project context and
|
|
19
|
-
|
|
20
|
-
Also supports `--sync` mode to pull latest main branch changes and shared artifacts into an active worktree (prevents source and artifact drift for long-lived worktrees).
|
|
21
|
-
|
|
22
|
-
Produces `.workflow/worktrees.json` registry in the main worktree and `.workflow/worktree-scope.json` marker in the worktree.
|
|
23
|
-
</purpose>
|
|
24
|
-
|
|
25
|
-
<required_reading>
|
|
26
|
-
@~/.maestro/workflows/fork.md
|
|
27
|
-
</required_reading>
|
|
28
|
-
|
|
29
|
-
<deferred_reading>
|
|
30
|
-
- [worktrees.json](~/.maestro/templates/worktrees.json) — read when updating registry
|
|
31
|
-
- [worktree-scope.json](~/.maestro/templates/worktree-scope.json) — read when writing scope marker
|
|
32
|
-
</deferred_reading>
|
|
33
|
-
|
|
34
|
-
<context>
|
|
35
|
-
$ARGUMENTS -- milestone name and optional flags.
|
|
36
|
-
|
|
37
|
-
**Modes:**
|
|
38
|
-
|
|
39
|
-
| Mode | Trigger | Behavior |
|
|
40
|
-
|------|---------|----------|
|
|
41
|
-
| Fork | `-m 2` or `2` | Create worktree for
|
|
42
|
-
| Sync | `-m 2 --sync` | Sync existing milestone 2 worktree with main branch |
|
|
43
|
-
|
|
44
|
-
**Flags:**
|
|
45
|
-
- `-m <N>` or bare `<N>`: Milestone number (1-based, maps to `state.json.milestones[]`)
|
|
46
|
-
- `--base <branch>`: Override base branch for worktree creation (default: HEAD)
|
|
47
|
-
- `--sync`: Sync mode — pull main into existing worktree, re-copy shared artifacts
|
|
48
|
-
|
|
49
|
-
**Milestone resolution:** `state.json.milestones[N-1]` → `{
|
|
50
|
-
|
|
51
|
-
**Worktree layout:**
|
|
52
|
-
```
|
|
53
|
-
.worktrees/m{N}-{slug}/
|
|
54
|
-
├── .workflow/
|
|
55
|
-
│ ├── worktree-scope.json (scope marker
|
|
56
|
-
│ ├── state.json (scoped
|
|
57
|
-
│ ├── project.md (read-only copy)
|
|
58
|
-
│ ├── roadmap.md (read-only copy)
|
|
59
|
-
│ ├── config.json (read-only copy)
|
|
60
|
-
│ ├── specs/ (read-only copy)
|
|
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
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
1
|
+
---
|
|
2
|
+
name: maestro-fork
|
|
3
|
+
description: Create a worktree for milestone-level parallel development, or sync existing worktree with main
|
|
4
|
+
argument-hint: "-m <milestone-number> [--base <branch>] [--sync]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Agent
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Create a git worktree for an entire milestone, enabling inter-milestone parallel development. The worktree scope is milestone-level — all scratch artifacts for that milestone are owned by the worktree.
|
|
17
|
+
|
|
18
|
+
Since `.workflow/` is gitignored, this command explicitly copies project context and existing milestone scratch artifacts into the worktree. Per-phase parallelism within a milestone is NOT supported.
|
|
19
|
+
|
|
20
|
+
Also supports `--sync` mode to pull latest main branch changes and shared artifacts into an active worktree (prevents source and artifact drift for long-lived worktrees).
|
|
21
|
+
|
|
22
|
+
Produces `.workflow/worktrees.json` registry in the main worktree and `.workflow/worktree-scope.json` marker in the worktree.
|
|
23
|
+
</purpose>
|
|
24
|
+
|
|
25
|
+
<required_reading>
|
|
26
|
+
@~/.maestro/workflows/fork.md
|
|
27
|
+
</required_reading>
|
|
28
|
+
|
|
29
|
+
<deferred_reading>
|
|
30
|
+
- [worktrees.json](~/.maestro/templates/worktrees.json) — read when updating registry
|
|
31
|
+
- [worktree-scope.json](~/.maestro/templates/worktree-scope.json) — read when writing scope marker
|
|
32
|
+
</deferred_reading>
|
|
33
|
+
|
|
34
|
+
<context>
|
|
35
|
+
$ARGUMENTS -- milestone name and optional flags.
|
|
36
|
+
|
|
37
|
+
**Modes:**
|
|
38
|
+
|
|
39
|
+
| Mode | Trigger | Behavior |
|
|
40
|
+
|------|---------|----------|
|
|
41
|
+
| Fork | `-m 2` or `2` | Create worktree for milestone 2 |
|
|
42
|
+
| Sync | `-m 2 --sync` | Sync existing milestone 2 worktree with main branch |
|
|
43
|
+
|
|
44
|
+
**Flags:**
|
|
45
|
+
- `-m <N>` or bare `<N>`: Milestone number (1-based, maps to `state.json.milestones[]`)
|
|
46
|
+
- `--base <branch>`: Override base branch for worktree creation (default: HEAD)
|
|
47
|
+
- `--sync`: Sync mode — pull main into existing worktree, re-copy shared artifacts
|
|
48
|
+
|
|
49
|
+
**Milestone resolution:** `state.json.milestones[N-1]` → `{id, name, status}`
|
|
50
|
+
|
|
51
|
+
**Worktree layout:**
|
|
52
|
+
```
|
|
53
|
+
.worktrees/m{N}-{slug}/
|
|
54
|
+
├── .workflow/
|
|
55
|
+
│ ├── worktree-scope.json (milestone scope marker)
|
|
56
|
+
│ ├── state.json (scoped — only this milestone's artifacts)
|
|
57
|
+
│ ├── project.md (read-only copy)
|
|
58
|
+
│ ├── roadmap.md (read-only copy)
|
|
59
|
+
│ ├── config.json (read-only copy)
|
|
60
|
+
│ ├── specs/ (read-only copy)
|
|
61
|
+
│ └── scratch/ (milestone's existing + new artifacts)
|
|
62
|
+
│ ├── analyze-auth-2026-04-20/
|
|
63
|
+
│ ├── plan-auth-2026-04-20/
|
|
64
|
+
│ └── ...
|
|
65
|
+
└── <source code> (git worktree checkout)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Artifact scoping:**
|
|
69
|
+
Fork copies scratch artifacts that belong to the target milestone (filtered from `state.json.artifacts[]` where `milestone == target`). New work in the worktree creates scratch artifacts normally; they are registered in the worktree's local `state.json`.
|
|
70
|
+
</context>
|
|
71
|
+
|
|
72
|
+
<execution>
|
|
73
|
+
Follow '~/.maestro/workflows/fork.md' completely.
|
|
74
|
+
|
|
75
|
+
**Fork flow:**
|
|
76
|
+
1. Validate: project initialized, roadmap exists, not inside worktree, milestone not already forked
|
|
77
|
+
2. Resolve milestone: `state.json.milestones[N-1]`
|
|
78
|
+
3. Create git worktree: `git worktree add -b milestone/{slug} .worktrees/m{N}-{slug} HEAD`
|
|
79
|
+
4. Copy `.workflow/` into worktree:
|
|
80
|
+
- Shared files (read-only): `project.md`, `roadmap.md`, `config.json`, `specs/`
|
|
81
|
+
- Milestone scratch artifacts: filter `state.json.artifacts[]` by `milestone == target`, copy each `scratch/{path}`
|
|
82
|
+
5. Write scope marker: `worktree-scope.json` with milestone number and main path
|
|
83
|
+
6. Write scoped `state.json`: only this milestone's artifacts, `current_milestone` set
|
|
84
|
+
7. Update main: `worktrees.json` registry, mark milestone as `"forked"` in `state.json.milestones[]`
|
|
85
|
+
|
|
86
|
+
**Sync flow:**
|
|
87
|
+
1. Find worktree from `worktrees.json`
|
|
88
|
+
2. `cd worktree && git merge main`
|
|
89
|
+
3. Re-copy shared files: `project.md`, `roadmap.md`, `config.json`, `specs/`
|
|
90
|
+
4. Report conflicts if any
|
|
91
|
+
|
|
92
|
+
**Next-step routing on completion:**
|
|
93
|
+
|
|
94
|
+
Fork mode:
|
|
95
|
+
- Enter worktree → `cd {wt.path} && /maestro-analyze`
|
|
96
|
+
- Automated → `maestro delegate "run full lifecycle for milestone" --cd {wt.path} --mode write`
|
|
97
|
+
- Status → Skill({ skill: "manage-status" })
|
|
98
|
+
|
|
99
|
+
Sync mode:
|
|
100
|
+
- Sync complete → resume work in worktree
|
|
101
|
+
- Conflicts found → resolve manually, then retry
|
|
102
|
+
</execution>
|
|
103
|
+
|
|
104
|
+
<error_codes>
|
|
105
|
+
| Code | Severity | Condition | Recovery |
|
|
106
|
+
|------|----------|-----------|----------|
|
|
107
|
+
| E001 | error | Project not initialized | Run maestro-init first |
|
|
108
|
+
| E002 | error | No roadmap found | Run maestro-roadmap first |
|
|
109
|
+
| E003 | error | Running inside a worktree | Run from main worktree |
|
|
110
|
+
| E004 | error | No milestone number provided | Provide `-m <N>` |
|
|
111
|
+
| E005 | error | No milestones defined in state.json | Run maestro-roadmap first |
|
|
112
|
+
| E006 | error | Milestone number out of range | Check available milestones |
|
|
113
|
+
| E007 | error | No active worktree for milestone (--sync) | Check worktrees.json |
|
|
114
|
+
| E008 | error | Milestone already has active worktree | Merge or cleanup first |
|
|
115
|
+
</error_codes>
|
|
116
|
+
|
|
117
|
+
<success_criteria>
|
|
118
|
+
Fork mode:
|
|
119
|
+
- [ ] Milestone resolved from state.json.milestones[]
|
|
120
|
+
- [ ] Git worktree created with branch (`milestone/{slug}`)
|
|
121
|
+
- [ ] Shared `.workflow/` files copied (project.md, roadmap.md, config.json, specs/)
|
|
122
|
+
- [ ] Milestone scratch artifacts copied (filtered from artifact registry)
|
|
123
|
+
- [ ] `worktree-scope.json` written with milestone scope
|
|
124
|
+
- [ ] Scoped `state.json` written (only this milestone's artifacts)
|
|
125
|
+
- [ ] `worktrees.json` registry updated in main worktree
|
|
126
|
+
- [ ] Milestone marked as `"forked"` in main `state.json.milestones[]`
|
|
127
|
+
- [ ] Summary displayed with next-step commands
|
|
128
|
+
|
|
129
|
+
Sync mode:
|
|
130
|
+
- [ ] Git merge main into worktree branch
|
|
131
|
+
- [ ] Shared artifacts re-copied (project.md, roadmap.md, config.json, specs/)
|
|
132
|
+
- [ ] Conflicts reported if any
|
|
133
|
+
</success_criteria>
|
|
@@ -1,77 +1,85 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-merge
|
|
3
|
-
description: Two-phase merge of milestone worktree branch back — git merge first, artifact sync only on success
|
|
4
|
-
argument-hint: "-m <milestone-number> [--force] [--dry-run] [--no-cleanup] [--continue]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Agent
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
---
|
|
15
|
-
<purpose>
|
|
16
|
-
Merge a completed milestone worktree branch back into the main branch, sync
|
|
17
|
-
|
|
18
|
-
Includes registry health check, pre-merge rebase (pull main into worktree to minimize conflicts), and atomic state reconciliation (
|
|
19
|
-
</purpose>
|
|
20
|
-
|
|
21
|
-
<required_reading>
|
|
22
|
-
@~/.maestro/workflows/merge.md
|
|
23
|
-
</required_reading>
|
|
24
|
-
|
|
25
|
-
<context>
|
|
26
|
-
$ARGUMENTS -- milestone name and optional flags.
|
|
27
|
-
|
|
28
|
-
**Flags:**
|
|
29
|
-
- `-m <N>` or bare `<N>`: Milestone number (1-based, maps to registry)
|
|
30
|
-
- `--force`: Merge even if
|
|
31
|
-
- `--dry-run`: Show what would be merged without executing
|
|
32
|
-
- `--no-cleanup`: Keep worktree and branch after merge (for inspection)
|
|
33
|
-
- `--continue`: Resume a merge that was paused due to git conflict
|
|
34
|
-
|
|
35
|
-
**Merge sequence:**
|
|
36
|
-
1. Registry health check (remove stale entries)
|
|
37
|
-
2. Validate
|
|
38
|
-
3. Pre-merge rebase (`git merge main` in worktree)
|
|
39
|
-
4. Phase 1: Git merge (source code only)
|
|
40
|
-
5. Phase 2:
|
|
41
|
-
6. Atomic
|
|
42
|
-
7. Cleanup (worktree remove + branch delete)
|
|
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
|
-
- [ ] Registry
|
|
77
|
-
|
|
1
|
+
---
|
|
2
|
+
name: maestro-merge
|
|
3
|
+
description: Two-phase merge of milestone worktree branch back — git merge first, scratch artifact sync only on success
|
|
4
|
+
argument-hint: "-m <milestone-number> [--force] [--dry-run] [--no-cleanup] [--continue]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Agent
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Merge a completed milestone worktree branch back into the main branch, sync scratch artifacts, and reconcile the artifact registry. Uses a two-phase approach: git merge first (source code), artifact sync second (only after git succeeds). This prevents partial state corruption when merge conflicts occur.
|
|
17
|
+
|
|
18
|
+
Includes registry health check, pre-merge rebase (pull main into worktree to minimize conflicts), and atomic state reconciliation (merge artifact entries, don't overwrite).
|
|
19
|
+
</purpose>
|
|
20
|
+
|
|
21
|
+
<required_reading>
|
|
22
|
+
@~/.maestro/workflows/merge.md
|
|
23
|
+
</required_reading>
|
|
24
|
+
|
|
25
|
+
<context>
|
|
26
|
+
$ARGUMENTS -- milestone name and optional flags.
|
|
27
|
+
|
|
28
|
+
**Flags:**
|
|
29
|
+
- `-m <N>` or bare `<N>`: Milestone number (1-based, maps to registry)
|
|
30
|
+
- `--force`: Merge even if milestone has incomplete artifacts
|
|
31
|
+
- `--dry-run`: Show what would be merged without executing
|
|
32
|
+
- `--no-cleanup`: Keep worktree and branch after merge (for inspection)
|
|
33
|
+
- `--continue`: Resume a merge that was paused due to git conflict
|
|
34
|
+
|
|
35
|
+
**Merge sequence:**
|
|
36
|
+
1. Registry health check (remove stale worktree entries)
|
|
37
|
+
2. Validate milestone artifact completeness (all EXC artifacts completed)
|
|
38
|
+
3. Pre-merge rebase (`git merge main` in worktree)
|
|
39
|
+
4. Phase 1: Git merge (source code only)
|
|
40
|
+
5. Phase 2: Scratch artifact sync (only after git merge succeeds)
|
|
41
|
+
6. Atomic artifact registry reconciliation
|
|
42
|
+
7. Cleanup (worktree remove + branch delete)
|
|
43
|
+
|
|
44
|
+
**Phase 2 — Artifact sync detail:**
|
|
45
|
+
- Copy worktree `scratch/*` dirs back to main `.workflow/scratch/`
|
|
46
|
+
- Merge worktree `state.json.artifacts[]` entries into main `state.json.artifacts[]`
|
|
47
|
+
- Dedup by artifact id; worktree version wins for same id
|
|
48
|
+
- Update milestone status in main `state.json.milestones[]` (remove "forked" flag)
|
|
49
|
+
- Mark `harvested` status from worktree artifacts
|
|
50
|
+
|
|
51
|
+
**Conflict handling:**
|
|
52
|
+
If git merge fails, the command saves state to `.workflow/.merge-state.json` and exits. User resolves conflicts, then runs `maestro-merge --continue` to resume artifact sync.
|
|
53
|
+
</context>
|
|
54
|
+
|
|
55
|
+
<execution>
|
|
56
|
+
Follow '~/.maestro/workflows/merge.md' completely.
|
|
57
|
+
|
|
58
|
+
**Next-step routing on completion:**
|
|
59
|
+
- View dashboard → Skill({ skill: "manage-status" })
|
|
60
|
+
- Audit milestone → Skill({ skill: "maestro-milestone-audit" })
|
|
61
|
+
</execution>
|
|
62
|
+
|
|
63
|
+
<error_codes>
|
|
64
|
+
| Code | Severity | Condition | Recovery |
|
|
65
|
+
|------|----------|-----------|----------|
|
|
66
|
+
| E001 | error | Running inside a worktree | Run from main worktree |
|
|
67
|
+
| E002 | error | No worktree registry found | Nothing to merge |
|
|
68
|
+
| E003 | error | --continue but no merge state | Start fresh merge |
|
|
69
|
+
| E004 | error | No milestone number provided | Provide `-m <N>` |
|
|
70
|
+
| W001 | warning | Stale registry entries found | Auto-cleaned |
|
|
71
|
+
| W002 | warning | Incomplete artifacts (without --force) | Confirm or use --force |
|
|
72
|
+
| W003 | warning | Conflict pulling main into worktree | Resolve in worktree first |
|
|
73
|
+
</error_codes>
|
|
74
|
+
|
|
75
|
+
<success_criteria>
|
|
76
|
+
- [ ] Registry health check passed (stale entries cleaned)
|
|
77
|
+
- [ ] Pre-merge rebase successful (worktree has latest main)
|
|
78
|
+
- [ ] Git merge completed without conflicts (or conflicts resolved via --continue)
|
|
79
|
+
- [ ] All scratch artifacts synced to main `.workflow/scratch/`
|
|
80
|
+
- [ ] `state.json.artifacts[]` reconciled (worktree entries merged into main)
|
|
81
|
+
- [ ] Milestone `"forked"` flag removed in `state.json.milestones[]`
|
|
82
|
+
- [ ] `roadmap.md` completed phases marked
|
|
83
|
+
- [ ] Worktree removed and branch deleted (unless --no-cleanup)
|
|
84
|
+
- [ ] `worktrees.json` registry updated (entry removed)
|
|
85
|
+
</success_criteria>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-plan
|
|
3
3
|
description: Explore, clarify, plan, check, and confirm a phase execution plan
|
|
4
|
-
argument-hint: "[phase] [--collab] [--spec SPEC-xxx] [--auto] [--gaps] [--dir <path>]"
|
|
4
|
+
argument-hint: "[phase] [--collab] [--spec SPEC-xxx] [--auto] [--gaps] [--dir <path>] [--revise [instructions]] [--check <plan-dir>]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -13,7 +13,12 @@ allowed-tools:
|
|
|
13
13
|
- AskUserQuestion
|
|
14
14
|
---
|
|
15
15
|
<purpose>
|
|
16
|
-
Create
|
|
16
|
+
Create, revise, or verify an execution plan through a 5-stage pipeline: Exploration, Clarification, Planning, Plan Checking, and Confirmation. Produces plan.json with waves, task definitions, and user-confirmed execution strategy.
|
|
17
|
+
|
|
18
|
+
Supports three modes:
|
|
19
|
+
- **Create** (default): Build plan from analysis context or phase requirements
|
|
20
|
+
- **Revise** (`--revise`): Incrementally modify existing plan — edit tasks, adjust waves, add/remove tasks
|
|
21
|
+
- **Check** (`--check`): Standalone plan verification — run plan-checker against existing plan
|
|
17
22
|
|
|
18
23
|
All plan output goes to `.workflow/scratch/plan-{slug}-{date}/`. Registers PLN artifact in state.json. Performs collision detection against other plans in same milestone.
|
|
19
24
|
</purpose>
|
|
@@ -37,6 +42,8 @@ $ARGUMENTS — phase number, or no args for milestone-wide planning, with option
|
|
|
37
42
|
- `--auto` -- Skip interactive clarification (P2), use defaults
|
|
38
43
|
- `--gaps` -- Gap closure mode: load verification/issue gaps, skip exploration, plan only gap fixes
|
|
39
44
|
- `--dir <path>` -- Use arbitrary scratch directory as context source (e.g., from analyze session)
|
|
45
|
+
- `--revise [instructions]` -- Revise existing plan. Auto-discovers latest plan for current phase from state.json, or use with `--dir` to target specific plan. If instructions provided, apply directly (e.g. `--revise "add TASK-005 for error handling"`). If omitted, ask user via AskUserQuestion. Skips P1-P3 (exploration/clarification/planning), loads existing plan.json + tasks, applies targeted modifications, re-runs P4 (plan-checker).
|
|
46
|
+
- `--check <plan-dir>` -- Standalone plan verification. Run plan-checker (P4 only) against existing plan without modification. Also checks roadmap consistency and collision detection. Read-only.
|
|
40
47
|
|
|
41
48
|
**Scope routing:**
|
|
42
49
|
|
|
@@ -45,6 +52,9 @@ $ARGUMENTS — phase number, or no args for milestone-wide planning, with option
|
|
|
45
52
|
| `plan` (no args) | init + roadmap | milestone | Plan all phases in current milestone |
|
|
46
53
|
| `plan 1` | init + roadmap | phase | Plan phase 1 only |
|
|
47
54
|
| `plan --dir scratch/analyze-xxx` | none | inherited | Plan against specified analyze session |
|
|
55
|
+
| `plan --revise "instructions"` | existing plan | revise | Modify existing plan with instructions |
|
|
56
|
+
| `plan --revise` | existing plan | revise | Modify existing plan, ask user for instructions |
|
|
57
|
+
| `plan --check scratch/plan-xxx` | existing plan | check | Verify existing plan (read-only) |
|
|
48
58
|
|
|
49
59
|
**Upstream context:**
|
|
50
60
|
- Reads `context.md` from prior analyze artifact (auto-discovered from state.json or via --dir)
|
|
@@ -141,6 +151,80 @@ Next steps:
|
|
|
141
151
|
/maestro-execute --dir {dir} -- Execute specific plan
|
|
142
152
|
/maestro-plan {phase} -- Re-plan with modifications
|
|
143
153
|
```
|
|
154
|
+
|
|
155
|
+
### Mode: Revise (`--revise [instructions]`)
|
|
156
|
+
|
|
157
|
+
Incrementally modify an existing plan without rebuilding from scratch.
|
|
158
|
+
|
|
159
|
+
**Plan discovery:**
|
|
160
|
+
- With `--dir`: use specified plan directory
|
|
161
|
+
- Without `--dir`: auto-discover latest completed plan for current phase from `state.json.artifacts[]` (type=plan, status=completed, matching phase)
|
|
162
|
+
|
|
163
|
+
**Execution flow:**
|
|
164
|
+
|
|
165
|
+
1. **Load existing plan**
|
|
166
|
+
- Read `plan.json` + all `.task/TASK-*.json` from discovered directory
|
|
167
|
+
- Show current plan summary: task count, waves, status per task
|
|
168
|
+
|
|
169
|
+
2. **Obtain revision instructions**
|
|
170
|
+
- If `--revise "instructions"` provided → parse as change directive
|
|
171
|
+
- If `--revise` without instructions → AskUserQuestion for what to change:
|
|
172
|
+
- Add/remove tasks
|
|
173
|
+
- Modify task scope, action, implementation
|
|
174
|
+
- Reorder waves or adjust dependencies
|
|
175
|
+
- Update convergence criteria
|
|
176
|
+
- Parse instructions into concrete changes
|
|
177
|
+
|
|
178
|
+
3. **Apply targeted changes**
|
|
179
|
+
- Modify affected TASK files in-place
|
|
180
|
+
- If tasks added/removed: re-sequence task IDs, regenerate wave assignments
|
|
181
|
+
- Update plan.json summary (task count, wave structure)
|
|
182
|
+
- Preserve unmodified tasks completely
|
|
183
|
+
|
|
184
|
+
4. **Re-run plan-checker (P4)**
|
|
185
|
+
- Validate modified plan with same checker as create mode
|
|
186
|
+
- Re-run collision detection against same-milestone plans
|
|
187
|
+
- Present check results for confirmation
|
|
188
|
+
|
|
189
|
+
5. **Update artifact**
|
|
190
|
+
- Overwrite plan files in existing scratch directory
|
|
191
|
+
- Update artifact timestamp in state.json (no new artifact created)
|
|
192
|
+
|
|
193
|
+
### Mode: Check (`--check <plan-dir>`)
|
|
194
|
+
|
|
195
|
+
Read-only plan verification without modification.
|
|
196
|
+
|
|
197
|
+
**Execution flow:**
|
|
198
|
+
|
|
199
|
+
1. **Load plan**
|
|
200
|
+
- Read `plan.json` + `.task/TASK-*.json` from specified directory
|
|
201
|
+
- Read `.workflow/roadmap.md` for consistency comparison
|
|
202
|
+
|
|
203
|
+
2. **Run checks**
|
|
204
|
+
- Plan-checker (P4 pipeline stage) — task quality, convergence criteria
|
|
205
|
+
- Roadmap consistency — plan tasks align with phase scope and requirements
|
|
206
|
+
- Collision detection — file overlaps with other plans in same milestone
|
|
207
|
+
- Dependency integrity — no broken cross-task dependencies
|
|
208
|
+
|
|
209
|
+
3. **Produce check report**
|
|
210
|
+
```
|
|
211
|
+
=== PLAN CHECK ===
|
|
212
|
+
Plan: {plan_dir}/plan.json
|
|
213
|
+
Tasks: {total} ({completed} done, {pending} pending)
|
|
214
|
+
|
|
215
|
+
Checker: {PASS|WARN|FAIL} ({issues} issues)
|
|
216
|
+
Roadmap: {aligned|drift detected}
|
|
217
|
+
Collision: {clear|{N} overlaps}
|
|
218
|
+
|
|
219
|
+
Issues:
|
|
220
|
+
1. [{severity}] {description}
|
|
221
|
+
|
|
222
|
+
Suggested actions:
|
|
223
|
+
/maestro-plan --revise "fix instructions" -- Apply fixes
|
|
224
|
+
/maestro-execute --dir {plan_dir} -- Execute as-is
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**No file modifications.** Pure verification + report.
|
|
144
228
|
</execution>
|
|
145
229
|
|
|
146
230
|
<error_codes>
|
|
@@ -148,6 +232,8 @@ Next steps:
|
|
|
148
232
|
|------|----------|-----------|----------|
|
|
149
233
|
| E001 | error | No args and no roadmap (cannot determine scope) | Provide phase number or topic, or create roadmap |
|
|
150
234
|
| E003 | error | --gaps requires prior verification/issues to exist | Run maestro-verify first |
|
|
235
|
+
| E004 | error | No plan found to revise (--revise without target) | Use --dir to specify plan, or create plan first |
|
|
236
|
+
| E005 | error | Plan directory not found (--check) | Check path, use --dir |
|
|
151
237
|
| W001 | warning | Exploration agent returned incomplete results | Retry exploration or proceed with available context |
|
|
152
238
|
| W002 | warning | Plan-checker found minor issues, continuing | Review plan-checker feedback, adjust plan if needed |
|
|
153
239
|
| W003 | warning | Wiki search unavailable or returned no results | Continue without prior knowledge context |
|