maestro-flow 0.3.15 → 0.3.17

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 (390) hide show
  1. package/.claude/agents/workflow-planner.md +24 -8
  2. package/.claude/commands/maestro-amend.md +300 -0
  3. package/.claude/commands/maestro-analyze.md +1 -49
  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-roadmap.md +3 -101
  11. package/.claude/commands/maestro-spec-generate.md +1 -25
  12. package/.claude/commands/maestro-ui-design.md +14 -73
  13. package/.claude/commands/maestro-verify.md +1 -32
  14. package/.claude/commands/maestro.md +13 -30
  15. package/.claude/commands/manage-harvest.md +7 -44
  16. package/.claude/commands/manage-knowhow-capture.md +193 -0
  17. package/.claude/commands/{manage-memory.md → manage-knowhow.md} +77 -88
  18. package/.claude/commands/manage-learn.md +3 -28
  19. package/.claude/commands/manage-status.md +1 -20
  20. package/.claude/commands/manage-wiki.md +1 -1
  21. package/.claude/commands/quality-business-test.md +1 -1
  22. package/.claude/commands/quality-debug.md +3 -18
  23. package/.claude/commands/quality-integration-test.md +3 -23
  24. package/.claude/commands/quality-retrospective.md +1 -28
  25. package/.claude/commands/quality-review.md +3 -52
  26. package/.claude/commands/quality-test-gen.md +1 -10
  27. package/.claude/commands/quality-test.md +3 -25
  28. package/.claude/commands/spec-add.md +1 -21
  29. package/.claude/commands/spec-load.md +1 -16
  30. package/.claude/commands/wiki-connect.md +2 -112
  31. package/.claude/commands/wiki-digest.md +2 -141
  32. package/.codex/skills/learn-decompose/SKILL.md +2 -8
  33. package/.codex/skills/maestro/SKILL.md +60 -146
  34. package/.codex/skills/maestro-analyze/SKILL.md +52 -150
  35. package/.codex/skills/maestro-brainstorm/SKILL.md +36 -91
  36. package/.codex/skills/maestro-composer/SKILL.md +4 -76
  37. package/.codex/skills/maestro-execute/SKILL.md +46 -177
  38. package/.codex/skills/maestro-init/SKILL.md +7 -51
  39. package/.codex/skills/maestro-link-coordinate/SKILL.md +56 -229
  40. package/.codex/skills/maestro-milestone-audit/SKILL.md +7 -36
  41. package/.codex/skills/maestro-milestone-complete/SKILL.md +11 -93
  42. package/.codex/skills/maestro-overlay/SKILL.md +23 -92
  43. package/.codex/skills/maestro-plan/SKILL.md +70 -166
  44. package/.codex/skills/maestro-player/SKILL.md +24 -149
  45. package/.codex/skills/maestro-quick/SKILL.md +5 -48
  46. package/.codex/skills/maestro-roadmap/SKILL.md +21 -66
  47. package/.codex/skills/maestro-spec-generate/SKILL.md +20 -56
  48. package/.codex/skills/maestro-ui-design/SKILL.md +6 -53
  49. package/.codex/skills/maestro-verify/SKILL.md +39 -136
  50. package/.codex/skills/manage-codebase-rebuild/SKILL.md +25 -75
  51. package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -32
  52. package/.codex/skills/manage-issue/SKILL.md +1 -6
  53. package/.codex/skills/manage-issue-discover/SKILL.md +33 -93
  54. package/.codex/skills/{manage-memory → manage-knowhow}/SKILL.md +95 -95
  55. package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -0
  56. package/.codex/skills/manage-learn/SKILL.md +17 -71
  57. package/.codex/skills/manage-status/SKILL.md +4 -35
  58. package/.codex/skills/manage-wiki/SKILL.md +1 -1
  59. package/.codex/skills/quality-business-test/SKILL.md +2 -14
  60. package/.codex/skills/quality-debug/SKILL.md +41 -133
  61. package/.codex/skills/quality-integration-test/SKILL.md +36 -145
  62. package/.codex/skills/quality-refactor/SKILL.md +6 -59
  63. package/.codex/skills/quality-retrospective/SKILL.md +292 -531
  64. package/.codex/skills/quality-review/SKILL.md +30 -65
  65. package/.codex/skills/quality-sync/SKILL.md +2 -11
  66. package/.codex/skills/quality-test/SKILL.md +4 -45
  67. package/.codex/skills/quality-test-gen/SKILL.md +33 -121
  68. package/.codex/skills/spec-add/SKILL.md +2 -9
  69. package/.codex/skills/spec-load/SKILL.md +4 -14
  70. package/.codex/skills/spec-map/SKILL.md +4 -37
  71. package/.codex/skills/spec-remove/SKILL.md +3 -35
  72. package/.codex/skills/spec-setup/SKILL.md +2 -19
  73. package/.codex/skills/team-coordinate/SKILL.md +20 -132
  74. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +61 -215
  75. package/.codex/skills/team-executor/SKILL.md +7 -66
  76. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +60 -182
  77. package/.codex/skills/team-executor/specs/session-schema.md +22 -56
  78. package/.codex/skills/team-lifecycle-v4/SKILL.md +22 -143
  79. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +31 -223
  80. package/.codex/skills/team-quality-assurance/SKILL.md +14 -88
  81. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +46 -186
  82. package/.codex/skills/team-review/SKILL.md +12 -86
  83. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +49 -187
  84. package/.codex/skills/team-tech-debt/SKILL.md +11 -50
  85. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +50 -239
  86. package/.codex/skills/team-testing/SKILL.md +14 -99
  87. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +52 -228
  88. package/.codex/skills/wiki-connect/SKILL.md +2 -5
  89. package/README.md +6 -0
  90. package/README.zh-CN.md +6 -0
  91. package/chains/_intent-map.json +7 -7
  92. package/chains/singles/{memory-capture.json → knowhow-capture.json} +5 -5
  93. package/chains/singles/{memory.json → knowhow.json} +6 -6
  94. package/dashboard/dist/assets/{ArtifactsPage-CUrrDGgN.js → ArtifactsPage-iJZtYsmR.js} +6 -6
  95. package/dashboard/dist/assets/ChatInput-DNnDLdQF.js +6 -0
  96. package/dashboard/dist/assets/ChatPage-BjBibfE4.js +22 -0
  97. package/dashboard/dist/assets/{CollabPage-DIUXeazv.js → CollabPage-8lUMUol_.js} +1 -1
  98. package/dashboard/dist/assets/{ExecutionPanel-VmYeADFj.js → ExecutionPanel-BKV3GZ7Q.js} +1 -1
  99. package/dashboard/dist/assets/{KanbanPage-DLq8v7hg.js → KanbanPage-diY3QmGd.js} +2 -2
  100. package/dashboard/dist/assets/{MarkdownRenderer-D7AehrnR.js → MarkdownRenderer-cYFfe1uX.js} +1 -1
  101. package/dashboard/dist/assets/McpPage-COjuIf7U.js +21 -0
  102. package/dashboard/dist/assets/MeetingRoomPage-wnvT7wlB.js +85 -0
  103. package/dashboard/dist/assets/{OutputPanel-B-Rjwgmv.js → OutputPanel-DDL90Idy.js} +1 -1
  104. package/dashboard/dist/assets/{ProblemsPanel-GEpF-oi4.js → ProblemsPanel-zFN9IIs0.js} +1 -1
  105. package/dashboard/dist/assets/{RequirementBoardPage-xs8uDM7I.js → RequirementBoardPage-DOPJoT0I.js} +2 -2
  106. package/dashboard/dist/assets/{RequirementPage-BKDSFwjA.js → RequirementPage-CEVquRgM.js} +1 -1
  107. package/dashboard/dist/assets/RoomsPage-D5USEWDh.js +1 -0
  108. package/dashboard/dist/assets/{SpecsPage-DLFb9ZH0.js → SpecsPage-BOwBin_o.js} +1 -1
  109. package/dashboard/dist/assets/{SupervisorPage-SOki_kgz.js → SupervisorPage-5iRyMU5T.js} +1 -1
  110. package/dashboard/dist/assets/TeamsPage-DlcEmr_Q.js +1 -0
  111. package/dashboard/dist/assets/{TreeBrowser-B9DHdULE.js → TreeBrowser-Y48Wz-QY.js} +1 -1
  112. package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +6 -0
  113. package/dashboard/dist/assets/arrow-left-NCUOENvg.js +6 -0
  114. package/dashboard/dist/assets/{check-DJDk3A2a.js → check-o7nfGNHf.js} +1 -1
  115. package/dashboard/dist/assets/{chevron-right-C7bVDreZ.js → chevron-right-BXySK2fn.js} +1 -1
  116. package/dashboard/dist/assets/{circle-alert-Na1vf6qQ.js → circle-alert-DcSBokh4.js} +1 -1
  117. package/dashboard/dist/assets/{circle-check-CEGgy3NV.js → circle-check-Cd-jce4j.js} +1 -1
  118. package/dashboard/dist/assets/{circle-check-big-3JB8zRYj.js → circle-check-big-BN7Mdp4i.js} +1 -1
  119. package/dashboard/dist/assets/{circle-Qfgy4LB_.js → circle-cooAwnAR.js} +1 -1
  120. package/dashboard/dist/assets/{code-Ble63Idz.js → code-BQa9oL1n.js} +1 -1
  121. package/dashboard/dist/assets/{columns-3-BUcKlxve.js → columns-3-BzgxelGx.js} +1 -1
  122. package/dashboard/dist/assets/{download-CMqkfn8x.js → download-swRJnate.js} +1 -1
  123. package/dashboard/dist/assets/en-C_BD3UCD.js +1 -0
  124. package/dashboard/dist/assets/{folder-B9ewx9LL.js → folder-DbGbLNFN.js} +1 -1
  125. package/dashboard/dist/assets/index-BEUaOz_b.css +1 -0
  126. package/dashboard/dist/assets/{index-JTmGteaT.js → index-DIoMBMbv.js} +1 -1
  127. package/dashboard/dist/assets/index-DLBN_7fb.js +44 -0
  128. package/dashboard/dist/assets/index-uIqUCT8y.js +236 -0
  129. package/dashboard/dist/assets/{list-DI8Wn2aT.js → list-BTRAIvDq.js} +1 -1
  130. package/dashboard/dist/assets/loader-NHtB6Mdn.js +6 -0
  131. package/dashboard/dist/assets/{minus-Lp_BfctG.js → minus-BjMxRTET.js} +1 -1
  132. package/dashboard/dist/assets/{pen-line-Ch7sphzZ.js → pen-line-C4_O16H0.js} +1 -1
  133. package/dashboard/dist/assets/{pencil-_yRMHmGT.js → pencil-DTmKhyDY.js} +1 -1
  134. package/dashboard/dist/assets/{proxy-D72Y8a4Y.js → proxy-Dtx5p6IO.js} +1 -1
  135. package/dashboard/dist/assets/rows-2-GR1dZtRu.js +6 -0
  136. package/dashboard/dist/assets/{search-BS6fI6Bg.js → search-DVtgy2W7.js} +1 -1
  137. package/dashboard/dist/assets/{shallow-BXasQBvr.js → shallow-BOmvDNsv.js} +1 -1
  138. package/dashboard/dist/assets/{table-CeGlFjlP.js → table-DCzuJAFh.js} +1 -1
  139. package/dashboard/dist/assets/team-types-BPeOvVdA.js +6 -0
  140. package/dashboard/dist/assets/{terminal-BJic2yW-.js → terminal-CzogW4cl.js} +1 -1
  141. package/dashboard/dist/assets/{trash-2-Czz4X8Fb.js → trash-2-52LATVfW.js} +1 -1
  142. package/dashboard/dist/assets/users-DLFE2voE.js +6 -0
  143. package/dashboard/dist/assets/{zap-C3H0jVFA.js → zap-DhiYlgyZ.js} +1 -1
  144. package/dashboard/dist/assets/zh-CN-DvQKfow3.js +1 -0
  145. package/dashboard/dist/index.html +2 -2
  146. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +2 -0
  147. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +19 -11
  148. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -0
  150. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
  151. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +1 -0
  152. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +21 -4
  153. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +8 -0
  155. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -1
  156. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +6 -6
  157. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  158. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +2 -2
  159. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -1
  160. package/dashboard/dist-server/dashboard/src/server/index.js +14 -3
  161. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  162. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.d.ts +24 -0
  163. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js +220 -0
  164. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js.map +1 -0
  165. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.d.ts +1 -0
  166. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js +115 -0
  167. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js.map +1 -0
  168. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.d.ts +44 -0
  169. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js +260 -0
  170. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js.map +1 -0
  171. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.d.ts +1 -0
  172. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js +194 -0
  173. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js.map +1 -0
  174. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.d.ts +2 -0
  175. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js +279 -0
  176. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js.map +1 -0
  177. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.d.ts +14 -0
  178. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js +131 -0
  179. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js.map +1 -0
  180. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.d.ts +1 -0
  181. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js +134 -0
  182. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js.map +1 -0
  183. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.d.ts +51 -0
  184. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js +185 -0
  185. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js.map +1 -0
  186. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.d.ts +29 -0
  187. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js +125 -0
  188. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js.map +1 -0
  189. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.d.ts +18 -0
  190. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js +63 -0
  191. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js.map +1 -0
  192. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.d.ts +19 -0
  193. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js +45 -0
  194. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js.map +1 -0
  195. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.d.ts +25 -0
  196. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js +115 -0
  197. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js.map +1 -0
  198. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.d.ts +53 -0
  199. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js +5 -0
  200. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js.map +1 -0
  201. package/dashboard/dist-server/dashboard/src/server/routes/agents.js +6 -0
  202. package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -1
  203. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +20 -1
  204. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
  205. package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +2 -1
  206. package/dashboard/dist-server/dashboard/src/server/routes/index.js +8 -1
  207. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  208. package/dashboard/dist-server/dashboard/src/server/routes/install.js +1 -1
  209. package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
  210. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +2 -2
  211. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
  212. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.d.ts +3 -0
  213. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js +246 -0
  214. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js.map +1 -0
  215. package/dashboard/dist-server/dashboard/src/server/routes/rooms.d.ts +3 -0
  216. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js +38 -0
  217. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js.map +1 -0
  218. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +7 -7
  219. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  220. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -1
  221. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  222. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +39 -1
  223. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +12 -0
  224. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  225. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
  226. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  227. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -14
  228. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  229. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +6 -6
  230. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  231. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +1 -1
  232. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +17 -16
  233. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  234. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +1 -1
  235. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +18 -7
  236. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  237. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +3 -1
  238. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +75 -1
  239. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
  240. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.d.ts +17 -0
  241. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js +192 -0
  242. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js.map +1 -0
  243. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.d.ts +13 -0
  244. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js +37 -0
  245. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js.map +1 -0
  246. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +7 -1
  247. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +39 -2
  248. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -1
  249. package/dashboard/dist-server/dashboard/src/shared/constants.js +12 -0
  250. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  251. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.d.ts +1 -0
  252. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js +38 -0
  253. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js.map +1 -0
  254. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +66 -0
  255. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  256. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +24 -3
  257. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +76 -2
  258. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  259. package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
  260. package/dashboard/dist-server/src/commands/delegate.js +11 -8
  261. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  262. package/dist/shared/agent-types.d.ts +2 -0
  263. package/dist/shared/agent-types.d.ts.map +1 -1
  264. package/dist/src/cli.js +2 -2
  265. package/dist/src/cli.js.map +1 -1
  266. package/dist/src/commands/delegate.d.ts.map +1 -1
  267. package/dist/src/commands/delegate.js +11 -8
  268. package/dist/src/commands/delegate.js.map +1 -1
  269. package/dist/src/commands/install-backend.d.ts +1 -1
  270. package/dist/src/commands/install-backend.d.ts.map +1 -1
  271. package/dist/src/commands/install-backend.js +1 -1
  272. package/dist/src/commands/install-backend.js.map +1 -1
  273. package/dist/src/commands/install-ui/ExecutionView.d.ts.map +1 -1
  274. package/dist/src/commands/install-ui/ExecutionView.js +4 -1
  275. package/dist/src/commands/install-ui/ExecutionView.js.map +1 -1
  276. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  277. package/dist/src/commands/install-ui/InstallExecution.js +4 -1
  278. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  279. package/dist/src/commands/install.js +5 -5
  280. package/dist/src/commands/install.js.map +1 -1
  281. package/dist/src/commands/knowhow.d.ts +10 -0
  282. package/dist/src/commands/knowhow.d.ts.map +1 -0
  283. package/dist/src/commands/knowhow.js +217 -0
  284. package/dist/src/commands/knowhow.js.map +1 -0
  285. package/dist/src/commands/overlay-ui/OverlayList.d.ts +2 -0
  286. package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -1
  287. package/dist/src/commands/overlay-ui/OverlayList.js +6 -3
  288. package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -1
  289. package/dist/src/commands/overlay-ui/index.d.ts.map +1 -1
  290. package/dist/src/commands/overlay-ui/index.js +70 -44
  291. package/dist/src/commands/overlay-ui/index.js.map +1 -1
  292. package/dist/src/commands/overlay.d.ts.map +1 -1
  293. package/dist/src/commands/overlay.js +4 -3
  294. package/dist/src/commands/overlay.js.map +1 -1
  295. package/dist/src/commands/update.d.ts.map +1 -1
  296. package/dist/src/commands/update.js +31 -21
  297. package/dist/src/commands/update.js.map +1 -1
  298. package/dist/src/core/manifest.d.ts +8 -1
  299. package/dist/src/core/manifest.d.ts.map +1 -1
  300. package/dist/src/core/manifest.js +3 -1
  301. package/dist/src/core/manifest.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/workflows/analyze.md +61 -185
  330. package/workflows/brainstorm.md +3 -23
  331. package/workflows/codebase-rebuild.md +79 -191
  332. package/workflows/codebase-refresh.md +26 -124
  333. package/workflows/debug.md +21 -141
  334. package/workflows/execute.md +183 -350
  335. package/workflows/fork.md +72 -230
  336. package/workflows/harvest.md +12 -79
  337. package/workflows/init.md +3 -17
  338. package/workflows/integration-test.md +21 -190
  339. package/workflows/issue-analyze.md +35 -153
  340. package/workflows/issue-discover.md +88 -263
  341. package/workflows/issue-execute.md +29 -208
  342. package/workflows/issue-plan.md +33 -154
  343. package/workflows/issue.md +44 -202
  344. package/workflows/knowhow.md +374 -0
  345. package/workflows/learn.md +30 -177
  346. package/workflows/maestro-coordinate.codex.md +77 -362
  347. package/workflows/maestro-link-coordinate.md +12 -61
  348. package/workflows/maestro.codex.md +124 -457
  349. package/workflows/maestro.md +562 -976
  350. package/workflows/map.md +16 -53
  351. package/workflows/merge.md +42 -197
  352. package/workflows/milestone-audit.md +5 -43
  353. package/workflows/milestone-complete.md +11 -60
  354. package/workflows/plan.md +188 -387
  355. package/workflows/quick.md +25 -174
  356. package/workflows/refactor.md +28 -221
  357. package/workflows/retrospective.md +104 -443
  358. package/workflows/review.md +87 -299
  359. package/workflows/roadmap.md +117 -97
  360. package/workflows/spec-generate.md +22 -118
  361. package/workflows/specs-add.md +5 -25
  362. package/workflows/specs-load.md +1 -5
  363. package/workflows/specs-remove.md +0 -11
  364. package/workflows/specs-setup.md +11 -47
  365. package/workflows/status.md +58 -200
  366. package/workflows/sync.md +28 -141
  367. package/workflows/test-gen.md +23 -100
  368. package/workflows/test.md +15 -125
  369. package/workflows/ui-design.md +139 -465
  370. package/workflows/ui-style.md +36 -228
  371. package/workflows/verify.md +52 -273
  372. package/workflows/wiki-connect.md +9 -46
  373. package/workflows/wiki-digest.md +7 -50
  374. package/workflows/wiki-manage.md +11 -108
  375. package/.claude/commands/maestro-coordinate.md +0 -63
  376. package/.claude/commands/manage-memory-capture.md +0 -59
  377. package/.codex/skills/maestro-coordinate/SKILL.md +0 -213
  378. package/.codex/skills/manage-memory-capture/SKILL.md +0 -93
  379. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +0 -49
  380. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +0 -27
  381. package/dashboard/dist/assets/McpPage-BY0SjTgw.js +0 -21
  382. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +0 -11
  383. package/dashboard/dist/assets/WorkflowPage-C8hWbYim.js +0 -6
  384. package/dashboard/dist/assets/en-ZbRpfzuP.js +0 -1
  385. package/dashboard/dist/assets/index-C2Mcb4TJ.js +0 -231
  386. package/dashboard/dist/assets/index-DyBbPc18.css +0 -1
  387. package/dashboard/dist/assets/loader-B5F6PzFT.js +0 -11
  388. package/dashboard/dist/assets/zh-CN-CoXBFuny.js +0 -1
  389. package/workflows/maestro-coordinate.md +0 -582
  390. package/workflows/memory.md +0 -451
