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,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-roadmap
|
|
3
3
|
description: Interactive roadmap creation with iterative refinement — lightweight alternative to spec-generate
|
|
4
|
-
argument-hint: "<requirement> [-y] [-c] [-m progressive|direct|auto] [--from-brainstorm SESSION-ID]"
|
|
4
|
+
argument-hint: "<requirement> [-y] [-c] [-m progressive|direct|auto] [--from-brainstorm SESSION-ID] [--revise [instructions]] [--review]"
|
|
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 a project roadmap through interactive requirement decomposition and iterative refinement. This is the lightweight path for structured decomposition — directly from requirements to roadmap without full specification documents. For the heavy path with formal specs, use maestro-spec-generate instead.
|
|
16
|
+
Create or revise a project roadmap through interactive requirement decomposition and iterative refinement. This is the lightweight path for structured decomposition — directly from requirements to roadmap without full specification documents. For the heavy path with formal specs, use maestro-spec-generate instead.
|
|
17
|
+
|
|
18
|
+
Supports three modes:
|
|
19
|
+
- **Create** (default): Build roadmap from requirements
|
|
20
|
+
- **Revise** (`--revise`): Modify existing roadmap while preserving completed phase progress
|
|
21
|
+
- **Review** (`--review`): Health assessment of current roadmap — actual vs planned, drift detection, adjustment recommendations (read-only)
|
|
17
22
|
|
|
18
23
|
Produces `.workflow/roadmap.md` with milestone/phase structure ready for maestro-plan.
|
|
19
24
|
</purpose>
|
|
@@ -31,11 +36,14 @@ $ARGUMENTS -- requirement text, @file reference, or brainstorm session reference
|
|
|
31
36
|
- `-c` / `--continue`: Resume from last checkpoint
|
|
32
37
|
- `-m progressive|direct|auto`: Decomposition strategy (default: auto)
|
|
33
38
|
- `--from-brainstorm SESSION-ID`: Import guidance-specification.md from a brainstorm session as seed
|
|
39
|
+
- `--revise [instructions]`: Revise existing roadmap. If instructions provided, apply directly (e.g. `--revise "add phase 4 for perf optimization"` or `--revise "split phase 2 into 2a and 2b"`). If omitted, ask user for revision instructions via AskUserQuestion. Preserves completed phase progress.
|
|
40
|
+
- `--review`: Roadmap health assessment — compare actual vs planned progress, detect drift, assess remaining phases (read-only, produces review report)
|
|
34
41
|
|
|
35
42
|
**Input types:**
|
|
36
43
|
- Direct text: `"Implement user authentication system with OAuth and 2FA"`
|
|
37
44
|
- File reference: `@requirements.md`
|
|
38
45
|
- Brainstorm import: `--from-brainstorm WFS-xxx`
|
|
46
|
+
- No args + `--revise` / `--review`: Operate on existing `.workflow/roadmap.md`
|
|
39
47
|
|
|
40
48
|
**Relationship to pipeline:**
|
|
41
49
|
```
|
|
@@ -63,6 +71,9 @@ Auto-selection: ≥3 high uncertainty factors → Progressive, ≥3 low → Dire
|
|
|
63
71
|
</context>
|
|
64
72
|
|
|
65
73
|
<execution>
|
|
74
|
+
|
|
75
|
+
### Mode: Create (default)
|
|
76
|
+
|
|
66
77
|
Follow '~/.maestro/workflows/roadmap.md' completely.
|
|
67
78
|
|
|
68
79
|
**Next-step routing on completion:**
|
|
@@ -70,6 +81,104 @@ Follow '~/.maestro/workflows/roadmap.md' completely.
|
|
|
70
81
|
- Simple project, skip analysis → /maestro-plan 1
|
|
71
82
|
- Need UI design first → /maestro-ui-design 1
|
|
72
83
|
- View project dashboard → /manage-status
|
|
84
|
+
|
|
85
|
+
### Mode: Revise (`--revise [instructions]`)
|
|
86
|
+
|
|
87
|
+
Revise an existing roadmap while preserving completed phase progress.
|
|
88
|
+
|
|
89
|
+
**Pre-conditions:**
|
|
90
|
+
- `.workflow/roadmap.md` exists
|
|
91
|
+
- `.workflow/state.json` exists (for progress tracking)
|
|
92
|
+
|
|
93
|
+
**Execution flow:**
|
|
94
|
+
|
|
95
|
+
1. **Load current state**
|
|
96
|
+
- Read `.workflow/roadmap.md` — parse milestones, phases, dependencies, progress markers
|
|
97
|
+
- Read `.workflow/state.json` — get artifact registry, current milestone
|
|
98
|
+
- Identify completed vs in-progress vs pending phases
|
|
99
|
+
|
|
100
|
+
2. **Obtain revision instructions**
|
|
101
|
+
- If `--revise "instructions text"` provided → use directly as change directive
|
|
102
|
+
- If `--revise` without instructions → use AskUserQuestion to ask user what to change
|
|
103
|
+
- Show current roadmap summary with phase statuses
|
|
104
|
+
- Present options: add/remove/reorder phases, modify scope/criteria/deps, move between milestones
|
|
105
|
+
- Capture change instructions from response
|
|
106
|
+
|
|
107
|
+
3. **Impact analysis**
|
|
108
|
+
- For each proposed change, assess impact on:
|
|
109
|
+
- Phase dependency chain (re-validate no circular deps)
|
|
110
|
+
- Requirement coverage (every Active requirement still mapped)
|
|
111
|
+
- Completed phases (warn if change invalidates completed work)
|
|
112
|
+
- Existing plan artifacts (warn if plan exists for affected phase)
|
|
113
|
+
- Present impact summary for confirmation
|
|
114
|
+
|
|
115
|
+
4. **Apply revisions**
|
|
116
|
+
- Update `.workflow/roadmap.md` preserving:
|
|
117
|
+
- Completed phase progress markers (✓, completion dates)
|
|
118
|
+
- Phase numbering for completed phases (renumber only pending phases)
|
|
119
|
+
- Cross-references from state.json artifacts
|
|
120
|
+
- Update `state.json` if milestone structure changed
|
|
121
|
+
- Add revision log entry to roadmap.md metadata section
|
|
122
|
+
|
|
123
|
+
5. **Post-revision validation**
|
|
124
|
+
- Re-check dependency integrity (no circular deps)
|
|
125
|
+
- Re-check requirement coverage (every Active req mapped)
|
|
126
|
+
- Verify completed phases unaffected
|
|
127
|
+
|
|
128
|
+
**Next-step routing on completion:**
|
|
129
|
+
- Phases changed, need re-analysis → `/maestro-analyze {phase}`
|
|
130
|
+
- Phases changed, ready to plan → `/maestro-plan {phase}`
|
|
131
|
+
- Only pending phases adjusted → `/maestro-plan` (continue from where left off)
|
|
132
|
+
|
|
133
|
+
### Mode: Review (`--review`)
|
|
134
|
+
|
|
135
|
+
Read-only health assessment of the current roadmap.
|
|
136
|
+
|
|
137
|
+
**Pre-conditions:**
|
|
138
|
+
- `.workflow/roadmap.md` exists
|
|
139
|
+
|
|
140
|
+
**Execution flow:**
|
|
141
|
+
|
|
142
|
+
1. **Load roadmap + execution history**
|
|
143
|
+
- Read `.workflow/roadmap.md` — full structure
|
|
144
|
+
- Read `.workflow/state.json` — artifact registry, milestone progress
|
|
145
|
+
- Cross-reference: for each phase, check ANL/PLN/EXC/VRF artifact status
|
|
146
|
+
|
|
147
|
+
2. **Assessment dimensions**
|
|
148
|
+
- **Progress tracking**: Actual vs planned per phase, milestone velocity
|
|
149
|
+
- **Drift detection**: Completed phases deviating from original scope (via verify/audit findings)
|
|
150
|
+
- **Relevance check**: Pending phases still aligned with current project goals (from project.md)
|
|
151
|
+
- **Dependency health**: Pending phase dependencies still valid given completed work
|
|
152
|
+
- **Risk assessment**: Identify phases at risk (blocked, scope creep, dependency failures)
|
|
153
|
+
|
|
154
|
+
3. **Produce review report**
|
|
155
|
+
- Write to `.workflow/scratch/roadmap-review-{date}.md`
|
|
156
|
+
- Format:
|
|
157
|
+
```
|
|
158
|
+
=== ROADMAP REVIEW ===
|
|
159
|
+
Date: {date}
|
|
160
|
+
Milestone: {current}
|
|
161
|
+
|
|
162
|
+
Progress: {completed}/{total} phases ({percentage}%)
|
|
163
|
+
Drift: {none|minor|significant}
|
|
164
|
+
Risk: {low|medium|high}
|
|
165
|
+
|
|
166
|
+
Phase Assessment:
|
|
167
|
+
[✓] Phase 1: {name} — completed, on-scope
|
|
168
|
+
[~] Phase 2: {name} — in-progress, {status notes}
|
|
169
|
+
[ ] Phase 3: {name} — pending, {risk/notes}
|
|
170
|
+
|
|
171
|
+
Recommendations:
|
|
172
|
+
1. {actionable recommendation}
|
|
173
|
+
2. ...
|
|
174
|
+
|
|
175
|
+
Suggested actions:
|
|
176
|
+
/maestro-roadmap --revise — Apply recommended changes
|
|
177
|
+
/maestro-plan {phase} — Plan next phase
|
|
178
|
+
/manage-status — View full dashboard
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**No state modifications.** Pure assessment + recommendations.
|
|
73
182
|
</execution>
|
|
74
183
|
|
|
75
184
|
<error_codes>
|
|
@@ -78,6 +187,8 @@ Follow '~/.maestro/workflows/roadmap.md' completely.
|
|
|
78
187
|
| E001 | error | Requirement text or @file required | Prompt user for input |
|
|
79
188
|
| E002 | error | Brainstorm session not found (--from-brainstorm) | Show available sessions |
|
|
80
189
|
| E003 | error | Circular dependency detected in phases | Prompt user to re-decompose |
|
|
190
|
+
| E004 | error | roadmap.md not found (--revise/--review) | Run maestro-roadmap first |
|
|
191
|
+
| E005 | error | Revision invalidates completed phase work | Warn user, ask to confirm or adjust |
|
|
81
192
|
| W001 | warning | CLI analysis failed, using fallback | Continue with available data |
|
|
82
193
|
| W002 | warning | Max refinement rounds (5) reached | Force proceed with current roadmap |
|
|
83
194
|
| W005 | warning | External research agent failed | Continue without apiResearchContext |
|
|
@@ -55,6 +55,7 @@ When `-y` is active, maestro propagates auto flags to downstream commands. Only
|
|
|
55
55
|
|---------|-----------|--------|
|
|
56
56
|
| maestro-analyze | `-y` | Skip interactive scoping, auto-deepen |
|
|
57
57
|
| maestro-brainstorm | `-y` | Skip interactive questions, use defaults |
|
|
58
|
+
| maestro-roadmap | `-y` | Skip interactive questions, use defaults (create/revise/review) |
|
|
58
59
|
| maestro-ui-design | `-y` | Skip interactive selection, pick top variant |
|
|
59
60
|
| maestro-plan | `--auto` | Skip interactive clarification |
|
|
60
61
|
| maestro-spec-generate | `-y` | Skip interactive questions, use defaults |
|
|
@@ -1,131 +1,131 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-harvest
|
|
3
|
-
description: Extract knowledge from workflow artifacts and route to wiki / spec / issue stores
|
|
4
|
-
argument-hint: "[<session-id|path>] [--to wiki|spec|issue|auto] [--source <type>] [--recent N] [--dry-run] [-y]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Agent
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
---
|
|
15
|
-
<purpose>
|
|
16
|
-
Extract knowledge fragments from workflow artifacts (analysis results, brainstorm outputs, debug sessions, lite-plan/fix results, scratchpad notes, completed sessions) and route them into the project's three knowledge stores: wiki entries, spec conventions, and trackable issues.
|
|
17
|
-
|
|
18
|
-
Complements `quality-retrospective` (which is phase-scoped) by harvesting from **any** workflow artifact. Prevents knowledge loss from completed analysis and planning sessions that would otherwise only exist as stale files.
|
|
19
|
-
|
|
20
|
-
**Closed-loop**: harvest extracts → wiki/spec/issue stores → downstream commands consume (wiki-digest, spec-load, maestro-plan --gaps).
|
|
21
|
-
</purpose>
|
|
22
|
-
|
|
23
|
-
<required_reading>
|
|
24
|
-
@~/.maestro/workflows/harvest.md
|
|
25
|
-
</required_reading>
|
|
26
|
-
|
|
27
|
-
<deferred_reading>
|
|
28
|
-
- @~/.maestro/workflows/issue.md (issues.jsonl schema for issue routing — read when creating issues in Stage 6c)
|
|
29
|
-
- @~/.maestro/workflows/specs-add.md (spec entry format — read when routing to spec in Stage 6b)
|
|
30
|
-
</deferred_reading>
|
|
31
|
-
|
|
32
|
-
<context>
|
|
33
|
-
Arguments: $ARGUMENTS
|
|
34
|
-
|
|
35
|
-
**Modes (auto-detected):**
|
|
36
|
-
- No arguments → `scan` mode: discover all harvestable artifacts, interactive selection
|
|
37
|
-
- `<session-id>` (e.g., `ANL-auth-20260410`, `WFS-xxx`) → `session` mode: harvest specific session
|
|
38
|
-
- `<path>` (e.g., `.workflow/.analysis/ANL-auth-20260410/`) → `path` mode: harvest from explicit directory
|
|
39
|
-
|
|
40
|
-
**Flags:**
|
|
41
|
-
- `--to <target>` — Force routing: `wiki`, `spec`, `issue`, `auto` (default: `auto`)
|
|
42
|
-
- `--source <type>` — Filter source type: `analysis`, `brainstorm`, `debug`, `lite-plan`, `lite-fix`, `scratchpad`, `session`, `learning`, `all` (default: `all`)
|
|
43
|
-
- `--recent N` — Only artifacts updated within last N days (default: 30)
|
|
44
|
-
- `--dry-run` — Preview extraction and routing without writing
|
|
45
|
-
- `-y` / `--yes` — Skip confirmation prompts
|
|
46
|
-
- `--min-confidence N` — Minimum extraction confidence 0.0-1.0 (default: 0.5)
|
|
47
|
-
|
|
48
|
-
**Source registry (scan paths):**
|
|
49
|
-
| Source Type | Scan Path | Key Files |
|
|
50
|
-
|-------------|-----------|-----------|
|
|
51
|
-
| `analysis` | `.workflow/.analysis/ANL-*/` | `conclusions.json`, `*.md` |
|
|
52
|
-
| `brainstorm` | `.workflow/scratch/brainstorm-*/` | `guidance-specification.md` |
|
|
53
|
-
| `lite-plan` | `.workflow/.lite-plan/*/` | `plan.json`, `plan-overview.md` |
|
|
54
|
-
| `lite-fix` | `.workflow/.lite-fix/*/` | `fix-plan.json` |
|
|
55
|
-
| `debug` | `.workflow/.debug/*/` | `debug-log.md`, `hypothesis-*.md` |
|
|
56
|
-
| `scratchpad` | `.workflow/.scratchpad/` | `*.md`, `*.json` |
|
|
57
|
-
| `session` | `.workflow/active/WFS-*/` | `workflow-session.json` |
|
|
58
|
-
| `learning` | `.workflow/learning/` | `lessons.jsonl`, `digest-*.md` |
|
|
59
|
-
|
|
60
|
-
**Storage written:**
|
|
61
|
-
- `.workflow/harvest/harvest-log.jsonl` — provenance log (prevents duplicate harvesting)
|
|
62
|
-
- `.workflow/harvest/harvest-report-{date}.md` — per-run report
|
|
63
|
-
- Wiki entries via `maestro wiki create`
|
|
64
|
-
- Spec entries via `Skill({ skill: "spec-add" })`
|
|
65
|
-
- Issue entries appended to `.workflow/issues/issues.jsonl`
|
|
66
|
-
|
|
67
|
-
**Storage read (never modified):**
|
|
68
|
-
- All artifact source files (read-only until routing stage)
|
|
69
|
-
- `.workflow/harvest/harvest-log.jsonl` (dedup check)
|
|
70
|
-
</context>
|
|
71
|
-
|
|
72
|
-
<execution>
|
|
73
|
-
Follow '~/.maestro/workflows/harvest.md' Stages 1–8 in order. Key invariants:
|
|
74
|
-
|
|
75
|
-
1. **Read-only until Stage 6** — Stages 1–5 must not write anything. All extraction and classification happens in-memory.
|
|
76
|
-
2. **Dedup before write** — Stage 7 (dedup_check) runs BEFORE each write in Stage 6. Check harvest-log.jsonl, wiki search, issues.jsonl, and learnings.md for existing matches.
|
|
77
|
-
3. **Stable fragment IDs** — `HRV-{8 hex}` from `hash(source_id + content_hash)` so re-runs on same artifacts do not create duplicates.
|
|
78
|
-
4. **Reuse existing routing infrastructure**:
|
|
79
|
-
- Wiki: `maestro wiki create --type <type> --slug harvest-<source_type>-<short_id>`
|
|
80
|
-
- Spec: `Skill({ skill: "spec-add", args: "<
|
|
81
|
-
- Issue: append to `issues.jsonl` matching canonical schema from `workflows/issue.md`
|
|
82
|
-
5. **Never modify source artifacts** — harvest is purely extractive. Source files remain untouched.
|
|
83
|
-
6. **Confidence filtering** — fragments below `--min-confidence` are logged but not routed.
|
|
84
|
-
7. **Provenance tracking** — every routed item logged to `harvest-log.jsonl` with fragment_id, source reference, and target reference.
|
|
85
|
-
|
|
86
|
-
**Fragment extraction uses source-specific parsing** (see harvest.md Stage 3b for per-source patterns). The agent should read each artifact file and identify discrete knowledge items: findings, decisions, patterns, bugs, risks, tasks, lessons, recommendations.
|
|
87
|
-
|
|
88
|
-
**Classification uses category-to-target mapping** (see harvest.md Stage 4). Override with `--to` flag if user wants all items in one store.
|
|
89
|
-
|
|
90
|
-
**Next-step routing on completion:**
|
|
91
|
-
- Review wiki entries → `maestro wiki list --type note`
|
|
92
|
-
- Connect wiki graph → `/wiki-connect --fix`
|
|
93
|
-
- Triage issues → `/manage-issue list --source harvest`
|
|
94
|
-
- View specs → `/spec-load --category
|
|
95
|
-
- Full retrospective → `/quality-retrospective`
|
|
96
|
-
</execution>
|
|
97
|
-
|
|
98
|
-
<error_codes>
|
|
99
|
-
| Code | Severity | Condition | Recovery |
|
|
100
|
-
|------|----------|-----------|----------|
|
|
101
|
-
| E001 | error | `.workflow/` not initialized | Run `/maestro-init` first |
|
|
102
|
-
| E002 | error | Invalid `--to` target (must be: wiki, spec, issue, auto) | Display valid options |
|
|
103
|
-
| E003 | error | Invalid `--source` type | Display valid source types from registry |
|
|
104
|
-
| E004 | error | Session ID not found in any source path | Show available sessions with `--source all` |
|
|
105
|
-
| E005 | error | Path does not exist or contains no parseable artifacts | Verify path and file structure |
|
|
106
|
-
| W001 | warning | No harvestable artifacts found within `--recent` window | Widen time window or check `.workflow/` contents |
|
|
107
|
-
| W002 | warning | `maestro wiki create` failed — wiki entries saved to `.workflow/harvest/wiki-pending-*.md` | Apply pending entries manually or retry |
|
|
108
|
-
| W003 | warning | Some fragments below confidence threshold — logged but not routed | Lower `--min-confidence` to include |
|
|
109
|
-
| W004 | warning | Duplicate fragments skipped | Review harvest-log.jsonl for prior routing |
|
|
110
|
-
| W005 | warning | `.workflow/issues/` directory missing | Auto-create directory and empty issues.jsonl |
|
|
111
|
-
</error_codes>
|
|
112
|
-
|
|
113
|
-
<success_criteria>
|
|
114
|
-
- [ ] Mode correctly resolved (scan / session / path)
|
|
115
|
-
- [ ] Source artifacts discovered and listed with metadata
|
|
116
|
-
- [ ] User selected artifact(s) to harvest (or auto-selected via session/path mode)
|
|
117
|
-
- [ ] All files in selected artifacts loaded and parsed
|
|
118
|
-
- [ ] Knowledge fragments extracted with category, confidence, tags
|
|
119
|
-
- [ ] Fragments filtered by `--min-confidence`
|
|
120
|
-
- [ ] Routing classification applied (auto or forced by `--to`)
|
|
121
|
-
- [ ] Dedup check passed against harvest-log.jsonl and existing stores
|
|
122
|
-
- [ ] If `--dry-run`: preview displayed, no files written
|
|
123
|
-
- [ ] If not dry-run: all routed items written to target stores
|
|
124
|
-
- [ ] Wiki entries created via `maestro wiki create` (or fallback to pending files)
|
|
125
|
-
- [ ] Spec entries added via `spec-add` mechanism
|
|
126
|
-
- [ ] Issue entries appended to `issues.jsonl` with canonical schema
|
|
127
|
-
- [ ] `harvest-log.jsonl` updated with provenance for each routed item
|
|
128
|
-
- [ ] `harvest-report-{date}.md` written with full summary
|
|
129
|
-
- [ ] No source artifacts modified
|
|
130
|
-
- [ ] Summary displayed with counts and next-step routing
|
|
131
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: manage-harvest
|
|
3
|
+
description: Extract knowledge from workflow artifacts and route to wiki / spec / issue stores
|
|
4
|
+
argument-hint: "[<session-id|path>] [--to wiki|spec|issue|auto] [--source <type>] [--recent N] [--dry-run] [-y]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Agent
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Extract knowledge fragments from workflow artifacts (analysis results, brainstorm outputs, debug sessions, lite-plan/fix results, scratchpad notes, completed sessions) and route them into the project's three knowledge stores: wiki entries, spec conventions, and trackable issues.
|
|
17
|
+
|
|
18
|
+
Complements `quality-retrospective` (which is phase-scoped) by harvesting from **any** workflow artifact. Prevents knowledge loss from completed analysis and planning sessions that would otherwise only exist as stale files.
|
|
19
|
+
|
|
20
|
+
**Closed-loop**: harvest extracts → wiki/spec/issue stores → downstream commands consume (wiki-digest, spec-load, maestro-plan --gaps).
|
|
21
|
+
</purpose>
|
|
22
|
+
|
|
23
|
+
<required_reading>
|
|
24
|
+
@~/.maestro/workflows/harvest.md
|
|
25
|
+
</required_reading>
|
|
26
|
+
|
|
27
|
+
<deferred_reading>
|
|
28
|
+
- @~/.maestro/workflows/issue.md (issues.jsonl schema for issue routing — read when creating issues in Stage 6c)
|
|
29
|
+
- @~/.maestro/workflows/specs-add.md (spec entry format — read when routing to spec in Stage 6b)
|
|
30
|
+
</deferred_reading>
|
|
31
|
+
|
|
32
|
+
<context>
|
|
33
|
+
Arguments: $ARGUMENTS
|
|
34
|
+
|
|
35
|
+
**Modes (auto-detected):**
|
|
36
|
+
- No arguments → `scan` mode: discover all harvestable artifacts, interactive selection
|
|
37
|
+
- `<session-id>` (e.g., `ANL-auth-20260410`, `WFS-xxx`) → `session` mode: harvest specific session
|
|
38
|
+
- `<path>` (e.g., `.workflow/.analysis/ANL-auth-20260410/`) → `path` mode: harvest from explicit directory
|
|
39
|
+
|
|
40
|
+
**Flags:**
|
|
41
|
+
- `--to <target>` — Force routing: `wiki`, `spec`, `issue`, `auto` (default: `auto`)
|
|
42
|
+
- `--source <type>` — Filter source type: `analysis`, `brainstorm`, `debug`, `lite-plan`, `lite-fix`, `scratchpad`, `session`, `learning`, `all` (default: `all`)
|
|
43
|
+
- `--recent N` — Only artifacts updated within last N days (default: 30)
|
|
44
|
+
- `--dry-run` — Preview extraction and routing without writing
|
|
45
|
+
- `-y` / `--yes` — Skip confirmation prompts
|
|
46
|
+
- `--min-confidence N` — Minimum extraction confidence 0.0-1.0 (default: 0.5)
|
|
47
|
+
|
|
48
|
+
**Source registry (scan paths):**
|
|
49
|
+
| Source Type | Scan Path | Key Files |
|
|
50
|
+
|-------------|-----------|-----------|
|
|
51
|
+
| `analysis` | `.workflow/.analysis/ANL-*/` | `conclusions.json`, `*.md` |
|
|
52
|
+
| `brainstorm` | `.workflow/scratch/brainstorm-*/` | `guidance-specification.md` |
|
|
53
|
+
| `lite-plan` | `.workflow/.lite-plan/*/` | `plan.json`, `plan-overview.md` |
|
|
54
|
+
| `lite-fix` | `.workflow/.lite-fix/*/` | `fix-plan.json` |
|
|
55
|
+
| `debug` | `.workflow/.debug/*/` | `debug-log.md`, `hypothesis-*.md` |
|
|
56
|
+
| `scratchpad` | `.workflow/.scratchpad/` | `*.md`, `*.json` |
|
|
57
|
+
| `session` | `.workflow/active/WFS-*/` | `workflow-session.json` |
|
|
58
|
+
| `learning` | `.workflow/learning/` | `lessons.jsonl`, `digest-*.md` |
|
|
59
|
+
|
|
60
|
+
**Storage written:**
|
|
61
|
+
- `.workflow/harvest/harvest-log.jsonl` — provenance log (prevents duplicate harvesting)
|
|
62
|
+
- `.workflow/harvest/harvest-report-{date}.md` — per-run report
|
|
63
|
+
- Wiki entries via `maestro wiki create`
|
|
64
|
+
- Spec entries via `Skill({ skill: "spec-add" })`
|
|
65
|
+
- Issue entries appended to `.workflow/issues/issues.jsonl`
|
|
66
|
+
|
|
67
|
+
**Storage read (never modified):**
|
|
68
|
+
- All artifact source files (read-only until routing stage)
|
|
69
|
+
- `.workflow/harvest/harvest-log.jsonl` (dedup check)
|
|
70
|
+
</context>
|
|
71
|
+
|
|
72
|
+
<execution>
|
|
73
|
+
Follow '~/.maestro/workflows/harvest.md' Stages 1–8 in order. Key invariants:
|
|
74
|
+
|
|
75
|
+
1. **Read-only until Stage 6** — Stages 1–5 must not write anything. All extraction and classification happens in-memory.
|
|
76
|
+
2. **Dedup before write** — Stage 7 (dedup_check) runs BEFORE each write in Stage 6. Check harvest-log.jsonl, wiki search, issues.jsonl, and learnings.md for existing matches.
|
|
77
|
+
3. **Stable fragment IDs** — `HRV-{8 hex}` from `hash(source_id + content_hash)` so re-runs on same artifacts do not create duplicates.
|
|
78
|
+
4. **Reuse existing routing infrastructure**:
|
|
79
|
+
- Wiki: `maestro wiki create --type <type> --slug harvest-<source_type>-<short_id>`
|
|
80
|
+
- Spec: `Skill({ skill: "spec-add", args: "<category> <content>" })`
|
|
81
|
+
- Issue: append to `issues.jsonl` matching canonical schema from `workflows/issue.md`
|
|
82
|
+
5. **Never modify source artifacts** — harvest is purely extractive. Source files remain untouched.
|
|
83
|
+
6. **Confidence filtering** — fragments below `--min-confidence` are logged but not routed.
|
|
84
|
+
7. **Provenance tracking** — every routed item logged to `harvest-log.jsonl` with fragment_id, source reference, and target reference.
|
|
85
|
+
|
|
86
|
+
**Fragment extraction uses source-specific parsing** (see harvest.md Stage 3b for per-source patterns). The agent should read each artifact file and identify discrete knowledge items: findings, decisions, patterns, bugs, risks, tasks, lessons, recommendations.
|
|
87
|
+
|
|
88
|
+
**Classification uses category-to-target mapping** (see harvest.md Stage 4). Override with `--to` flag if user wants all items in one store.
|
|
89
|
+
|
|
90
|
+
**Next-step routing on completion:**
|
|
91
|
+
- Review wiki entries → `maestro wiki list --type note`
|
|
92
|
+
- Connect wiki graph → `/wiki-connect --fix`
|
|
93
|
+
- Triage issues → `/manage-issue list --source harvest`
|
|
94
|
+
- View specs → `/spec-load --category learning`
|
|
95
|
+
- Full retrospective → `/quality-retrospective`
|
|
96
|
+
</execution>
|
|
97
|
+
|
|
98
|
+
<error_codes>
|
|
99
|
+
| Code | Severity | Condition | Recovery |
|
|
100
|
+
|------|----------|-----------|----------|
|
|
101
|
+
| E001 | error | `.workflow/` not initialized | Run `/maestro-init` first |
|
|
102
|
+
| E002 | error | Invalid `--to` target (must be: wiki, spec, issue, auto) | Display valid options |
|
|
103
|
+
| E003 | error | Invalid `--source` type | Display valid source types from registry |
|
|
104
|
+
| E004 | error | Session ID not found in any source path | Show available sessions with `--source all` |
|
|
105
|
+
| E005 | error | Path does not exist or contains no parseable artifacts | Verify path and file structure |
|
|
106
|
+
| W001 | warning | No harvestable artifacts found within `--recent` window | Widen time window or check `.workflow/` contents |
|
|
107
|
+
| W002 | warning | `maestro wiki create` failed — wiki entries saved to `.workflow/harvest/wiki-pending-*.md` | Apply pending entries manually or retry |
|
|
108
|
+
| W003 | warning | Some fragments below confidence threshold — logged but not routed | Lower `--min-confidence` to include |
|
|
109
|
+
| W004 | warning | Duplicate fragments skipped | Review harvest-log.jsonl for prior routing |
|
|
110
|
+
| W005 | warning | `.workflow/issues/` directory missing | Auto-create directory and empty issues.jsonl |
|
|
111
|
+
</error_codes>
|
|
112
|
+
|
|
113
|
+
<success_criteria>
|
|
114
|
+
- [ ] Mode correctly resolved (scan / session / path)
|
|
115
|
+
- [ ] Source artifacts discovered and listed with metadata
|
|
116
|
+
- [ ] User selected artifact(s) to harvest (or auto-selected via session/path mode)
|
|
117
|
+
- [ ] All files in selected artifacts loaded and parsed
|
|
118
|
+
- [ ] Knowledge fragments extracted with category, confidence, tags
|
|
119
|
+
- [ ] Fragments filtered by `--min-confidence`
|
|
120
|
+
- [ ] Routing classification applied (auto or forced by `--to`)
|
|
121
|
+
- [ ] Dedup check passed against harvest-log.jsonl and existing stores
|
|
122
|
+
- [ ] If `--dry-run`: preview displayed, no files written
|
|
123
|
+
- [ ] If not dry-run: all routed items written to target stores
|
|
124
|
+
- [ ] Wiki entries created via `maestro wiki create` (or fallback to pending files)
|
|
125
|
+
- [ ] Spec entries added via `spec-add` mechanism
|
|
126
|
+
- [ ] Issue entries appended to `issues.jsonl` with canonical schema
|
|
127
|
+
- [ ] `harvest-log.jsonl` updated with provenance for each routed item
|
|
128
|
+
- [ ] `harvest-report-{date}.md` written with full summary
|
|
129
|
+
- [ ] No source artifacts modified
|
|
130
|
+
- [ ] Summary displayed with counts and next-step routing
|
|
131
|
+
</success_criteria>
|
|
@@ -67,7 +67,7 @@ Follow '~/.maestro/workflows/issue.md' completely.
|
|
|
67
67
|
- [ ] Output displayed in appropriate format (table for list, detail for status)
|
|
68
68
|
- [ ] Cross-references maintained (link creates bidirectional references)
|
|
69
69
|
- [ ] Next step routing by subcommand:
|
|
70
|
-
- create → `/
|
|
71
|
-
- list → `/
|
|
70
|
+
- create → `/maestro-analyze --gaps <ISS-ID>` or `/maestro-plan --gaps`
|
|
71
|
+
- list → `/maestro-analyze --gaps <ISS-ID>` for any open issue
|
|
72
72
|
- close → `/manage-status`
|
|
73
73
|
</success_criteria>
|
|
@@ -60,10 +60,10 @@ Context files:
|
|
|
60
60
|
- `.workflow/.spec/SPEC-xxx/requirements/NFR-*.md` -- Non-functional requirements
|
|
61
61
|
- `.workflow/.spec/SPEC-xxx/architecture/_index.md` -- API endpoints, data model, state machines
|
|
62
62
|
- `.workflow/.spec/SPEC-xxx/epics/EPIC-*.md` -- User stories for E2E scenarios
|
|
63
|
-
- `.workflow/phases/{NN}-{slug}
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
63
|
+
- Phase artifacts (resolve via `state.json.artifacts[]` → `.workflow/scratch/` paths; fallback to `.workflow/phases/{NN}-{slug}/`):
|
|
64
|
+
- plan.json -- Task overview (degraded mode)
|
|
65
|
+
- verification.json -- Cross-reference for must_haves
|
|
66
|
+
- .tests/business/ -- Previous business test artifacts
|
|
67
67
|
</context>
|
|
68
68
|
|
|
69
69
|
<execution>
|
|
@@ -81,7 +81,7 @@ Follow '~/.maestro/workflows/business-test.md' completely.
|
|
|
81
81
|
| Code | Severity | Condition | Recovery |
|
|
82
82
|
|------|----------|-----------|----------|
|
|
83
83
|
| E001 | error | Phase number required | Prompt user for phase number |
|
|
84
|
-
| E002 | error | Phase
|
|
84
|
+
| E002 | error | Phase artifacts not found | Verify phase has artifacts in state.json or .workflow/phases/ |
|
|
85
85
|
| E003 | error | No spec package AND no success_criteria (can't extract scenarios) | Run maestro-spec-generate or maestro-plan first |
|
|
86
86
|
| E004 | error | L1 critical failures block L2/L3 progression | Fix blockers first via quality-debug |
|
|
87
87
|
| W001 | warning | Degraded mode (no spec package, using success_criteria) | Consider running maestro-spec-generate for full coverage |
|
|
@@ -40,8 +40,9 @@ User's issue: $ARGUMENTS
|
|
|
40
40
|
- `--parallel` -- Spawn parallel debug agents (one per gap cluster)
|
|
41
41
|
|
|
42
42
|
**State files:**
|
|
43
|
-
- `.workflow/phases/{NN}-{slug}
|
|
44
|
-
-
|
|
43
|
+
- Phase UAT/debug artifacts (resolve via `state.json.artifacts[]` → scratch paths; fallback to `.workflow/phases/{NN}-{slug}/`):
|
|
44
|
+
- uat.md -- UAT gaps (if --from-uat)
|
|
45
|
+
- .debug/ -- Phase-scoped debug sessions
|
|
45
46
|
- `.workflow/scratch/debug-*/` -- Standalone debug sessions
|
|
46
47
|
</context>
|
|
47
48
|
|
|
@@ -43,8 +43,9 @@ Arguments: $ARGUMENTS
|
|
|
43
43
|
- `--auto-yes` — accept all routing recommendations without prompting
|
|
44
44
|
|
|
45
45
|
**Storage written:**
|
|
46
|
-
- `.workflow/phases/{NN}-{slug}
|
|
47
|
-
-
|
|
46
|
+
- Retrospective output (resolve via `state.json.artifacts[]` → `.workflow/scratch/` path; fallback to `.workflow/phases/{NN}-{slug}/`):
|
|
47
|
+
- retrospective.md — human-readable record
|
|
48
|
+
- retrospective.json — structured record
|
|
48
49
|
- `.workflow/specs/SPEC-retro-*.md` — spec stubs (one per spec-routed insight)
|
|
49
50
|
- `.workflow/issues/issues.jsonl` — appended issue rows (`source: "retrospective"`)
|
|
50
51
|
- `.workflow/learning/lessons.jsonl` — tips routed via `manage-learn tip` (formerly manage-memory-capture)
|
|
@@ -52,8 +53,9 @@ Arguments: $ARGUMENTS
|
|
|
52
53
|
- `.workflow/learning/learning-index.json` — searchable index
|
|
53
54
|
|
|
54
55
|
**Storage read (never modified):**
|
|
55
|
-
- `.workflow/phases/{NN}-{slug}
|
|
56
|
-
-
|
|
56
|
+
- Phase artifacts (resolve via `state.json.artifacts[]` → scratch paths; fallback to `.workflow/phases/{NN}-{slug}/`):
|
|
57
|
+
- index.json, plan.json, verification.json, review.json, uat.md
|
|
58
|
+
- .task/TASK-*.json, .summaries/TASK-*-summary.md
|
|
57
59
|
- `.workflow/issues/issues.jsonl`, `.workflow/issues/issue-history.jsonl`
|
|
58
60
|
- `.workflow/state.json`
|
|
59
61
|
</context>
|
|
@@ -53,7 +53,7 @@ Phase: $ARGUMENTS (required — phase number or slug)
|
|
|
53
53
|
- `--dimensions <list>` — Comma-separated subset of dimensions to review (overrides level defaults)
|
|
54
54
|
- `--skip-specs` — Skip loading project specs as review context
|
|
55
55
|
|
|
56
|
-
Context files resolved
|
|
56
|
+
Context files resolved via `state.json.artifacts[]` → scratch path (fallback: `.workflow/phases/{NN}-{slug}/`):
|
|
57
57
|
- index.json (phase metadata, execution results)
|
|
58
58
|
- plan.json (task overview)
|
|
59
59
|
- .task/TASK-{NNN}.json (task definitions with file lists)
|
|
@@ -36,10 +36,11 @@ Phase: $ARGUMENTS (required -- phase number)
|
|
|
36
36
|
- `--layer <unit|e2e|all>` -- Generate only specific test layer (default: all)
|
|
37
37
|
|
|
38
38
|
Context files:
|
|
39
|
-
- `.workflow/phases/{NN}-{slug}
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
39
|
+
- Phase artifacts (resolve via `state.json.artifacts[]` → scratch paths; fallback to `.workflow/phases/{NN}-{slug}/`):
|
|
40
|
+
- verification.json -- Nyquist gaps (MISSING/PARTIAL)
|
|
41
|
+
- validation.json -- requirement-to-test mapping
|
|
42
|
+
- .tests/coverage-report.json -- UAT coverage gaps
|
|
43
|
+
- .summaries/TASK-*.md -- what was built
|
|
43
44
|
</context>
|
|
44
45
|
|
|
45
46
|
<execution>
|