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
|
@@ -157,25 +157,15 @@ Single wave generates `wave-1.csv`. No `prev_context` needed (all tasks independ
|
|
|
157
157
|
|
|
158
158
|
### Session Initialization
|
|
159
159
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
const concurrencyMatch = $ARGUMENTS.match(/(?:--concurrency|-c)\s+(\d+)/)
|
|
167
|
-
const maxConcurrency = concurrencyMatch ? parseInt(concurrencyMatch[1]) : 5
|
|
168
|
-
|
|
169
|
-
// Parse rebuild-specific flags
|
|
170
|
-
const forceMode = $ARGUMENTS.includes('--force') || AUTO_YES
|
|
171
|
-
const skipCommit = $ARGUMENTS.includes('--skip-commit')
|
|
160
|
+
Parse `$ARGUMENTS` to extract:
|
|
161
|
+
- `AUTO_YES` from `--yes` / `-y`
|
|
162
|
+
- `continueMode` from `--continue`
|
|
163
|
+
- `maxConcurrency` from `--concurrency N` / `-c N` (default: 5)
|
|
164
|
+
- `forceMode` from `--force` (or implied by AUTO_YES)
|
|
165
|
+
- `skipCommit` from `--skip-commit`
|
|
172
166
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
const sessionFolder = `.workflow/.csv-wave/${sessionId}`
|
|
176
|
-
|
|
177
|
-
Bash(`mkdir -p ${sessionFolder}`)
|
|
178
|
-
```
|
|
167
|
+
Session ID: `{YYYYMMDD}-rebuild-full`
|
|
168
|
+
Session folder: `.workflow/.csv-wave/{sessionId}/` — create via `mkdir -p`
|
|
179
169
|
|
|
180
170
|
### Phase 1: Setup -> CSV
|
|
181
171
|
|
|
@@ -183,36 +173,18 @@ Bash(`mkdir -p ${sessionFolder}`)
|
|
|
183
173
|
|
|
184
174
|
**Steps**:
|
|
185
175
|
|
|
186
|
-
1. **Validate
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
2. **Confirm rebuild**:
|
|
191
|
-
- If `.workflow/codebase/` exists AND NOT forceMode:
|
|
192
|
-
```
|
|
193
|
-
AskUserQuestion: "Codebase docs already exist. Rebuild will overwrite all files. Continue? [y/N]"
|
|
194
|
-
If no: exit
|
|
195
|
-
```
|
|
196
|
-
- If forceMode or confirmed: clear `.workflow/codebase/`
|
|
197
|
-
|
|
198
|
-
3. **Prepare directory structure**:
|
|
176
|
+
1. **Validate** `.workflow/state.json` exists — abort with "Run init first" if missing
|
|
177
|
+
2. **Confirm rebuild**: If `.workflow/codebase/` exists AND NOT forceMode, prompt user. If forceMode or confirmed, clear `.workflow/codebase/`
|
|
178
|
+
3. **Prepare directories**:
|
|
199
179
|
```bash
|
|
200
180
|
mkdir -p .workflow/codebase/tech-registry
|
|
201
181
|
mkdir -p .workflow/codebase/feature-maps
|
|
202
182
|
mkdir -p .workflow/codebase/action-logs
|
|
203
183
|
```
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
- If no source directories found: abort with "No source files in project"
|
|
209
|
-
|
|
210
|
-
5. **Load project specs** (if available):
|
|
211
|
-
- Read `.workflow/specs/` for architecture context
|
|
212
|
-
|
|
213
|
-
6. **Generate tasks.csv**: 5 rows, all wave 1, no dependencies.
|
|
214
|
-
|
|
215
|
-
7. **User validation**: Display doc generator breakdown. Skip if AUTO_YES.
|
|
184
|
+
4. **Detect source directories**: `src/`, `lib/`, `app/`, `packages/` — abort if none found
|
|
185
|
+
5. **Load project specs** from `.workflow/specs/` if available
|
|
186
|
+
6. **Generate tasks.csv**: 5 rows, all wave 1, no dependencies
|
|
187
|
+
7. **User validation**: Display doc generator breakdown (skip if AUTO_YES)
|
|
216
188
|
|
|
217
189
|
### Phase 2: Wave Execution (Single Wave)
|
|
218
190
|
|
|
@@ -220,11 +192,7 @@ Bash(`mkdir -p ${sessionFolder}`)
|
|
|
220
192
|
|
|
221
193
|
#### Wave 1: All Generators (Parallel)
|
|
222
194
|
|
|
223
|
-
|
|
224
|
-
2. Filter rows where `wave == 1` AND `status == pending`
|
|
225
|
-
3. No prev_context needed (single wave, all independent)
|
|
226
|
-
4. Write `wave-1.csv`
|
|
227
|
-
5. Execute:
|
|
195
|
+
Filter master `tasks.csv` for `wave == 1 AND status == pending` → write `wave-1.csv` (no prev_context needed, all independent).
|
|
228
196
|
|
|
229
197
|
```javascript
|
|
230
198
|
spawn_agents_on_csv({
|
|
@@ -247,21 +215,15 @@ spawn_agents_on_csv({
|
|
|
247
215
|
})
|
|
248
216
|
```
|
|
249
217
|
|
|
250
|
-
|
|
251
|
-
7. Delete `wave-1.csv`
|
|
218
|
+
Merge `wave-1-results.csv` into master `tasks.csv`, delete `wave-1.csv`.
|
|
252
219
|
|
|
253
220
|
### Phase 3: Results -> .workflow/codebase/
|
|
254
221
|
|
|
255
222
|
**Objective**: Assemble doc-index.json from agent findings, validate, update state.
|
|
256
223
|
|
|
257
|
-
|
|
258
|
-
2. Export as `results.csv`
|
|
224
|
+
Export master `tasks.csv` as `results.csv`.
|
|
259
225
|
|
|
260
|
-
|
|
261
|
-
- Read component findings from task 1 (Component Scanner)
|
|
262
|
-
- Read feature findings from task 2 (Feature Mapper)
|
|
263
|
-
- Read requirement/ADR findings from task 3 (Requirement Linker)
|
|
264
|
-
- Merge into complete doc-index.json:
|
|
226
|
+
**Assemble doc-index.json** by merging findings from tasks 1-3 (Component Scanner, Feature Mapper, Requirement Linker):
|
|
265
227
|
```json
|
|
266
228
|
{
|
|
267
229
|
"version": "1.0",
|
|
@@ -277,15 +239,11 @@ spawn_agents_on_csv({
|
|
|
277
239
|
```
|
|
278
240
|
- Write to `.workflow/codebase/doc-index.json`
|
|
279
241
|
|
|
280
|
-
|
|
281
|
-
- Check doc-index.json exists and is valid JSON
|
|
282
|
-
- Check tech-registry/_index.md exists (from task 4)
|
|
283
|
-
- Check feature-maps/_index.md exists (from task 5)
|
|
284
|
-
- Log warnings for any missing files
|
|
242
|
+
**Validate output files**: doc-index.json (valid JSON), tech-registry/_index.md, feature-maps/_index.md — log warnings for missing.
|
|
285
243
|
|
|
286
|
-
|
|
244
|
+
**Update state.json**: Set `codebase.last_rebuild` timestamp.
|
|
287
245
|
|
|
288
|
-
|
|
246
|
+
**Generate context.md**:
|
|
289
247
|
|
|
290
248
|
```markdown
|
|
291
249
|
# Codebase Rebuild Report
|
|
@@ -315,11 +273,9 @@ spawn_agents_on_csv({
|
|
|
315
273
|
- Run manage-codebase-refresh for future incremental updates
|
|
316
274
|
```
|
|
317
275
|
|
|
318
|
-
|
|
319
|
-
- Stage `.workflow/codebase/` files
|
|
320
|
-
- Suggest commit: "docs(codebase): full rebuild of codebase documentation"
|
|
276
|
+
**Auto-commit** (unless --skip-commit): Stage `.workflow/codebase/` files, commit "docs(codebase): full rebuild of codebase documentation".
|
|
321
277
|
|
|
322
|
-
|
|
278
|
+
**Display completion report**:
|
|
323
279
|
|
|
324
280
|
```
|
|
325
281
|
=== CODEBASE REBUILD COMPLETE ===
|
|
@@ -357,17 +313,11 @@ Next steps:
|
|
|
357
313
|
|
|
358
314
|
#### Protocol
|
|
359
315
|
|
|
360
|
-
|
|
361
|
-
2. **Skip covered**: If discovery of same type + dedup key exists, skip
|
|
362
|
-
3. **Write immediately**: Append findings as discovered
|
|
363
|
-
4. **Append-only**: Never modify or delete
|
|
364
|
-
5. **Deduplicate**: Check before writing
|
|
316
|
+
Read `{session_folder}/discoveries.ndjson` before own analysis. Deduplicate by type + dedup key before writing. Append-only — never modify or delete. Generators share discoveries to skip redundant scanning.
|
|
365
317
|
|
|
366
318
|
```bash
|
|
367
319
|
echo '{"ts":"<ISO>","worker":"1","type":"tech_stack","data":{"framework":"Express","language":"TypeScript","tools":["jest","eslint","prettier"]}}' >> {session_folder}/discoveries.ndjson
|
|
368
320
|
```
|
|
369
|
-
|
|
370
|
-
Generators share discoveries so other generators can skip redundant scanning (e.g., Component Scanner discovers components, Feature Mapper and Tech Registry Writer can leverage those findings).
|
|
371
321
|
</execution>
|
|
372
322
|
|
|
373
323
|
<error_codes>
|
|
@@ -28,50 +28,23 @@ $manage-codebase-refresh "--since 3d --deep"
|
|
|
28
28
|
|
|
29
29
|
### Step 1: Validate Preconditions
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
test -d .workflow || exit 1 # E001: not initialized
|
|
33
|
-
test -d .workflow/codebase || exit 1 # E002: no docs, use codebase-rebuild
|
|
34
|
-
```
|
|
31
|
+
Verify `.workflow/` exists (E001) and `.workflow/codebase/` exists (E002 -- use codebase-rebuild instead).
|
|
35
32
|
|
|
36
33
|
### Step 2: Detect Changes
|
|
37
34
|
|
|
38
|
-
|
|
39
|
-
1. If `--since` provided, use that date
|
|
40
|
-
2. Else read `state.json` field `codebase_last_refreshed` or `codebase_last_rebuilt`
|
|
41
|
-
3. Fallback to last 7 days
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
git diff --name-only --since="{baseline}" HEAD
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
If no changes detected, report clean state (W001) and exit.
|
|
35
|
+
Resolve baseline: `--since` flag > `state.json.codebase_last_refreshed` > `codebase_last_rebuilt` > 7-day fallback. Run `git diff --name-only --since="{baseline}" HEAD`. If no changes: W001, exit.
|
|
48
36
|
|
|
49
37
|
### Step 3: Map Changes to Docs
|
|
50
38
|
|
|
51
|
-
Read `.workflow/codebase/doc-index.json` to find
|
|
52
|
-
Build a list of affected doc entries that need refresh.
|
|
39
|
+
Read `.workflow/codebase/doc-index.json` to find doc entries covering changed files. Build affected entry list.
|
|
53
40
|
|
|
54
41
|
### Step 4: Refresh Affected Docs
|
|
55
42
|
|
|
56
|
-
For each affected
|
|
57
|
-
1. Re-read the source files that changed
|
|
58
|
-
2. Update the corresponding doc section in `.workflow/codebase/`
|
|
59
|
-
3. Update the entry's timestamp in `doc-index.json`
|
|
60
|
-
|
|
61
|
-
If `--deep` flag is set, also re-scan adjacent files for context changes.
|
|
43
|
+
For each affected entry: re-read changed source files, update corresponding doc in `.workflow/codebase/`, update timestamp in `doc-index.json`. With `--deep`: also re-scan adjacent files.
|
|
62
44
|
|
|
63
45
|
### Step 5: Update State
|
|
64
46
|
|
|
65
|
-
Update `doc-index.json` timestamps
|
|
66
|
-
Update `state.json` with `codebase_last_refreshed: "{ISO timestamp}"`.
|
|
67
|
-
|
|
68
|
-
Display summary:
|
|
69
|
-
```
|
|
70
|
-
=== CODEBASE REFRESH ===
|
|
71
|
-
Changes detected: {N} files
|
|
72
|
-
Docs refreshed: {M} entries
|
|
73
|
-
Skipped (unchanged): {K} entries
|
|
74
|
-
```
|
|
47
|
+
Update `doc-index.json` timestamps and `state.json.codebase_last_refreshed`. Display summary with change/refresh/skip counts.
|
|
75
48
|
</execution>
|
|
76
49
|
|
|
77
50
|
<error_codes>
|
|
@@ -34,12 +34,7 @@ If missing or invalid, display usage and prompt user (E_NO_SUBCOMMAND, E_INVALID
|
|
|
34
34
|
|
|
35
35
|
### Step 2: Ensure Storage
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
mkdir -p .workflow/issues
|
|
39
|
-
touch .workflow/issues/issues.jsonl 2>/dev/null
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Auto-create directory and empty file if missing (E_ISSUES_DIR_MISSING handled silently).
|
|
37
|
+
Auto-create `.workflow/issues/` and empty `issues.jsonl` if missing (E_ISSUES_DIR_MISSING handled silently).
|
|
43
38
|
|
|
44
39
|
### Step 3: Execute Subcommand
|
|
45
40
|
|
|
@@ -163,34 +163,21 @@ Also writes to:
|
|
|
163
163
|
### Session Initialization
|
|
164
164
|
|
|
165
165
|
```javascript
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
//
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
//
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
.
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
? cleanArgs.replace(/^by-prompt\s*/, '').replace(/^['"]|['"]$/g, '').trim()
|
|
182
|
-
: ''
|
|
183
|
-
const mode = isByPrompt ? 'by-prompt' : 'multi'
|
|
184
|
-
|
|
185
|
-
const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
|
|
186
|
-
const timeStr = getUtc8ISOString().substring(11, 19).replace(/:/g, '')
|
|
187
|
-
const sessionId = `DBP-${dateStr}-${timeStr}`
|
|
188
|
-
const csvSessionId = `${dateStr}-discover-${mode}`
|
|
189
|
-
const sessionFolder = `.workflow/.csv-wave/${csvSessionId}`
|
|
190
|
-
const discoveryDir = `.workflow/issues/discoveries/${sessionId}`
|
|
191
|
-
|
|
192
|
-
Bash(`mkdir -p ${sessionFolder} && mkdir -p ${discoveryDir} && mkdir -p .workflow/issues`)
|
|
193
|
-
Bash(`touch .workflow/issues/issues.jsonl`)
|
|
166
|
+
// Parse from $ARGUMENTS:
|
|
167
|
+
// AUTO_YES <- --yes | -y
|
|
168
|
+
// continueMode <- --continue
|
|
169
|
+
// maxConcurrency <- --concurrency N | -c N (default: 8)
|
|
170
|
+
// mode <- "by-prompt" if clean args start with "by-prompt", else "multi"
|
|
171
|
+
// userPrompt <- text after "by-prompt" (stripped of quotes)
|
|
172
|
+
|
|
173
|
+
// Session IDs (UTC+8):
|
|
174
|
+
// sessionId = DBP-{YYYYMMDD}-{HHmmss}
|
|
175
|
+
// csvSessionId = {YYYYMMDD}-discover-{mode}
|
|
176
|
+
// sessionFolder = .workflow/.csv-wave/{csvSessionId}
|
|
177
|
+
// discoveryDir = .workflow/issues/discoveries/{sessionId}
|
|
178
|
+
|
|
179
|
+
// Create: sessionFolder, discoveryDir, .workflow/issues/
|
|
180
|
+
// Touch: .workflow/issues/issues.jsonl
|
|
194
181
|
```
|
|
195
182
|
|
|
196
183
|
Initialize `discovery-state.json`:
|
|
@@ -262,24 +249,17 @@ spawn_agents_on_csv({
|
|
|
262
249
|
max_concurrency: maxConcurrency,
|
|
263
250
|
max_runtime_seconds: 900,
|
|
264
251
|
output_csv_path: `${sessionFolder}/wave-1-results.csv`,
|
|
265
|
-
output_schema: {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
status: { type: "string", enum: ["completed", "failed"] },
|
|
270
|
-
findings: { type: "string" },
|
|
271
|
-
issues_found: { type: "string" },
|
|
272
|
-
severity_distribution: { type: "string" },
|
|
273
|
-
error: { type: "string" }
|
|
274
|
-
},
|
|
275
|
-
required: ["id", "status", "findings"]
|
|
252
|
+
output_schema: { // required: id, status, findings
|
|
253
|
+
id: "string", status: "completed|failed",
|
|
254
|
+
findings: "string", issues_found: "string",
|
|
255
|
+
severity_distribution: "string", error: "string"
|
|
276
256
|
}
|
|
277
257
|
})
|
|
278
258
|
```
|
|
279
259
|
|
|
280
|
-
6.
|
|
281
|
-
7.
|
|
282
|
-
8. Update `discovery-state.json
|
|
260
|
+
6. Merge `wave-1-results.csv` into master `tasks.csv`
|
|
261
|
+
7. Save per-perspective findings to `{discoveryDir}/{perspective}-findings.json`
|
|
262
|
+
8. Update `discovery-state.json` with completed perspectives
|
|
283
263
|
9. Delete `wave-1.csv`
|
|
284
264
|
|
|
285
265
|
**Perspective scan agent protocol**:
|
|
@@ -308,20 +288,12 @@ spawn_agents_on_csv({
|
|
|
308
288
|
8. Delete `wave-2.csv`
|
|
309
289
|
|
|
310
290
|
**Dedup agent protocol**:
|
|
311
|
-
-
|
|
312
|
-
-
|
|
313
|
-
-
|
|
314
|
-
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
- For each unique finding:
|
|
318
|
-
- Generate ISS-YYYYMMDD-NNN ID (read existing issues.jsonl to avoid collisions)
|
|
319
|
-
- Build issue record with full schema (id, title, status, priority, severity, source, description, fix_direction, context, tags, etc.)
|
|
320
|
-
- Severity-to-priority: critical->1, high->2, medium->3, low->4
|
|
321
|
-
- Set source = "discovery", tags = ["{perspective}"]
|
|
322
|
-
- Append all issues to `.workflow/issues/issues.jsonl`
|
|
323
|
-
- Append to `{discoveryDir}/discovery-issues.jsonl`
|
|
324
|
-
- Report: total issues_found (pre-dedup), issues after dedup, severity_distribution
|
|
291
|
+
- Merge all perspective findings from prev_context into single list
|
|
292
|
+
- Deduplicate: group by file path, compare descriptions (>80% overlap or same file:line → keep higher severity)
|
|
293
|
+
- For each unique finding: generate `ISS-YYYYMMDD-NNN` ID (collision-safe), build full issue record
|
|
294
|
+
- Severity-to-priority: critical→1, high→2, medium→3, low→4; source = "discovery", tags = ["{perspective}"]
|
|
295
|
+
- Append to `.workflow/issues/issues.jsonl` and `{discoveryDir}/discovery-issues.jsonl`
|
|
296
|
+
- Report: pre-dedup count, post-dedup count, severity_distribution
|
|
325
297
|
|
|
326
298
|
### Phase 3: Results Aggregation
|
|
327
299
|
|
|
@@ -384,48 +356,16 @@ spawn_agents_on_csv({
|
|
|
384
356
|
{list of ISS-YYYYMMDD-NNN IDs with titles}
|
|
385
357
|
```
|
|
386
358
|
|
|
387
|
-
6. **Display summary**:
|
|
388
|
-
|
|
389
|
-
```
|
|
390
|
-
====================================================
|
|
391
|
-
DISCOVERY COMPLETE: {sessionId}
|
|
392
|
-
Mode: {mode} ({perspective_count} perspectives)
|
|
393
|
-
Findings: {issues_found} raw, {issues_deduplicated} unique
|
|
394
|
-
Issues created: {issues_deduplicated}
|
|
395
|
-
====================================================
|
|
396
|
-
|
|
397
|
-
BREAKDOWN BY PERSPECTIVE:
|
|
398
|
-
Security: {count}
|
|
399
|
-
Performance: {count}
|
|
400
|
-
Reliability: {count}
|
|
401
|
-
Maintainability: {count}
|
|
402
|
-
Scalability: {count}
|
|
403
|
-
UX: {count}
|
|
404
|
-
Accessibility: {count}
|
|
405
|
-
Compliance: {count}
|
|
406
|
-
|
|
407
|
-
BREAKDOWN BY SEVERITY:
|
|
408
|
-
Critical: {count}
|
|
409
|
-
High: {count}
|
|
410
|
-
Medium: {count}
|
|
411
|
-
Low: {count}
|
|
412
|
-
|
|
413
|
-
Files:
|
|
414
|
-
{session_folder}/results.csv
|
|
415
|
-
{session_folder}/context.md
|
|
416
|
-
{discoveryDir}/discovery-state.json
|
|
417
|
-
{discoveryDir}/discovery-issues.jsonl
|
|
418
|
-
.workflow/issues/issues.jsonl (appended)
|
|
419
|
-
```
|
|
359
|
+
6. **Display summary**: Session ID, mode, perspective count, raw vs unique finding counts, per-perspective breakdown, severity breakdown, and output file paths.
|
|
420
360
|
|
|
421
361
|
7. **Next step routing**:
|
|
422
362
|
|
|
423
363
|
| Result | Suggestion |
|
|
424
364
|
|--------|------------|
|
|
425
|
-
| Critical issues found | `$manage-issue "list --severity critical"`
|
|
426
|
-
| Issues created | `$manage-issue "list"`
|
|
427
|
-
| Specific area needs deeper look | `$manage-issue-discover "by-prompt '...'"`
|
|
428
|
-
| Full scan complete | `$manage-issue "list --source discovery"`
|
|
365
|
+
| Critical issues found | `$manage-issue "list --severity critical"` |
|
|
366
|
+
| Issues created | `$manage-issue "list"` |
|
|
367
|
+
| Specific area needs deeper look | `$manage-issue-discover "by-prompt '...'"` |
|
|
368
|
+
| Full scan complete | `$manage-issue "list --source discovery"` |
|
|
429
369
|
|
|
430
370
|
### Shared Discovery Board Protocol
|
|
431
371
|
|
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-
|
|
3
|
-
description: Manage
|
|
4
|
-
argument-hint: "[list|search|view|edit|delete|prune] [query|id|file] [--store workflow|system|all] [--tag tag] [--type
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
<purpose>
|
|
9
|
-
Manage
|
|
10
|
-
</purpose>
|
|
11
|
-
|
|
12
|
-
<context>
|
|
13
|
-
$ARGUMENTS — subcommand followed by options. Defaults to `list` if no arguments.
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
$manage-
|
|
17
|
-
$manage-
|
|
18
|
-
$manage-
|
|
19
|
-
$manage-
|
|
20
|
-
$manage-
|
|
21
|
-
$manage-
|
|
22
|
-
$manage-
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Subcommands**: `list`, `search`, `view`, `edit`, `delete`, `prune`.
|
|
26
|
-
|
|
27
|
-
**Flags**:
|
|
28
|
-
- `--store workflow|system|all` — Target store (default: all)
|
|
29
|
-
- `--tag <tag>` — Filter by tag
|
|
30
|
-
- `--type
|
|
31
|
-
- `--confirm` — Skip delete confirmation prompt
|
|
32
|
-
- `--before <date>` / `--after <date>` — Date filters for prune
|
|
33
|
-
- `--dry-run` — Preview prune without deleting
|
|
34
|
-
</context>
|
|
35
|
-
|
|
36
|
-
<execution>
|
|
37
|
-
|
|
38
|
-
### Step 1: Resolve Store Paths
|
|
39
|
-
|
|
40
|
-
- **Workflow store**: `.workflow/
|
|
41
|
-
- **System store**: `~/.claude/projects/{project}/memory/` (files: `MEMORY.md` + topic `.md` files)
|
|
42
|
-
|
|
43
|
-
Derive system path from project root (replace path separators with `--`, prefix drive letter).
|
|
44
|
-
|
|
45
|
-
### Step 2: Parse Subcommand
|
|
46
|
-
|
|
47
|
-
Default to `list` if no arguments. Parse first token as subcommand.
|
|
48
|
-
|
|
49
|
-
### Step 3: Execute Subcommand
|
|
50
|
-
|
|
51
|
-
**list**: Show entries from both stores (or filtered by `--store`, `--tag`, `--type`).
|
|
52
|
-
- Workflow: use `maestro wiki list --type
|
|
53
|
-
- System: list `.md` files in system memory directory
|
|
54
|
-
|
|
55
|
-
**search `<query>`**: Full-text grep across both stores. Rank by match count.
|
|
56
|
-
|
|
57
|
-
**view `<id|file>`**: Auto-detect store from format (`
|
|
58
|
-
|
|
59
|
-
**edit `<file>`**: Edit a system memory file. Read current content, apply changes. Warn if MEMORY.md exceeds 200 lines (W003).
|
|
60
|
-
|
|
61
|
-
**delete `<id|file>`**: Require confirmation (or `--confirm` flag). MEMORY.md cannot be deleted (E004). Remove entry file (WikiIndexer auto-updates `.workflow/wiki-index.json` on next access).
|
|
62
|
-
|
|
63
|
-
**prune**: Requires at least one filter (`--tag`, `--type`, `--before`, `--after`). Workflow store only. `--dry-run` previews without deleting.
|
|
64
|
-
|
|
65
|
-
### Step 4: Integrity Check
|
|
66
|
-
|
|
67
|
-
After write operations, verify:
|
|
68
|
-
- No orphaned files without index entries (W001)
|
|
69
|
-
- No dangling index references to missing files (W001)
|
|
70
|
-
- System MEMORY.md references valid topic files (W002)
|
|
71
|
-
</execution>
|
|
72
|
-
|
|
73
|
-
<error_codes>
|
|
74
|
-
| Code | Severity | Description |
|
|
75
|
-
|------|----------|-------------|
|
|
76
|
-
| E001 | error | No
|
|
77
|
-
| E002 | error | Entry ID or filename not found |
|
|
78
|
-
| E003 | error | Prune requires at least one filter flag |
|
|
79
|
-
| E004 | error | Cannot delete MEMORY.md
|
|
80
|
-
| W001 | warning | Index has orphaned files or dangling references |
|
|
81
|
-
| W002 | warning | MEMORY.md references non-existent topic file |
|
|
82
|
-
| W003 | warning | MEMORY.md exceeds 200 lines
|
|
83
|
-
</error_codes>
|
|
84
|
-
|
|
85
|
-
<success_criteria>
|
|
86
|
-
- [ ] Store paths resolved correctly for both workflow and system stores
|
|
87
|
-
- [ ] Subcommand parsed and validated (defaults to list)
|
|
88
|
-
- [ ] list: displays entries from selected stores with filtering
|
|
89
|
-
- [ ] search: full-text grep across stores, ranked by match count
|
|
90
|
-
- [ ] view: auto-detects store, displays full content
|
|
91
|
-
- [ ] edit: reads and applies changes to system memory files
|
|
92
|
-
- [ ] delete: requires confirmation, prevents MEMORY.md deletion
|
|
93
|
-
- [ ] prune: requires filter, supports --dry-run, workflow store only
|
|
94
|
-
- [ ] Integrity check after write operations (orphans, dangling refs)
|
|
95
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: manage-knowhow
|
|
3
|
+
description: Manage knowhow entries across workflow and system stores (list, search, view, edit, delete, prune)
|
|
4
|
+
argument-hint: "[list|search|view|edit|delete|prune] [query|id|file] [--store workflow|system|all] [--tag tag] [--type type]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Manage knowhow entries across workflow and system stores. Provides list, search, view, edit, delete, and prune operations over `.workflow/knowhow/` (workflow store) and `~/.claude/projects/{project}/memory/` (system store).
|
|
10
|
+
</purpose>
|
|
11
|
+
|
|
12
|
+
<context>
|
|
13
|
+
$ARGUMENTS — subcommand followed by options. Defaults to `list` if no arguments.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
$manage-knowhow
|
|
17
|
+
$manage-knowhow "list --store workflow"
|
|
18
|
+
$manage-knowhow "search authentication"
|
|
19
|
+
$manage-knowhow "view KNW-20260318-001"
|
|
20
|
+
$manage-knowhow "edit MEMORY.md"
|
|
21
|
+
$manage-knowhow "delete TIP-20260318-001 --confirm"
|
|
22
|
+
$manage-knowhow "prune --before 2026-01-01 --type tip --dry-run"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Subcommands**: `list`, `search`, `view`, `edit`, `delete`, `prune`.
|
|
26
|
+
|
|
27
|
+
**Flags**:
|
|
28
|
+
- `--store workflow|system|all` — Target store (default: all)
|
|
29
|
+
- `--tag <tag>` — Filter by tag
|
|
30
|
+
- `--type <session|tip|template|recipe|reference|decision>` — Filter by knowhow type
|
|
31
|
+
- `--confirm` — Skip delete confirmation prompt
|
|
32
|
+
- `--before <date>` / `--after <date>` — Date filters for prune
|
|
33
|
+
- `--dry-run` — Preview prune without deleting
|
|
34
|
+
</context>
|
|
35
|
+
|
|
36
|
+
<execution>
|
|
37
|
+
|
|
38
|
+
### Step 1: Resolve Store Paths
|
|
39
|
+
|
|
40
|
+
- **Workflow store**: `.workflow/knowhow/` (entries: `KNW-*.md`, `TIP-*.md`, `TPL-*.md`, `RCP-*.md`, `REF-*.md`, `DCS-*.md`, indexed in `.workflow/wiki-index.json`)
|
|
41
|
+
- **System store**: `~/.claude/projects/{project}/memory/` (files: `MEMORY.md` + topic `.md` files)
|
|
42
|
+
|
|
43
|
+
Derive system path from project root (replace path separators with `--`, prefix drive letter).
|
|
44
|
+
|
|
45
|
+
### Step 2: Parse Subcommand
|
|
46
|
+
|
|
47
|
+
Default to `list` if no arguments. Parse first token as subcommand.
|
|
48
|
+
|
|
49
|
+
### Step 3: Execute Subcommand
|
|
50
|
+
|
|
51
|
+
**list**: Show entries from both stores (or filtered by `--store`, `--tag`, `--type`).
|
|
52
|
+
- Workflow: use `maestro wiki list --type knowhow --json` or read `.workflow/wiki-index.json`, display ID, type, category, date, tags, title
|
|
53
|
+
- System: list `.md` files in system memory directory
|
|
54
|
+
|
|
55
|
+
**search `<query>`**: Full-text grep across both stores. Rank by match count.
|
|
56
|
+
|
|
57
|
+
**view `<id|file>`**: Auto-detect store from format (`KNW-*/TIP-*/TPL-*/RCP-*/REF-*/DCS-*` = workflow, else system). Display full content.
|
|
58
|
+
|
|
59
|
+
**edit `<file>`**: Edit a system memory file. Read current content, apply changes. Warn if MEMORY.md exceeds 200 lines (W003).
|
|
60
|
+
|
|
61
|
+
**delete `<id|file>`**: Require confirmation (or `--confirm` flag). MEMORY.md cannot be deleted (E004). Remove entry file (WikiIndexer auto-updates `.workflow/wiki-index.json` on next access).
|
|
62
|
+
|
|
63
|
+
**prune**: Requires at least one filter (`--tag`, `--type`, `--before`, `--after`). Workflow store only. `--dry-run` previews without deleting.
|
|
64
|
+
|
|
65
|
+
### Step 4: Integrity Check
|
|
66
|
+
|
|
67
|
+
After write operations, verify:
|
|
68
|
+
- No orphaned files without index entries (W001)
|
|
69
|
+
- No dangling index references to missing files (W001)
|
|
70
|
+
- System MEMORY.md references valid topic files (W002)
|
|
71
|
+
</execution>
|
|
72
|
+
|
|
73
|
+
<error_codes>
|
|
74
|
+
| Code | Severity | Description |
|
|
75
|
+
|------|----------|-------------|
|
|
76
|
+
| E001 | error | No stores found — run `Skill({ skill: "manage-knowhow-capture" })` or create MEMORY.md |
|
|
77
|
+
| E002 | error | Entry ID or filename not found |
|
|
78
|
+
| E003 | error | Prune requires at least one filter flag |
|
|
79
|
+
| E004 | error | Cannot delete MEMORY.md — use `edit` subcommand instead |
|
|
80
|
+
| W001 | warning | Index has orphaned files or dangling references |
|
|
81
|
+
| W002 | warning | MEMORY.md references non-existent topic file |
|
|
82
|
+
| W003 | warning | MEMORY.md exceeds 200 lines — content truncated at load |
|
|
83
|
+
</error_codes>
|
|
84
|
+
|
|
85
|
+
<success_criteria>
|
|
86
|
+
- [ ] Store paths resolved correctly for both workflow and system stores
|
|
87
|
+
- [ ] Subcommand parsed and validated (defaults to list)
|
|
88
|
+
- [ ] list: displays entries from selected stores with filtering
|
|
89
|
+
- [ ] search: full-text grep across stores, ranked by match count
|
|
90
|
+
- [ ] view: auto-detects store, displays full content
|
|
91
|
+
- [ ] edit: reads and applies changes to system memory files
|
|
92
|
+
- [ ] delete: requires confirmation, prevents MEMORY.md deletion
|
|
93
|
+
- [ ] prune: requires filter, supports --dry-run, workflow store only
|
|
94
|
+
- [ ] Integrity check after write operations (orphans, dangling refs)
|
|
95
|
+
</success_criteria>
|