@@ -163,31 +163,22 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column.
163
163
 
164
164
  ### Session Initialization
165
165
 
166
- ```javascript
167
- const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
168
-
169
- // Parse flags
170
- const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
171
- const continueMode = $ARGUMENTS.includes('--continue')
172
- const concurrencyMatch = $ARGUMENTS.match(/(?:--concurrency|-c)\s+(\d+)/)
173
- const maxConcurrency = concurrencyMatch ? parseInt(concurrencyMatch[1]) : 6
174
-
175
- // Parse brainstorm-specific flags
176
- const countMatch = $ARGUMENTS.match(/--count\s+(\d+)/)
177
- const roleCount = countMatch ? Math.min(parseInt(countMatch[1]), 9) : 3
178
- const skipQuestions = $ARGUMENTS.includes('--skip-questions')
179
-
180
- // Clean topic text
181
- const topicArg = $ARGUMENTS
182
- .replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+|--count\s+\d+|--skip-questions/g, '')
183
- .trim()
184
-
185
- const slug = topicArg.toLowerCase().replace(/[^a-z0-9]+/g, '-').substring(0, 40)
186
- const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
187
- const sessionId = `${dateStr}-brainstorm-${slug}`
188
- const sessionFolder = `.workflow/.csv-wave/${sessionId}`
189
-
190
- Bash(`mkdir -p ${sessionFolder}/.brainstorming`)
166
+ ```
167
+ Parse from $ARGUMENTS:
168
+ AUTO_YES ← --yes | -y
169
+ continueMode ← --continue
170
+ maxConcurrency --concurrency | -c N (default: 6)
171
+ roleCount ← --count N (default: 3, max: 9)
172
+ skipQuestions ← --skip-questions
173
+ topicArg ← remaining text after flag removal
174
+
175
+ Derive:
176
+ slug ← topicArg kebab-cased, max 40 chars
177
+ dateStr ← UTC+8 YYYYMMDD
178
+ sessionId ← "{dateStr}-brainstorm-{slug}"
179
+ sessionFolder ← ".workflow/.csv-wave/{sessionId}"
180
+
181
+ mkdir -p {sessionFolder}/.brainstorming
191
182
  ```
192
183
 
193
184
  ### Phase 1: Topic Resolution -> CSV
@@ -231,37 +222,22 @@ Bash(`mkdir -p ${sessionFolder}/.brainstorming`)
231
222
 
232
223
  #### Wave 1: Guidance Specification (Single Agent)
233
224
 
234
- 1. Read master `tasks.csv`
235
- 2. Filter rows where `wave == 1` AND `status == pending`
236
- 3. No prev_context needed (wave 1 has no predecessors)
237
- 4. Write `wave-1.csv`
238
- 5. Execute:
225
+ 1. Extract wave 1 pending rows from master `tasks.csv` into `wave-1.csv` (no prev_context needed)
226
+ 2. Execute:
239
227
 
240
228
  ```javascript
