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
|
@@ -43,28 +43,9 @@ Worker completed. Process and advance.
|
|
|
43
43
|
- coverage >= target OR gc_rounds >= MAX_GC_ROUNDS -> proceed to handleSpawnNext
|
|
44
44
|
- coverage < target AND gc_rounds < MAX_GC_ROUNDS -> create GC fix tasks, increment gc_rounds
|
|
45
45
|
|
|
46
|
-
**GC Fix Task Creation** (when coverage below target) -- add
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"id": "QAGEN-fix-<round>",
|
|
50
|
-
"subject": "QAGEN-fix-<round>: Fix tests for <layer> (GC #<round>)",
|
|
51
|
-
"description": "PURPOSE: Fix failing tests and improve coverage | Success: Coverage meets target\nTASK:\n - Load execution results and failing test details\n - Fix broken tests and add missing coverage\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\n - Previous results: <session>/results/run-<layer>.json\nEXPECTED: Fixed test files | Improved coverage\nCONSTRAINTS: Only modify test files | No source changes\n---\nInnerLoop: false\nRoleSpec: ~ or <project>/.codex/skills/team-quality-assurance/roles/generator/role.md",
|
|
52
|
-
"status": "pending",
|
|
53
|
-
"owner": "generator",
|
|
54
|
-
"blockedBy": []
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
```json
|
|
59
|
-
{
|
|
60
|
-
"id": "QARUN-gc-<round>",
|
|
61
|
-
"subject": "QARUN-gc-<round>: Re-execute <layer> (GC #<round>)",
|
|
62
|
-
"description": "PURPOSE: Re-execute tests after fixes | Success: Coverage >= target\nTASK: Execute test suite, measure coverage, report results\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\nEXPECTED: <session>/results/run-<layer>-gc-<round>.json\nCONSTRAINTS: Read-only execution\n---\nInnerLoop: false\nRoleSpec: ~ or <project>/.codex/skills/team-quality-assurance/roles/executor/role.md",
|
|
63
|
-
"status": "pending",
|
|
64
|
-
"owner": "executor",
|
|
65
|
-
"blockedBy": ["QAGEN-fix-<round>"]
|
|
66
|
-
}
|
|
67
|
-
```
|
|
46
|
+
**GC Fix Task Creation** (when coverage below target) -- add paired tasks to `<session>/tasks.json`:
|
|
47
|
+
- `QAGEN-fix-<round>` (owner: generator) -- fix failing tests and improve coverage using previous results
|
|
48
|
+
- `QARUN-gc-<round>` (owner: executor, blockedBy: [QAGEN-fix-<round>]) -- re-execute tests after fixes, measure coverage
|
|
68
49
|
|
|
69
50
|
6. -> handleSpawnNext
|
|
70
51
|
|
|
@@ -72,78 +53,51 @@ Worker completed. Process and advance.
|
|
|
72
53
|
|
|
73
54
|
Read-only status report, then STOP.
|
|
74
55
|
|
|
75
|
-
|
|
76
|
-
// Read progress and blocker messages from message bus
|
|
77
|
-
const progressMsgs = mcp__maestro-tools__team_msg({
|
|
78
|
-
operation: "list", session_id: sessionId, type: "progress", last: 50
|
|
79
|
-
})
|
|
80
|
-
const blockerMsgs = mcp__maestro-tools__team_msg({
|
|
81
|
-
operation: "list", session_id: sessionId, type: "blocker", last: 10
|
|
82
|
-
})
|
|
83
|
-
```
|
|
56
|
+
Read team_msg (type="progress", last=50) + team_msg (type="blocker", last=10). Aggregate per-worker milestones.
|
|
84
57
|
|
|
85
|
-
Output
|
|
58
|
+
**Output format**:
|
|
86
59
|
```
|
|
87
|
-
[coordinator] QA Pipeline Status
|
|
88
|
-
[coordinator] Mode: <pipeline_mode>
|
|
89
|
-
[coordinator] Progress: <done>/<total> (<pct>%)
|
|
60
|
+
[coordinator] QA Pipeline Status — Mode: <pipeline_mode> — Progress: <done>/<total> (<pct>%)
|
|
90
61
|
[coordinator] GC Rounds: <gc_rounds>/3
|
|
91
|
-
|
|
92
|
-
[coordinator]
|
|
93
|
-
|
|
94
|
-
QASTRAT-001: <done|run|wait> <summary>
|
|
95
|
-
QAGEN-001: <done|run|wait> <summary>
|
|
96
|
-
QARUN-001: <done|run|wait> <summary>
|
|
97
|
-
QAANA-001: <done|run|wait> <summary>
|
|
98
|
-
|
|
99
|
-
[coordinator] Active Workers:
|
|
100
|
-
<task_id> <role> <milestone_phase> <pct>% "<summary>" <time_ago>
|
|
101
|
-
|
|
102
|
-
[coordinator] Blockers:
|
|
103
|
-
<task_id> <role> "<blocker_summary>" <time_ago>
|
|
104
|
-
(omit section if no blockers)
|
|
105
|
-
|
|
62
|
+
[coordinator] Pipeline Graph: <task_id>: <done|run|wait> <summary> (per task)
|
|
63
|
+
[coordinator] Active Workers: <task_id> <role> <milestone_phase> <pct>% "<summary>" <time_ago>
|
|
64
|
+
[coordinator] Blockers: <task_id> <role> "<blocker_summary>" <time_ago> (omit if none)
|
|
106
65
|
[coordinator] Ready: <pending tasks with resolved deps>
|
|
107
66
|
[coordinator] Commands: 'resume' to advance | 'check' to refresh
|
|
108
|
-
|
|
109
|
-
**CLI monitoring** (works while coordinator is blocked):
|
|
110
|
-
maestro agent-msg list -s "<session_id>" --type progress --last 10
|
|
111
67
|
```
|
|
112
68
|
|
|
69
|
+
**CLI monitoring**: `maestro agent-msg list -s "<session_id>" --type progress --last 10`
|
|
70
|
+
|
|
113
71
|
Then STOP.
|
|
114
72
|
|
|
115
73
|
## handleResume
|
|
116
74
|
|
|
117
|
-
**Agent Health Check** (v4):
|
|
75
|
+
**Agent Health Check** (v4): Cross-check `list_agents()` against active_workers. Missing agents -> reset task to pending.
|
|
76
|
+
|
|
118
77
|
```
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
// This prevents stale agent references from blocking the pipeline
|
|
78
|
+
Load active_workers -> route:
|
|
79
|
+
none -> handleSpawnNext
|
|
80
|
+
has workers -> classify each: completed | in_progress
|
|
81
|
+
some completed -> handleSpawnNext
|
|
82
|
+
all running -> report status -> STOP
|
|
125
83
|
```
|
|
126
84
|
|
|
127
|
-
1. No active workers -> handleSpawnNext
|
|
128
|
-
2. Has active -> check each status
|
|
129
|
-
- completed -> mark done (update tasks.json)
|
|
130
|
-
- in_progress -> still running
|
|
131
|
-
3. Some completed -> handleSpawnNext
|
|
132
|
-
4. All running -> report status, STOP
|
|
133
|
-
|
|
134
85
|
## handleSpawnNext
|
|
135
86
|
|
|
136
87
|
Find ready tasks, spawn workers, STOP.
|
|
137
88
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
89
|
+
```
|
|
90
|
+
Classify tasks: completed | in_progress | ready (pending + all blockedBy completed)
|
|
91
|
+
|
|
92
|
+
Ready tasks -> route:
|
|
93
|
+
none + in_progress exists -> report waiting, STOP
|
|
94
|
+
none + nothing in_progress -> handleComplete
|
|
95
|
+
has ready -> for each:
|
|
96
|
+
determine role from prefix (see prefix-role map below)
|
|
97
|
+
skip if inner loop role already has active worker
|
|
98
|
+
else: set status="in_progress", log task_unblocked, spawn team_worker, add to active_workers
|
|
99
|
+
Update session, output summary, STOP
|
|
100
|
+
```
|
|
147
101
|
|
|
148
102
|
| Prefix | Role | inner_loop |
|
|
149
103
|
|--------|------|------------|
|
|
@@ -153,119 +107,32 @@ Find ready tasks, spawn workers, STOP.
|
|
|
153
107
|
| QARUN-* | executor | true |
|
|
154
108
|
| QAANA-* | analyst | false |
|
|
155
109
|
|
|
156
|
-
|
|
157
|
-
c. Update task status to "in_progress" in tasks.json
|
|
158
|
-
d. team_msg log -> task_unblocked
|
|
159
|
-
e. Spawn team-worker:
|
|
160
|
-
|
|
110
|
+
**Spawn worker message template**:
|
|
161
111
|
```
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
role: <role>
|
|
167
|
-
role_spec: ~ or <project>/.codex/skills/team-quality-assurance/roles/<role>/role.md
|
|
168
|
-
session: <session-folder>
|
|
169
|
-
session_id: <session-id>
|
|
170
|
-
team_name: quality-assurance
|
|
171
|
-
requirement: <task-description>
|
|
172
|
-
inner_loop: <true|false>
|
|
173
|
-
|
|
112
|
+
## Role Assignment
|
|
113
|
+
role: <role> | role_spec: <project>/.codex/skills/team-quality-assurance/roles/<role>/role.md
|
|
114
|
+
session: <session-folder> | session_id: <session-id> | team_name: quality-assurance
|
|
115
|
+
requirement: <task-description> | inner_loop: <true|false>
|
|
174
116
|
## Current Task
|
|
175
|
-
|
|
176
|
-
-
|
|
177
|
-
|
|
178
|
-
Read role_spec file to load Phase 2-4 domain instructions.
|
|
179
|
-
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).
|
|
180
|
-
|
|
117
|
+
task_id: <task-id> | subject: <subject>
|
|
118
|
+
Read role_spec for Phase 2-4 instructions. Execute Phase 1 -> role Phase 2-4 -> Phase 5 (report).
|
|
181
119
|
## Progress Milestones
|
|
182
|
-
|
|
183
|
-
Report progress via team_msg at natural phase boundaries.
|
|
184
|
-
Report blockers immediately via team_msg type="blocker".
|
|
185
|
-
Report completion via team_msg type="task_complete" after report_agent_job_result.`
|
|
186
|
-
})
|
|
120
|
+
Report progress via team_msg at phase boundaries. Blockers via type="blocker". Completion via type="task_complete" after report_agent_job_result.
|
|
187
121
|
```
|
|
188
122
|
|
|
189
|
-
|
|
190
|
-
5. Update session, output summary, STOP
|
|
191
|
-
6. Use `wait_agent({ timeout_ms: 1800000 })` to wait for callbacks (30 min). If `result.timed_out`, send STATUS_CHECK via followup_task (wait 3 min), then FINALIZE with interrupt (wait 3 min), then mark timed_out and close agents. Workers use `report_agent_job_result()` to send results back.
|
|
192
|
-
|
|
193
|
-
### Post-Wait Processing
|
|
194
|
-
|
|
195
|
-
After `wait_agent` returns:
|
|
196
|
-
|
|
197
|
-
```javascript
|
|
198
|
-
// Drain progress from message bus
|
|
199
|
-
const progressMsgs = mcp__maestro-tools__team_msg({
|
|
200
|
-
operation: "list", session_id: sessionId, type: "progress", last: 100
|
|
201
|
-
})
|
|
202
|
-
for (const msg of (progressMsgs.result?.messages || [])) {
|
|
203
|
-
console.log(`[coordinator] trace: ${msg.summary}`)
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
if (waitResult.timed_out) {
|
|
207
|
-
for (const taskId of Object.keys(state.active_workers)) {
|
|
208
|
-
// Status probe before closing
|
|
209
|
-
followup_task({ target: taskId, message: "STATUS_CHECK: Report current progress, findings so far, and estimated remaining work." })
|
|
210
|
-
const status = wait_agent({ timeout_ms: 180000 }) // 3 min
|
|
211
|
-
if (status.timed_out) {
|
|
212
|
-
followup_task({ target: taskId, message: "FINALIZE: Output all current findings immediately. Time limit reached.", interrupt: true })
|
|
213
|
-
const forced = wait_agent({ timeout_ms: 180000 }) // 3 min
|
|
214
|
-
if (forced.timed_out) {
|
|
215
|
-
const lastProgress = (progressMsgs.result?.messages || [])
|
|
216
|
-
.filter(m => m.data?.task_id === taskId).pop()
|
|
217
|
-
state.tasks[taskId].status = 'timed_out'
|
|
218
|
-
state.tasks[taskId].error = lastProgress
|
|
219
|
-
? `Timed out at ${lastProgress.data.phase} (${lastProgress.data.progress_pct}%)`
|
|
220
|
-
: 'Timed out with no progress reported'
|
|
221
|
-
close_agent({ target: taskId })
|
|
222
|
-
delete state.active_workers[taskId]
|
|
223
|
-
}
|
|
224
|
-
// else: forced output received, process result
|
|
225
|
-
}
|
|
226
|
-
// else: status received, continue processing
|
|
227
|
-
}
|
|
228
|
-
} else {
|
|
229
|
-
// Collect results, mark completed, close agents
|
|
230
|
-
}
|
|
231
|
-
```
|
|
123
|
+
**Result collection**: `wait_agent({ timeout_ms: 1800000 })` (30 min), drain progress from team_msg.
|
|
232
124
|
|
|
233
|
-
**
|
|
125
|
+
**Timeout escalation**: STATUS_CHECK (3 min) -> FINALIZE with interrupt (3 min) -> mark timed_out with last progress context, close_agent.
|
|
234
126
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
```
|
|
238
|
-
// Example: Send scout results to running strategist
|
|
239
|
-
send_message({
|
|
240
|
-
target: "<running-agent-task-name>",
|
|
241
|
-
message: `## Supplementary Context\n${upstreamFindings}`
|
|
242
|
-
})
|
|
243
|
-
// Note: send_message queues info without interrupting the agent's current work
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
Use `send_message` (not `followup_task`) for supplementary info that enriches but doesn't redirect the agent's current task.
|
|
127
|
+
**Cross-Agent Supplementary Context** (v4): Use `send_message` (not `followup_task`) to deliver upstream results to running downstream workers as non-interrupting supplementary context.
|
|
247
128
|
|
|
248
129
|
## handleComplete
|
|
249
130
|
|
|
250
|
-
**Cleanup Verification** (v4):
|
|
251
|
-
```
|
|
252
|
-
// Verify all agents are properly closed
|
|
253
|
-
const remaining = list_agents({})
|
|
254
|
-
// If any team agents still running -> close_agent each
|
|
255
|
-
// Ensures clean session shutdown
|
|
256
|
-
```
|
|
131
|
+
**Cleanup Verification** (v4): `list_agents()` -> close any still-running team agents.
|
|
257
132
|
|
|
258
|
-
Pipeline done.
|
|
133
|
+
Pipeline done. Verify all tasks (including GC fix/recheck) completed/deleted. Incomplete -> handleSpawnNext. All complete -> read meta.json (quality_score, coverage, gc_rounds), generate summary.
|
|
259
134
|
|
|
260
|
-
|
|
261
|
-
2. If any tasks incomplete -> return to handleSpawnNext
|
|
262
|
-
3. If all complete:
|
|
263
|
-
- Read final state from meta.json (quality_score, coverage, gc_rounds)
|
|
264
|
-
- Generate summary (deliverables, stats, discussions)
|
|
265
|
-
4. Read session.completion_action:
|
|
266
|
-
- interactive -> request_user_input (Archive/Keep/Export)
|
|
267
|
-
- auto_archive -> Archive & Clean (status=completed, remove/archive session folder)
|
|
268
|
-
- auto_keep -> Keep Active (status=paused)
|
|
135
|
+
Route by completion_action: interactive (Archive/Keep/Export) | auto_archive | auto_keep.
|
|
269
136
|
|
|
270
137
|
## handleAdapt
|
|
271
138
|
|
|
@@ -279,18 +146,11 @@ Capability gap reported mid-pipeline.
|
|
|
279
146
|
|
|
280
147
|
## Fast-Advance Reconciliation
|
|
281
148
|
|
|
282
|
-
On every
|
|
283
|
-
1. Read team_msg entries with type="fast_advance"
|
|
284
|
-
2. Sync active_workers with spawned successors
|
|
285
|
-
3. No duplicate spawns
|
|
149
|
+
On every wake: sync `fast_advance` messages from team_msg into active_workers. No duplicate spawns.
|
|
286
150
|
|
|
287
151
|
## Phase 4: State Persistence
|
|
288
152
|
|
|
289
|
-
After every handler
|
|
290
|
-
1. Reconcile active_workers with actual tasks.json states
|
|
291
|
-
2. Remove entries for completed/deleted tasks
|
|
292
|
-
3. Write updated meta.json
|
|
293
|
-
4. STOP (wait for next callback)
|
|
153
|
+
After every handler: reconcile active_workers with tasks.json, remove completed/deleted entries, write meta.json, STOP.
|
|
294
154
|
|
|
295
155
|
## Error Handling
|
|
296
156
|
|
|
@@ -77,55 +77,17 @@ Before calling ANY tool, apply this check:
|
|
|
77
77
|
|
|
78
78
|
### Worker Spawn Template
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
spawn_agent({
|
|
84
|
-
agent_type: "team_worker",
|
|
85
|
-
task_name: "<task-id>",
|
|
86
|
-
fork_turns: "none",
|
|
87
|
-
message: `## Role Assignment
|
|
88
|
-
role: <role>
|
|
89
|
-
role_spec: <skill_root>/roles/<role>/role.md
|
|
90
|
-
session: <session-folder>
|
|
91
|
-
session_id: <session-id>
|
|
92
|
-
requirement: <task-description>
|
|
93
|
-
inner_loop: <true|false>
|
|
94
|
-
|
|
95
|
-
Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
|
|
96
|
-
|
|
97
|
-
## Task Context
|
|
98
|
-
task_id: <task-id>
|
|
99
|
-
title: <task-title>
|
|
100
|
-
description: <task-description>
|
|
101
|
-
pipeline_phase: <pipeline-phase>
|
|
102
|
-
|
|
103
|
-
## Upstream Context
|
|
104
|
-
<prev_context>`
|
|
105
|
-
})
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
After spawning, use `wait_agent({ timeout_ms: 1800000 })` to collect results (30 min). If `result.timed_out`, send STATUS_CHECK via followup_task (wait 3 min), then FINALIZE with interrupt (wait 3 min), then mark timed_out and close agents. Use `close_agent({ target })` each worker.
|
|
80
|
+
Spawn via `team-worker` agent. Message includes: role, role_spec path, session folder/id, requirement, inner_loop flag, task context, upstream context. After spawning: `wait_agent` (30 min). Timeout: STATUS_CHECK (3 min) -> FINALIZE (3 min) -> close.
|
|
109
81
|
|
|
110
82
|
### Model Selection Guide
|
|
111
83
|
|
|
112
|
-
| Role |
|
|
113
|
-
|
|
114
|
-
| Scanner (SCAN-*) |
|
|
115
|
-
| Reviewer (REV-*) |
|
|
116
|
-
| Fixer (FIX-*) |
|
|
84
|
+
| Role | reasoning_effort |
|
|
85
|
+
|------|-------------------|
|
|
86
|
+
| Scanner (SCAN-*) | medium |
|
|
87
|
+
| Reviewer (REV-*) | high |
|
|
88
|
+
| Fixer (FIX-*) | high |
|
|
117
89
|
|
|
118
|
-
Override model
|
|
119
|
-
```
|
|
120
|
-
spawn_agent({
|
|
121
|
-
agent_type: "team_worker",
|
|
122
|
-
task_name: "<task-id>",
|
|
123
|
-
fork_turns: "none",
|
|
124
|
-
model: "<model-override>",
|
|
125
|
-
reasoning_effort: "<effort-level>",
|
|
126
|
-
message: "..."
|
|
127
|
-
})
|
|
128
|
-
```
|
|
90
|
+
Override via `model`/`reasoning_effort` params in spawn_agent for cost optimization.
|
|
129
91
|
|
|
130
92
|
### User Commands
|
|
131
93
|
|
|
@@ -141,53 +103,17 @@ spawn_agent({
|
|
|
141
103
|
|
|
142
104
|
### v4 Agent Coordination
|
|
143
105
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
| Intent | API | Example |
|
|
147
|
-
|--------|-----|---------|
|
|
148
|
-
| Send scan findings to running reviewer | `send_message` | Queue scan results to REV-* as supplementary context |
|
|
149
|
-
| Not used in this skill | `followup_task` | No resident agents -- sequential 3-stage pipeline |
|
|
150
|
-
| Check running agents | `list_agents` | Verify agent health during resume |
|
|
151
|
-
|
|
152
|
-
#### Pipeline Pattern
|
|
106
|
+
**Message Semantics**: `send_message` to queue scan findings to reviewer. `list_agents` for health checks. `followup_task` not used (sequential pipeline).
|
|
153
107
|
|
|
154
|
-
|
|
108
|
+
**Pipeline Pattern**: Sequential 3-stage (scan -> review -> fix). May skip stages: 0 findings skips review+fix; user declines fix skips fix.
|
|
155
109
|
|
|
156
|
-
|
|
110
|
+
**Agent Health Check**: Reconcile `tasks.json` with `list_agents({})`. Reset orphaned tasks to pending.
|
|
157
111
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
```
|
|
161
|
-
// Reconcile session state with actual running agents
|
|
162
|
-
const running = list_agents({})
|
|
163
|
-
// Compare with tasks.json active_agents
|
|
164
|
-
// Reset orphaned tasks (in_progress but agent gone) to pending
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
#### Named Agent Targeting
|
|
168
|
-
|
|
169
|
-
Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
|
|
170
|
-
- `send_message({ target: "REV-001", message: "..." })` -- queue scan findings to running reviewer
|
|
171
|
-
- `close_agent({ target: "SCAN-001" })` -- cleanup by name after completion
|
|
112
|
+
**Named Targeting**: `send_message({ target: "REV-001" })`, `close_agent({ target: "SCAN-001" })`.
|
|
172
113
|
|
|
173
114
|
### Completion Action
|
|
174
115
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
```
|
|
178
|
-
request_user_input({
|
|
179
|
-
questions: [{
|
|
180
|
-
question: "Review pipeline complete. What would you like to do?",
|
|
181
|
-
header: "Completion",
|
|
182
|
-
multiSelect: false,
|
|
183
|
-
options: [
|
|
184
|
-
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up" },
|
|
185
|
-
{ label: "Keep Active", description: "Keep session for follow-up work" },
|
|
186
|
-
{ label: "Export Results", description: "Export deliverables to target directory" }
|
|
187
|
-
]
|
|
188
|
-
}]
|
|
189
|
-
})
|
|
190
|
-
```
|
|
116
|
+
Present choice: **Archive & Clean** (recommended), **Keep Active**, **Export Results**.
|
|
191
117
|
|
|
192
118
|
### Session Directory
|
|
193
119
|
|