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,185 +1,188 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-overlay
|
|
3
|
-
description: Create or edit a non-invasive command overlay from natural-language intent. Writes a JSON patch file to ~/.maestro/overlays/, applies it via maestro overlay add, and confirms installation with idempotent re-apply support.
|
|
4
|
-
argument-hint: "<intent> | --list | --remove <name>"
|
|
5
|
-
allowed-tools: Read, Write, Bash, Glob, Grep
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
functions.
|
|
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
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
1
|
+
---
|
|
2
|
+
name: maestro-overlay
|
|
3
|
+
description: Create or edit a non-invasive command overlay from natural-language intent. Writes a JSON patch file to ~/.maestro/overlays/, applies it via maestro overlay add, and confirms installation with idempotent re-apply support.
|
|
4
|
+
argument-hint: "<intent> | --list | --remove <name>"
|
|
5
|
+
allowed-tools: Read, Write, Bash, Glob, Grep
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
4-step pipeline: parse intent → identify targets + injection points → draft overlay JSON → install via CLI and report. Overlays are JSON patch files that augment `.claude/commands/*.md` non-invasively. They survive reinstalls because `maestro install` auto-reapplies them. Each overlay is idempotent: the patcher wraps content in hashed HTML-comment markers, so re-running `maestro overlay apply` produces no file changes.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Parse Intent → Identify Targets → Draft JSON → Install + Report
|
|
13
|
+
(or --list / (read command (apply_patch (exec_command +
|
|
14
|
+
--remove) XML sections) to overlays/) banner)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Available injection sections**: `purpose`, `required_reading`, `deferred_reading`, `context`, `execution`, `error_codes`, `success_criteria`
|
|
18
|
+
|
|
19
|
+
**Patch modes**: `append`, `prepend`, `replace`, `new-section`
|
|
20
|
+
</purpose>
|
|
21
|
+
|
|
22
|
+
<context>
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
$maestro-overlay "always run CLI verification after maestro-execute"
|
|
26
|
+
$maestro-overlay "require reading doc X before maestro-plan"
|
|
27
|
+
$maestro-overlay "--list"
|
|
28
|
+
$maestro-overlay "--remove cli-verify-after-execute"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Flags**:
|
|
32
|
+
- `<intent>` — Natural-language description of what to inject and where
|
|
33
|
+
- `--list` — Show installed overlays and their applied state
|
|
34
|
+
- `--remove <name>` — Strip overlay from targets and delete its file
|
|
35
|
+
|
|
36
|
+
**Overlay storage**:
|
|
37
|
+
- User overlays: `~/.maestro/overlays/*.json`
|
|
38
|
+
- Shared docs: `~/.maestro/overlays/docs/*.md`
|
|
39
|
+
- Shipped examples: `~/.maestro/overlays/_shipped/` (read-only)
|
|
40
|
+
|
|
41
|
+
</context>
|
|
42
|
+
|
|
43
|
+
<invariants>
|
|
44
|
+
1. **Quick-exit first**: `--list` and `--remove` skip all intent parsing
|
|
45
|
+
2. **Pristine source preferred**: Always read `.claude/commands/<name>.md` for the untouched command spec before deciding injection point
|
|
46
|
+
3. **Idempotent content**: Injected blocks use hashed comment markers — re-runs produce no changes
|
|
47
|
+
4. **Heading required**: Every injected block must start with a `## <Title> (overlay)` heading
|
|
48
|
+
5. **Validate before report**: Run `maestro overlay add` successfully before displaying the report banner
|
|
49
|
+
6. **Max 2 clarification questions**: If intent is ambiguous, ask at most 2 focused questions then proceed with best guess
|
|
50
|
+
</invariants>
|
|
51
|
+
|
|
52
|
+
<execution>
|
|
53
|
+
|
|
54
|
+
### Step 1: Parse User Intent
|
|
55
|
+
|
|
56
|
+
```javascript
|
|
57
|
+
functions.update_plan({
|
|
58
|
+
explanation: "Parsing overlay intent",
|
|
59
|
+
plan: [
|
|
60
|
+
{ step: "Parse intent", status: "in_progress" },
|
|
61
|
+
{ step: "Identify targets and injection points", status: "pending" },
|
|
62
|
+
{ step: "Draft overlay JSON", status: "pending" },
|
|
63
|
+
{ step: "Install and report", status: "pending" }
|
|
64
|
+
]
|
|
65
|
+
})
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Quick-exit paths**:
|
|
69
|
+
- `--list` → `functions.exec_command({ cmd: "maestro overlay list" })` then stop
|
|
70
|
+
- `--remove <name>` → `functions.exec_command({ cmd: "maestro overlay remove <name>" })` then stop
|
|
71
|
+
|
|
72
|
+
**Ambiguous intent**: If intent does not clearly specify (a) which command to target or (b) where in the flow to inject, ask up to 2 focused questions:
|
|
73
|
+
```javascript
|
|
74
|
+
functions.request_user_input({
|
|
75
|
+
id: "overlay-clarify",
|
|
76
|
+
message: "Which command(s) should this overlay target? (e.g. maestro-execute, maestro-plan)"
|
|
77
|
+
})
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Step 2: Identify Targets and Injection Points
|
|
81
|
+
|
|
82
|
+
For each likely target command, read the pristine source from `$PKG_ROOT/.claude/commands/<name>.md` (preferred) or fall back to `~/.claude/commands/<name>.md`. Inspect XML sections and select injection point:
|
|
83
|
+
|
|
84
|
+
| Intent type | Section | Mode |
|
|
85
|
+
|-------------|---------|------|
|
|
86
|
+
| New step after execution | `execution` | `append` |
|
|
87
|
+
| Required reading / prerequisite | `required_reading` | `append` |
|
|
88
|
+
| Preconditions / gating | `context` | `append` |
|
|
89
|
+
| Output quality gate | `success_criteria` | `append` |
|
|
90
|
+
| Brand-new section | `execution` | `new-section` (with `afterSection`) |
|
|
91
|
+
|
|
92
|
+
### Step 3: Draft Overlay JSON
|
|
93
|
+
|
|
94
|
+
Build a slug from intent (kebab-case, lowercase, max 40 chars).
|
|
95
|
+
|
|
96
|
+
```javascript
|
|
97
|
+
functions.apply_patch:
|
|
98
|
+
*** Begin Patch
|
|
99
|
+
*** Add File: ~/.maestro/overlays/<slug>.json
|
|
100
|
+
+{
|
|
101
|
+
+ "name": "<slug>",
|
|
102
|
+
+ "description": "<short summary of what and why>",
|
|
103
|
+
+ "targets": ["<command-name>"],
|
|
104
|
+
+ "priority": 50,
|
|
105
|
+
+ "enabled": true,
|
|
106
|
+
+ "patches": [
|
|
107
|
+
+ {
|
|
108
|
+
+ "section": "<section>",
|
|
109
|
+
+ "mode": "<append|prepend|replace|new-section>",
|
|
110
|
+
+ "content": "<injected markdown content with (overlay) heading>"
|
|
111
|
+
+ }
|
|
112
|
+
+ ]
|
|
113
|
+
+}
|
|
114
|
+
*** End Patch
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Content guidelines**:
|
|
118
|
+
- Lead injected block with heading including `(overlay)` e.g. `## CLI Verification (overlay)`
|
|
119
|
+
- `@~/.maestro/...` references are encouraged for docs
|
|
120
|
+
- Keep content concise — overlay adds a step, not rewrites the command
|
|
121
|
+
|
|
122
|
+
```javascript
|
|
123
|
+
functions.update_plan({
|
|
124
|
+
explanation: "Overlay JSON drafted",
|
|
125
|
+
plan: [
|
|
126
|
+
{ step: "Parse intent", status: "completed" },
|
|
127
|
+
{ step: "Identify targets and injection points", status: "completed" },
|
|
128
|
+
{ step: "Draft overlay JSON", status: "completed" },
|
|
129
|
+
{ step: "Install and report", status: "in_progress" }
|
|
130
|
+
]
|
|
131
|
+
})
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Step 4: Install via CLI and Report
|
|
135
|
+
|
|
136
|
+
```javascript
|
|
137
|
+
functions.exec_command({
|
|
138
|
+
cmd: "maestro overlay add ~/.maestro/overlays/<slug>.json",
|
|
139
|
+
workdir: "."
|
|
140
|
+
})
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
On validation failure, fix the JSON and re-run (max 2 retries).
|
|
144
|
+
|
|
145
|
+
```javascript
|
|
146
|
+
functions.update_plan({
|
|
147
|
+
explanation: "Overlay installed",
|
|
148
|
+
plan: [
|
|
149
|
+
{ step: "Parse intent", status: "completed" },
|
|
150
|
+
{ step: "Identify targets and injection points", status: "completed" },
|
|
151
|
+
{ step: "Draft overlay JSON", status: "completed" },
|
|
152
|
+
{ step: "Install and report", status: "completed" }
|
|
153
|
+
]
|
|
154
|
+
})
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Display report:
|
|
158
|
+
```
|
|
159
|
+
=== OVERLAY INSTALLED ===
|
|
160
|
+
Name: <slug>
|
|
161
|
+
Path: ~/.maestro/overlays/<slug>.json
|
|
162
|
+
Targets: <command> (applied), <command> (skipped: missing)
|
|
163
|
+
Scopes: [global]
|
|
164
|
+
|
|
165
|
+
Re-apply: maestro overlay apply
|
|
166
|
+
Remove: maestro overlay remove <slug>
|
|
167
|
+
Inspect: maestro overlay list
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
</execution>
|
|
171
|
+
|
|
172
|
+
<error_codes>
|
|
173
|
+
|
|
174
|
+
| Code | Severity | Description | Recovery |
|
|
175
|
+
|------|----------|-------------|----------|
|
|
176
|
+
| E001 | error | `maestro overlay add` validation failed | Fix JSON syntax or section name, retry |
|
|
177
|
+
| E002 | error | No targets found (all commands missing) | Check command name spelling |
|
|
178
|
+
| E003 | error | `--remove` target not found in overlay store | Run `--list` to see installed overlays |
|
|
179
|
+
| W001 | warning | One or more targets skipped (command missing from install) | Overlay still installed; applies when command is added |
|
|
180
|
+
|
|
181
|
+
</error_codes>
|
|
182
|
+
|
|
183
|
+
<success_criteria>
|
|
184
|
+
- [ ] Intent parsed and targets identified
|
|
185
|
+
- [ ] Overlay JSON drafted with correct section and mode
|
|
186
|
+
- [ ] `maestro overlay add` executed successfully
|
|
187
|
+
- [ ] Report displayed with apply/remove/inspect commands
|
|
188
|
+
</success_criteria>
|
|
@@ -5,35 +5,7 @@ argument-hint: "[-y|--yes] [-c|--concurrency N] [--continue] \"<phase> [--auto]
|
|
|
5
5
|
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
When `--yes` or `-y`: Auto-confirm exploration angles, skip interactive clarification (P2), use defaults for complexity detection.
|
|
11
|
-
|
|
12
|
-
# Maestro Plan (CSV Wave)
|
|
13
|
-
|
|
14
|
-
## Usage
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
$maestro-plan "3"
|
|
18
|
-
$maestro-plan -y "3 --auto"
|
|
19
|
-
$maestro-plan -c 4 "3 --spec SPEC-001"
|
|
20
|
-
$maestro-plan "3 --gaps"
|
|
21
|
-
$maestro-plan "3 --dir .workflow/scratch/quick-nav-fix"
|
|
22
|
-
$maestro-plan --continue "plan-phase3-20260318"
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Flags**:
|
|
26
|
-
- `-y, --yes`: Skip all confirmations (auto mode)
|
|
27
|
-
- `-c, --concurrency N`: Max concurrent agents within each wave (default: 4)
|
|
28
|
-
- `--continue`: Resume existing session
|
|
29
|
-
|
|
30
|
-
**Output Directory**: `.workflow/.csv-wave/{session-id}/`
|
|
31
|
-
**Core Output**: `tasks.csv` (master state) + `results.csv` (final) + `discoveries.ndjson` (shared exploration) + `context.md` (human-readable report) + `plan.json` + `.task/TASK-*.json`
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Overview
|
|
36
|
-
|
|
8
|
+
<purpose>
|
|
37
9
|
Wave-based planning using `spawn_agents_on_csv`. Wave 1 explores codebase context in parallel across multiple angles, Wave 2 consumes all exploration findings to generate a verified execution plan.
|
|
38
10
|
|
|
39
11
|
**Core workflow**: Resolve Phase -> Determine Explorations -> Parallel Exploration -> Sequential Planning -> Check + Confirm
|
|
@@ -74,10 +46,30 @@ Wave-based planning using `spawn_agents_on_csv`. Wave 1 explores codebase contex
|
|
|
74
46
|
| |
|
|
75
47
|
+---------------------------------------------------------------------------+
|
|
76
48
|
```
|
|
49
|
+
</purpose>
|
|
77
50
|
|
|
78
|
-
|
|
51
|
+
<context>
|
|
52
|
+
```bash
|
|
53
|
+
$maestro-plan "3"
|
|
54
|
+
$maestro-plan -y "3 --auto"
|
|
55
|
+
$maestro-plan -c 4 "3 --spec SPEC-001"
|
|
56
|
+
$maestro-plan "3 --gaps"
|
|
57
|
+
$maestro-plan "3 --dir .workflow/scratch/quick-nav-fix"
|
|
58
|
+
$maestro-plan --continue "plan-phase3-20260318"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Flags**:
|
|
62
|
+
- `-y, --yes`: Skip all confirmations (auto mode)
|
|
63
|
+
- `-c, --concurrency N`: Max concurrent agents within each wave (default: 4)
|
|
64
|
+
- `--continue`: Resume existing session
|
|
79
65
|
|
|
80
|
-
|
|
66
|
+
When `--yes` or `-y`: Auto-confirm exploration angles, skip interactive clarification (P2), use defaults for complexity detection.
|
|
67
|
+
|
|
68
|
+
**Output Directory**: `.workflow/.csv-wave/{session-id}/`
|
|
69
|
+
**Core Output**: `tasks.csv` (master state) + `results.csv` (final) + `discoveries.ndjson` (shared exploration) + `context.md` (human-readable report) + `plan.json` + `.task/TASK-*.json`
|
|
70
|
+
</context>
|
|
71
|
+
|
|
72
|
+
<csv_schema>
|
|
81
73
|
|
|
82
74
|
### tasks.csv (Master State)
|
|
83
75
|
|
|
@@ -109,9 +101,7 @@ id,title,description,exploration_focus,deps,context_from,wave,status,findings,er
|
|
|
109
101
|
|
|
110
102
|
Each wave generates `wave-{N}.csv` with extra `prev_context` column.
|
|
111
103
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
## Output Artifacts
|
|
104
|
+
### Output Artifacts
|
|
115
105
|
|
|
116
106
|
| File | Purpose | Lifecycle |
|
|
117
107
|
|------|---------|-----------|
|
|
@@ -123,9 +113,7 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column.
|
|
|
123
113
|
| `plan.json` | Execution plan (in phase directory) | Created by wave 2 agent |
|
|
124
114
|
| `.task/TASK-*.json` | Individual task definitions (in phase directory) | Created by wave 2 agent |
|
|
125
115
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
## Session Structure
|
|
116
|
+
### Session Structure
|
|
129
117
|
|
|
130
118
|
```
|
|
131
119
|
.workflow/.csv-wave/plan-{phase}-{date}/
|
|
@@ -135,10 +123,20 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column.
|
|
|
135
123
|
+-- context.md
|
|
136
124
|
+-- wave-{N}.csv (temporary)
|
|
137
125
|
```
|
|
126
|
+
</csv_schema>
|
|
138
127
|
|
|
139
|
-
|
|
128
|
+
<invariants>
|
|
129
|
+
1. **Start Immediately**: First action is session initialization, then Phase 1
|
|
130
|
+
2. **Wave Order is Sacred**: Never execute wave 2 before wave 1 completes and results are merged
|
|
131
|
+
3. **CSV is Source of Truth**: Master tasks.csv holds all state
|
|
132
|
+
4. **Context Propagation**: prev_context built from master CSV, not from memory
|
|
133
|
+
5. **Discovery Board is Append-Only**: Never clear, modify, or recreate discoveries.ndjson
|
|
134
|
+
6. **Skip on Failure**: If all exploration agents failed, planning agent proceeds with available context
|
|
135
|
+
7. **Cleanup Temp Files**: Remove wave-{N}.csv after results are merged
|
|
136
|
+
8. **DO NOT STOP**: Continuous execution until all waves complete
|
|
137
|
+
</invariants>
|
|
140
138
|
|
|
141
|
-
|
|
139
|
+
<execution>
|
|
142
140
|
|
|
143
141
|
### Session Initialization
|
|
144
142
|
|
|
@@ -207,8 +205,6 @@ Bash(`mkdir -p ${sessionFolder}`)
|
|
|
207
205
|
Bash(`mkdir -p ${scratchDir}/.task/`)
|
|
208
206
|
```
|
|
209
207
|
|
|
210
|
-
---
|
|
211
|
-
|
|
212
208
|
### Phase 1: Phase Resolution -> CSV
|
|
213
209
|
|
|
214
210
|
**Objective**: Resolve phase, load context, determine exploration angles, generate tasks.csv.
|
|
@@ -224,7 +220,7 @@ Bash(`mkdir -p ${scratchDir}/.task/`)
|
|
|
224
220
|
- Read spec-ref if `--spec` flag
|
|
225
221
|
- Read `.workflow/codebase/doc-index.json` if exists
|
|
226
222
|
- Find design artifacts from `state.json.artifacts[]` (type=brainstorm with ui-designer) for MASTER.md
|
|
227
|
-
- Load project specs via `maestro spec load --category
|
|
223
|
+
- Load project specs via `maestro spec load --category arch`
|
|
228
224
|
|
|
229
225
|
3. **Upstream analysis check**:
|
|
230
226
|
- If `{contextDir}/conclusions.json` exists and has content: reuse as exploration context, skip wave 1
|
|
@@ -250,8 +246,6 @@ Bash(`mkdir -p ${scratchDir}/.task/`)
|
|
|
250
246
|
|
|
251
247
|
**User validation**: Display exploration breakdown (skip if AUTO_YES or `--auto`).
|
|
252
248
|
|
|
253
|
-
---
|
|
254
|
-
|
|
255
249
|
### Phase 2: Wave Execution Engine
|
|
256
250
|
|
|
257
251
|
**Objective**: Explore codebase then generate plan via spawn_agents_on_csv.
|
|
@@ -341,8 +335,6 @@ spawn_agents_on_csv({
|
|
|
341
335
|
- If `--gaps`: create fix tasks from gap context, link to issues
|
|
342
336
|
- If `--collab`: pre-allocate ID ranges for parallel planners
|
|
343
337
|
|
|
344
|
-
---
|
|
345
|
-
|
|
346
338
|
### Phase 3: Plan Checking + Confirmation
|
|
347
339
|
|
|
348
340
|
**Objective**: Validate plan quality, revise if needed, present to user.
|
|
@@ -412,7 +404,7 @@ spawn_agents_on_csv({
|
|
|
412
404
|
- `status`: "planned"
|
|
413
405
|
- `updated_at`: now()
|
|
414
406
|
- Append history entry: `{ action: "planned", at: <ISO>, by: "maestro-plan", summary: "Linked to TASK-{NNN}" }`
|
|
415
|
-
This ensures bidirectional issue
|
|
407
|
+
This ensures bidirectional issue <-> TASK traceability for dashboard display.
|
|
416
408
|
|
|
417
409
|
6. **Display summary + options** (skip options if AUTO_YES):
|
|
418
410
|
```
|
|
@@ -429,11 +421,9 @@ spawn_agents_on_csv({
|
|
|
429
421
|
Skill({ skill: "maestro-plan", args: "{phase}" }) -- Re-plan with modifications
|
|
430
422
|
```
|
|
431
423
|
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
## Shared Discovery Board Protocol
|
|
424
|
+
### Shared Discovery Board Protocol
|
|
435
425
|
|
|
436
|
-
|
|
426
|
+
#### Standard Discovery Types
|
|
437
427
|
|
|
438
428
|
| Type | Dedup Key | Data Schema | Description |
|
|
439
429
|
|------|-----------|-------------|-------------|
|
|
@@ -443,7 +433,7 @@ spawn_agents_on_csv({
|
|
|
443
433
|
| `blocker` | `data.issue` | `{issue, severity, impact}` | Blocking issue found |
|
|
444
434
|
| `tech_stack` | singleton | `{framework, language, tools[]}` | Technology stack info |
|
|
445
435
|
|
|
446
|
-
|
|
436
|
+
#### Domain Discovery Types
|
|
447
437
|
|
|
448
438
|
| Type | Dedup Key | Data Schema | Description |
|
|
449
439
|
|------|-----------|-------------|-------------|
|
|
@@ -452,7 +442,7 @@ spawn_agents_on_csv({
|
|
|
452
442
|
| `risk_factor` | `data.risk` | `{risk, severity, mitigation, affected_files[]}` | Identified risk |
|
|
453
443
|
| `test_command` | `data.command` | `{command, scope, framework}` | Test execution command |
|
|
454
444
|
|
|
455
|
-
|
|
445
|
+
#### Protocol
|
|
456
446
|
|
|
457
447
|
1. **Read** `{session_folder}/discoveries.ndjson` before own exploration
|
|
458
448
|
2. **Skip covered**: If discovery of same type + dedup key exists, skip
|
|
@@ -463,10 +453,9 @@ spawn_agents_on_csv({
|
|
|
463
453
|
```bash
|
|
464
454
|
echo '{"ts":"<ISO>","worker":"{id}","type":"existing_pattern","data":{"name":"Result error handling","file":"src/utils/result.ts","description":"All functions return Result<T,E> instead of throwing","usage":"Used in auth, payments, validation modules"}}' >> {session_folder}/discoveries.ndjson
|
|
465
455
|
```
|
|
456
|
+
</execution>
|
|
466
457
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
## Error Handling
|
|
458
|
+
<error_codes>
|
|
470
459
|
|
|
471
460
|
| Error | Resolution |
|
|
472
461
|
|-------|------------|
|
|
@@ -481,16 +470,16 @@ echo '{"ts":"<ISO>","worker":"{id}","type":"existing_pattern","data":{"name":"Re
|
|
|
481
470
|
| CSV parse error | Validate format, show line number |
|
|
482
471
|
| discoveries.ndjson corrupt | Ignore malformed lines |
|
|
483
472
|
| Continue mode: no session found | List available sessions |
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
473
|
+
</error_codes>
|
|
474
|
+
|
|
475
|
+
<success_criteria>
|
|
476
|
+
- [ ] Session folder created with valid tasks.csv
|
|
477
|
+
- [ ] All waves executed in order
|
|
478
|
+
- [ ] plan.json produced in phase directory
|
|
479
|
+
- [ ] .task/TASK-*.json files produced for all tasks
|
|
480
|
+
- [ ] Plan passes quality checks (coverage, deps, criteria)
|
|
481
|
+
- [ ] context.md produced with exploration findings + plan overview
|
|
482
|
+
- [ ] index.json updated with plan metadata
|
|
483
|
+
- [ ] Issues linked (if --gaps mode)
|
|
484
|
+
- [ ] discoveries.ndjson append-only throughout
|
|
485
|
+
</success_criteria>
|