241
229
  spawn_agents_on_csv({
242
230
  csv_path: `${sessionFolder}/wave-1.csv`,
243
231
  id_column: "id",
244
232
  instruction: buildGuidanceInstruction(sessionFolder, topicArg),
245
- max_concurrency: 1,
246
- max_runtime_seconds: 600,
233
+ max_concurrency: 1, max_runtime_seconds: 600,
247
234
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
248
- output_schema: {
249
- type: "object",
250
- properties: {
251
- id: { type: "string" },
252
- status: { type: "string", enum: ["completed", "failed"] },
253
- findings: { type: "string" },
254
- analysis_file: { type: "string" },
255
- error: { type: "string" }
256
- },
257
- required: ["id", "status", "findings"]
258
- }
235
+ output_schema: { id, status: [completed|failed], findings, analysis_file, error }
259
236
  })
260
237
  ```
261
238
 
262
- 6. Read `wave-1-results.csv`, merge into master `tasks.csv`
263
- 7. Delete `wave-1.csv`
264
- 8. Read generated `guidance-specification.md` for wave 2 context propagation
239
+ 3. Merge results into master `tasks.csv`, delete `wave-1.csv`
240
+ 4. Read generated `guidance-specification.md` for wave 2 context propagation
265
241
 
266
242
  **Guidance agent responsibilities**:
267
243
  - Analyze topic, extract 5-10 core domain terms
@@ -272,40 +248,23 @@ spawn_agents_on_csv({
272
248
 
273
249
  #### Wave 2: Role Analysis (Parallel, 3-9 Agents)
274
250
 
275
- 1. Read master `tasks.csv`
276
- 2. Filter rows where `wave == 2` AND `status == pending`
277
- 3. Build `prev_context` from wave 1 findings:
278
- ```
279
- [Task 1: Guidance Specification] Generated guidance-specification.md with N features, M terms defined...
280
- ```
281
- 4. Include `guidance-specification.md` content in prev_context for each role agent
282
- 5. Write `wave-2.csv` with `prev_context` column
283
- 6. Execute:
251
+ 1. Extract wave 2 pending rows from master `tasks.csv`
252
+ 2. Build `prev_context` from wave 1 findings + `guidance-specification.md` content
253
+ 3. Write `wave-2.csv` with `prev_context` column
254
+ 4. Execute:
284
255
 
285
256
  ```javascript
