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.
Files changed (392) hide show
  1. package/.claude/commands/maestro-amend.md +300 -0
  2. package/.claude/commands/maestro-analyze.md +1 -49
  3. package/.claude/commands/maestro-composer.md +354 -0
  4. package/.claude/commands/maestro-execute.md +2 -56
  5. package/.claude/commands/maestro-fork.md +3 -50
  6. package/.claude/commands/maestro-merge.md +2 -26
  7. package/.claude/commands/maestro-milestone-audit.md +1 -5
  8. package/.claude/commands/maestro-milestone-complete.md +1 -7
  9. package/.claude/commands/maestro-plan.md +6 -127
  10. package/.claude/commands/maestro-player.md +404 -0
  11. package/.claude/commands/maestro-roadmap.md +3 -101
  12. package/.claude/commands/maestro-spec-generate.md +1 -25
  13. package/.claude/commands/maestro-ui-design.md +14 -73
  14. package/.claude/commands/maestro-verify.md +1 -32
  15. package/.claude/commands/maestro.md +13 -30
  16. package/.claude/commands/manage-harvest.md +7 -44
  17. package/.claude/commands/manage-knowhow-capture.md +193 -0
  18. package/.claude/commands/{manage-memory.md → manage-knowhow.md} +77 -88
  19. package/.claude/commands/manage-learn.md +3 -28
  20. package/.claude/commands/manage-status.md +1 -20
  21. package/.claude/commands/manage-wiki.md +1 -1
  22. package/.claude/commands/quality-business-test.md +1 -1
  23. package/.claude/commands/quality-debug.md +3 -18
  24. package/.claude/commands/quality-integration-test.md +3 -23
  25. package/.claude/commands/quality-retrospective.md +1 -28
  26. package/.claude/commands/quality-review.md +3 -52
  27. package/.claude/commands/quality-test-gen.md +1 -10
  28. package/.claude/commands/quality-test.md +3 -25
  29. package/.claude/commands/spec-add.md +1 -21
  30. package/.claude/commands/spec-load.md +1 -16
  31. package/.claude/commands/wiki-connect.md +2 -112
  32. package/.claude/commands/wiki-digest.md +2 -141
  33. package/.claude/skills/skill-iter-tune/SKILL.md +382 -0
  34. package/.claude/skills/skill-iter-tune/phases/01-setup.md +144 -0
  35. package/.claude/skills/skill-iter-tune/phases/02-execute.md +292 -0
  36. package/.claude/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
  37. package/.claude/skills/skill-iter-tune/phases/04-improve.md +186 -0
  38. package/.claude/skills/skill-iter-tune/phases/05-report.md +166 -0
  39. package/.claude/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
  40. package/.claude/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
  41. package/.claude/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
  42. package/.claude/skills/workflow-skill-designer/SKILL.md +496 -0
  43. package/.claude/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
  44. package/.claude/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
  45. package/.claude/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
  46. package/.claude/skills/workflow-skill-designer/phases/04-validation.md +471 -0
  47. package/.codex/skills/learn-decompose/SKILL.md +2 -8
  48. package/.codex/skills/maestro/SKILL.md +60 -146
  49. package/.codex/skills/maestro-analyze/SKILL.md +52 -150
  50. package/.codex/skills/maestro-brainstorm/SKILL.md +36 -91
  51. package/.codex/skills/maestro-composer/SKILL.md +213 -0
  52. package/.codex/skills/maestro-execute/SKILL.md +46 -177
  53. package/.codex/skills/maestro-init/SKILL.md +7 -51
  54. package/.codex/skills/maestro-link-coordinate/SKILL.md +56 -229
  55. package/.codex/skills/maestro-milestone-audit/SKILL.md +7 -36
  56. package/.codex/skills/maestro-milestone-complete/SKILL.md +11 -93
  57. package/.codex/skills/maestro-overlay/SKILL.md +23 -92
  58. package/.codex/skills/maestro-plan/SKILL.md +42 -166
  59. package/.codex/skills/maestro-player/SKILL.md +323 -0
  60. package/.codex/skills/maestro-quick/SKILL.md +5 -48
  61. package/.codex/skills/maestro-roadmap/SKILL.md +21 -66
  62. package/.codex/skills/maestro-spec-generate/SKILL.md +20 -56
  63. package/.codex/skills/maestro-ui-design/SKILL.md +6 -53
  64. package/.codex/skills/maestro-verify/SKILL.md +39 -136
  65. package/.codex/skills/manage-codebase-rebuild/SKILL.md +25 -75
  66. package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -32
  67. package/.codex/skills/manage-issue/SKILL.md +1 -6
  68. package/.codex/skills/manage-issue-discover/SKILL.md +33 -93
  69. package/.codex/skills/{manage-memory → manage-knowhow}/SKILL.md +95 -95
  70. package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -0
  71. package/.codex/skills/manage-learn/SKILL.md +17 -71
  72. package/.codex/skills/manage-status/SKILL.md +4 -35
  73. package/.codex/skills/manage-wiki/SKILL.md +1 -1
  74. package/.codex/skills/quality-business-test/SKILL.md +2 -14
  75. package/.codex/skills/quality-debug/SKILL.md +41 -133
  76. package/.codex/skills/quality-integration-test/SKILL.md +36 -145
  77. package/.codex/skills/quality-refactor/SKILL.md +6 -59
  78. package/.codex/skills/quality-retrospective/SKILL.md +292 -531
  79. package/.codex/skills/quality-review/SKILL.md +30 -65
  80. package/.codex/skills/quality-sync/SKILL.md +2 -11
  81. package/.codex/skills/quality-test/SKILL.md +4 -45
  82. package/.codex/skills/quality-test-gen/SKILL.md +33 -121
  83. package/.codex/skills/spec-add/SKILL.md +2 -9
  84. package/.codex/skills/spec-load/SKILL.md +4 -14
  85. package/.codex/skills/spec-map/SKILL.md +4 -37
  86. package/.codex/skills/spec-remove/SKILL.md +3 -35
  87. package/.codex/skills/spec-setup/SKILL.md +2 -19
  88. package/.codex/skills/team-coordinate/SKILL.md +20 -132
  89. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +61 -215
  90. package/.codex/skills/team-executor/SKILL.md +7 -66
  91. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +60 -182
  92. package/.codex/skills/team-executor/specs/session-schema.md +22 -56
  93. package/.codex/skills/team-lifecycle-v4/SKILL.md +22 -143
  94. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +31 -223
  95. package/.codex/skills/team-quality-assurance/SKILL.md +14 -88
  96. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +46 -186
  97. package/.codex/skills/team-review/SKILL.md +12 -86
  98. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +49 -187
  99. package/.codex/skills/team-tech-debt/SKILL.md +11 -50
  100. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +50 -239
  101. package/.codex/skills/team-testing/SKILL.md +14 -99
  102. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +52 -228
  103. package/.codex/skills/wiki-connect/SKILL.md +2 -5
  104. package/README.md +6 -0
  105. package/README.zh-CN.md +6 -0
  106. package/chains/_intent-map.json +7 -7
  107. package/chains/singles/{memory-capture.json → knowhow-capture.json} +5 -5
  108. package/chains/singles/{memory.json → knowhow.json} +6 -6
  109. package/dashboard/dist/assets/{ArtifactsPage-CUrrDGgN.js → ArtifactsPage-iJZtYsmR.js} +6 -6
  110. package/dashboard/dist/assets/ChatInput-DNnDLdQF.js +6 -0
  111. package/dashboard/dist/assets/ChatPage-BjBibfE4.js +22 -0
  112. package/dashboard/dist/assets/{CollabPage-DIUXeazv.js → CollabPage-8lUMUol_.js} +1 -1
  113. package/dashboard/dist/assets/{ExecutionPanel-VmYeADFj.js → ExecutionPanel-BKV3GZ7Q.js} +1 -1
  114. package/dashboard/dist/assets/{KanbanPage-DLq8v7hg.js → KanbanPage-diY3QmGd.js} +2 -2
  115. package/dashboard/dist/assets/{MarkdownRenderer-D7AehrnR.js → MarkdownRenderer-cYFfe1uX.js} +1 -1
  116. package/dashboard/dist/assets/McpPage-COjuIf7U.js +21 -0
  117. package/dashboard/dist/assets/MeetingRoomPage-wnvT7wlB.js +85 -0
  118. package/dashboard/dist/assets/{OutputPanel-B-Rjwgmv.js → OutputPanel-DDL90Idy.js} +1 -1
  119. package/dashboard/dist/assets/{ProblemsPanel-GEpF-oi4.js → ProblemsPanel-zFN9IIs0.js} +1 -1
  120. package/dashboard/dist/assets/{RequirementBoardPage-xs8uDM7I.js → RequirementBoardPage-DOPJoT0I.js} +2 -2
  121. package/dashboard/dist/assets/{RequirementPage-BKDSFwjA.js → RequirementPage-CEVquRgM.js} +1 -1
  122. package/dashboard/dist/assets/RoomsPage-D5USEWDh.js +1 -0
  123. package/dashboard/dist/assets/{SpecsPage-DLFb9ZH0.js → SpecsPage-BOwBin_o.js} +1 -1
  124. package/dashboard/dist/assets/{SupervisorPage-SOki_kgz.js → SupervisorPage-5iRyMU5T.js} +1 -1
  125. package/dashboard/dist/assets/TeamsPage-DlcEmr_Q.js +1 -0
  126. package/dashboard/dist/assets/{TreeBrowser-B9DHdULE.js → TreeBrowser-Y48Wz-QY.js} +1 -1
  127. package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +6 -0
  128. package/dashboard/dist/assets/arrow-left-NCUOENvg.js +6 -0
  129. package/dashboard/dist/assets/{check-DJDk3A2a.js → check-o7nfGNHf.js} +1 -1
  130. package/dashboard/dist/assets/{chevron-right-C7bVDreZ.js → chevron-right-BXySK2fn.js} +1 -1
  131. package/dashboard/dist/assets/{circle-alert-Na1vf6qQ.js → circle-alert-DcSBokh4.js} +1 -1
  132. package/dashboard/dist/assets/{circle-check-CEGgy3NV.js → circle-check-Cd-jce4j.js} +1 -1
  133. package/dashboard/dist/assets/{circle-check-big-3JB8zRYj.js → circle-check-big-BN7Mdp4i.js} +1 -1
  134. package/dashboard/dist/assets/{circle-Qfgy4LB_.js → circle-cooAwnAR.js} +1 -1
  135. package/dashboard/dist/assets/{code-Ble63Idz.js → code-BQa9oL1n.js} +1 -1
  136. package/dashboard/dist/assets/{columns-3-BUcKlxve.js → columns-3-BzgxelGx.js} +1 -1
  137. package/dashboard/dist/assets/{download-CMqkfn8x.js → download-swRJnate.js} +1 -1
  138. package/dashboard/dist/assets/en-C_BD3UCD.js +1 -0
  139. package/dashboard/dist/assets/{folder-B9ewx9LL.js → folder-DbGbLNFN.js} +1 -1
  140. package/dashboard/dist/assets/index-BEUaOz_b.css +1 -0
  141. package/dashboard/dist/assets/{index-JTmGteaT.js → index-DIoMBMbv.js} +1 -1
  142. package/dashboard/dist/assets/index-DLBN_7fb.js +44 -0
  143. package/dashboard/dist/assets/index-uIqUCT8y.js +236 -0
  144. package/dashboard/dist/assets/{list-DI8Wn2aT.js → list-BTRAIvDq.js} +1 -1
  145. package/dashboard/dist/assets/loader-NHtB6Mdn.js +6 -0
  146. package/dashboard/dist/assets/{minus-Lp_BfctG.js → minus-BjMxRTET.js} +1 -1
  147. package/dashboard/dist/assets/{pen-line-Ch7sphzZ.js → pen-line-C4_O16H0.js} +1 -1
  148. package/dashboard/dist/assets/{pencil-_yRMHmGT.js → pencil-DTmKhyDY.js} +1 -1
  149. package/dashboard/dist/assets/{proxy-D72Y8a4Y.js → proxy-Dtx5p6IO.js} +1 -1
  150. package/dashboard/dist/assets/rows-2-GR1dZtRu.js +6 -0
  151. package/dashboard/dist/assets/{search-BS6fI6Bg.js → search-DVtgy2W7.js} +1 -1
  152. package/dashboard/dist/assets/{shallow-BXasQBvr.js → shallow-BOmvDNsv.js} +1 -1
  153. package/dashboard/dist/assets/{table-CeGlFjlP.js → table-DCzuJAFh.js} +1 -1
  154. package/dashboard/dist/assets/team-types-BPeOvVdA.js +6 -0
  155. package/dashboard/dist/assets/{terminal-BJic2yW-.js → terminal-CzogW4cl.js} +1 -1
  156. package/dashboard/dist/assets/{trash-2-Czz4X8Fb.js → trash-2-52LATVfW.js} +1 -1
  157. package/dashboard/dist/assets/users-DLFE2voE.js +6 -0
  158. package/dashboard/dist/assets/{zap-C3H0jVFA.js → zap-DhiYlgyZ.js} +1 -1
  159. package/dashboard/dist/assets/zh-CN-DvQKfow3.js +1 -0
  160. package/dashboard/dist/index.html +2 -2
  161. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +2 -0
  162. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +19 -11
  163. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  164. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -0
  165. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
  166. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +1 -0
  167. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +21 -4
  168. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  169. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +8 -0
  170. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -1
  171. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +6 -6
  172. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  173. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +2 -2
  174. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -1
  175. package/dashboard/dist-server/dashboard/src/server/index.js +14 -3
  176. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  177. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.d.ts +24 -0
  178. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js +220 -0
  179. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js.map +1 -0
  180. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.d.ts +1 -0
  181. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js +115 -0
  182. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js.map +1 -0
  183. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.d.ts +44 -0
  184. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js +260 -0
  185. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js.map +1 -0
  186. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.d.ts +1 -0
  187. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js +194 -0
  188. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js.map +1 -0
  189. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.d.ts +2 -0
  190. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js +279 -0
  191. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js.map +1 -0
  192. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.d.ts +14 -0
  193. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js +131 -0
  194. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js.map +1 -0
  195. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.d.ts +1 -0
  196. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js +134 -0
  197. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js.map +1 -0
  198. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.d.ts +51 -0
  199. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js +185 -0
  200. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js.map +1 -0
  201. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.d.ts +29 -0
  202. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js +125 -0
  203. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js.map +1 -0
  204. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.d.ts +18 -0
  205. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js +63 -0
  206. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js.map +1 -0
  207. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.d.ts +19 -0
  208. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js +45 -0
  209. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js.map +1 -0
  210. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.d.ts +25 -0
  211. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js +115 -0
  212. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js.map +1 -0
  213. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.d.ts +53 -0
  214. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js +5 -0
  215. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js.map +1 -0
  216. package/dashboard/dist-server/dashboard/src/server/routes/agents.js +6 -0
  217. package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -1
  218. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +20 -1
  219. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
  220. package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +2 -1
  221. package/dashboard/dist-server/dashboard/src/server/routes/index.js +8 -1
  222. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  223. package/dashboard/dist-server/dashboard/src/server/routes/install.js +1 -1
  224. package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
  225. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +2 -2
  226. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
  227. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.d.ts +3 -0
  228. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js +246 -0
  229. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js.map +1 -0
  230. package/dashboard/dist-server/dashboard/src/server/routes/rooms.d.ts +3 -0
  231. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js +38 -0
  232. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js.map +1 -0
  233. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +7 -7
  234. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  235. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -1
  236. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  237. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +39 -1
  238. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +12 -0
  239. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  240. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
  241. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  242. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -14
  243. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  244. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +6 -6
  245. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  246. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +1 -1
  247. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +17 -16
  248. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  249. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +1 -1
  250. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +18 -7
  251. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  252. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +3 -1
  253. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +75 -1
  254. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
  255. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.d.ts +17 -0
  256. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js +192 -0
  257. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js.map +1 -0
  258. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.d.ts +13 -0
  259. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js +37 -0
  260. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js.map +1 -0
  261. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +7 -1
  262. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +39 -2
  263. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -1
  264. package/dashboard/dist-server/dashboard/src/shared/constants.js +12 -0
  265. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  266. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.d.ts +1 -0
  267. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js +38 -0
  268. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js.map +1 -0
  269. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +66 -0
  270. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  271. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +24 -3
  272. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +76 -2
  273. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  274. package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
  275. package/dashboard/dist-server/src/commands/delegate.js +11 -8
  276. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  277. package/dist/shared/agent-types.d.ts +2 -0
  278. package/dist/shared/agent-types.d.ts.map +1 -1
  279. package/dist/src/cli.js +2 -2
  280. package/dist/src/cli.js.map +1 -1
  281. package/dist/src/commands/delegate.d.ts.map +1 -1
  282. package/dist/src/commands/delegate.js +11 -8
  283. package/dist/src/commands/delegate.js.map +1 -1
  284. package/dist/src/commands/install-backend.d.ts +1 -1
  285. package/dist/src/commands/install-backend.d.ts.map +1 -1
  286. package/dist/src/commands/install-backend.js +1 -1
  287. package/dist/src/commands/install-backend.js.map +1 -1
  288. package/dist/src/commands/knowhow.d.ts +10 -0
  289. package/dist/src/commands/knowhow.d.ts.map +1 -0
  290. package/dist/src/commands/knowhow.js +217 -0
  291. package/dist/src/commands/knowhow.js.map +1 -0
  292. package/dist/src/commands/overlay-ui/OverlayList.d.ts +2 -0
  293. package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -1
  294. package/dist/src/commands/overlay-ui/OverlayList.js +6 -3
  295. package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -1
  296. package/dist/src/commands/overlay-ui/index.d.ts.map +1 -1
  297. package/dist/src/commands/overlay-ui/index.js +70 -44
  298. package/dist/src/commands/overlay-ui/index.js.map +1 -1
  299. package/dist/src/commands/overlay.d.ts.map +1 -1
  300. package/dist/src/commands/overlay.js +4 -3
  301. package/dist/src/commands/overlay.js.map +1 -1
  302. package/dist/src/core/overlay/applier.d.ts +1 -1
  303. package/dist/src/core/overlay/applier.d.ts.map +1 -1
  304. package/dist/src/core/overlay/applier.js +40 -13
  305. package/dist/src/core/overlay/applier.js.map +1 -1
  306. package/dist/src/core/overlay/loader.d.ts.map +1 -1
  307. package/dist/src/core/overlay/loader.js +6 -0
  308. package/dist/src/core/overlay/loader.js.map +1 -1
  309. package/dist/src/core/overlay/types.d.ts +5 -1
  310. package/dist/src/core/overlay/types.d.ts.map +1 -1
  311. package/dist/src/core/overlay/types.js +1 -1
  312. package/dist/src/core/overlay/types.js.map +1 -1
  313. package/dist/src/hooks/context-monitor.js +1 -1
  314. package/dist/src/hooks/context-monitor.js.map +1 -1
  315. package/dist/src/hooks/skill-context.js +1 -1
  316. package/dist/src/hooks/skill-context.js.map +1 -1
  317. package/dist/src/mcp/delegate-channel-relay.d.ts +4 -0
  318. package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
  319. package/dist/src/mcp/delegate-channel-relay.js +73 -4
  320. package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
  321. package/dist/src/tools/index.js +2 -2
  322. package/dist/src/tools/index.js.map +1 -1
  323. package/dist/src/tools/store-knowhow.d.ts +21 -0
  324. package/dist/src/tools/store-knowhow.d.ts.map +1 -0
  325. package/dist/src/tools/store-knowhow.js +295 -0
  326. package/dist/src/tools/store-knowhow.js.map +1 -0
  327. package/package.json +1 -1
  328. package/shared/agent-types.ts +2 -0
  329. package/templates/workflows/specs/node-catalog.md +170 -0
  330. package/templates/workflows/specs/template-schema.md +157 -0
  331. package/workflows/analyze.md +61 -185
  332. package/workflows/brainstorm.md +3 -23
  333. package/workflows/codebase-rebuild.md +79 -191
  334. package/workflows/codebase-refresh.md +26 -124
  335. package/workflows/debug.md +21 -141
  336. package/workflows/execute.md +183 -350
  337. package/workflows/fork.md +72 -230
  338. package/workflows/harvest.md +12 -79
  339. package/workflows/init.md +3 -17
  340. package/workflows/integration-test.md +21 -190
  341. package/workflows/issue-analyze.md +35 -153
  342. package/workflows/issue-discover.md +88 -263
  343. package/workflows/issue-execute.md +29 -208
  344. package/workflows/issue-plan.md +33 -154
  345. package/workflows/issue.md +44 -202
  346. package/workflows/knowhow.md +374 -0
  347. package/workflows/learn.md +30 -177
  348. package/workflows/maestro-coordinate.codex.md +77 -362
  349. package/workflows/maestro-link-coordinate.md +12 -61
  350. package/workflows/maestro.codex.md +124 -457
  351. package/workflows/maestro.md +562 -976
  352. package/workflows/map.md +16 -53
  353. package/workflows/merge.md +42 -197
  354. package/workflows/milestone-audit.md +5 -43
  355. package/workflows/milestone-complete.md +11 -60
  356. package/workflows/plan.md +176 -387
  357. package/workflows/quick.md +25 -174
  358. package/workflows/refactor.md +28 -221
  359. package/workflows/retrospective.md +104 -443
  360. package/workflows/review.md +87 -299
  361. package/workflows/roadmap.md +117 -97
  362. package/workflows/spec-generate.md +22 -118
  363. package/workflows/specs-add.md +5 -25
  364. package/workflows/specs-load.md +1 -5
  365. package/workflows/specs-remove.md +0 -11
  366. package/workflows/specs-setup.md +11 -47
  367. package/workflows/status.md +58 -200
  368. package/workflows/sync.md +28 -141
  369. package/workflows/test-gen.md +23 -100
  370. package/workflows/test.md +15 -125
  371. package/workflows/ui-design.md +139 -465
  372. package/workflows/ui-style.md +36 -228
  373. package/workflows/verify.md +52 -273
  374. package/workflows/wiki-connect.md +9 -46
  375. package/workflows/wiki-digest.md +7 -50
  376. package/workflows/wiki-manage.md +11 -108
  377. package/.claude/commands/maestro-coordinate.md +0 -63
  378. package/.claude/commands/manage-memory-capture.md +0 -59
  379. package/.codex/skills/maestro-coordinate/SKILL.md +0 -213
  380. package/.codex/skills/manage-memory-capture/SKILL.md +0 -93
  381. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +0 -49
  382. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +0 -27
  383. package/dashboard/dist/assets/McpPage-BY0SjTgw.js +0 -21
  384. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +0 -11
  385. package/dashboard/dist/assets/WorkflowPage-C8hWbYim.js +0 -6
  386. package/dashboard/dist/assets/en-ZbRpfzuP.js +0 -1
  387. package/dashboard/dist/assets/index-C2Mcb4TJ.js +0 -231
  388. package/dashboard/dist/assets/index-DyBbPc18.css +0 -1
  389. package/dashboard/dist/assets/loader-B5F6PzFT.js +0 -11
  390. package/dashboard/dist/assets/zh-CN-CoXBFuny.js +0 -1
  391. package/workflows/maestro-coordinate.md +0 -582
  392. 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
