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
|
@@ -32,187 +32,73 @@ Synchronous pipeline coordination using spawn_agent + wait_agent.
|
|
|
32
32
|
|
|
33
33
|
Read-only status report from tasks.json, then STOP.
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
2. Count tasks by status (pending, in_progress, completed, failed)
|
|
37
|
-
|
|
38
|
-
```javascript
|
|
39
|
-
// Read progress and blocker messages from message bus
|
|
40
|
-
const progressMsgs = mcp__maestro-tools__team_msg({
|
|
41
|
-
operation: "list", session_id: sessionId, type: "progress", last: 50
|
|
42
|
-
})
|
|
43
|
-
const blockerMsgs = mcp__maestro-tools__team_msg({
|
|
44
|
-
operation: "list", session_id: sessionId, type: "blocker", last: 10
|
|
45
|
-
})
|
|
46
|
-
```
|
|
35
|
+
Read tasks.json + team_msg (type="progress", last=50) + team_msg (type="blocker", last=10). Count tasks by status.
|
|
47
36
|
|
|
48
|
-
Output
|
|
37
|
+
**Output format**:
|
|
49
38
|
```
|
|
50
|
-
[coordinator] Testing Pipeline Status
|
|
51
|
-
[coordinator] Mode: <pipeline_mode>
|
|
52
|
-
[coordinator] Progress: <done>/<total> (<pct>%)
|
|
39
|
+
[coordinator] Testing Pipeline Status — Mode: <pipeline_mode> — Progress: <done>/<total> (<pct>%)
|
|
53
40
|
[coordinator] GC Rounds: L1: <n>/3, L2: <n>/3
|
|
54
|
-
|
|
55
|
-
[coordinator]
|
|
56
|
-
|
|
57
|
-
TESTGEN-001: <done|run|wait> generating L1...
|
|
58
|
-
TESTRUN-001: <done|run|wait> blocked by TESTGEN-001
|
|
59
|
-
TESTGEN-002: <done|run|wait> blocked by TESTRUN-001
|
|
60
|
-
TESTRUN-002: <done|run|wait> blocked by TESTGEN-002
|
|
61
|
-
TESTANA-001: <done|run|wait> blocked by TESTRUN-*
|
|
62
|
-
|
|
63
|
-
[coordinator] Active Workers:
|
|
64
|
-
<task_id> <role> <milestone_phase> <pct>% "<summary>" <time_ago>
|
|
65
|
-
|
|
66
|
-
[coordinator] Blockers:
|
|
67
|
-
<task_id> <role> "<blocker_summary>" <time_ago>
|
|
68
|
-
(omit section if no blockers)
|
|
69
|
-
|
|
41
|
+
[coordinator] Pipeline Graph: <task_id>: <done|run|wait> <description> (per task)
|
|
42
|
+
[coordinator] Active Workers: <task_id> <role> <milestone_phase> <pct>% "<summary>" <time_ago>
|
|
43
|
+
[coordinator] Blockers: <task_id> <role> "<blocker_summary>" <time_ago> (omit if none)
|
|
70
44
|
[coordinator] Ready: <pending tasks with resolved deps>
|
|
71
45
|
[coordinator] Commands: 'resume' to advance | 'check' to refresh
|
|
72
|
-
|
|
73
|
-
**CLI monitoring** (works while coordinator is blocked):
|
|
74
|
-
maestro agent-msg list -s "<session_id>" --type progress --last 10
|
|
75
46
|
```
|
|
76
47
|
|
|
48
|
+
**CLI monitoring**: `maestro agent-msg list -s "<session_id>" --type progress --last 10`
|
|
49
|
+
|
|
77
50
|
Then STOP.
|
|
78
51
|
|
|
79
52
|
## handleResume
|
|
80
53
|
|
|
81
|
-
**Agent Health Check** (v4):
|
|
54
|
+
**Agent Health Check** (v4): Cross-check `list_agents()` against `active_agents`. Missing agents -> reset task to pending.
|
|
55
|
+
|
|
82
56
|
```
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
// This prevents stale agent references from blocking the pipeline
|
|
57
|
+
Load active_agents -> route:
|
|
58
|
+
none -> handleSpawnNext
|
|
59
|
+
has agents -> classify each: completed | in_progress
|
|
60
|
+
some completed -> handleSpawnNext
|
|
61
|
+
all running -> report status -> STOP
|
|
89
62
|
```
|
|
90
63
|
|
|
91
|
-
1. Read tasks.json, check active_agents
|
|
92
|
-
2. No active agents -> handleSpawnNext
|
|
93
|
-
3. Has active agents -> check each status
|
|
94
|
-
- completed -> mark done
|
|
95
|
-
- in_progress -> still running
|
|
96
|
-
4. Some completed -> handleSpawnNext
|
|
97
|
-
5. All running -> report status, STOP
|
|
98
|
-
|
|
99
64
|
## handleSpawnNext
|
|
100
65
|
|
|
101
66
|
Find ready tasks, spawn workers, wait for completion, process results.
|
|
102
67
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
c. Update task status in tasks.json -> in_progress
|
|
115
|
-
d. team_msg log -> task_unblocked
|
|
116
|
-
|
|
117
|
-
### Spawn Workers
|
|
118
|
-
|
|
119
|
-
For each ready task:
|
|
120
|
-
|
|
121
|
-
```javascript
|
|
122
|
-
// 1) Update status in tasks.json
|
|
123
|
-
state.tasks[taskId].status = 'in_progress'
|
|
124
|
-
|
|
125
|
-
// 2) Spawn worker
|
|
126
|
-
const agentId = spawn_agent({
|
|
127
|
-
agent_type: "team_worker",
|
|
128
|
-
task_name: taskId, // e.g., "STRATEGY-001" — enables named targeting
|
|
129
|
-
message: `## Role Assignment
|
|
130
|
-
role: ${task.role}
|
|
131
|
-
role_spec: ${skillRoot}/roles/${task.role}/role.md
|
|
132
|
-
session: ${sessionFolder}
|
|
133
|
-
session_id: ${sessionId}
|
|
134
|
-
team_name: testing
|
|
135
|
-
requirement: ${task.description}
|
|
136
|
-
inner_loop: ${task.role === 'generator' || task.role === 'executor'}
|
|
68
|
+
```
|
|
69
|
+
Classify tasks: completed | in_progress | ready (pending + all deps completed)
|
|
70
|
+
|
|
71
|
+
Ready tasks -> route:
|
|
72
|
+
none + in_progress exists -> report waiting, STOP
|
|
73
|
+
none + nothing in_progress -> handleComplete
|
|
74
|
+
has ready -> for each:
|
|
75
|
+
determine role from prefix (Role-Worker Map)
|
|
76
|
+
skip if inner loop role (generator/executor) already has active worker
|
|
77
|
+
else: set status="in_progress", log task_unblocked, spawn team_worker, add to active_agents
|
|
78
|
+
```
|
|
137
79
|
|
|
80
|
+
**Spawn worker message template**:
|
|
81
|
+
```
|
|
82
|
+
## Role Assignment
|
|
83
|
+
role: <role> | role_spec: <skillRoot>/roles/<role>/role.md
|
|
84
|
+
session: <session-folder> | session_id: <session-id> | team_name: testing
|
|
85
|
+
requirement: <task-description> | inner_loop: <true for generator/executor>
|
|
138
86
|
## Current Task
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).
|
|
144
|
-
|
|
145
|
-
## Task Context
|
|
146
|
-
task_id: ${taskId}
|
|
147
|
-
title: ${task.title}
|
|
148
|
-
description: ${task.description}
|
|
149
|
-
|
|
150
|
-
## Upstream Context
|
|
151
|
-
${prevContext}
|
|
152
|
-
|
|
87
|
+
task_id: <taskId> | title: <task-title>
|
|
88
|
+
Read role_spec for Phase 2-4 instructions. Execute Phase 1 -> role Phase 2-4 -> Phase 5 (report).
|
|
89
|
+
## Task Context + Upstream Context
|
|
90
|
+
<task description + prevContext>
|
|
153
91
|
## Progress Milestones
|
|
154
|
-
|
|
155
|
-
Report progress via team_msg at natural phase boundaries.
|
|
156
|
-
Report blockers immediately via team_msg type="blocker".
|
|
157
|
-
Report completion via team_msg type="task_complete" after report_agent_job_result.`
|
|
158
|
-
})
|
|
159
|
-
|
|
160
|
-
// 3) Track agent
|
|
161
|
-
state.active_agents[taskId] = { agentId, role: task.role, started_at: now }
|
|
92
|
+
Report progress via team_msg at phase boundaries. Blockers via type="blocker". Completion via type="task_complete" after report_agent_job_result.
|
|
162
93
|
```
|
|
163
94
|
|
|
164
|
-
|
|
165
|
-
- TESTGEN-001 + TESTGEN-002 both unblocked -> spawn both in parallel (name: "generator-1", "generator-2")
|
|
166
|
-
- TESTRUN-001 + TESTRUN-002 both unblocked -> spawn both in parallel (name: "executor-1", "executor-2")
|
|
95
|
+
**Parallel spawn**: Multiple unblocked TESTGEN-* or TESTRUN-* tasks spawn in parallel.
|
|
167
96
|
|
|
168
97
|
### Wait and Process Results
|
|
169
98
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
// 4) Batch wait — use task_name for stable targeting (v4)
|
|
174
|
-
const taskNames = Object.keys(state.active_agents)
|
|
175
|
-
const waitResult = wait_agent({ timeout_ms: 1800000 }) // 30 min
|
|
176
|
-
|
|
177
|
-
// Drain progress from message bus
|
|
178
|
-
const progressMsgs = mcp__maestro-tools__team_msg({
|
|
179
|
-
operation: "list", session_id: sessionId, type: "progress", last: 100
|
|
180
|
-
})
|
|
181
|
-
for (const msg of (progressMsgs.result?.messages || [])) {
|
|
182
|
-
console.log(`[coordinator] trace: ${msg.summary}`)
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
if (waitResult.timed_out) {
|
|
186
|
-
for (const taskId of taskNames) {
|
|
187
|
-
// Status probe before closing
|
|
188
|
-
followup_task({ target: taskId, message: "STATUS_CHECK: Report current progress, findings so far, and estimated remaining work." })
|
|
189
|
-
const status = wait_agent({ timeout_ms: 180000 }) // 3 min
|
|
190
|
-
if (status.timed_out) {
|
|
191
|
-
followup_task({ target: taskId, message: "FINALIZE: Output all current findings immediately. Time limit reached.", interrupt: true })
|
|
192
|
-
const forced = wait_agent({ timeout_ms: 180000 }) // 3 min
|
|
193
|
-
if (forced.timed_out) {
|
|
194
|
-
const lastProgress = (progressMsgs.result?.messages || [])
|
|
195
|
-
.filter(m => m.data?.task_id === taskId).pop()
|
|
196
|
-
state.tasks[taskId].status = 'timed_out'
|
|
197
|
-
state.tasks[taskId].error = lastProgress
|
|
198
|
-
? `Timed out at ${lastProgress.data.phase} (${lastProgress.data.progress_pct}%)`
|
|
199
|
-
: 'Timed out with no progress reported'
|
|
200
|
-
close_agent({ target: taskId })
|
|
201
|
-
delete state.active_agents[taskId]
|
|
202
|
-
}
|
|
203
|
-
// else: forced output received, process result
|
|
204
|
-
}
|
|
205
|
-
// else: status received, continue processing
|
|
206
|
-
}
|
|
207
|
-
} else {
|
|
208
|
-
// 5) Collect results
|
|
209
|
-
for (const [taskId, agent] of Object.entries(state.active_agents)) {
|
|
210
|
-
state.tasks[taskId].status = 'completed'
|
|
211
|
-
close_agent({ target: taskId }) // Use task_name, not agentId
|
|
212
|
-
delete state.active_agents[taskId]
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
```
|
|
99
|
+
`wait_agent({ timeout_ms: 1800000 })` (30 min), drain progress from team_msg.
|
|
100
|
+
|
|
101
|
+
**Timeout escalation**: STATUS_CHECK (3 min) -> FINALIZE with interrupt (3 min) -> mark timed_out with last progress context, close_agent. Normal completion -> mark completed, close_agent (use task_name, not agentId).
|
|
216
102
|
|
|
217
103
|
### GC Checkpoint (TESTRUN-* completes)
|
|
218
104
|
|
|
@@ -220,80 +106,25 @@ After TESTRUN-* completion, read meta.json for executor.pass_rate and executor.c
|
|
|
220
106
|
- (pass_rate >= 0.95 AND coverage >= target) OR gc_rounds[layer] >= MAX_GC_ROUNDS -> proceed
|
|
221
107
|
- (pass_rate < 0.95 OR coverage < target) AND gc_rounds[layer] < MAX_GC_ROUNDS -> create GC fix tasks, increment gc_rounds[layer]
|
|
222
108
|
|
|
223
|
-
**GC Fix Task Creation** (when coverage below target):
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
```json
|
|
227
|
-
{
|
|
228
|
-
"TESTGEN-<layer>-fix-<round>": {
|
|
229
|
-
"title": "Revise <layer> tests (GC #<round>)",
|
|
230
|
-
"description": "PURPOSE: Revise tests to fix failures and improve coverage | Success: pass_rate >= 0.95 AND coverage >= target\nTASK:\n - Read previous test results and failure details\n - Revise tests to address failures\n - Improve coverage for uncovered areas\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\n - Previous results: <session>/results/run-<N>.json\nEXPECTED: Revised test files in <session>/tests/<layer>/\nCONSTRAINTS: Only modify test files\n---\nInnerLoop: true\nRoleSpec: <project>/.codex/skills/team-testing/roles/generator/role.md",
|
|
231
|
-
"role": "generator",
|
|
232
|
-
"prefix": "TESTGEN",
|
|
233
|
-
"deps": [],
|
|
234
|
-
"status": "pending",
|
|
235
|
-
"findings": null,
|
|
236
|
-
"error": null
|
|
237
|
-
},
|
|
238
|
-
"TESTRUN-<layer>-fix-<round>": {
|
|
239
|
-
"title": "Re-execute <layer> (GC #<round>)",
|
|
240
|
-
"description": "PURPOSE: Re-execute tests after revision | Success: pass_rate >= 0.95\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\n - Input: tests/<layer>\nEXPECTED: <session>/results/run-<N>-gc.json\n---\nInnerLoop: true\nRoleSpec: <project>/.codex/skills/team-testing/roles/executor/role.md",
|
|
241
|
-
"role": "executor",
|
|
242
|
-
"prefix": "TESTRUN",
|
|
243
|
-
"deps": ["TESTGEN-<layer>-fix-<round>"],
|
|
244
|
-
"status": "pending",
|
|
245
|
-
"findings": null,
|
|
246
|
-
"error": null
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
Update tasks.json gc_rounds[layer]++
|
|
251
|
-
|
|
252
|
-
**Cross-Agent Supplementary Context** (v4):
|
|
253
|
-
|
|
254
|
-
When spawning workers in a later pipeline phase, send upstream results as supplementary context to already-running workers:
|
|
109
|
+
**GC Fix Task Creation** (when coverage below target): Add paired tasks to tasks.json:
|
|
110
|
+
- `TESTGEN-<layer>-fix-<round>` (role: generator, inner_loop: true) — revise tests to fix failures and improve coverage
|
|
111
|
+
- `TESTRUN-<layer>-fix-<round>` (role: executor, deps: [TESTGEN-fix], inner_loop: true) — re-execute revised tests
|
|
255
112
|
|
|
256
|
-
|
|
257
|
-
// Example: Send strategy results to running generators
|
|
258
|
-
send_message({
|
|
259
|
-
target: "<running-agent-task-name>",
|
|
260
|
-
message: `## Supplementary Context\n${upstreamFindings}`
|
|
261
|
-
})
|
|
262
|
-
// Note: send_message queues info without interrupting the agent's current work
|
|
263
|
-
```
|
|
113
|
+
Increment `gc_rounds[layer]++`.
|
|
264
114
|
|
|
265
|
-
Use `send_message` (not `followup_task`)
|
|
115
|
+
**Cross-Agent Supplementary Context** (v4): Use `send_message` (not `followup_task`) to deliver upstream results to running downstream workers as non-interrupting supplementary context.
|
|
266
116
|
|
|
267
117
|
### Persist and Loop
|
|
268
118
|
|
|
269
|
-
|
|
270
|
-
1. Write updated tasks.json
|
|
271
|
-
2. Check if more tasks are now ready (deps newly resolved)
|
|
272
|
-
3. If yes -> loop back to step 1 of handleSpawnNext
|
|
273
|
-
4. If no more ready and all done -> handleComplete
|
|
274
|
-
5. If no more ready but some still blocked -> report status, STOP
|
|
119
|
+
Write tasks.json -> more tasks ready? -> loop handleSpawnNext. All done -> handleComplete. Blocked -> report, STOP.
|
|
275
120
|
|
|
276
121
|
## handleComplete
|
|
277
122
|
|
|
278
|
-
**Cleanup Verification** (v4):
|
|
279
|
-
```
|
|
280
|
-
// Verify all agents are properly closed
|
|
281
|
-
const remaining = list_agents({})
|
|
282
|
-
// If any team agents still running -> close_agent each
|
|
283
|
-
// Ensures clean session shutdown
|
|
284
|
-
```
|
|
123
|
+
**Cleanup Verification** (v4): `list_agents()` -> close any still-running team agents.
|
|
285
124
|
|
|
286
|
-
Pipeline done.
|
|
125
|
+
Pipeline done. Verify all tasks (including GC fix tasks) completed/failed. Incomplete -> handleSpawnNext. All complete -> read meta.json (quality_score, coverage, gc_rounds), generate summary.
|
|
287
126
|
|
|
288
|
-
|
|
289
|
-
2. If any tasks incomplete -> return to handleSpawnNext
|
|
290
|
-
3. If all complete:
|
|
291
|
-
- Read final state from meta.json (analyst.quality_score, executor.coverage, gc_rounds)
|
|
292
|
-
- Generate summary (deliverables, task count, GC rounds, coverage metrics)
|
|
293
|
-
4. Execute completion action per tasks.json completion_action:
|
|
294
|
-
- interactive -> request_user_input (Archive/Keep/Deepen Coverage)
|
|
295
|
-
- auto_archive -> Archive & Clean (rm -rf session folder)
|
|
296
|
-
- auto_keep -> Keep Active (status=paused)
|
|
127
|
+
Route by completion_action: interactive (Archive/Keep/Deepen Coverage) | auto_archive | auto_keep.
|
|
297
128
|
|
|
298
129
|
## handleAdapt
|
|
299
130
|
|
|
@@ -307,18 +138,11 @@ Capability gap reported mid-pipeline.
|
|
|
307
138
|
|
|
308
139
|
## Fast-Advance Reconciliation
|
|
309
140
|
|
|
310
|
-
On every
|
|
311
|
-
1. Read team_msg entries with type="fast_advance"
|
|
312
|
-
2. Sync active_agents with spawned successors
|
|
313
|
-
3. No duplicate spawns
|
|
141
|
+
On every wake: sync `fast_advance` messages from team_msg into active_agents. No duplicate spawns.
|
|
314
142
|
|
|
315
143
|
## Phase 4: State Persistence
|
|
316
144
|
|
|
317
|
-
After every handler
|
|
318
|
-
1. Reconcile active_agents with actual tasks.json states
|
|
319
|
-
2. Remove entries for completed/failed tasks
|
|
320
|
-
3. Write updated tasks.json
|
|
321
|
-
4. STOP (wait for next invocation)
|
|
145
|
+
After every handler: reconcile active_agents with tasks.json, remove completed/failed entries, write tasks.json, STOP.
|
|
322
146
|
|
|
323
147
|
## Error Handling
|
|
324
148
|
|
|
@@ -15,7 +15,7 @@ optionally auto-applies new `related` links to improve graph connectivity.
|
|
|
15
15
|
$ARGUMENTS — optional flags.
|
|
16
16
|
|
|
17
17
|
**Flags:**
|
|
18
|
-
- `--scope <type>` — Limit to wiki type (spec,
|
|
18
|
+
- `--scope <type>` — Limit to wiki type (spec, knowhow, note, lesson, issue). Default: all.
|
|
19
19
|
- `--min-similarity N` — Threshold 0.0-1.0 (default: 0.3)
|
|
20
20
|
- `--fix` — Auto-apply top suggestions
|
|
21
21
|
- `--max N` — Max suggestions (default: 20)
|
|
@@ -36,10 +36,7 @@ Parallel `maestro wiki` commands: `list --json`, `health`, `orphans`, `hubs --to
|
|
|
36
36
|
- **Parent cluster**: Entries sharing the same parent but not linked to each other
|
|
37
37
|
|
|
38
38
|
### Stage 3: Score Candidates
|
|
39
|
-
|
|
40
|
-
score = 0.4 × tag_overlap + 0.3 × title_bm25 + 0.2 × same_category + 0.1 × type_bridge
|
|
41
|
-
```
|
|
42
|
-
Filter by `--min-similarity`, rank desc, limit by `--max`.
|
|
39
|
+
Score = 0.4 x tag_overlap + 0.3 x title_bm25 + 0.2 x same_category + 0.1 x type_bridge. Filter by `--min-similarity`, rank desc, limit by `--max`.
|
|
43
40
|
|
|
44
41
|
### Stage 4: Present Suggestions
|
|
45
42
|
Display ranked suggestions with scores, reasons, projected health delta.
|
package/README.md
CHANGED
|
@@ -341,6 +341,12 @@ maestro/
|
|
|
341
341
|
|
|
342
342
|
**[@catlog22](https://github.com/catlog22)** — Creator & Maintainer
|
|
343
343
|
|
|
344
|
+
## Community
|
|
345
|
+
|
|
346
|
+
Join the WeChat group for discussion and feedback:
|
|
347
|
+
|
|
348
|
+
<img src="assets/wechat-group-qr.png" width="200" alt="WeChat Group: Claude Code Workflow交流群 2" />
|
|
349
|
+
|
|
344
350
|
## Links
|
|
345
351
|
|
|
346
352
|
- [Linux DO:学AI,上L站!](https://linux.do/)
|
package/README.zh-CN.md
CHANGED
|
@@ -340,6 +340,12 @@ maestro/
|
|
|
340
340
|
|
|
341
341
|
**[@catlog22](https://github.com/catlog22)** -- 创建者 & 维护者
|
|
342
342
|
|
|
343
|
+
## 交流群
|
|
344
|
+
|
|
345
|
+
欢迎加入微信群交流反馈:
|
|
346
|
+
|
|
347
|
+
<img src="assets/wechat-group-qr.png" width="200" alt="微信群: Claude Code Workflow交流群 2" />
|
|
348
|
+
|
|
343
349
|
## 友情链接
|
|
344
350
|
|
|
345
351
|
- [Linux DO:学AI,上L站!](https://linux.do/)
|
package/chains/_intent-map.json
CHANGED
|
@@ -201,16 +201,16 @@
|
|
|
201
201
|
"route": { "graph": "singles/spec-map" }
|
|
202
202
|
},
|
|
203
203
|
{
|
|
204
|
-
"type": "
|
|
205
|
-
"regex": "
|
|
204
|
+
"type": "knowhow_capture",
|
|
205
|
+
"regex": "knowhow.*captur|save.*knowhow|compact",
|
|
206
206
|
"flags": "i",
|
|
207
|
-
"route": { "graph": "singles/
|
|
207
|
+
"route": { "graph": "singles/knowhow-capture" }
|
|
208
208
|
},
|
|
209
209
|
{
|
|
210
|
-
"type": "
|
|
211
|
-
"regex": "
|
|
210
|
+
"type": "knowhow",
|
|
211
|
+
"regex": "knowhow|知技",
|
|
212
212
|
"flags": "i",
|
|
213
|
-
"route": { "graph": "singles/
|
|
213
|
+
"route": { "graph": "singles/knowhow" }
|
|
214
214
|
},
|
|
215
215
|
{
|
|
216
216
|
"type": "team_lifecycle",
|
|
@@ -252,7 +252,7 @@
|
|
|
252
252
|
"type": "learn",
|
|
253
253
|
"regex": "\\blearn|capture.*insight|eureka|记录.*洞察",
|
|
254
254
|
"flags": "i",
|
|
255
|
-
"route": { "graph": "singles/
|
|
255
|
+
"route": { "graph": "singles/knowhow-capture" }
|
|
256
256
|
},
|
|
257
257
|
{
|
|
258
258
|
"type": "fork",
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "../chain-graph.schema.json",
|
|
3
3
|
"id": "singles/memory-capture",
|
|
4
|
-
"name": "
|
|
4
|
+
"name": "KnowHow Capture",
|
|
5
5
|
"description": "Capture session memory (compact or tips) into workflow memory",
|
|
6
6
|
"version": "1.0.0",
|
|
7
7
|
"tags": [
|
|
8
8
|
"manage",
|
|
9
|
-
"
|
|
9
|
+
"knowhow"
|
|
10
10
|
],
|
|
11
|
-
"entry": "
|
|
11
|
+
"entry": "knowhow_capture",
|
|
12
12
|
"inputs": {
|
|
13
13
|
"description": {
|
|
14
14
|
"type": "string"
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"nodes": {
|
|
18
|
-
"
|
|
18
|
+
"knowhow_capture": {
|
|
19
19
|
"type": "command",
|
|
20
|
-
"cmd": "manage-
|
|
20
|
+
"cmd": "manage-knowhow-capture",
|
|
21
21
|
"next": "done",
|
|
22
22
|
"analyze": false,
|
|
23
23
|
"args": "\"{description}\"",
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "../chain-graph.schema.json",
|
|
3
|
-
"id": "singles/
|
|
4
|
-
"name": "
|
|
3
|
+
"id": "singles/knowhow",
|
|
4
|
+
"name": "KnowHow",
|
|
5
5
|
"description": "Manage memory entries — workflow memory and system memory",
|
|
6
6
|
"version": "1.0.0",
|
|
7
7
|
"tags": [
|
|
8
8
|
"manage",
|
|
9
|
-
"
|
|
9
|
+
"knowhow"
|
|
10
10
|
],
|
|
11
|
-
"entry": "
|
|
11
|
+
"entry": "knowhow",
|
|
12
12
|
"inputs": {
|
|
13
13
|
"description": {
|
|
14
14
|
"type": "string"
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"nodes": {
|
|
18
|
-
"
|
|
18
|
+
"knowhow": {
|
|
19
19
|
"type": "command",
|
|
20
|
-
"cmd": "manage-
|
|
20
|
+
"cmd": "manage-knowhow",
|
|
21
21
|
"next": "done",
|
|
22
22
|
"analyze": false,
|
|
23
23
|
"args": "\"{description}\"",
|