maestro-flow 0.3.15 → 0.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/workflow-planner.md +24 -8
- package/.claude/commands/maestro-amend.md +300 -0
- package/.claude/commands/maestro-analyze.md +1 -49
- 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-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/.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 +4 -76
- 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 +70 -166
- package/.codex/skills/maestro-player/SKILL.md +24 -149
- 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/install-ui/ExecutionView.d.ts.map +1 -1
- package/dist/src/commands/install-ui/ExecutionView.js +4 -1
- package/dist/src/commands/install-ui/ExecutionView.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +4 -1
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install.js +5 -5
- package/dist/src/commands/install.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/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +31 -21
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/core/manifest.d.ts +8 -1
- package/dist/src/core/manifest.d.ts.map +1 -1
- package/dist/src/core/manifest.js +3 -1
- package/dist/src/core/manifest.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/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 +188 -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
|
@@ -15,18 +15,8 @@ Execute a planned solution for an issue via dual-mode agent dispatch (server or
|
|
|
15
15
|
### Step 1: Parse Arguments
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"Usage: /manage-issue-execute <ISS-ID> [--executor claude-code|codex|gemini] [--dry-run]"
|
|
21
|
-
"Example: /manage-issue-execute ISS-20260318-001 --executor codex --dry-run"
|
|
22
|
-
|
|
23
|
-
2. Parse optional flags:
|
|
24
|
-
--executor VALUE → EXECUTOR (default: claude-code)
|
|
25
|
-
--dry-run → DRY_RUN = true (default: false)
|
|
26
|
-
|
|
27
|
-
3. Validate:
|
|
28
|
-
- ISS-ID matches pattern ISS-\d{8}-\d{3}
|
|
29
|
-
- EXECUTOR is one of: claude-code, codex, gemini
|
|
18
|
+
Extract ISS-ID (required, pattern ISS-\d{8}-\d{3}).
|
|
19
|
+
Flags: --executor claude-code|codex|gemini (default: claude-code), --dry-run (default: false)
|
|
30
20
|
```
|
|
31
21
|
|
|
32
22
|
---
|
|
@@ -34,29 +24,9 @@ Execute a planned solution for an issue via dual-mode agent dispatch (server or
|
|
|
34
24
|
### Step 2: Load Issue and Validate
|
|
35
25
|
|
|
36
26
|
```
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
2. Read .workflow/issues/issues.jsonl line by line
|
|
41
|
-
3. Parse each line as JSON, find record where id == ISS-ID
|
|
42
|
-
If not found → error E_NO_ISSUE_ID:
|
|
43
|
-
"Issue {ISS-ID} not found. Run /manage-issue list to see available issues."
|
|
44
|
-
|
|
45
|
-
4. Check issue.solution exists and is not null:
|
|
46
|
-
If null → error E_NO_SOLUTION:
|
|
47
|
-
"Issue {ISS-ID} has no solution plan."
|
|
48
|
-
"Run first: /manage-issue-plan {ISS-ID}"
|
|
49
|
-
|
|
50
|
-
5. Validate solution.steps is a non-empty array
|
|
51
|
-
If empty → error E_NO_SOLUTION:
|
|
52
|
-
"Solution plan has no steps. Re-run: /manage-issue-plan {ISS-ID}"
|
|
53
|
-
|
|
54
|
-
6. Resolve EXECUTOR to CLI tool mapping:
|
|
55
|
-
- claude-code → claude (--tool claude --mode write)
|
|
56
|
-
- codex → codex (--tool codex --mode write)
|
|
57
|
-
- gemini → gemini (--tool gemini --mode write)
|
|
58
|
-
|
|
59
|
-
7. Store issue record as ISSUE, solution as SOLUTION
|
|
27
|
+
Load ISS-ID from .workflow/issues/issues.jsonl → fatal if file missing or ID not found.
|
|
28
|
+
Require issue.solution with non-empty steps[] → error if missing (run manage-issue-plan first).
|
|
29
|
+
Resolve EXECUTOR → CLI tool (claude-code→claude, codex→codex, gemini→gemini), all with --mode write.
|
|
60
30
|
```
|
|
61
31
|
|
|
62
32
|
---
|
|
@@ -64,37 +34,8 @@ Execute a planned solution for an issue via dual-mode agent dispatch (server or
|
|
|
64
34
|
### Step 3: Dry Run (if --dry-run)
|
|
65
35
|
|
|
66
36
|
```
|
|
67
|
-
If DRY_RUN
|
|
68
|
-
|
|
69
|
-
Display preview:
|
|
70
|
-
|
|
71
|
-
====================================================
|
|
72
|
-
DRY RUN: {ISS-ID}
|
|
73
|
-
Executor: {EXECUTOR}
|
|
74
|
-
Steps: {SOLUTION.steps.length}
|
|
75
|
-
====================================================
|
|
76
|
-
|
|
77
|
-
PROMPT TEMPLATE:
|
|
78
|
-
{SOLUTION.promptTemplate}
|
|
79
|
-
|
|
80
|
-
SOLUTION STEPS:
|
|
81
|
-
---------------------------------------------------------------
|
|
82
|
-
# | Action | Title | Files
|
|
83
|
-
---------------------------------------------------------------
|
|
84
|
-
{for each step in SOLUTION.steps}
|
|
85
|
-
{index} | {step.action} | {step.title} | {step.files joined by ", "}
|
|
86
|
-
{/for}
|
|
87
|
-
---------------------------------------------------------------
|
|
88
|
-
|
|
89
|
-
CONTEXT:
|
|
90
|
-
{SOLUTION.context}
|
|
91
|
-
|
|
92
|
-
====================================================
|
|
93
|
-
This is a dry run. No changes were made.
|
|
94
|
-
To execute: /manage-issue-execute {ISS-ID} --executor {EXECUTOR}
|
|
95
|
-
====================================================
|
|
96
|
-
|
|
97
|
-
Exit (do not proceed to Steps 4-7).
|
|
37
|
+
If DRY_RUN: display prompt template, steps table (action | title | files),
|
|
38
|
+
and context. No changes made. Exit before Step 4.
|
|
98
39
|
```
|
|
99
40
|
|
|
100
41
|
---
|
|
@@ -102,14 +43,8 @@ If DRY_RUN == true:
|
|
|
102
43
|
### Step 4: Detect Execution Mode
|
|
103
44
|
|
|
104
45
|
```
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
2. If HTTP 200 → SERVER_UP = true
|
|
109
|
-
Otherwise → SERVER_UP = false
|
|
110
|
-
|
|
111
|
-
3. Log execution mode:
|
|
112
|
-
"Execution mode: {SERVER_UP ? 'Server dispatch' : 'Direct CLI'}"
|
|
46
|
+
Health check: curl http://127.0.0.1:3001/api/health
|
|
47
|
+
HTTP 200 → SERVER_UP (server dispatch) | otherwise → Direct CLI
|
|
113
48
|
```
|
|
114
49
|
|
|
115
50
|
---
|
|
@@ -117,109 +52,25 @@ If DRY_RUN == true:
|
|
|
117
52
|
### Step 5a: Server UP Path
|
|
118
53
|
|
|
119
54
|
```
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
"executor": "{EXECUTOR}",
|
|
126
|
-
"solution": {
|
|
127
|
-
"steps": {SOLUTION.steps},
|
|
128
|
-
"context": "{SOLUTION.context}",
|
|
129
|
-
"promptTemplate": "{SOLUTION.promptTemplate}"
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
2. POST to server:
|
|
134
|
-
curl -X POST http://127.0.0.1:3001/api/execution/dispatch \
|
|
135
|
-
-H "Content-Type: application/json" \
|
|
136
|
-
-d '{PAYLOAD_JSON}' \
|
|
137
|
-
--connect-timeout 5 -s
|
|
138
|
-
|
|
139
|
-
3. Parse response:
|
|
140
|
-
- If HTTP 200/201 → DISPATCH_SUCCESS = true, store response as DISPATCH_RESULT
|
|
141
|
-
- If error → DISPATCH_SUCCESS = false, fall through to Step 5b
|
|
142
|
-
|
|
143
|
-
4. If DISPATCH_SUCCESS:
|
|
144
|
-
- Do NOT update JSONL manually (server manages status)
|
|
145
|
-
- Store DISPATCH_RESULT for display in Step 6
|
|
146
|
-
- Skip to Step 6
|
|
147
|
-
|
|
148
|
-
5. If DISPATCH_FAILED:
|
|
149
|
-
- Log: "Server dispatch failed, falling back to direct CLI execution"
|
|
150
|
-
- Proceed to Step 5b
|
|
55
|
+
POST to http://127.0.0.1:3001/api/execution/dispatch:
|
|
56
|
+
{ "issueId", "executor", "solution": { steps, context, promptTemplate } }
|
|
57
|
+
|
|
58
|
+
Success (200/201) → server manages status lifecycle, skip to Step 6.
|
|
59
|
+
Failure → fall through to Step 5b (direct CLI fallback).
|
|
151
60
|
```
|
|
152
61
|
|
|
153
62
|
### Step 5b: Server DOWN Path
|
|
154
63
|
|
|
155
64
|
```
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
Description: {step.description}
|
|
166
|
-
{/for}
|
|
167
|
-
|
|
168
|
-
CONTEXT: {SOLUTION.context}
|
|
169
|
-
|
|
170
|
-
ISSUE: {ISS-ID} - {ISSUE.title}
|
|
171
|
-
CONSTRAINTS: Follow solution steps in order. Verify each step before proceeding."
|
|
172
|
-
|
|
173
|
-
2. Update JSONL: Set issue status → in_progress
|
|
174
|
-
- Read all lines from .workflow/issues/issues.jsonl
|
|
175
|
-
- Update matching record:
|
|
176
|
-
status = "in_progress"
|
|
177
|
-
updated_at = NOW_ISO
|
|
178
|
-
Add issue_history entry:
|
|
179
|
-
{
|
|
180
|
-
"timestamp": "{NOW_ISO}",
|
|
181
|
-
"from_status": "{ISSUE.status}",
|
|
182
|
-
"to_status": "in_progress",
|
|
183
|
-
"actor": "{EXECUTOR}",
|
|
184
|
-
"note": "Execution started (direct CLI)"
|
|
185
|
-
}
|
|
186
|
-
- Rewrite file
|
|
187
|
-
|
|
188
|
-
3. Execute via delegate:
|
|
189
|
-
maestro delegate "{EXEC_PROMPT}" --to {CLI_TOOL} --mode write
|
|
190
|
-
|
|
191
|
-
4. Evaluate result:
|
|
192
|
-
- If CLI exits successfully → EXEC_SUCCESS = true
|
|
193
|
-
- If CLI fails → EXEC_SUCCESS = false
|
|
194
|
-
|
|
195
|
-
5. Update JSONL based on result:
|
|
196
|
-
If EXEC_SUCCESS:
|
|
197
|
-
status = "resolved"
|
|
198
|
-
resolved_at = NOW_ISO
|
|
199
|
-
updated_at = NOW_ISO
|
|
200
|
-
Add issue_history entry:
|
|
201
|
-
{
|
|
202
|
-
"timestamp": "{NOW_ISO}",
|
|
203
|
-
"from_status": "in_progress",
|
|
204
|
-
"to_status": "resolved",
|
|
205
|
-
"actor": "{EXECUTOR}",
|
|
206
|
-
"note": "Solution executed successfully"
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
If EXEC_FAILED:
|
|
210
|
-
status = "open"
|
|
211
|
-
updated_at = NOW_ISO
|
|
212
|
-
Add issue_history entry:
|
|
213
|
-
{
|
|
214
|
-
"timestamp": "{NOW_ISO}",
|
|
215
|
-
"from_status": "in_progress",
|
|
216
|
-
"to_status": "open",
|
|
217
|
-
"actor": "{EXECUTOR}",
|
|
218
|
-
"note": "Execution failed — reverted to open"
|
|
219
|
-
}
|
|
220
|
-
- Rewrite JSONL file
|
|
221
|
-
|
|
222
|
-
6. Store result for display
|
|
65
|
+
Build EXEC_PROMPT from SOLUTION (promptTemplate + steps + context + constraints).
|
|
66
|
+
|
|
67
|
+
Status transitions in issues.jsonl with issue_history entries:
|
|
68
|
+
1. Set status → in_progress (actor: EXECUTOR, note: "Execution started")
|
|
69
|
+
2. Execute: maestro delegate "{EXEC_PROMPT}" --to {CLI_TOOL} --mode write
|
|
70
|
+
3. On success → status = "resolved", resolved_at = NOW_ISO
|
|
71
|
+
On failure → status = "open" (revert, no stuck in_progress)
|
|
72
|
+
|
|
73
|
+
Read-modify-write pattern preserves other issues.
|
|
223
74
|
```
|
|
224
75
|
|
|
225
76
|
---
|
|
@@ -227,32 +78,10 @@ If SERVER_UP == false (or server dispatch failed):
|
|
|
227
78
|
### Step 6: Display Result
|
|
228
79
|
|
|
229
80
|
```
|
|
230
|
-
Display execution
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
Mode: {SERVER_UP ? "Server dispatch" : "Direct CLI"}
|
|
235
|
-
Executor: {EXECUTOR}
|
|
236
|
-
====================================================
|
|
237
|
-
|
|
238
|
-
ISSUE: {ISSUE.title}
|
|
239
|
-
STATUS: {new status}
|
|
240
|
-
|
|
241
|
-
{If SERVER_UP and DISPATCH_SUCCESS}
|
|
242
|
-
Dispatch ID: {DISPATCH_RESULT.id or "N/A"}
|
|
243
|
-
Server is managing execution lifecycle.
|
|
244
|
-
|
|
245
|
-
{If not SERVER_UP and EXEC_SUCCESS}
|
|
246
|
-
Solution applied successfully.
|
|
247
|
-
Files modified: {list from SOLUTION.steps[].files}
|
|
248
|
-
|
|
249
|
-
{If failure}
|
|
250
|
-
Execution failed. Issue reverted to open status.
|
|
251
|
-
Review the error output above and consider:
|
|
252
|
-
- Re-running with a different executor
|
|
253
|
-
- Revising the solution plan
|
|
254
|
-
|
|
255
|
-
====================================================
|
|
81
|
+
Display: execution status (COMPLETE/FAILED), mode, executor, issue title, new status.
|
|
82
|
+
Server dispatch → show dispatch ID, "server managing lifecycle"
|
|
83
|
+
Direct CLI success → show modified files list
|
|
84
|
+
Failure → "reverted to open", suggest re-run or revise plan
|
|
256
85
|
```
|
|
257
86
|
|
|
258
87
|
---
|
|
@@ -260,16 +89,8 @@ STATUS: {new status}
|
|
|
260
89
|
### Step 7: Suggest Next Steps
|
|
261
90
|
|
|
262
91
|
```
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
- Skill({ skill: "manage-issue", args: "status {ISS-ID}" }) -- View updated issue
|
|
266
|
-
- Skill({ skill: "quality-test", args: "" }) -- Run tests to verify fix
|
|
267
|
-
|
|
268
|
-
If execution failed:
|
|
269
|
-
- Skill({ skill: "manage-issue-execute", args: "{ISS-ID} --executor codex" }) -- Retry with different executor
|
|
270
|
-
- Skill({ skill: "manage-issue-plan", args: "{ISS-ID}" }) -- Revise solution plan
|
|
271
|
-
- Skill({ skill: "manage-issue-analyze", args: "{ISS-ID} --depth deep" }) -- Re-analyze with deeper context
|
|
272
|
-
- Skill({ skill: "manage-issue", args: "status {ISS-ID}" }) -- View current issue state
|
|
92
|
+
Success → close issue, view status, run tests
|
|
93
|
+
Failure → retry with different executor, revise plan, re-analyze with --depth deep
|
|
273
94
|
```
|
|
274
95
|
|
|
275
96
|
---
|
package/workflows/issue-plan.md
CHANGED
|
@@ -15,18 +15,8 @@ Solution planning for a specific issue with codebase-aware step generation and p
|
|
|
15
15
|
### Step 1: Parse Arguments
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"Usage: /manage-issue-plan <ISS-ID> [--tool gemini|qwen] [--from-analysis]"
|
|
21
|
-
"Example: /manage-issue-plan ISS-20260318-001 --tool gemini"
|
|
22
|
-
|
|
23
|
-
2. Parse optional flags:
|
|
24
|
-
--tool VALUE → TOOL (default: gemini)
|
|
25
|
-
--from-analysis → FROM_ANALYSIS = true (default: auto-detect)
|
|
26
|
-
|
|
27
|
-
3. Validate:
|
|
28
|
-
- ISS-ID matches pattern ISS-\d{8}-\d{3}
|
|
29
|
-
- TOOL is one of: gemini, qwen
|
|
18
|
+
Extract ISS-ID (required, pattern ISS-\d{8}-\d{3}).
|
|
19
|
+
Flags: --tool gemini|qwen (default: gemini), --from-analysis (default: auto-detect)
|
|
30
20
|
```
|
|
31
21
|
|
|
32
22
|
---
|
|
@@ -34,29 +24,9 @@ Solution planning for a specific issue with codebase-aware step generation and p
|
|
|
34
24
|
### Step 2: Load Issue and Validate
|
|
35
25
|
|
|
36
26
|
```
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
2. Read .workflow/issues/issues.jsonl line by line
|
|
41
|
-
3. Parse each line as JSON, find record where id == ISS-ID
|
|
42
|
-
If not found → error E_ISSUE_NOT_FOUND:
|
|
43
|
-
"Issue {ISS-ID} not found. Run /manage-issue list to see available issues."
|
|
44
|
-
|
|
45
|
-
4. Check issue status:
|
|
46
|
-
- If status is 'open' or 'registered' → proceed
|
|
47
|
-
- If status is other → warn but proceed (planning is non-destructive)
|
|
48
|
-
|
|
49
|
-
5. If issue.solution exists and is not null:
|
|
50
|
-
AskUserQuestion({
|
|
51
|
-
question: "Issue {ISS-ID} already has a solution plan. Overwrite?",
|
|
52
|
-
options: [
|
|
53
|
-
{ label: "Yes", description: "Replace existing solution with new plan" },
|
|
54
|
-
{ label: "No", description: "Keep existing solution, abort planning" }
|
|
55
|
-
]
|
|
56
|
-
})
|
|
57
|
-
If "No" → exit gracefully
|
|
58
|
-
|
|
59
|
-
6. Store issue record as ISSUE
|
|
27
|
+
Load ISS-ID from .workflow/issues/issues.jsonl → fatal if file missing or ID not found.
|
|
28
|
+
Status check: open/registered → proceed; other → warn but continue (non-destructive).
|
|
29
|
+
If solution already exists → confirm overwrite with user (abort if declined).
|
|
60
30
|
```
|
|
61
31
|
|
|
62
32
|
---
|
|
@@ -64,27 +34,10 @@ Solution planning for a specific issue with codebase-aware step generation and p
|
|
|
64
34
|
### Step 3: Load Analysis Context
|
|
65
35
|
|
|
66
36
|
```
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
- Extract: root_cause, impact, related_files, confidence, suggested_approach
|
|
72
|
-
- Build ANALYSIS_CONTEXT:
|
|
73
|
-
"PRIOR ANALYSIS (confidence: {confidence}):
|
|
74
|
-
Root Cause: {root_cause}
|
|
75
|
-
Impact: {impact}
|
|
76
|
-
Related Files: {related_files joined by newline}
|
|
77
|
-
Suggested Approach: {suggested_approach}"
|
|
78
|
-
|
|
79
|
-
If analysis is null:
|
|
80
|
-
- HAS_ANALYSIS = false
|
|
81
|
-
- If --from-analysis was explicitly passed:
|
|
82
|
-
→ warning E_NO_ANALYSIS:
|
|
83
|
-
"No analysis record on {ISS-ID}. Proceeding without analysis context."
|
|
84
|
-
"For better results, run: /manage-issue-analyze {ISS-ID}"
|
|
85
|
-
- ANALYSIS_CONTEXT = ""
|
|
86
|
-
|
|
87
|
-
2. Store ANALYSIS_CONTEXT for CLI prompt
|
|
37
|
+
If ISSUE.analysis exists → build ANALYSIS_CONTEXT from root_cause, impact,
|
|
38
|
+
related_files, confidence, suggested_approach.
|
|
39
|
+
If null and --from-analysis explicit → warn (suggest running analyze first).
|
|
40
|
+
Otherwise ANALYSIS_CONTEXT = "" (proceed without).
|
|
88
41
|
```
|
|
89
42
|
|
|
90
43
|
---
|
|
@@ -92,44 +45,18 @@ Solution planning for a specific issue with codebase-aware step generation and p
|
|
|
92
45
|
### Step 4: Generate Solution via CLI
|
|
93
46
|
|
|
94
47
|
```
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
{ANALYSIS_CONTEXT}
|
|
108
|
-
|
|
109
|
-
TASK:
|
|
110
|
-
- Break the fix into ordered, atomic implementation steps
|
|
111
|
-
- Each step: title, description, target file(s), action type (create|modify|delete|test)
|
|
112
|
-
- Include a context summary explaining the overall approach
|
|
113
|
-
- Generate a promptTemplate string that an executor agent can use to implement the fix
|
|
114
|
-
|
|
115
|
-
MODE: analysis
|
|
116
|
-
CONTEXT: @**/*
|
|
117
|
-
EXPECTED: JSON object with fields:
|
|
118
|
-
steps: [{ title: string, description: string, files: string[], action: string }],
|
|
119
|
-
context: string (approach summary),
|
|
120
|
-
promptTemplate: string (execution prompt for the agent)
|
|
121
|
-
CONSTRAINTS: Steps must be concrete and file-specific, not vague
|
|
122
|
-
" --to {TOOL} --mode analysis
|
|
123
|
-
|
|
124
|
-
2. Parse CLI output:
|
|
125
|
-
- Extract JSON object from response
|
|
126
|
-
- Validate required fields: steps (array with length > 0), context, promptTemplate
|
|
127
|
-
- Each step must have: title, description, files, action
|
|
128
|
-
- If parsing fails → error E_PLANNING_FAILED:
|
|
129
|
-
"Planning did not return valid JSON. Raw output saved for review."
|
|
130
|
-
Store raw output in ISSUE feedback.
|
|
131
|
-
|
|
132
|
-
3. Store parsed result as SOLUTION_RESULT
|
|
48
|
+
Delegate planning prompt with issue details + ANALYSIS_CONTEXT:
|
|
49
|
+
|
|
50
|
+
maestro delegate "Generate step-by-step solution for {ISS-ID}: {ISSUE.title}
|
|
51
|
+
ISSUE: title, description, severity, location, fix_direction
|
|
52
|
+
{ANALYSIS_CONTEXT}
|
|
53
|
+
TASK: Break into atomic steps with action types (create|modify|delete|test)
|
|
54
|
+
EXPECTED: JSON { steps: [{ title, description, files[], action }], context, promptTemplate }
|
|
55
|
+
CONSTRAINTS: Concrete, file-specific steps
|
|
56
|
+
" --to {TOOL} --mode analysis
|
|
57
|
+
|
|
58
|
+
Validate response: steps[] non-empty, each with title/description/files/action.
|
|
59
|
+
Parse failure → save raw output to issue feedback for review.
|
|
133
60
|
```
|
|
134
61
|
|
|
135
62
|
---
|
|
@@ -137,16 +64,8 @@ Solution planning for a specific issue with codebase-aware step generation and p
|
|
|
137
64
|
### Step 5: Build Solution Record
|
|
138
65
|
|
|
139
66
|
```
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
"steps": {SOLUTION_RESULT.steps},
|
|
143
|
-
"context": "{SOLUTION_RESULT.context}",
|
|
144
|
-
"promptTemplate": "{SOLUTION_RESULT.promptTemplate}",
|
|
145
|
-
"planned_at": "{NOW_ISO}",
|
|
146
|
-
"planned_by": "{TOOL}"
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
2. Store as SOLUTION record for next step
|
|
67
|
+
Construct IssueSolution:
|
|
68
|
+
{ steps, context, promptTemplate, planned_at: NOW_ISO, planned_by: TOOL }
|
|
150
69
|
```
|
|
151
70
|
|
|
152
71
|
---
|
|
@@ -154,27 +73,11 @@ Solution planning for a specific issue with codebase-aware step generation and p
|
|
|
154
73
|
### Step 6: Update Issue in JSONL
|
|
155
74
|
|
|
156
75
|
```
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
- Add issue_history entry:
|
|
163
|
-
{
|
|
164
|
-
"timestamp": "{NOW_ISO}",
|
|
165
|
-
"from_status": "{ISSUE.status}",
|
|
166
|
-
"to_status": "{ISSUE.status}",
|
|
167
|
-
"actor": "planning-agent",
|
|
168
|
-
"note": "Solution plan generated ({SOLUTION.steps.length} steps)"
|
|
169
|
-
}
|
|
170
|
-
- Status stays unchanged (planning is metadata enrichment)
|
|
171
|
-
|
|
172
|
-
4. Rewrite .workflow/issues/issues.jsonl:
|
|
173
|
-
- Replace the matching line with updated record (single JSON line)
|
|
174
|
-
- Write all lines back to file
|
|
175
|
-
|
|
176
|
-
5. Verify file integrity:
|
|
177
|
-
- Re-read file, confirm ISS-ID record has solution field
|
|
76
|
+
Read-modify-write issues.jsonl:
|
|
77
|
+
Set issue.solution = SOLUTION, updated_at = NOW_ISO
|
|
78
|
+
Append issue_history: actor "planning-agent", note "{N} steps generated"
|
|
79
|
+
Status unchanged (planning is metadata enrichment).
|
|
80
|
+
Verify: re-read file, confirm solution field present.
|
|
178
81
|
```
|
|
179
82
|
|
|
180
83
|
---
|
|
@@ -182,35 +85,11 @@ Solution planning for a specific issue with codebase-aware step generation and p
|
|
|
182
85
|
### Step 7: Display Solution Steps Table and Next Steps
|
|
183
86
|
|
|
184
87
|
```
|
|
185
|
-
Display
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
====================================================
|
|
191
|
-
|
|
192
|
-
APPROACH:
|
|
193
|
-
{SOLUTION.context}
|
|
194
|
-
|
|
195
|
-
STEPS:
|
|
196
|
-
---------------------------------------------------------------
|
|
197
|
-
# | Action | Title | Files
|
|
198
|
-
---------------------------------------------------------------
|
|
199
|
-
1 | modify | Fix token validation | src/auth.ts
|
|
200
|
-
2 | create | Add refresh token handler | src/refresh.ts
|
|
201
|
-
3 | test | Add auth test cases | tests/auth.test.ts
|
|
202
|
-
---------------------------------------------------------------
|
|
203
|
-
|
|
204
|
-
PROMPT TEMPLATE (for executor):
|
|
205
|
-
{SOLUTION.promptTemplate}
|
|
206
|
-
|
|
207
|
-
====================================================
|
|
208
|
-
|
|
209
|
-
Suggest next steps:
|
|
210
|
-
- Skill({ skill: "manage-issue-execute", args: "{ISS-ID}" }) -- Execute solution
|
|
211
|
-
- Skill({ skill: "manage-issue-execute", args: "{ISS-ID} --dry-run" }) -- Preview execution
|
|
212
|
-
- Skill({ skill: "manage-issue-execute", args: "{ISS-ID} --executor codex" }) -- Execute with Codex
|
|
213
|
-
- Skill({ skill: "manage-issue", args: "status {ISS-ID}" }) -- View full issue details
|
|
88
|
+
Display: approach summary, steps table (# | action | title | files), prompt template.
|
|
89
|
+
|
|
90
|
+
Next steps:
|
|
91
|
+
- manage-issue-execute {ISS-ID} (execute | --dry-run | --executor codex)
|
|
92
|
+
- manage-issue status {ISS-ID}
|
|
214
93
|
```
|
|
215
94
|
|
|
216
95
|
---
|