286
257
  spawn_agents_on_csv({
287
258
  csv_path: `${sessionFolder}/wave-2.csv`,
288
259
  id_column: "id",
289
260
  instruction: buildRoleAnalysisInstruction(sessionFolder),
290
- max_concurrency: maxConcurrency,
291
- max_runtime_seconds: 900,
261
+ max_concurrency: maxConcurrency, max_runtime_seconds: 900,
292
262
  output_csv_path: `${sessionFolder}/wave-2-results.csv`,
293
- output_schema: {
294
- type: "object",
295
- properties: {
296
- id: { type: "string" },
297
- status: { type: "string", enum: ["completed", "failed"] },
298
- findings: { type: "string" },
299
- analysis_file: { type: "string" },
300
- error: { type: "string" }
301
- },
302
- required: ["id", "status", "findings"]
303
- }
263
+ output_schema: { id, status: [completed|failed], findings, analysis_file, error }
304
264
  })
305
265
  ```
306
266
 
307
- 7. Read `wave-2-results.csv`, merge into master `tasks.csv`
308
- 8. Delete `wave-2.csv`
267
+ 5. Merge results into master `tasks.csv`, delete `wave-2.csv`
309
268
 
310
269
  **Role agent responsibilities**:
311
270
  - Read guidance-specification.md for framework context
@@ -321,19 +280,10 @@ spawn_agents_on_csv({
321
280
 
322
281
  #### Wave 3: Synthesis + Feature Index (Single Agent)
323
282
 
324
- 1. Read master `tasks.csv`
325
- 2. Filter rows where `wave == 3` AND `status == pending`
326
- 3. Check deps -- if all wave 2 tasks failed, skip synthesis
327
- 4. Build `prev_context` from wave 2 findings:
328
- ```
329
- [Task 2: System Architect Analysis] Key findings: microservice architecture with event sourcing...
330
- [Task 3: UI Designer Analysis] Key findings: component-based design system with real-time cursors...
331
- [Task 4: Product Manager Analysis] Key findings: MVP focuses on document editing + presence...
332
- ```
333
- 5. Write `wave-3.csv` with `prev_context` column
334
- 6. Execute `spawn_agents_on_csv` for synthesis agent
335
- 7. Merge results into master `tasks.csv`
336
- 8. Delete `wave-3.csv`
283
+ 1. If all wave 2 tasks failed, skip synthesis entirely
284
+ 2. Extract wave 3 pending rows, build `prev_context` from wave 2 findings
285
+ 3. Write `wave-3.csv`, execute `spawn_agents_on_csv` for synthesis agent (same output_schema pattern)
286
+ 4. Merge results into master `tasks.csv`, delete `wave-3.csv`
337
287
 
338
288
  **Synthesis agent responsibilities**:
339
289
  - Cross-role analysis: consensus, conflicts, unique contributions
@@ -347,9 +297,8 @@ spawn_agents_on_csv({
347
297
 
348
298
  **Objective**: Generate final results and human-readable report.
349
299
 
350
- 1. Read final master `tasks.csv`
351
- 2. Export as `results.csv`
352
- 3. Generate `context.md`:
300
+ 1. Export final `tasks.csv` as `results.csv`
301
+ 2. Generate `context.md`:
353
302
 
354
303
  ```markdown
