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