maestro-flow 0.3.14 → 0.3.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/maestro-amend.md +300 -0
- package/.claude/commands/maestro-analyze.md +1 -49
- package/.claude/commands/maestro-composer.md +354 -0
- package/.claude/commands/maestro-execute.md +2 -56
- package/.claude/commands/maestro-fork.md +3 -50
- package/.claude/commands/maestro-merge.md +2 -26
- package/.claude/commands/maestro-milestone-audit.md +1 -5
- package/.claude/commands/maestro-milestone-complete.md +1 -7
- package/.claude/commands/maestro-plan.md +6 -127
- package/.claude/commands/maestro-player.md +404 -0
- package/.claude/commands/maestro-roadmap.md +3 -101
- package/.claude/commands/maestro-spec-generate.md +1 -25
- package/.claude/commands/maestro-ui-design.md +14 -73
- package/.claude/commands/maestro-verify.md +1 -32
- package/.claude/commands/maestro.md +13 -30
- package/.claude/commands/manage-harvest.md +7 -44
- package/.claude/commands/manage-knowhow-capture.md +193 -0
- package/.claude/commands/{manage-memory.md → manage-knowhow.md} +77 -88
- package/.claude/commands/manage-learn.md +3 -28
- package/.claude/commands/manage-status.md +1 -20
- package/.claude/commands/manage-wiki.md +1 -1
- package/.claude/commands/quality-business-test.md +1 -1
- package/.claude/commands/quality-debug.md +3 -18
- package/.claude/commands/quality-integration-test.md +3 -23
- package/.claude/commands/quality-retrospective.md +1 -28
- package/.claude/commands/quality-review.md +3 -52
- package/.claude/commands/quality-test-gen.md +1 -10
- package/.claude/commands/quality-test.md +3 -25
- package/.claude/commands/spec-add.md +1 -21
- package/.claude/commands/spec-load.md +1 -16
- package/.claude/commands/wiki-connect.md +2 -112
- package/.claude/commands/wiki-digest.md +2 -141
- package/.claude/skills/skill-iter-tune/SKILL.md +382 -0
- package/.claude/skills/skill-iter-tune/phases/01-setup.md +144 -0
- package/.claude/skills/skill-iter-tune/phases/02-execute.md +292 -0
- package/.claude/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
- package/.claude/skills/skill-iter-tune/phases/04-improve.md +186 -0
- package/.claude/skills/skill-iter-tune/phases/05-report.md +166 -0
- package/.claude/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
- package/.claude/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
- package/.claude/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
- package/.claude/skills/workflow-skill-designer/SKILL.md +496 -0
- package/.claude/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
- package/.claude/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
- package/.claude/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
- package/.claude/skills/workflow-skill-designer/phases/04-validation.md +471 -0
- package/.codex/skills/learn-decompose/SKILL.md +2 -8
- package/.codex/skills/maestro/SKILL.md +60 -146
- package/.codex/skills/maestro-analyze/SKILL.md +52 -150
- package/.codex/skills/maestro-brainstorm/SKILL.md +36 -91
- package/.codex/skills/maestro-composer/SKILL.md +213 -0
- package/.codex/skills/maestro-execute/SKILL.md +46 -177
- package/.codex/skills/maestro-init/SKILL.md +7 -51
- package/.codex/skills/maestro-link-coordinate/SKILL.md +56 -229
- package/.codex/skills/maestro-milestone-audit/SKILL.md +7 -36
- package/.codex/skills/maestro-milestone-complete/SKILL.md +11 -93
- package/.codex/skills/maestro-overlay/SKILL.md +23 -92
- package/.codex/skills/maestro-plan/SKILL.md +42 -166
- package/.codex/skills/maestro-player/SKILL.md +323 -0
- package/.codex/skills/maestro-quick/SKILL.md +5 -48
- package/.codex/skills/maestro-roadmap/SKILL.md +21 -66
- package/.codex/skills/maestro-spec-generate/SKILL.md +20 -56
- package/.codex/skills/maestro-ui-design/SKILL.md +6 -53
- package/.codex/skills/maestro-verify/SKILL.md +39 -136
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +25 -75
- package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -32
- package/.codex/skills/manage-issue/SKILL.md +1 -6
- package/.codex/skills/manage-issue-discover/SKILL.md +33 -93
- package/.codex/skills/{manage-memory → manage-knowhow}/SKILL.md +95 -95
- package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -0
- package/.codex/skills/manage-learn/SKILL.md +17 -71
- package/.codex/skills/manage-status/SKILL.md +4 -35
- package/.codex/skills/manage-wiki/SKILL.md +1 -1
- package/.codex/skills/quality-business-test/SKILL.md +2 -14
- package/.codex/skills/quality-debug/SKILL.md +41 -133
- package/.codex/skills/quality-integration-test/SKILL.md +36 -145
- package/.codex/skills/quality-refactor/SKILL.md +6 -59
- package/.codex/skills/quality-retrospective/SKILL.md +292 -531
- package/.codex/skills/quality-review/SKILL.md +30 -65
- package/.codex/skills/quality-sync/SKILL.md +2 -11
- package/.codex/skills/quality-test/SKILL.md +4 -45
- package/.codex/skills/quality-test-gen/SKILL.md +33 -121
- package/.codex/skills/spec-add/SKILL.md +2 -9
- package/.codex/skills/spec-load/SKILL.md +4 -14
- package/.codex/skills/spec-map/SKILL.md +4 -37
- package/.codex/skills/spec-remove/SKILL.md +3 -35
- package/.codex/skills/spec-setup/SKILL.md +2 -19
- package/.codex/skills/team-coordinate/SKILL.md +20 -132
- package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +61 -215
- package/.codex/skills/team-executor/SKILL.md +7 -66
- package/.codex/skills/team-executor/roles/executor/commands/monitor.md +60 -182
- package/.codex/skills/team-executor/specs/session-schema.md +22 -56
- package/.codex/skills/team-lifecycle-v4/SKILL.md +22 -143
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +31 -223
- package/.codex/skills/team-quality-assurance/SKILL.md +14 -88
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +46 -186
- package/.codex/skills/team-review/SKILL.md +12 -86
- package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +49 -187
- package/.codex/skills/team-tech-debt/SKILL.md +11 -50
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +50 -239
- package/.codex/skills/team-testing/SKILL.md +14 -99
- package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +52 -228
- package/.codex/skills/wiki-connect/SKILL.md +2 -5
- package/README.md +6 -0
- package/README.zh-CN.md +6 -0
- package/chains/_intent-map.json +7 -7
- package/chains/singles/{memory-capture.json → knowhow-capture.json} +5 -5
- package/chains/singles/{memory.json → knowhow.json} +6 -6
- package/dashboard/dist/assets/{ArtifactsPage-CUrrDGgN.js → ArtifactsPage-iJZtYsmR.js} +6 -6
- package/dashboard/dist/assets/ChatInput-DNnDLdQF.js +6 -0
- package/dashboard/dist/assets/ChatPage-BjBibfE4.js +22 -0
- package/dashboard/dist/assets/{CollabPage-DIUXeazv.js → CollabPage-8lUMUol_.js} +1 -1
- package/dashboard/dist/assets/{ExecutionPanel-VmYeADFj.js → ExecutionPanel-BKV3GZ7Q.js} +1 -1
- package/dashboard/dist/assets/{KanbanPage-DLq8v7hg.js → KanbanPage-diY3QmGd.js} +2 -2
- package/dashboard/dist/assets/{MarkdownRenderer-D7AehrnR.js → MarkdownRenderer-cYFfe1uX.js} +1 -1
- package/dashboard/dist/assets/McpPage-COjuIf7U.js +21 -0
- package/dashboard/dist/assets/MeetingRoomPage-wnvT7wlB.js +85 -0
- package/dashboard/dist/assets/{OutputPanel-B-Rjwgmv.js → OutputPanel-DDL90Idy.js} +1 -1
- package/dashboard/dist/assets/{ProblemsPanel-GEpF-oi4.js → ProblemsPanel-zFN9IIs0.js} +1 -1
- package/dashboard/dist/assets/{RequirementBoardPage-xs8uDM7I.js → RequirementBoardPage-DOPJoT0I.js} +2 -2
- package/dashboard/dist/assets/{RequirementPage-BKDSFwjA.js → RequirementPage-CEVquRgM.js} +1 -1
- package/dashboard/dist/assets/RoomsPage-D5USEWDh.js +1 -0
- package/dashboard/dist/assets/{SpecsPage-DLFb9ZH0.js → SpecsPage-BOwBin_o.js} +1 -1
- package/dashboard/dist/assets/{SupervisorPage-SOki_kgz.js → SupervisorPage-5iRyMU5T.js} +1 -1
- package/dashboard/dist/assets/TeamsPage-DlcEmr_Q.js +1 -0
- package/dashboard/dist/assets/{TreeBrowser-B9DHdULE.js → TreeBrowser-Y48Wz-QY.js} +1 -1
- package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +6 -0
- package/dashboard/dist/assets/arrow-left-NCUOENvg.js +6 -0
- package/dashboard/dist/assets/{check-DJDk3A2a.js → check-o7nfGNHf.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-C7bVDreZ.js → chevron-right-BXySK2fn.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-Na1vf6qQ.js → circle-alert-DcSBokh4.js} +1 -1
- package/dashboard/dist/assets/{circle-check-CEGgy3NV.js → circle-check-Cd-jce4j.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-3JB8zRYj.js → circle-check-big-BN7Mdp4i.js} +1 -1
- package/dashboard/dist/assets/{circle-Qfgy4LB_.js → circle-cooAwnAR.js} +1 -1
- package/dashboard/dist/assets/{code-Ble63Idz.js → code-BQa9oL1n.js} +1 -1
- package/dashboard/dist/assets/{columns-3-BUcKlxve.js → columns-3-BzgxelGx.js} +1 -1
- package/dashboard/dist/assets/{download-CMqkfn8x.js → download-swRJnate.js} +1 -1
- package/dashboard/dist/assets/en-C_BD3UCD.js +1 -0
- package/dashboard/dist/assets/{folder-B9ewx9LL.js → folder-DbGbLNFN.js} +1 -1
- package/dashboard/dist/assets/index-BEUaOz_b.css +1 -0
- package/dashboard/dist/assets/{index-JTmGteaT.js → index-DIoMBMbv.js} +1 -1
- package/dashboard/dist/assets/index-DLBN_7fb.js +44 -0
- package/dashboard/dist/assets/index-uIqUCT8y.js +236 -0
- package/dashboard/dist/assets/{list-DI8Wn2aT.js → list-BTRAIvDq.js} +1 -1
- package/dashboard/dist/assets/loader-NHtB6Mdn.js +6 -0
- package/dashboard/dist/assets/{minus-Lp_BfctG.js → minus-BjMxRTET.js} +1 -1
- package/dashboard/dist/assets/{pen-line-Ch7sphzZ.js → pen-line-C4_O16H0.js} +1 -1
- package/dashboard/dist/assets/{pencil-_yRMHmGT.js → pencil-DTmKhyDY.js} +1 -1
- package/dashboard/dist/assets/{proxy-D72Y8a4Y.js → proxy-Dtx5p6IO.js} +1 -1
- package/dashboard/dist/assets/rows-2-GR1dZtRu.js +6 -0
- package/dashboard/dist/assets/{search-BS6fI6Bg.js → search-DVtgy2W7.js} +1 -1
- package/dashboard/dist/assets/{shallow-BXasQBvr.js → shallow-BOmvDNsv.js} +1 -1
- package/dashboard/dist/assets/{table-CeGlFjlP.js → table-DCzuJAFh.js} +1 -1
- package/dashboard/dist/assets/team-types-BPeOvVdA.js +6 -0
- package/dashboard/dist/assets/{terminal-BJic2yW-.js → terminal-CzogW4cl.js} +1 -1
- package/dashboard/dist/assets/{trash-2-Czz4X8Fb.js → trash-2-52LATVfW.js} +1 -1
- package/dashboard/dist/assets/users-DLFE2voE.js +6 -0
- package/dashboard/dist/assets/{zap-C3H0jVFA.js → zap-DhiYlgyZ.js} +1 -1
- package/dashboard/dist/assets/zh-CN-DvQKfow3.js +1 -0
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +19 -11
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +21 -4
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +8 -0
- package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +6 -6
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +14 -3
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.d.ts +24 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js +220 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js +115 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.d.ts +44 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js +260 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js +194 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js +279 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.d.ts +14 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js +131 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js +134 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.d.ts +51 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js +185 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.d.ts +29 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js +125 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.d.ts +18 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js +63 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.d.ts +19 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js +45 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.d.ts +25 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js +115 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-types.d.ts +53 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/agents.js +6 -0
- package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +20 -1
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +2 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.js +8 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js +246 -0
- package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/rooms.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/routes/rooms.js +38 -0
- package/dashboard/dist-server/dashboard/src/server/routes/rooms.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +7 -7
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +39 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +12 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -14
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +6 -6
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +17 -16
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +18 -7
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +3 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +75 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.d.ts +17 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js +192 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.d.ts +13 -0
- package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js +37 -0
- package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +7 -1
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +39 -2
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +12 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js +38 -0
- package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +66 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +24 -3
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +76 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
- package/dashboard/dist-server/src/commands/delegate.js +11 -8
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dist/shared/agent-types.d.ts +2 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/cli.js +2 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +11 -8
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +1 -1
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts +10 -0
- package/dist/src/commands/knowhow.d.ts.map +1 -0
- package/dist/src/commands/knowhow.js +217 -0
- package/dist/src/commands/knowhow.js.map +1 -0
- package/dist/src/commands/overlay-ui/OverlayList.d.ts +2 -0
- package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -1
- package/dist/src/commands/overlay-ui/OverlayList.js +6 -3
- package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -1
- package/dist/src/commands/overlay-ui/index.d.ts.map +1 -1
- package/dist/src/commands/overlay-ui/index.js +70 -44
- package/dist/src/commands/overlay-ui/index.js.map +1 -1
- package/dist/src/commands/overlay.d.ts.map +1 -1
- package/dist/src/commands/overlay.js +4 -3
- package/dist/src/commands/overlay.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts +1 -1
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js +40 -13
- package/dist/src/core/overlay/applier.js.map +1 -1
- package/dist/src/core/overlay/loader.d.ts.map +1 -1
- package/dist/src/core/overlay/loader.js +6 -0
- package/dist/src/core/overlay/loader.js.map +1 -1
- package/dist/src/core/overlay/types.d.ts +5 -1
- package/dist/src/core/overlay/types.d.ts.map +1 -1
- package/dist/src/core/overlay/types.js +1 -1
- package/dist/src/core/overlay/types.js.map +1 -1
- package/dist/src/hooks/context-monitor.js +1 -1
- package/dist/src/hooks/context-monitor.js.map +1 -1
- package/dist/src/hooks/skill-context.js +1 -1
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.d.ts +4 -0
- package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.js +73 -4
- package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
- package/dist/src/tools/index.js +2 -2
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts +21 -0
- package/dist/src/tools/store-knowhow.d.ts.map +1 -0
- package/dist/src/tools/store-knowhow.js +295 -0
- package/dist/src/tools/store-knowhow.js.map +1 -0
- package/package.json +1 -1
- package/shared/agent-types.ts +2 -0
- package/templates/workflows/specs/node-catalog.md +170 -0
- package/templates/workflows/specs/template-schema.md +157 -0
- package/workflows/analyze.md +61 -185
- package/workflows/brainstorm.md +3 -23
- package/workflows/codebase-rebuild.md +79 -191
- package/workflows/codebase-refresh.md +26 -124
- package/workflows/debug.md +21 -141
- package/workflows/execute.md +183 -350
- package/workflows/fork.md +72 -230
- package/workflows/harvest.md +12 -79
- package/workflows/init.md +3 -17
- package/workflows/integration-test.md +21 -190
- package/workflows/issue-analyze.md +35 -153
- package/workflows/issue-discover.md +88 -263
- package/workflows/issue-execute.md +29 -208
- package/workflows/issue-plan.md +33 -154
- package/workflows/issue.md +44 -202
- package/workflows/knowhow.md +374 -0
- package/workflows/learn.md +30 -177
- package/workflows/maestro-coordinate.codex.md +77 -362
- package/workflows/maestro-link-coordinate.md +12 -61
- package/workflows/maestro.codex.md +124 -457
- package/workflows/maestro.md +562 -976
- package/workflows/map.md +16 -53
- package/workflows/merge.md +42 -197
- package/workflows/milestone-audit.md +5 -43
- package/workflows/milestone-complete.md +11 -60
- package/workflows/plan.md +176 -387
- package/workflows/quick.md +25 -174
- package/workflows/refactor.md +28 -221
- package/workflows/retrospective.md +104 -443
- package/workflows/review.md +87 -299
- package/workflows/roadmap.md +117 -97
- package/workflows/spec-generate.md +22 -118
- package/workflows/specs-add.md +5 -25
- package/workflows/specs-load.md +1 -5
- package/workflows/specs-remove.md +0 -11
- package/workflows/specs-setup.md +11 -47
- package/workflows/status.md +58 -200
- package/workflows/sync.md +28 -141
- package/workflows/test-gen.md +23 -100
- package/workflows/test.md +15 -125
- package/workflows/ui-design.md +139 -465
- package/workflows/ui-style.md +36 -228
- package/workflows/verify.md +52 -273
- package/workflows/wiki-connect.md +9 -46
- package/workflows/wiki-digest.md +7 -50
- package/workflows/wiki-manage.md +11 -108
- package/.claude/commands/maestro-coordinate.md +0 -63
- package/.claude/commands/manage-memory-capture.md +0 -59
- package/.codex/skills/maestro-coordinate/SKILL.md +0 -213
- package/.codex/skills/manage-memory-capture/SKILL.md +0 -93
- package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +0 -49
- package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +0 -27
- package/dashboard/dist/assets/McpPage-BY0SjTgw.js +0 -21
- package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +0 -11
- package/dashboard/dist/assets/WorkflowPage-C8hWbYim.js +0 -6
- package/dashboard/dist/assets/en-ZbRpfzuP.js +0 -1
- package/dashboard/dist/assets/index-C2Mcb4TJ.js +0 -231
- package/dashboard/dist/assets/index-DyBbPc18.css +0 -1
- package/dashboard/dist/assets/loader-B5F6PzFT.js +0 -11
- package/dashboard/dist/assets/zh-CN-CoXBFuny.js +0 -1
- package/workflows/maestro-coordinate.md +0 -582
- package/workflows/memory.md +0 -451
|
@@ -163,31 +163,22 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column.
|
|
|
163
163
|
|
|
164
164
|
### Session Initialization
|
|
165
165
|
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
.replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+|--count\s+\d+|--skip-questions/g, '')
|
|
183
|
-
.trim()
|
|
184
|
-
|
|
185
|
-
const slug = topicArg.toLowerCase().replace(/[^a-z0-9]+/g, '-').substring(0, 40)
|
|
186
|
-
const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
|
|
187
|
-
const sessionId = `${dateStr}-brainstorm-${slug}`
|
|
188
|
-
const sessionFolder = `.workflow/.csv-wave/${sessionId}`
|
|
189
|
-
|
|
190
|
-
Bash(`mkdir -p ${sessionFolder}/.brainstorming`)
|
|
166
|
+
```
|
|
167
|
+
Parse from $ARGUMENTS:
|
|
168
|
+
AUTO_YES ← --yes | -y
|
|
169
|
+
continueMode ← --continue
|
|
170
|
+
maxConcurrency ← --concurrency | -c N (default: 6)
|
|
171
|
+
roleCount ← --count N (default: 3, max: 9)
|
|
172
|
+
skipQuestions ← --skip-questions
|
|
173
|
+
topicArg ← remaining text after flag removal
|
|
174
|
+
|
|
175
|
+
Derive:
|
|
176
|
+
slug ← topicArg kebab-cased, max 40 chars
|
|
177
|
+
dateStr ← UTC+8 YYYYMMDD
|
|
178
|
+
sessionId ← "{dateStr}-brainstorm-{slug}"
|
|
179
|
+
sessionFolder ← ".workflow/.csv-wave/{sessionId}"
|
|
180
|
+
|
|
181
|
+
mkdir -p {sessionFolder}/.brainstorming
|
|
191
182
|
```
|
|
192
183
|
|
|
193
184
|
### Phase 1: Topic Resolution -> CSV
|
|
@@ -231,37 +222,22 @@ Bash(`mkdir -p ${sessionFolder}/.brainstorming`)
|
|
|
231
222
|
|
|
232
223
|
#### Wave 1: Guidance Specification (Single Agent)
|
|
233
224
|
|
|
234
|
-
1.
|
|
235
|
-
2.
|
|
236
|
-
3. No prev_context needed (wave 1 has no predecessors)
|
|
237
|
-
4. Write `wave-1.csv`
|
|
238
|
-
5. Execute:
|
|
225
|
+
1. Extract wave 1 pending rows from master `tasks.csv` into `wave-1.csv` (no prev_context needed)
|
|
226
|
+
2. Execute:
|
|
239
227
|
|
|
240
228
|
```javascript
|
|
241
229
|
spawn_agents_on_csv({
|
|
242
230
|
csv_path: `${sessionFolder}/wave-1.csv`,
|
|
243
231
|
id_column: "id",
|
|
244
232
|
instruction: buildGuidanceInstruction(sessionFolder, topicArg),
|
|
245
|
-
max_concurrency: 1,
|
|
246
|
-
max_runtime_seconds: 600,
|
|
233
|
+
max_concurrency: 1, max_runtime_seconds: 600,
|
|
247
234
|
output_csv_path: `${sessionFolder}/wave-1-results.csv`,
|
|
248
|
-
output_schema: {
|
|
249
|
-
type: "object",
|
|
250
|
-
properties: {
|
|
251
|
-
id: { type: "string" },
|
|
252
|
-
status: { type: "string", enum: ["completed", "failed"] },
|
|
253
|
-
findings: { type: "string" },
|
|
254
|
-
analysis_file: { type: "string" },
|
|
255
|
-
error: { type: "string" }
|
|
256
|
-
},
|
|
257
|
-
required: ["id", "status", "findings"]
|
|
258
|
-
}
|
|
235
|
+
output_schema: { id, status: [completed|failed], findings, analysis_file, error }
|
|
259
236
|
})
|
|
260
237
|
```
|
|
261
238
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
8. Read generated `guidance-specification.md` for wave 2 context propagation
|
|
239
|
+
3. Merge results into master `tasks.csv`, delete `wave-1.csv`
|
|
240
|
+
4. Read generated `guidance-specification.md` for wave 2 context propagation
|
|
265
241
|
|
|
266
242
|
**Guidance agent responsibilities**:
|
|
267
243
|
- Analyze topic, extract 5-10 core domain terms
|
|
@@ -272,40 +248,23 @@ spawn_agents_on_csv({
|
|
|
272
248
|
|
|
273
249
|
#### Wave 2: Role Analysis (Parallel, 3-9 Agents)
|
|
274
250
|
|
|
275
|
-
1.
|
|
276
|
-
2.
|
|
277
|
-
3.
|
|
278
|
-
|
|
279
|
-
[Task 1: Guidance Specification] Generated guidance-specification.md with N features, M terms defined...
|
|
280
|
-
```
|
|
281
|
-
4. Include `guidance-specification.md` content in prev_context for each role agent
|
|
282
|
-
5. Write `wave-2.csv` with `prev_context` column
|
|
283
|
-
6. Execute:
|
|
251
|
+
1. Extract wave 2 pending rows from master `tasks.csv`
|
|
252
|
+
2. Build `prev_context` from wave 1 findings + `guidance-specification.md` content
|
|
253
|
+
3. Write `wave-2.csv` with `prev_context` column
|
|
254
|
+
4. Execute:
|
|
284
255
|
|
|
285
256
|
```javascript
|
|
286
257
|
spawn_agents_on_csv({
|
|
287
258
|
csv_path: `${sessionFolder}/wave-2.csv`,
|
|
288
259
|
id_column: "id",
|
|
289
260
|
instruction: buildRoleAnalysisInstruction(sessionFolder),
|
|
290
|
-
max_concurrency: maxConcurrency,
|
|
291
|
-
max_runtime_seconds: 900,
|
|
261
|
+
max_concurrency: maxConcurrency, max_runtime_seconds: 900,
|
|
292
262
|
output_csv_path: `${sessionFolder}/wave-2-results.csv`,
|
|
293
|
-
output_schema: {
|
|
294
|
-
type: "object",
|
|
295
|
-
properties: {
|
|
296
|
-
id: { type: "string" },
|
|
297
|
-
status: { type: "string", enum: ["completed", "failed"] },
|
|
298
|
-
findings: { type: "string" },
|
|
299
|
-
analysis_file: { type: "string" },
|
|
300
|
-
error: { type: "string" }
|
|
301
|
-
},
|
|
302
|
-
required: ["id", "status", "findings"]
|
|
303
|
-
}
|
|
263
|
+
output_schema: { id, status: [completed|failed], findings, analysis_file, error }
|
|
304
264
|
})
|
|
305
265
|
```
|
|
306
266
|
|
|
307
|
-
|
|
308
|
-
8. Delete `wave-2.csv`
|
|
267
|
+
5. Merge results into master `tasks.csv`, delete `wave-2.csv`
|
|
309
268
|
|
|
310
269
|
**Role agent responsibilities**:
|
|
311
270
|
- Read guidance-specification.md for framework context
|
|
@@ -321,19 +280,10 @@ spawn_agents_on_csv({
|
|
|
321
280
|
|
|
322
281
|
#### Wave 3: Synthesis + Feature Index (Single Agent)
|
|
323
282
|
|
|
324
|
-
1.
|
|
325
|
-
2.
|
|
326
|
-
3.
|
|
327
|
-
4.
|
|
328
|
-
```
|
|
329
|
-
[Task 2: System Architect Analysis] Key findings: microservice architecture with event sourcing...
|
|
330
|
-
[Task 3: UI Designer Analysis] Key findings: component-based design system with real-time cursors...
|
|
331
|
-
[Task 4: Product Manager Analysis] Key findings: MVP focuses on document editing + presence...
|
|
332
|
-
```
|
|
333
|
-
5. Write `wave-3.csv` with `prev_context` column
|
|
334
|
-
6. Execute `spawn_agents_on_csv` for synthesis agent
|
|
335
|
-
7. Merge results into master `tasks.csv`
|
|
336
|
-
8. Delete `wave-3.csv`
|
|
283
|
+
1. If all wave 2 tasks failed, skip synthesis entirely
|
|
284
|
+
2. Extract wave 3 pending rows, build `prev_context` from wave 2 findings
|
|
285
|
+
3. Write `wave-3.csv`, execute `spawn_agents_on_csv` for synthesis agent (same output_schema pattern)
|
|
286
|
+
4. Merge results into master `tasks.csv`, delete `wave-3.csv`
|
|
337
287
|
|
|
338
288
|
**Synthesis agent responsibilities**:
|
|
339
289
|
- Cross-role analysis: consensus, conflicts, unique contributions
|
|
@@ -347,9 +297,8 @@ spawn_agents_on_csv({
|
|
|
347
297
|
|
|
348
298
|
**Objective**: Generate final results and human-readable report.
|
|
349
299
|
|
|
350
|
-
1.
|
|
351
|
-
2.
|
|
352
|
-
3. Generate `context.md`:
|
|
300
|
+
1. Export final `tasks.csv` as `results.csv`
|
|
301
|
+
2. Generate `context.md`:
|
|
353
302
|
|
|
354
303
|
```markdown
|
|
355
304
|
# Brainstorm Report -- {topic}
|
|
@@ -411,11 +360,7 @@ spawn_agents_on_csv({
|
|
|
411
360
|
|
|
412
361
|
#### Protocol
|
|
413
362
|
|
|
414
|
-
|
|
415
|
-
2. **Skip covered**: If discovery of same type + dedup key exists, skip
|
|
416
|
-
3. **Write immediately**: Append findings as found
|
|
417
|
-
4. **Append-only**: Never modify or delete
|
|
418
|
-
5. **Deduplicate**: Check before writing
|
|
363
|
+
Read `discoveries.ndjson` before analysis. Append-only: dedup by type+key before writing, never modify/delete.
|
|
419
364
|
|
|
420
365
|
```bash
|
|
421
366
|
echo '{"ts":"<ISO>","worker":"{id}","type":"terminology","data":{"term":"CRDT","definition":"Conflict-free Replicated Data Type","aliases":["conflict-free"],"category":"technical"}}' >> {session_folder}/discoveries.ndjson
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro-composer
|
|
3
|
+
description: Interactive workflow template composer — parse natural language into DAG of skill nodes, auto-inject checkpoints, confirm pipeline interactively, persist as reusable JSON template to ~/.maestro/templates/workflows/
|
|
4
|
+
argument-hint: "\"workflow description\" [--resume] [--edit <template-path>]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Interactive workflow template composer. Parses natural language into a reusable DAG template
|
|
10
|
+
via 5 phases with user confirmation at each boundary. Templates saved globally at
|
|
11
|
+
`~/.maestro/templates/workflows/`. Progressive disclosure — specs loaded only when phase needs them.
|
|
12
|
+
|
|
13
|
+
Sequential interactive flow (no spawn_agents_on_csv — this is design, not execution):
|
|
14
|
+
```
|
|
15
|
+
Parse NL → [confirm] → Resolve to nodes → [confirm] → Inject checkpoints → Confirm pipeline → Persist
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Three entry modes:
|
|
19
|
+
1. **New design**: Phase 1-5
|
|
20
|
+
2. **Resume design**: Load draft from `.workflow/templates/design-drafts/`
|
|
21
|
+
3. **Edit template**: Load existing, modify, re-save
|
|
22
|
+
</purpose>
|
|
23
|
+
|
|
24
|
+
<context>
|
|
25
|
+
$ARGUMENTS — natural language workflow description, or flags.
|
|
26
|
+
|
|
27
|
+
**Flags:**
|
|
28
|
+
- `--resume` — Resume in-progress design session
|
|
29
|
+
- `--edit <template-path>` — Edit an existing template
|
|
30
|
+
|
|
31
|
+
**Shared constants:**
|
|
32
|
+
|
|
33
|
+
| Constant | Value |
|
|
34
|
+
|----------|-------|
|
|
35
|
+
| Session prefix | `WFD` |
|
|
36
|
+
| Template dir (global) | `~/.maestro/templates/workflows/` |
|
|
37
|
+
| Template index (global) | `~/.maestro/templates/workflows/index.json` |
|
|
38
|
+
| Design drafts dir (local) | `.workflow/templates/design-drafts/` |
|
|
39
|
+
| Template ID format | `wft-<slug>-<YYYYMMDD>` |
|
|
40
|
+
| Node ID format | `N-<seq>` (e.g. N-001), `CP-<seq>` for checkpoints |
|
|
41
|
+
| Max nodes | 20 |
|
|
42
|
+
|
|
43
|
+
**Entry routing:**
|
|
44
|
+
|
|
45
|
+
| Detection | Condition | Handler |
|
|
46
|
+
|-----------|-----------|---------|
|
|
47
|
+
| Resume | `--resume` or existing WFD session | Phase 0: Resume |
|
|
48
|
+
| Edit | `--edit <path>` | Phase 0: Load + Edit |
|
|
49
|
+
| New | Default | Phase 1: Parse |
|
|
50
|
+
|
|
51
|
+
**Node catalog**: Read `~/.maestro/templates/workflows/specs/node-catalog.md` at Phase 2 (deferred).
|
|
52
|
+
**Template schema**: Read `~/.maestro/templates/workflows/specs/template-schema.md` at Phase 5 (deferred).
|
|
53
|
+
</context>
|
|
54
|
+
|
|
55
|
+
<execution>
|
|
56
|
+
|
|
57
|
+
### Phase 0: Resume / Edit (conditional)
|
|
58
|
+
|
|
59
|
+
**Resume** (`--resume`):
|
|
60
|
+
1. Scan `.workflow/templates/design-drafts/WFD-*/` for in-progress designs
|
|
61
|
+
2. Multiple → AskUserQuestion for selection
|
|
62
|
+
3. Load draft → skip to last incomplete phase
|
|
63
|
+
|
|
64
|
+
**Edit** (`--edit <path>`):
|
|
65
|
+
1. Load template JSON
|
|
66
|
+
2. Show pipeline visualization (Phase 4 format)
|
|
67
|
+
3. AskUserQuestion: which nodes to modify/add/remove
|
|
68
|
+
4. Re-enter at Phase 3
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### Phase 1: Parse — Semantic Intent Extraction
|
|
73
|
+
|
|
74
|
+
**Step 1.1** — Parse `$ARGUMENTS`. If empty, AskUserQuestion:
|
|
75
|
+
```
|
|
76
|
+
"Describe the workflow you want to automate.
|
|
77
|
+
Include: what steps to run, in what order, and what varies each time.
|
|
78
|
+
Example: 'analyze the code, then plan, implement, and test the feature'"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Step 1.2** — Extract sequential actions as candidate nodes:
|
|
82
|
+
|
|
83
|
+
| Signal | Candidate Type |
|
|
84
|
+
|--------|---------------|
|
|
85
|
+
| "analyze", "review", "explore" | analysis (cli) |
|
|
86
|
+
| "plan", "design", "spec" | planning (skill) |
|
|
87
|
+
| "implement", "build", "code", "fix" | execution (skill) |
|
|
88
|
+
| "test", "validate", "verify" | testing (skill) |
|
|
89
|
+
| "brainstorm", "ideate" | brainstorm (skill) |
|
|
90
|
+
| "review code" | review (skill) |
|
|
91
|
+
| "then", "next", "after" | sequential edge |
|
|
92
|
+
| "parallel", "simultaneously" | parallel edge |
|
|
93
|
+
|
|
94
|
+
**Step 1.3** — Extract variables (inputs that vary per run).
|
|
95
|
+
|
|
96
|
+
**Step 1.4** — Classify task type: `bugfix | feature | tdd | review | brainstorm | spec-driven | roadmap | refactor | integration-test | quick-task | custom`
|
|
97
|
+
|
|
98
|
+
**Step 1.5** — Assess complexity: `simple` (1-3 nodes), `medium` (4-7), `complex` (8+)
|
|
99
|
+
|
|
100
|
+
**Step 1.6** — Write `intent.json` to `.workflow/templates/design-drafts/WFD-<slug>-<date>/`.
|
|
101
|
+
|
|
102
|
+
**Step 1.7 — Interactive confirmation**: Display description, task type, complexity, detected steps (numbered with type_hint), and variables. AskUserQuestion: `Continue to resolution` / `Edit steps` / `Add a step` / `Cancel`
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
### Phase 2: Resolve — Map Steps to Executor Nodes
|
|
107
|
+
|
|
108
|
+
**Read deferred**: `~/.maestro/templates/workflows/specs/node-catalog.md`
|
|
109
|
+
|
|
110
|
+
If spec not found, use built-in fallback:
|
|
111
|
+
|
|
112
|
+
| type_hint | executor type | executor |
|
|
113
|
+
|-----------|--------------|----------|
|
|
114
|
+
| `planning` | skill | `maestro-plan` |
|
|
115
|
+
| `execution` | skill | `maestro-execute` |
|
|
116
|
+
| `testing` | skill | `quality-test` |
|
|
117
|
+
| `review` | skill | `quality-review` |
|
|
118
|
+
| `brainstorm` | skill | `maestro-brainstorm` |
|
|
119
|
+
| `analysis` | cli | `maestro delegate --to gemini --mode analysis` |
|
|
120
|
+
| `verify` | skill | `maestro-verify` |
|
|
121
|
+
| `refactor` | skill | `quality-refactor` |
|
|
122
|
+
| `debug` | skill | `quality-debug` |
|
|
123
|
+
| `spec` | skill | `maestro-spec-generate` |
|
|
124
|
+
| `checkpoint` | checkpoint | — |
|
|
125
|
+
|
|
126
|
+
**Step 2.1** — Load `intent.json`, map each step to executor.
|
|
127
|
+
|
|
128
|
+
**Step 2.2** — Build `args_template` with variable placeholders and context injection:
|
|
129
|
+
- Planning after analysis → `--context {prev_output_path}`
|
|
130
|
+
- Execution after planning → inherit phase
|
|
131
|
+
- Testing after execution → inherit phase
|
|
132
|
+
|
|
133
|
+
**Step 2.3** — Assign `parallel_group` for parallel steps.
|
|
134
|
+
|
|
135
|
+
**Step 2.4** — Write `nodes.json`.
|
|
136
|
+
|
|
137
|
+
**Step 2.5 — Interactive confirmation**: Display resolved nodes table (ID, type, executor, args) and parallel groups. AskUserQuestion: `Continue to checkpoint injection` / `Change executor` / `Change node type` / `Back to intent` / `Cancel`
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
### Phase 3: Enrich — Inject Checkpoints + Build DAG
|
|
142
|
+
|
|
143
|
+
**Step 3.1** — Load `nodes.json`. Build sequential edges. For parallel groups: fan-out/fan-in.
|
|
144
|
+
|
|
145
|
+
**Step 3.2** — Auto-inject checkpoint nodes:
|
|
146
|
+
|
|
147
|
+
| Rule | Condition |
|
|
148
|
+
|------|-----------|
|
|
149
|
+
| Artifact boundary | Source output_ports: plan, spec, analysis, review-findings |
|
|
150
|
+
| Execution gate | Target executor contains `execute` |
|
|
151
|
+
| Agent spawn | Target type is `agent` |
|
|
152
|
+
| Long-running | Target is maestro-plan, maestro-spec-generate |
|
|
153
|
+
| User-defined | Step had `type_hint: checkpoint` |
|
|
154
|
+
| Post-testing | Source executor contains `test` or `integration-test` |
|
|
155
|
+
|
|
156
|
+
Set `auto_continue: false` for checkpoints before user-facing deliverables.
|
|
157
|
+
|
|
158
|
+
**Step 3.3** — Finalize `context_schema`, validate DAG (no cycles, no orphans).
|
|
159
|
+
|
|
160
|
+
**Step 3.4** — Write `dag.json`. → Proceed to Phase 4.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### Phase 4: Confirm — Visualize + User Approval
|
|
165
|
+
|
|
166
|
+
**Step 4.1** — Render ASCII pipeline: vertical node chain with `|` connectors showing each node (ID, type, executor, args) and checkpoint nodes (auto-continue vs pause-for-user). Footer: required variables, checkpoint counts, node counts.
|
|
167
|
+
|
|
168
|
+
**Step 4.2** — AskUserQuestion: `Confirm & Save` / `Edit a node` / `Add a node` / `Remove a node` / `Rename template` / `Re-run checkpoint injection` / `Cancel`
|
|
169
|
+
|
|
170
|
+
**Step 4.3** — Loop edits until Confirm or Cancel.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
### Phase 5: Persist — Assemble + Save Template
|
|
175
|
+
|
|
176
|
+
**Read deferred**: `~/.maestro/templates/workflows/specs/template-schema.md`
|
|
177
|
+
|
|
178
|
+
**Step 5.1** — Load `intent.json` + `dag.json`. Assemble template JSON.
|
|
179
|
+
|
|
180
|
+
**Step 5.2** — Determine slug (kebab-case). If exists, append `-v2`.
|
|
181
|
+
|
|
182
|
+
**Step 5.3** — Write `~/.maestro/templates/workflows/<slug>.json`.
|
|
183
|
+
|
|
184
|
+
**Step 5.4** — Update `~/.maestro/templates/workflows/index.json`.
|
|
185
|
+
|
|
186
|
+
**Step 5.5** — Output summary: path, template ID, node/checkpoint counts, required variables. Include usage commands: `$maestro-player <slug> --context goal="..."`, `$maestro-composer --edit <path>`, `$maestro-player --list`.
|
|
187
|
+
|
|
188
|
+
**Step 5.6** — Clean up design draft directory.
|
|
189
|
+
</execution>
|
|
190
|
+
|
|
191
|
+
<error_codes>
|
|
192
|
+
| Code | Severity | Condition | Recovery |
|
|
193
|
+
|------|----------|-----------|----------|
|
|
194
|
+
| E001 | error | Empty description and no flags | AskUserQuestion for description |
|
|
195
|
+
| E002 | error | 0 steps extracted | Ask to rephrase with action verbs |
|
|
196
|
+
| E003 | error | Node count exceeds 20 | Suggest splitting into sub-workflows |
|
|
197
|
+
| E004 | error | DAG cycle detected | Show cycle, ask to resolve |
|
|
198
|
+
| E005 | error | Resume session not found | Show available drafts |
|
|
199
|
+
| E006 | error | Edit template not found | Show available templates |
|
|
200
|
+
| W001 | warning | Ambiguous executor mapping | Show candidates, let user choose |
|
|
201
|
+
| W002 | warning | No checkpoint rules triggered | Warn, offer manual add |
|
|
202
|
+
| W003 | warning | Deferred spec not found | Use built-in fallback |
|
|
203
|
+
</error_codes>
|
|
204
|
+
|
|
205
|
+
<success_criteria>
|
|
206
|
+
- [ ] Intent parsed and confirmed by user (Phase 1 gate)
|
|
207
|
+
- [ ] Nodes resolved and confirmed by user (Phase 2 gate)
|
|
208
|
+
- [ ] DAG built with auto-injected checkpoints
|
|
209
|
+
- [ ] Pipeline visualized and confirmed by user (Phase 4 gate)
|
|
210
|
+
- [ ] Template JSON written to `~/.maestro/templates/workflows/<slug>.json`
|
|
211
|
+
- [ ] Template index updated
|
|
212
|
+
- [ ] Deferred specs loaded only when phase needs them
|
|
213
|
+
</success_criteria>
|