- ```javascript
161
- const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
162
-
163
- // Parse flags
164
- const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
165
- const continueMode = $ARGUMENTS.includes('--continue')
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
- const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
174
- const sessionId = `${dateStr}-rebuild-full`
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 .workflow/ exists**:
187
- - Check `.workflow/state.json` exists
188
- - If not: abort with "Run init first"
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
- 4. **Detect source directories**:
206
- - Check for: `src/`, `lib/`, `app/`, `packages/`
207
- - Read `project.md` Tech Stack section if available for context
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
- 1. Read master `tasks.csv`
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
- 6. Read `wave-1-results.csv`, merge into master `tasks.csv`
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
- 1. Read final master `tasks.csv`
258
- 2. Export as `results.csv`
224
+ Export master `tasks.csv` as `results.csv`.
259
225
 
260
- 3. **Assemble doc-index.json**:
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
- 4. **Validate output files**:
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
- 5. **Update state.json**: Set `codebase.last_rebuild` timestamp.
244
+ **Update state.json**: Set `codebase.last_rebuild` timestamp.
287
245
 
288
- 6. **Generate context.md**:
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
- 7. **Auto-commit** (unless --skip-commit):
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
- 8. **Display completion report**:
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
- 1. **Read** `{session_folder}/discoveries.ndjson` before own analysis
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
- ```bash
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
- Determine baseline timestamp:
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 which documentation entries cover the changed files.
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 documentation entry:
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 for all refreshed entries.
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
- ```bash
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
- const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
167
-
168
- // Parse flags
169
- const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
170
- const continueMode = $ARGUMENTS.includes('--continue')
171
- const concurrencyMatch = $ARGUMENTS.match(/(?:--concurrency|-c)\s+(\d+)/)
172
- const maxConcurrency = concurrencyMatch ? parseInt(concurrencyMatch[1]) : 8
173
-
174
- // Parse mode
175
- const cleanArgs = $ARGUMENTS
176
- .replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+/g, '')
177
- .trim()
178
-
179
- const isByPrompt = cleanArgs.startsWith('by-prompt')
180
- const userPrompt = isByPrompt
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
- type: "object",
267
- properties: {
268
- id: { type: "string" },
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. Read `wave-1-results.csv`, merge into master `tasks.csv`
281
- 7. For each completed perspective, save raw findings to `{discoveryDir}/{perspective}-findings.json`
282
- 8. Update `discovery-state.json`: `perspectives_completed += ["{perspective}"]`
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
- - Load all perspective findings from prev_context
312
- - Merge into single list
313
- - Deduplicate:
314
- - Group findings by affected file path
315
- - Within each file group, compare descriptions
316
- - If two findings describe the same issue (>80% overlap or same file:line), keep higher severity
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"` -- Review critical issues |
426
- | Issues created | `$manage-issue "list"` -- View all issues |
427
- | Specific area needs deeper look | `$manage-issue-discover "by-prompt '...'"` -- Explore deeper |
428
- | Full scan complete | `$manage-issue "list --source discovery"` -- View discovered issues |
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-memory
3
- description: Manage memory 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 compact|tip]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
- ---
7
-
8
- <purpose>
9
- Manage memory entries across workflow and system stores. Provides list, search, view, edit, delete, and prune operations over `.workflow/memory/` (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-memory
17
- $manage-memory "list --store workflow"
18
- $manage-memory "search authentication"
19
- $manage-memory "view MEM-20260318-001"
20
- $manage-memory "edit MEMORY.md"
21
- $manage-memory "delete TIP-20260318-001 --confirm"
22
- $manage-memory "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 compact|tip` — Filter by entry 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/memory/` (entries: `MEM-*.md`, `TIP-*.md`, indexed in unified `.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 memory --json` or read `.workflow/wiki-index.json`, display ID, type, 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 (`MEM-*/TIP-*` = 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 memory stores found -- run `Skill({ skill: "memory-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>
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>