355
304
  # Brainstorm Report -- {topic}
@@ -411,11 +360,7 @@ spawn_agents_on_csv({
411
360
 
412
361
  #### Protocol
413
362
 
414
- 1. **Read** `{session_folder}/discoveries.ndjson` before own analysis
415
- 2. **Skip covered**: If discovery of same type + dedup key exists, skip
416
- 3. **Write immediately**: Append findings as found
417
- 4. **Append-only**: Never modify or delete
418
- 5. **Deduplicate**: Check before writing
363
+ Read `discoveries.ndjson` before analysis. Append-only: dedup by type+key before writing, never modify/delete.
419
364
 
420
365
  ```bash
421
366
  echo '{"ts":"<ISO>","worker":"{id}","type":"terminology","data":{"term":"CRDT","definition":"Conflict-free Replicated Data Type","aliases":["conflict-free"],"category":"technical"}}' >> {session_folder}/discoveries.ndjson
@@ -99,26 +99,7 @@ Example: 'analyze the code, then plan, implement, and test the feature'"
99
99
 
100
100
  **Step 1.6** — Write `intent.json` to `.workflow/templates/design-drafts/WFD-<slug>-<date>/`.
101
101
 
102
- **Step 1.7 — Interactive confirmation**:
103
- ```
104
- ============================================================
105
- COMPOSER — Intent Parsed
106
- ============================================================
107
- Description: "<original input>"
108
- Task type: <type>
109
- Complexity: <level>
110
-
111
- Detected steps:
112
- 1. <description> → <type_hint>
113
- 2. <description> → <type_hint>
114
- 3. <description> → <type_hint>
115
-
116
- Variables:
117
- - goal (required): <inferred description>
118
- ============================================================
119
- ```
120
-
121
- AskUserQuestion: `Looks good, continue to resolution` / `Edit steps` / `Add a step` / `Cancel`
102
+ **Step 1.7 — Interactive confirmation**: Display description, task type, complexity, detected steps (numbered with type_hint), and variables. AskUserQuestion: `Continue to resolution` / `Edit steps` / `Add a step` / `Cancel`
122
103
 
123
104
  ---
124
105
 
@@ -153,20 +134,7 @@ If spec not found, use built-in fallback:
153
134
 
154
135
  **Step 2.4** — Write `nodes.json`.
155
136
 
156
- **Step 2.5 — Interactive confirmation**:
157
- ```
158
- ============================================================
159
- COMPOSER — Nodes Resolved
160
- ============================================================
161
- N-001 [skill] maestro-plan "{goal}"
162
- N-002 [skill] maestro-execute {phase}
163
- N-003 [skill] quality-test {phase}
164
-
165
- Parallel groups: none
166
- ============================================================
167
- ```
168
-
169
- AskUserQuestion: `Continue to checkpoint injection` / `Change executor` / `Change node type` / `Back to intent` / `Cancel`
137
+ **Step 2.5 — Interactive confirmation**: Display resolved nodes table (ID, type, executor, args) and parallel groups. AskUserQuestion: `Continue to checkpoint injection` / `Change executor` / `Change node type` / `Back to intent` / `Cancel`
170
138
 
171
139
  ---
172
140
 
@@ -195,28 +163,7 @@ Set `auto_continue: false` for checkpoints before user-facing deliverables.
195
163
 
196
164
  ### Phase 4: Confirm — Visualize + User Approval
197
165
 
198
- **Step 4.1** — Render ASCII pipeline:
199
- ```
200
- ============================================================
201
- COMPOSER — Pipeline Review
202
- ============================================================
203
- Pipeline: <template-name>
204
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
205
- N-001 [skill] maestro-plan "{goal}"
206
- |
207
- CP-01 [checkpoint] After Plan auto-continue
208
- |
209
- N-002 [skill] maestro-execute {phase}
210
- |
211
- CP-02 [checkpoint] Before Tests pause-for-user
212
- |
213
- N-003 [skill] quality-test {phase}
214
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
215
- Variables (required): goal
216
- Checkpoints: 2 (1 auto, 1 pause)
217
- Nodes: 3 work + 2 checkpoints
218
- ============================================================
219
- ```
166
+ **Step 4.1** — Render ASCII pipeline: vertical node chain with `|` connectors showing each node (ID, type, executor, args) and checkpoint nodes (auto-continue vs pause-for-user). Footer: required variables, checkpoint counts, node counts.
220
167
 
221
168
  **Step 4.2** — AskUserQuestion: `Confirm & Save` / `Edit a node` / `Add a node` / `Remove a node` / `Rename template` / `Re-run checkpoint injection` / `Cancel`
222
169
 
@@ -236,26 +183,7 @@ Nodes: 3 work + 2 checkpoints
236
183
 
237
184
  **Step 5.4** — Update `~/.maestro/templates/workflows/index.json`.
238
185
 
239
- **Step 5.5** — Output summary:
240
- ```
241
- ============================================================
242
- COMPOSER — Template Saved
243
- ============================================================
244
- Path: ~/.maestro/templates/workflows/<slug>.json
245
- ID: wft-<slug>-<date>
246
- Nodes: <n> work + <n> checkpoints
247
- Variables: <required vars>
248
-
249
- To execute:
250
- $maestro-player <slug> --context goal="<your goal>"
251
-
252
- To edit later:
253
- $maestro-composer --edit ~/.maestro/templates/workflows/<slug>.json
254
-
255
- To list all templates:
256
- $maestro-player --list
257
- ============================================================
258
- ```
186
+ **Step 5.5** — Output summary: path, template ID, node/checkpoint counts, required variables. Include usage commands: `$maestro-player <slug> --context goal="..."`, `$maestro-composer --edit <path>`, `$maestro-player --list`.
259
187
 
260
188
  **Step 5.6** — Clean up design draft directory.
261
189
  </execution>
@@ -158,34 +158,22 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column populated fr
158
158
 
159
159
  ### Session Initialization
160
160
 
161
- ```javascript
162
- const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
163
-
164
- // Parse flags
165
- const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
166
- const continueMode = $ARGUMENTS.includes('--continue')
167
- const concurrencyMatch = $ARGUMENTS.match(/(?:--concurrency|-c)\s+(\d+)/)
168
- const maxConcurrency = concurrencyMatch ? parseInt(concurrencyMatch[1]) : 5
169
-
170
- // Parse execute-specific flags
171
- const autoCommit = $ARGUMENTS.includes('--auto-commit')
172
- const methodMatch = $ARGUMENTS.match(/--method\s+(agent|cli)/)
173
- const executionMethod = methodMatch ? methodMatch[1] : null
174
- const dirMatch = $ARGUMENTS.match(/--dir\s+(\S+)/)
175
- const scratchDir = dirMatch ? dirMatch[1] : null
176
-
177
- // Clean phase text
178
- const phaseArg = $ARGUMENTS
179
- .replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+|--auto-commit|--method\s+\w+|--dir\s+\S+/g, '')
180
- .trim()
181
-
182
- const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
183
- const sessionId = scratchDir
184
- ? `${dateStr}-execute-scratch`
185
- : `${dateStr}-execute-P${phaseArg}-${phaseSlug}`
186
- const sessionFolder = `.workflow/.csv-wave/${sessionId}`
187
-
188
- Bash(`mkdir -p ${sessionFolder}`)
161
+ ```
162
+ Parse from $ARGUMENTS:
163
+ AUTO_YES ← --yes | -y
164
+ continueMode ← --continue
165
+ maxConcurrency ← --concurrency | -c N (default: 5)
166
+ autoCommit ← --auto-commit
167
+ executionMethod --method agent|cli (default: from config.json)
168
+ scratchDir ← --dir <path> (default: null)
169
+ phaseArg ← remaining text after flag removal
170
+
171
+ Derive:
172
+ dateStr ← UTC+8 YYYYMMDD
173
+ sessionId ← scratchDir ? "{dateStr}-execute-scratch" : "{dateStr}-execute-P{phaseArg}-{phaseSlug}"
174
+ sessionFolder ← ".workflow/.csv-wave/{sessionId}"
175
+
176
+ mkdir -p {sessionFolder}
189
177
  ```
190
178
 
191
179
  ### Phase 1: Plan Resolution -> CSV
@@ -204,27 +192,13 @@ Bash(`mkdir -p ${sessionFolder}`)
204
192
 
205
193
  For multi-plan: execute sequentially. Each plan is a full CSV session.
206
194
 
207
- 2. **Load plan** (per PLAN_DIR):
208
- - Read `{PLAN_DIR}/plan.json` for wave structure
209
- - Extract `plan.waves` array with task assignments
195
+ 2. **Load plan**: Read `{PLAN_DIR}/plan.json` for wave structure and task assignments
210
196
 
211
- 3. **Detect completed tasks (breakpoint resume)**:
212
- - For each task in plan, read `.task/TASK-{NNN}.json`
213
- - If `status == "completed"`: exclude from CSV
214
- - Log: "Resuming: {completed}/{total} tasks already completed"
197
+ 3. **Detect completed tasks (breakpoint resume)**: Read `.task/TASK-{NNN}.json` for each task; exclude completed ones from CSV. Log resume count.
215
198
 
216
- 4. **Build tasks.csv from task definitions**:
217
- - For each pending task in each wave:
218
- - Read `.task/TASK-{NNN}.json`
219
- - Extract: title, description, files (build scope), convergence.criteria, hints, execution_directives
220
- - Set `deps` from task dependency field
221
- - Set `context_from` = same as deps (findings propagate along dependency edges)
222
- - Set `wave` from plan.json wave assignment
223
- - Write `tasks.csv`
199
+ 4. **Build tasks.csv**: For each pending task per wave, read `.task/TASK-{NNN}.json` and extract: title, description, scope (from files), convergence.criteria, hints, execution_directives. Set `deps` from task dependency, `context_from` = deps, `wave` from plan.json.
224
200
 
225
- 5. **Load project specs**:
226
- - Read `.workflow/specs/` for coding conventions and architecture constraints
227
- - Pass as context to all executor agents
201
+ 5. **Load project specs**: Read `.workflow/specs/` for coding conventions and architecture constraints (passed to all agents)
228
202
 
229
203
  6. **User validation**: Display task/wave breakdown. Skip if AUTO_YES.
230
204
 
@@ -234,160 +208,59 @@ Bash(`mkdir -p ${sessionFolder}`)
234
208
 
235
209
  #### Per-Wave Execution Loop
236
210
 
237
- For each wave in ascending order:
211
+ For each wave N in ascending order:
238
212
 
239
- 1. Read master `tasks.csv`
240
- 2. Filter rows where `wave == N` AND `status == pending`
241
- 3. If no pending tasks in this wave: skip to next wave
242
- 4. Build `prev_context` for each task from completed predecessor findings:
243
- ```
244
- [TASK-001: Setup auth module] Created src/auth/auth.ts with verifyToken and generateToken...
245
- [TASK-002: Create user model] Created src/models/user.ts with User interface...
246
- ```
247
- 5. Write `wave-{N}.csv` with `prev_context` column added
248
- 6. Execute:
213
+ 1. Extract wave N pending rows from master `tasks.csv` (skip wave if none)
214
+ 2. Build `prev_context` per task from completed predecessor findings
215
+ 3. Write `wave-{N}.csv` with `prev_context` column, then execute:
249
216
 
250
217
  ```javascript
251
218
  spawn_agents_on_csv({
252
219
  csv_path: `${sessionFolder}/wave-${N}.csv`,
253
220
  id_column: "id",
254
221
  instruction: buildExecutorInstruction(sessionFolder, phaseDir, autoCommit, specsContent),
255
- max_concurrency: maxConcurrency,
256
- max_runtime_seconds: 900,
222
+ max_concurrency: maxConcurrency, max_runtime_seconds: 900,
257
223
  output_csv_path: `${sessionFolder}/wave-${N}-results.csv`,
258
- output_schema: {
259
- type: "object",
260
- properties: {
261
- id: { type: "string" },
262
- status: { type: "string", enum: ["completed", "failed", "blocked"] },
263
- findings: { type: "string" },
264
- files_modified: { type: "string" },
265
- tests_passed: { type: "string" },
266
- error: { type: "string" }
267
- },
268
- required: ["id", "status", "findings"]
269
- }
224
+ output_schema: { id, status: [completed|failed|blocked], findings, files_modified, tests_passed, error }
270
225
  })
271
226
  ```
272
227
 
273
- 7. Read `wave-{N}-results.csv`, merge into master `tasks.csv`
274
- 8. Delete `wave-{N}.csv`
228
+ 4. Merge results into master `tasks.csv`, delete `wave-{N}.csv`
275
229
 
276
230
  #### Blocked Task Handling
277
231
 
278
- After each wave:
279
- - Count blocked/failed tasks
280
- - If any blocked and NOT AUTO_YES:
281
- ```
282
- AskUserQuestion: "Tasks blocked: {blocked_list}. Continue to next wave or stop?"
283
- Options: [Continue (skip blocked deps), Stop and review]
284
- ```
285
- - If AUTO_YES: auto-continue, skip tasks whose deps are blocked
232
+ After each wave: if blocked tasks exist, prompt user to continue or stop (AUTO_YES: auto-continue). Skip tasks whose deps are blocked/failed.
286
233
 
287
234
  #### Cascading Skip
288
235
 
289
- If a task is blocked/failed and other tasks in later waves depend on it:
290
- - Mark dependent tasks as `skipped` with error: "Dependency {dep_id} blocked/failed"
291
- - Do not attempt execution of skipped tasks
236
+ Blocked/failed tasks cascade: mark all downstream dependents as `skipped` with error "Dependency {dep_id} blocked/failed".
292
237
 
293
238
  ### Phase 3: Results Aggregation
294
239
 
295
240
  **Objective**: Update all state files and generate execution report.
296
241
 
297
- 1. Read final master `tasks.csv`
298
- 2. Export as `results.csv`
242
+ 1. Export final `tasks.csv` as `results.csv`
299
243
 
300
- 3. **Update task files**: For each row in results:
301
- - Read `.task/{id}.json`
302
- - Update `status` to match CSV status
303
- - Write back to disk
244
+ 2. **Update task files**: Write each task's status from CSV back to `.task/{id}.json`
304
245
 
305
- 3b. **Issue status sync**: For each completed/failed task that has `issue_id`:
306
- - Read issue from `.workflow/issues/issues.jsonl` by `issue_id`
307
- - Collect all `task_refs[]` statuses for that issue:
308
- - All task_refs completed -> `issue.status = "resolved"`
309
- - Any task_ref failed -> `issue.status = "in_progress"`
246
+ 3. **Issue status sync**: For tasks with `issue_id`, update `.workflow/issues/issues.jsonl`:
247
+ - All task_refs completed -> `issue.status = "resolved"`; any failed -> `"in_progress"`
310
248
  - Append history entry: `{ action: "executed", at: <ISO>, by: "maestro-execute", summary: "TASK-{NNN} {status}" }`
311
- - Write updated issue back to `issues.jsonl`
312
-
313
- 4. **Register EXC artifact in state.json**:
314
- ```
315
- Read .workflow/state.json
316
- plan_artifact = state.json.artifacts.find(a => a.type == "plan" && a.path == PLAN_DIR_relative)
317
- next_id = max EXC-NNN + 1
318
- Push artifact: { id: "EXC-{next_id}", type: "execute", milestone: plan_artifact.milestone,
319
- phase: plan_artifact.phase, scope: plan_artifact.scope, path: plan_artifact.path,
320
- status: "completed", depends_on: plan_artifact.id, harvested: false,
321
- created_at: execution_start, completed_at: now() }
322
- Write state.json (atomic)
323
- ```
324
-
325
- 5. **Extract incremental learnings**:
326
- - Read all `.summaries/` from PLAN_DIR
327
- - Extract strategy adjustments, patterns, pitfalls
328
- - Check existing entries via `maestro spec load --category learning` (dedup)
329
- - Append to `.workflow/specs/learnings.md` using `<spec-entry>` closed-tag format (category=`learning`, auto-extract keywords, date=today, source=`execute`)
330
- - Mark artifact `harvested: true` in state.json
331
-
332
- 5b. **Post-task Knowledge Inquiry** (after each task completes):
333
- - **Execution deviation**: If task summary mentions approach change, dependency swap, or plan deviation:
334
- → Ask: "TASK-{NNN} deviated from the plan. Should this decision be recorded as an architecture constraint? (`/spec-add arch`)"
335
- - **Retry success**: If task required ≥2 retries before completion:
336
- → Ask: "TASK-{NNN} succeeded after {N} retries. Should this fix pattern be documented? (`/spec-add debug`)"
337
- - **Implicit knowledge**: If task summary contains design rationale ("chose X because", "rejected Y due to"):
338
- → Ask: "Design decision detected. Should it be recorded as a learning? (`/spec-add learning`)"
339
- - If user confirms, append `<spec-entry>` to matching category file via `spec-add` mechanism
340
-
341
- 6. **Generate context.md**:
342
-
343
- ```markdown
344
- # Execution Report -- Phase {phase}
345
-
346
- ## Summary
347
- - Tasks: {completed}/{total} completed
348
- - Blocked: {blocked_count}
349
- - Waves executed: {waves_run}/{waves_total}
350
- - Auto-commit: {yes/no}
351
-
352
- ## Wave Results
353
-
354
- ### Wave {N}
355
- | Task | Status | Files Modified | Tests |
356
- |------|--------|---------------|-------|
357
- | {id}: {title} | {status} | {files} | {tests} |
358
-
359
- ## Blocked Tasks
360
- {if any: task ID, error, checkpoint info}
361
-
362
- ## Discovery Board Summary
363
- {aggregated discovery findings}
364
-
365
- ## Next Steps
366
- - Run verify to validate results
367
- - Run debug for any blocked tasks
368
- ```
369
249
 
370
- 7. **Auto-sync** (if config.json.codebase.auto_sync_after_execute == true):
371
- - Detect changed files from execution
372
- - Trigger codebase doc update
250
+ 4. **Register EXC artifact in state.json**: Find matching plan artifact, create `{ id: "EXC-{next_id}", type: "execute", milestone, phase, scope, path, status: "completed", depends_on: plan_artifact.id, harvested: false, created_at, completed_at }`
373
251
 
374
- 8. **Display completion report**:
252
+ 5. **Extract incremental learnings**: Read `.summaries/`, dedup against existing specs, append to `.workflow/specs/learnings.md` as `<spec-entry>` (category=learning), mark artifact `harvested: true`
375
253
 
376
- ```
377
- === EXECUTION COMPLETE ===
378
- Phase: {phase_name}
379
- Completed: {completed_count}/{total_count} tasks
380
- Blocked: {blocked_count} tasks
381
- Waves: {waves_executed}/{total_waves}
382
-
383
- Summaries: {PLAN_DIR}/.summaries/
384
- Tasks: {PLAN_DIR}/.task/
385
-
386
- Next steps:
387
- Skill({ skill: "maestro-verify" })
388
- Skill({ skill: "maestro-verify", args: "--dir {PLAN_DIR}" })
389
- Skill({ skill: "manage-status" })
390
- ```
254
+ 6. **Post-task Knowledge Inquiry**: Prompt user to capture knowledge when:
255
+ - Execution deviation detected (plan change) -> `/spec-add arch`
256
+ - Retry success (>=2 retries) -> `/spec-add debug`
257
+ - Implicit design rationale found -> `/spec-add learning`
258
+
259
+ 7. **Generate context.md**: Execution report with summary (tasks/blocked/waves/auto-commit), per-wave result table (task, status, files, tests), blocked tasks, discovery board summary, next steps.
260
+
261
+ 8. **Auto-sync** (if config.json.codebase.auto_sync_after_execute == true): detect changed files, trigger codebase doc update.
262
+
263
+ 9. **Display completion report**: Phase, completed/blocked counts, wave progress, paths to `.summaries/` and `.task/`, next step suggestions (`maestro-verify`, `manage-status`).
391
264
 
392
265
  ### Shared Discovery Board Protocol
393
266
 
@@ -404,11 +277,7 @@ Next steps:
404
277
 
405
278
  #### Protocol
406
279
 
407
- 1. **Read** `{session_folder}/discoveries.ndjson` before starting task implementation
408
- 2. **Skip covered**: If discovery of same type + dedup key exists, skip
409
- 3. **Write immediately**: Append findings as discovered
410
- 4. **Append-only**: Never modify or delete existing entries
411
- 5. **Deduplicate**: Check before writing
280
+ Read `discoveries.ndjson` before implementation. Append-only: dedup by type+key before writing, never modify/delete.
412
281
 
413
282
  ```bash
414
283
  echo '{"ts":"<ISO>","worker":"TASK-001","type":"code_pattern","data":{"name":"Result type","file":"src/types/result.ts","description":"All functions return Result<T,E> for error handling"}}' >> {session_folder}/discoveries.ndjson
@@ -46,11 +46,7 @@ Extract flags from arguments:
46
46
 
47
47
  ### Step 2: Detect Project State
48
48
 
49
- ```bash
50
- # Check existing state
51
- ls .workflow/state.json 2>/dev/null
52
- ls package.json pyproject.toml Cargo.toml go.mod 2>/dev/null
53
- ```
49
+ Check for `.workflow/state.json` and common manifests (`package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`).
54
50
 
55
51
  Classify as:
56
52
  - **existing**: `.workflow/state.json` found — warn and exit (E002)
@@ -86,67 +82,27 @@ Read the following templates:
86
82
 
87
83
  ### Step 5: Create .workflow/ Structure
88
84
 
89
- ```bash
90
- mkdir -p .workflow/specs .workflow/scratch .workflow/codebase
91
- ```
85
+ Create directories: `.workflow/specs`, `.workflow/scratch`, `.workflow/codebase`.
92
86
 
93
87
  ### Step 6: Write project.md
94
88
 
95
- Populate template with gathered information:
96
- - Project name, core value proposition
97
- - Requirements: Validated / Active / Out of Scope
98
- - Key decisions and constraints
99
- - Tech stack (detected or specified)
100
-
101
- Write to `.workflow/project.md`.
89
+ Populate template with: project name, core value proposition, requirements (Validated/Active/Out of Scope), key decisions, constraints, tech stack. Write to `.workflow/project.md`.
102
90
 
103
91
  ### Step 7: Write state.json
104
92
 
105
- Initialize state from template:
106
- - `current_milestone`: null
107
- - `current_task_id`: null
108
- - `status`: "initialized"
109
- - `artifacts`: []
110
-
111
- Write to `.workflow/state.json`.
93
+ Initialize from template with `current_milestone: null`, `status: "initialized"`, empty `artifacts[]`. Write to `.workflow/state.json`.
112
94
 
113
95
  ### Step 8: Write config.json
114
96
 
115
- Configuration questions (or defaults for --auto):
116
- - Granularity: fine / medium / coarse
117
- - Workflow agents: enable/disable optional agents
118
- - Gate preferences: verification strictness
119
-
120
- Write to `.workflow/config.json`.
97
+ Configuration questions (or defaults for --auto): granularity (fine/medium/coarse), workflow agents (enable/disable), gate preferences. Write to `.workflow/config.json`.
121
98
 
122
99
  ### Step 9: Initialize specs/
123
100
 
124
- Create convention files in `.workflow/specs/`:
125
- - `conventions.md` — detected or specified coding conventions
126
- - `learnings.md` — empty, populated during execute summaries extraction
101
+ Create in `.workflow/specs/`: `conventions.md` (detected coding conventions), `learnings.md` (empty placeholder).
127
102
 
128
103
  ### Step 10: Completion Report
129
104
 
130
- ```
131
- === WORKFLOW INITIALIZED ===
132
- Project: {project_name}
133
- State: .workflow/state.json (active)
134
-
135
- Created:
136
- .workflow/project.md
137
- .workflow/state.json
138
- .workflow/config.json
139
- .workflow/specs/
140
-
141
- Next steps (choose one path to create roadmap):
142
- $maestro-spec-generate "<idea>" -- Full spec package + roadmap (heavy)
143
- $maestro-roadmap "<requirement>" -- Direct interactive roadmap (light)
144
-
145
- Other commands:
146
- $manage-status -- View project dashboard
147
- $maestro-brainstorm "<topic>" -- Explore ideas first
148
- $maestro-quick "<task>" -- Quick ad-hoc task
149
- ```
105
+ Display created files and next steps: `$maestro-spec-generate` (full spec), `$maestro-roadmap` (light), `$manage-status`, `$maestro-brainstorm`, `$maestro-quick`.
150
106
 
151
107
  </execution>
152
108