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
package/workflows/test-gen.md
CHANGED
|
@@ -18,32 +18,14 @@ Follow project test conventions in Step 4 (Generate Test Plan) and Step 5 (Write
|
|
|
18
18
|
|
|
19
19
|
### Step 1: Discover Test Infrastructure
|
|
20
20
|
|
|
21
|
-
Detect existing test framework and patterns
|
|
21
|
+
Detect existing test framework and patterns by scanning for:
|
|
22
|
+
- **Config files**: `jest.config.*`, `vitest.config.*`, `pytest.ini`, `pyproject.toml`, `.mocharc.*`
|
|
23
|
+
- **Existing tests**: `*.test.*`, `*.spec.*`, `test_*` (exclude node_modules, .git)
|
|
24
|
+
- **Utilities**: `test-utils.*`, `testHelper*`, `conftest.py`, `setup.*`
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
# Find test config files
|
|
25
|
-
find . -name "jest.config.*" -o -name "vitest.config.*" -o -name "pytest.ini" -o -name "pyproject.toml" -o -name ".mocharc.*" 2>/dev/null | head -10
|
|
26
|
-
|
|
27
|
-
# Find existing test files
|
|
28
|
-
find . \( -name "*.test.*" -o -name "*.spec.*" -o -name "test_*" \) -not -path "*/node_modules/*" -not -path "*/.git/*" 2>/dev/null | head -40
|
|
29
|
-
|
|
30
|
-
# Find test utilities and helpers
|
|
31
|
-
find . \( -name "test-utils.*" -o -name "testHelper*" -o -name "conftest.py" -o -name "setup.*" \) -not -path "*/node_modules/*" 2>/dev/null | head -10
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Extract:
|
|
35
|
-
- **Framework**: Jest, Vitest, pytest, Mocha, etc.
|
|
36
|
-
- **Test directory structure**: `__tests__/`, `tests/`, co-located, etc.
|
|
37
|
-
- **Naming convention**: `*.test.ts`, `*.spec.ts`, `test_*.py`
|
|
38
|
-
- **Test utilities**: shared helpers, fixtures, factories
|
|
39
|
-
- **Run command**: `npm test`, `pytest`, etc.
|
|
26
|
+
Extract: framework, directory structure, naming convention, test utilities, run command.
|
|
40
27
|
|
|
41
|
-
Read 2-3 existing test files to learn patterns
|
|
42
|
-
- Import style
|
|
43
|
-
- Describe/it nesting
|
|
44
|
-
- Assertion library
|
|
45
|
-
- Mock/stub patterns
|
|
46
|
-
- Setup/teardown conventions
|
|
28
|
+
Read 2-3 existing test files to learn: import style, describe/it nesting, assertion library, mock patterns, setup/teardown.
|
|
47
29
|
|
|
48
30
|
If no test framework detected: Error E003.
|
|
49
31
|
|
|
@@ -51,52 +33,26 @@ If no test framework detected: Error E003.
|
|
|
51
33
|
|
|
52
34
|
### Step 2: Identify Gaps
|
|
53
35
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
1. **From validation.json** (Nyquist audit):
|
|
57
|
-
- `gaps[]` where status = "MISSING" or "PARTIAL"
|
|
58
|
-
- Each gap has requirement_ref and description
|
|
36
|
+
Sources: validation.json (`gaps[]` MISSING/PARTIAL), coverage-report.json (`requirements_uncovered[]`), task summaries (modified files).
|
|
59
37
|
|
|
60
|
-
|
|
61
|
-
- `requirements_uncovered[]` -- requirements without test evidence
|
|
62
|
-
|
|
63
|
-
3. **From task summaries**:
|
|
64
|
-
- Files modified/created in this phase
|
|
65
|
-
- Functionality added
|
|
66
|
-
|
|
67
|
-
Build gap list with priority:
|
|
68
|
-
- MISSING (no test at all) -> HIGH priority
|
|
69
|
-
- Uncovered requirement -> HIGH priority
|
|
70
|
-
- PARTIAL (test exists but incomplete) -> MEDIUM priority
|
|
38
|
+
Priority: MISSING or uncovered requirement → HIGH; PARTIAL → MEDIUM.
|
|
71
39
|
|
|
72
40
|
---
|
|
73
41
|
|
|
74
42
|
### Step 3: Classify Files
|
|
75
43
|
|
|
76
|
-
Classify changed
|
|
77
|
-
|
|
78
|
-
For each file modified in this phase:
|
|
44
|
+
Classify each changed file into test categories:
|
|
79
45
|
|
|
80
|
-
| File Type |
|
|
81
|
-
|
|
46
|
+
| File Type | Category | Rationale |
|
|
47
|
+
|-----------|----------|-----------|
|
|
82
48
|
| Pure function / utility | unit | Isolated, no side effects |
|
|
83
49
|
| React component | unit + e2e | Unit for logic, E2E for rendering |
|
|
84
50
|
| API route / handler | integration | Needs request context |
|
|
85
51
|
| Database model / query | integration | Needs DB connection |
|
|
86
52
|
| CLI command | e2e | Needs process execution |
|
|
87
|
-
| Config / types / constants | skip | No behavior
|
|
88
|
-
| CSS / styles | skip | Visual, not testable with code |
|
|
89
|
-
| Test files themselves | skip | Don't test tests |
|
|
53
|
+
| Config / types / constants / CSS / test files | skip | No testable behavior |
|
|
90
54
|
|
|
91
|
-
Output
|
|
92
|
-
```json
|
|
93
|
-
{
|
|
94
|
-
"unit": ["src/utils/validate.ts", "src/hooks/useChat.ts"],
|
|
95
|
-
"integration": ["src/api/comments.ts", "src/db/queries.ts"],
|
|
96
|
-
"e2e": ["src/components/ChatWindow.tsx"],
|
|
97
|
-
"skip": ["src/types/index.ts", "src/styles/theme.css"]
|
|
98
|
-
}
|
|
99
|
-
```
|
|
55
|
+
Output: `{ "unit": [...], "integration": [...], "e2e": [...], "skip": [...] }`
|
|
100
56
|
|
|
101
57
|
Apply --layer filter if set.
|
|
102
58
|
|
|
@@ -156,25 +112,14 @@ Wait for user approval via AskUserQuestion.
|
|
|
156
112
|
|
|
157
113
|
For each approved test entry:
|
|
158
114
|
|
|
159
|
-
1. **RED
|
|
160
|
-
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
{test_run_command} {test_file} 2>&1 | tail -20
|
|
167
|
-
```
|
|
168
|
-
- If test passes: the test may be trivial, review and strengthen
|
|
169
|
-
- If test fails with expected error: good, test targets real behavior
|
|
170
|
-
- If test fails with unexpected error: fix test setup, not source code
|
|
115
|
+
1. **RED** -- Write test following existing patterns; tests must fail if behavior is broken (not trivially pass)
|
|
116
|
+
2. **Verify RED** -- Run `{test_run_command} {test_file}`:
|
|
117
|
+
- Passes → may be trivial, strengthen it
|
|
118
|
+
- Fails expected → good, targets real behavior
|
|
119
|
+
- Fails unexpected → fix test setup, not source code
|
|
120
|
+
3. **GREEN assessment** -- Passes = gap was missing test; Fails = bug discovery (do NOT fix source)
|
|
171
121
|
|
|
172
|
-
|
|
173
|
-
- If tests pass: coverage gap was about missing tests, not missing code
|
|
174
|
-
- If tests fail: record as bug discovery (NOT fix -- that's for quality-debug)
|
|
175
|
-
|
|
176
|
-
**Important**: This command generates tests, it does NOT fix source code.
|
|
177
|
-
Failing tests are valuable -- they document missing behavior.
|
|
122
|
+
**Important**: This command generates tests only. Failing tests document missing behavior -- fixing is for quality-debug.
|
|
178
123
|
|
|
179
124
|
Write each test file to the discovered test directory structure.
|
|
180
125
|
|
|
@@ -199,13 +144,7 @@ If regressions found, flag as blocker. (W002)
|
|
|
199
144
|
|
|
200
145
|
### Step 7: Write Artifacts
|
|
201
146
|
|
|
202
|
-
|
|
203
|
-
```
|
|
204
|
-
IF file exists "$OUTPUT_DIR/.tests/test-gen-report.json":
|
|
205
|
-
mkdir -p "$OUTPUT_DIR/.history"
|
|
206
|
-
TIMESTAMP = current timestamp formatted as "YYYY-MM-DDTHH-mm-ss"
|
|
207
|
-
mv "$OUTPUT_DIR/.tests/test-gen-report.json" "$OUTPUT_DIR/.history/test-gen-report-${TIMESTAMP}.json"
|
|
208
|
-
```
|
|
147
|
+
Archive existing `.tests/test-gen-report.json` → `.history/test-gen-report-{timestamp}.json` if present.
|
|
209
148
|
|
|
210
149
|
Write `.tests/test-gen-report.json`:
|
|
211
150
|
```json
|
|
@@ -245,24 +184,8 @@ Update validation.json gaps: change MISSING -> COVERED for gaps that now have te
|
|
|
245
184
|
### Step 8: Report
|
|
246
185
|
|
|
247
186
|
```
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
Framework: {framework}
|
|
251
|
-
|
|
252
|
-
Generated: {files_generated} test files, {test_cases_total} test cases
|
|
253
|
-
Passing: {passing} (coverage gaps filled)
|
|
254
|
-
Failing: {failing} (bugs discovered)
|
|
255
|
-
|
|
256
|
-
Bugs Found: {bugs_discovered}
|
|
257
|
-
{list of failing tests with brief description}
|
|
258
|
-
|
|
259
|
-
Coverage: {old_pct}% -> {new_pct}% (if measurable)
|
|
260
|
-
|
|
261
|
-
Files:
|
|
262
|
-
{target_dir}/.tests/test-gen-report.json
|
|
263
|
-
|
|
264
|
-
Next steps:
|
|
265
|
-
{suggested_next_command}
|
|
187
|
+
Display: phase, framework, files/cases generated, passing/failing counts,
|
|
188
|
+
bugs found (with descriptions), coverage delta, report path, next step suggestion
|
|
266
189
|
```
|
|
267
190
|
|
|
268
191
|
**Next step routing:**
|
package/workflows/test.md
CHANGED
|
@@ -22,16 +22,7 @@ Determine test target from $ARGUMENTS:
|
|
|
22
22
|
|
|
23
23
|
**If phase number provided** (e.g., "3"):
|
|
24
24
|
- Set `$TARGET_TYPE = "phase"`
|
|
25
|
-
- Resolve phase dir:
|
|
26
|
-
```
|
|
27
|
-
Read .workflow/state.json → state
|
|
28
|
-
artifacts = state.artifacts ?? []
|
|
29
|
-
art = artifacts.find(a => a.type === 'execute' && a.phase === phaseNum)
|
|
30
|
-
IF art:
|
|
31
|
-
PHASE_DIR = ".workflow/" + art.path
|
|
32
|
-
ELSE:
|
|
33
|
-
ERROR "Phase {phaseNum} not found in artifact registry"
|
|
34
|
-
```
|
|
25
|
+
- Resolve phase dir: look up `phaseNum` in `.workflow/state.json` artifacts (type=execute), derive `PHASE_DIR = ".workflow/" + art.path`. Error if not found.
|
|
35
26
|
- Load `$PHASE_DIR/index.json` for context
|
|
36
27
|
|
|
37
28
|
**If scratch task ID provided:**
|
|
@@ -157,14 +148,7 @@ Skip internal/non-observable items (refactors, type changes).
|
|
|
157
148
|
|
|
158
149
|
### Step 6: Create UAT File
|
|
159
150
|
|
|
160
|
-
**Archive previous UAT artifacts** before writing:
|
|
161
|
-
```
|
|
162
|
-
ARCHIVE_TARGETS = ["uat.md"]
|
|
163
|
-
IF file exists "$OUTPUT_DIR/uat.md":
|
|
164
|
-
mkdir -p "$OUTPUT_DIR/.history"
|
|
165
|
-
TIMESTAMP = current timestamp formatted as "YYYY-MM-DDTHH-mm-ss"
|
|
166
|
-
mv "$OUTPUT_DIR/uat.md" "$OUTPUT_DIR/.history/uat-${TIMESTAMP}.md"
|
|
167
|
-
```
|
|
151
|
+
**Archive previous UAT artifacts** before writing: if `$OUTPUT_DIR/uat.md` exists, move it to `$OUTPUT_DIR/.history/uat-{YYYY-MM-DDTHH-mm-ss}.md`.
|
|
168
152
|
|
|
169
153
|
Build test list from test-plan.json. Create file at `$OUTPUT_DIR/uat.md`:
|
|
170
154
|
|
|
@@ -275,43 +259,11 @@ Append to Gaps section:
|
|
|
275
259
|
```
|
|
276
260
|
|
|
277
261
|
**Auto-create Issue from UAT Gap:**
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
Read .workflow/issues/issues.jsonl
|
|
284
|
-
Extract all id fields matching today's date prefix ISS-YYYYMMDD-*
|
|
285
|
-
existing_ids = collected IDs
|
|
286
|
-
|
|
287
|
-
today = format(now(), "YYYYMMDD")
|
|
288
|
-
counter = max sequence number from existing_ids for today + 1 (start at 1 if none)
|
|
289
|
-
|
|
290
|
-
issue_id = "ISS-{today}-{counter padded to 3 digits}"
|
|
291
|
-
issue = {
|
|
292
|
-
id: issue_id,
|
|
293
|
-
title: "UAT: " + test.name + " - " + user_response (truncated to 100 chars),
|
|
294
|
-
status: "registered",
|
|
295
|
-
priority: severity_to_priority(inferred_severity),
|
|
296
|
-
severity: inferred_severity,
|
|
297
|
-
source: "uat",
|
|
298
|
-
phase_ref: TARGET_TYPE == "phase" ? PHASE_NUM : null,
|
|
299
|
-
gap_ref: test.id,
|
|
300
|
-
description: "UAT test failed: " + test.name + ". Expected: " + test.expected + ". Reported: " + user_response,
|
|
301
|
-
fix_direction: "",
|
|
302
|
-
context: { location: "", suggested_fix: "", notes: "requirement_ref: " + test.requirement_ref },
|
|
303
|
-
tags: ["uat"],
|
|
304
|
-
affected_components: [],
|
|
305
|
-
feedback: [],
|
|
306
|
-
issue_history: [],
|
|
307
|
-
created_at: now(),
|
|
308
|
-
updated_at: now(),
|
|
309
|
-
resolved_at: null,
|
|
310
|
-
resolution: null
|
|
311
|
-
}
|
|
312
|
-
Append JSON line to .workflow/issues/issues.jsonl
|
|
313
|
-
gap.issue_id = issue_id // back-reference in gap YAML entry
|
|
314
|
-
```
|
|
262
|
+
|
|
263
|
+
When result is "issue", create an issue in `.workflow/issues/issues.jsonl`:
|
|
264
|
+
- **ID**: `ISS-{YYYYMMDD}-{NNN}` (auto-increment per day from existing entries)
|
|
265
|
+
- **Fields**: `id`, `title` ("UAT: {test.name} - {response}" truncated 100 chars), `status: "registered"`, `priority` (from severity), `severity`, `source: "uat"`, `phase_ref` (if phase-scoped), `gap_ref: test.id`, `description` (expected vs reported), `fix_direction: ""`, `context` (with requirement_ref), `tags: ["uat"]`, `affected_components: []`, `feedback: []`, `issue_history: []`, timestamps, `resolved_at: null`, `resolution: null`
|
|
266
|
+
- Back-reference: set `gap.issue_id = issue_id` in the gap YAML entry
|
|
315
267
|
|
|
316
268
|
**Batched writes for efficiency:**
|
|
317
269
|
Keep results in memory. Write to file only when:
|
|
@@ -339,22 +291,7 @@ Proceed to Step 7.
|
|
|
339
291
|
|
|
340
292
|
Update uat.md frontmatter: status -> "complete", updated timestamp.
|
|
341
293
|
|
|
342
|
-
**Archive previous test result artifacts** before writing:
|
|
343
|
-
```
|
|
344
|
-
RESULT_TARGETS = ["test-results.json", "coverage-report.json"]
|
|
345
|
-
has_existing = false
|
|
346
|
-
FOR artifact IN RESULT_TARGETS:
|
|
347
|
-
IF file exists "$OUTPUT_DIR/.tests/${artifact}":
|
|
348
|
-
has_existing = true
|
|
349
|
-
break
|
|
350
|
-
|
|
351
|
-
IF has_existing:
|
|
352
|
-
mkdir -p "$OUTPUT_DIR/.history"
|
|
353
|
-
TIMESTAMP = current timestamp formatted as "YYYY-MM-DDTHH-mm-ss"
|
|
354
|
-
FOR artifact IN RESULT_TARGETS:
|
|
355
|
-
IF file exists "$OUTPUT_DIR/.tests/${artifact}":
|
|
356
|
-
mv "$OUTPUT_DIR/.tests/${artifact}" "$OUTPUT_DIR/.history/${name}-${TIMESTAMP}.${ext}"
|
|
357
|
-
```
|
|
294
|
+
**Archive previous test result artifacts** before writing: if `test-results.json` or `coverage-report.json` exist in `$OUTPUT_DIR/.tests/`, move them to `$OUTPUT_DIR/.history/{name}-{YYYY-MM-DDTHH-mm-ss}.{ext}`.
|
|
358
295
|
|
|
359
296
|
Write `.tests/test-results.json`:
|
|
360
297
|
```json
|
|
@@ -407,45 +344,11 @@ If issues > 0 -> go to Step 11.
|
|
|
407
344
|
|
|
408
345
|
2. **Spawn one debug agent per cluster** (parallel):
|
|
409
346
|
|
|
410
|
-
For each cluster, spawn
|
|
411
|
-
```
|
|
412
|
-
Agent({
|
|
413
|
-
subagent_type: "general-purpose",
|
|
414
|
-
description: "Diagnose UAT gap cluster: {cluster_name}",
|
|
415
|
-
prompt: "
|
|
416
|
-
Investigate UAT failures for {target}.
|
|
417
|
-
|
|
418
|
-
Gaps in this cluster:
|
|
419
|
-
{gap list with test ID, expected, reported, severity}
|
|
420
|
-
|
|
421
|
-
Mode: symptoms_prefilled (no user questions needed)
|
|
422
|
-
Goal: find root cause for each gap
|
|
423
|
-
|
|
424
|
-
Search relevant source files, trace the behavior,
|
|
425
|
-
identify why expected != actual.
|
|
426
|
-
|
|
427
|
-
Return for each gap:
|
|
428
|
-
- root_cause: what's wrong
|
|
429
|
-
- fix_direction: how to fix
|
|
430
|
-
- affected_files: which files need changes
|
|
431
|
-
- evidence: file:line references
|
|
432
|
-
",
|
|
433
|
-
run_in_background: false
|
|
434
|
-
})
|
|
435
|
-
```
|
|
347
|
+
For each cluster, spawn a general-purpose agent with pre-filled symptoms (test ID, expected, reported, severity). Agent investigates source files and returns per gap: `root_cause`, `fix_direction`, `affected_files`, `evidence` (file:line refs). Mode: `symptoms_prefilled`, goal: `find_root_cause`. `run_in_background: false`.
|
|
436
348
|
|
|
437
349
|
3. **Collect results** from all agents.
|
|
438
350
|
|
|
439
|
-
**Pass issue_ids to debug context:**
|
|
440
|
-
```
|
|
441
|
-
FOR each cluster:
|
|
442
|
-
cluster.issue_ids = []
|
|
443
|
-
FOR each gap IN cluster.gaps:
|
|
444
|
-
IF gap.issue_id exists:
|
|
445
|
-
cluster.issue_ids.push(gap.issue_id)
|
|
446
|
-
// Include issue_ids in the agent prompt context so debug agents
|
|
447
|
-
// can reference and update the corresponding issues
|
|
448
|
-
```
|
|
351
|
+
**Pass issue_ids to debug context:** gather `issue_id` from each gap in the cluster and include in agent prompt so debug agents can reference/update corresponding issues.
|
|
449
352
|
|
|
450
353
|
4. **Update uat.md** gaps with diagnosis:
|
|
451
354
|
```yaml
|
|
@@ -505,22 +408,9 @@ If re-verify passes: update uat.md gaps as resolved, report success.
|
|
|
505
408
|
If re-verify still has gaps: report remaining gaps, suggest manual intervention.
|
|
506
409
|
|
|
507
410
|
**Issue lifecycle updates during gap-fix loop:**
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
IF gap.issue_id exists:
|
|
512
|
-
Update issue in .workflow/issues/issues.jsonl:
|
|
513
|
-
status: "registered" -> "planning" (before plan --gaps)
|
|
514
|
-
status: "planning" -> "executing" (before execute)
|
|
515
|
-
|
|
516
|
-
// After re-verify: update based on result
|
|
517
|
-
FOR each gap IN diagnosed_gaps:
|
|
518
|
-
IF gap.issue_id exists:
|
|
519
|
-
IF gap resolved by re-verify:
|
|
520
|
-
Update issue: status -> "completed", resolved_at -> now(), resolution -> "auto-fixed via gap-fix loop"
|
|
521
|
-
ELSE:
|
|
522
|
-
Update issue: status -> "failed", updated_at -> now()
|
|
523
|
-
```
|
|
411
|
+
- Before plan --gaps: transition issues `registered` -> `planning`
|
|
412
|
+
- Before execute: transition `planning` -> `executing`
|
|
413
|
+
- After re-verify: resolved gaps -> `completed` (with resolution "auto-fixed via gap-fix loop"), unresolved -> `failed`
|
|
524
414
|
|
|
525
415
|
**Loop limit**: Maximum 2 iterations to prevent infinite loops.
|
|
526
416
|
|
|
@@ -554,8 +444,8 @@ Next steps:
|
|
|
554
444
|
|
|
555
445
|
| Result | Suggestion |
|
|
556
446
|
|--------|------------|
|
|
557
|
-
| All passed, no gaps | Skill({ skill: "maestro-
|
|
558
|
-
| Gaps auto-fixed | Skill({ skill: "maestro-
|
|
447
|
+
| All passed, no gaps | Skill({ skill: "maestro-milestone-audit" }) |
|
|
448
|
+
| Gaps auto-fixed | Skill({ skill: "maestro-milestone-audit" }) |
|
|
559
449
|
| Gaps remain, diagnosed | Skill({ skill: "quality-debug" }) or Skill({ skill: "maestro-plan", args: "--gaps" }) |
|
|
560
450
|
| Low coverage | Skill({ skill: "quality-test-gen", args: "{phase}" }) to generate missing tests |
|
|
561
451
|
|