maestro-flow 0.3.11 → 0.3.13

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 (339) hide show
  1. package/.claude/CLAUDE.md +7 -0
  2. package/.claude/agents/conceptual-planning-agent.md +1 -0
  3. package/.claude/agents/workflow-analyzer.md +113 -114
  4. package/.claude/agents/workflow-collab-planner.md +143 -144
  5. package/.claude/agents/workflow-debugger.md +101 -103
  6. package/.claude/agents/workflow-executor.md +127 -128
  7. package/.claude/agents/workflow-integration-checker.md +82 -82
  8. package/.claude/agents/workflow-nyquist-auditor.md +84 -84
  9. package/.claude/agents/workflow-phase-researcher.md +85 -85
  10. package/.claude/agents/workflow-plan-checker.md +90 -90
  11. package/.claude/agents/workflow-planner.md +177 -178
  12. package/.claude/agents/workflow-roadmapper.md +81 -83
  13. package/.claude/agents/workflow-verifier.md +118 -119
  14. package/.claude/commands/learn-retro.md +2 -2
  15. package/.claude/commands/learn-second-opinion.md +2 -2
  16. package/.claude/commands/maestro-analyze.md +10 -2
  17. package/.claude/commands/maestro-brainstorm.md +2 -1
  18. package/.claude/commands/maestro-execute.md +21 -4
  19. package/.claude/commands/maestro-fork.md +133 -111
  20. package/.claude/commands/maestro-merge.md +85 -77
  21. package/.claude/commands/maestro-milestone-complete.md +14 -0
  22. package/.claude/commands/maestro-plan.md +100 -8
  23. package/.claude/commands/maestro-roadmap.md +113 -2
  24. package/.claude/commands/maestro-ui-design.md +7 -7
  25. package/.claude/commands/maestro-update.md +176 -0
  26. package/.claude/commands/maestro-verify.md +18 -3
  27. package/.claude/commands/maestro.md +1 -0
  28. package/.claude/commands/manage-codebase-rebuild.md +0 -1
  29. package/.claude/commands/manage-harvest.md +1 -1
  30. package/.claude/commands/manage-learn.md +5 -5
  31. package/.claude/commands/manage-memory-capture.md +4 -4
  32. package/.claude/commands/manage-memory.md +1 -1
  33. package/.claude/commands/manage-wiki.md +62 -0
  34. package/.claude/commands/quality-business-test.md +5 -5
  35. package/.claude/commands/quality-debug.md +53 -6
  36. package/.claude/commands/quality-retrospective.md +9 -7
  37. package/.claude/commands/quality-review.md +39 -7
  38. package/.claude/commands/quality-sync.md +1 -1
  39. package/.claude/commands/quality-test-gen.md +5 -4
  40. package/.claude/commands/quality-test.md +45 -12
  41. package/.claude/commands/spec-remove.md +51 -0
  42. package/.claude/commands/spec-setup.md +1 -3
  43. package/.claude/commands/wiki-connect.md +9 -5
  44. package/.claude/commands/wiki-digest.md +6 -3
  45. package/.codex/skills/maestro/SKILL.md +2 -2
  46. package/.codex/skills/maestro-analyze/SKILL.md +4 -4
  47. package/.codex/skills/maestro-brainstorm/SKILL.md +4 -4
  48. package/.codex/skills/maestro-coordinate/SKILL.md +2 -2
  49. package/.codex/skills/maestro-execute/SKILL.md +15 -5
  50. package/.codex/skills/maestro-fork/SKILL.md +98 -68
  51. package/.codex/skills/maestro-init/SKILL.md +5 -4
  52. package/.codex/skills/maestro-merge/SKILL.md +69 -62
  53. package/.codex/skills/maestro-milestone-complete/SKILL.md +18 -1
  54. package/.codex/skills/maestro-plan/SKILL.md +6 -6
  55. package/.codex/skills/maestro-roadmap/SKILL.md +3 -4
  56. package/.codex/skills/maestro-spec-generate/SKILL.md +2 -2
  57. package/.codex/skills/maestro-ui-design/SKILL.md +6 -6
  58. package/.codex/skills/maestro-verify/SKILL.md +29 -20
  59. package/.codex/skills/manage-codebase-rebuild/SKILL.md +4 -4
  60. package/.codex/skills/manage-harvest/SKILL.md +10 -1
  61. package/.codex/skills/manage-issue-discover/SKILL.md +3 -3
  62. package/.codex/skills/manage-learn/SKILL.md +3 -2
  63. package/.codex/skills/manage-memory/SKILL.md +3 -3
  64. package/.codex/skills/manage-memory-capture/SKILL.md +8 -14
  65. package/.codex/skills/manage-status/SKILL.md +9 -4
  66. package/.codex/skills/manage-wiki/SKILL.md +55 -0
  67. package/.codex/skills/quality-business-test/SKILL.md +8 -6
  68. package/.codex/skills/quality-debug/SKILL.md +22 -9
  69. package/.codex/skills/quality-integration-test/SKILL.md +11 -7
  70. package/.codex/skills/quality-retrospective/SKILL.md +48 -29
  71. package/.codex/skills/quality-review/SKILL.md +10 -7
  72. package/.codex/skills/quality-test/SKILL.md +10 -5
  73. package/.codex/skills/quality-test-gen/SKILL.md +13 -9
  74. package/.codex/skills/spec-add/SKILL.md +11 -3
  75. package/.codex/skills/spec-load/SKILL.md +7 -0
  76. package/.codex/skills/spec-map/SKILL.md +2 -2
  77. package/.codex/skills/spec-remove/SKILL.md +101 -0
  78. package/.codex/skills/spec-setup/SKILL.md +4 -8
  79. package/.codex/skills/wiki-connect/SKILL.md +6 -5
  80. package/.codex/skills/wiki-digest/SKILL.md +2 -2
  81. package/README.md +2 -0
  82. package/README.zh-CN.md +2 -0
  83. package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
  84. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
  85. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
  86. package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
  87. package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
  88. package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
  89. package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
  90. package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
  91. package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
  92. package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
  93. package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
  94. package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
  95. package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
  96. package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
  97. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
  98. package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
  99. package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
  100. package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
  101. package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
  102. package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
  103. package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
  104. package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
  105. package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
  106. package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
  107. package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
  108. package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
  109. package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
  110. package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
  111. package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
  112. package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
  113. package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
  114. package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
  115. package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
  116. package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
  117. package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
  118. package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
  119. package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
  120. package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
  121. package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
  122. package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
  123. package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
  124. package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
  125. package/dashboard/dist/index.html +2 -2
  126. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
  127. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  128. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +9 -0
  129. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +109 -9
  130. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  131. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js +49 -0
  132. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js.map +1 -1
  133. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
  134. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
  135. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
  136. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
  137. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
  139. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  140. package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
  141. package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
  142. package/dashboard/dist-server/dashboard/src/server/routes/index.js +5 -4
  143. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  144. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +5 -13
  145. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +97 -155
  146. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/wiki.d.ts +11 -1
  148. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +27 -6
  149. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  150. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +25 -7
  151. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  152. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +8 -0
  153. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +1 -0
  155. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  156. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +29 -0
  157. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +148 -0
  158. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -0
  159. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +4 -2
  160. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  161. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +8 -2
  162. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  163. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +5 -0
  164. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +80 -38
  165. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  166. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +8 -6
  167. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  168. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +40 -5
  169. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +21 -23
  170. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  171. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +33 -3
  172. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +184 -12
  173. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  174. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
  175. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
  176. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
  177. package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
  178. package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
  179. package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
  180. package/dashboard/dist-server/dashboard/src/shared/constants.js +5 -0
  181. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  182. package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
  183. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
  184. package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
  185. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  186. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +1 -0
  187. package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
  188. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  189. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +27 -1
  190. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  191. package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
  192. package/dashboard/dist-server/src/commands/delegate.js +26 -0
  193. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  194. package/dashboard/dist-server/src/coordinator/graph-types.d.ts +11 -1
  195. package/dashboard/dist-server/src/coordinator/graph-walker.js +29 -2
  196. package/dashboard/dist-server/src/coordinator/graph-walker.js.map +1 -1
  197. package/dashboard/dist-server/src/coordinator/prompt-assembler.js +3 -2
  198. package/dashboard/dist-server/src/coordinator/prompt-assembler.js.map +1 -1
  199. package/dashboard/dist-server/src/hooks/constants.d.ts +29 -60
  200. package/dashboard/dist-server/src/hooks/constants.js +105 -82
  201. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  202. package/dashboard/dist-server/src/types/index.d.ts +2 -1
  203. package/dist/shared/agent-types.d.ts +4 -0
  204. package/dist/shared/agent-types.d.ts.map +1 -1
  205. package/dist/src/commands/delegate.d.ts.map +1 -1
  206. package/dist/src/commands/delegate.js +26 -0
  207. package/dist/src/commands/delegate.js.map +1 -1
  208. package/dist/src/commands/hooks.d.ts +2 -4
  209. package/dist/src/commands/hooks.d.ts.map +1 -1
  210. package/dist/src/commands/hooks.js +4 -7
  211. package/dist/src/commands/hooks.js.map +1 -1
  212. package/dist/src/commands/install-backend.d.ts.map +1 -1
  213. package/dist/src/commands/install-backend.js +29 -18
  214. package/dist/src/commands/install-backend.js.map +1 -1
  215. package/dist/src/commands/install-ui/InstallConfirm.d.ts +2 -3
  216. package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
  217. package/dist/src/commands/install-ui/InstallConfirm.js +1 -1
  218. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  219. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  220. package/dist/src/commands/install-ui/InstallExecution.js +1 -2
  221. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  222. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  223. package/dist/src/commands/install-ui/InstallFlow.js +5 -7
  224. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  225. package/dist/src/commands/install-ui/StatuslineConfig.d.ts +3 -6
  226. package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
  227. package/dist/src/commands/install-ui/StatuslineConfig.js +21 -17
  228. package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
  229. package/dist/src/commands/update.d.ts.map +1 -1
  230. package/dist/src/commands/update.js +95 -0
  231. package/dist/src/commands/update.js.map +1 -1
  232. package/dist/src/commands/wiki.d.ts.map +1 -1
  233. package/dist/src/commands/wiki.js +75 -11
  234. package/dist/src/commands/wiki.js.map +1 -1
  235. package/dist/src/coordinator/graph-types.d.ts +11 -1
  236. package/dist/src/coordinator/graph-types.d.ts.map +1 -1
  237. package/dist/src/coordinator/graph-walker.d.ts.map +1 -1
  238. package/dist/src/coordinator/graph-walker.js +29 -2
  239. package/dist/src/coordinator/graph-walker.js.map +1 -1
  240. package/dist/src/coordinator/prompt-assembler.d.ts.map +1 -1
  241. package/dist/src/coordinator/prompt-assembler.js +3 -2
  242. package/dist/src/coordinator/prompt-assembler.js.map +1 -1
  243. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +4 -1
  244. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -1
  245. package/dist/src/hooks/__tests__/statusline-visual-test.js +55 -152
  246. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
  247. package/dist/src/hooks/constants.d.ts +29 -60
  248. package/dist/src/hooks/constants.d.ts.map +1 -1
  249. package/dist/src/hooks/constants.js +105 -82
  250. package/dist/src/hooks/constants.js.map +1 -1
  251. package/dist/src/hooks/skill-context.d.ts +3 -0
  252. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  253. package/dist/src/hooks/skill-context.js +149 -15
  254. package/dist/src/hooks/skill-context.js.map +1 -1
  255. package/dist/src/hooks/statusline.d.ts +11 -8
  256. package/dist/src/hooks/statusline.d.ts.map +1 -1
  257. package/dist/src/hooks/statusline.js +284 -179
  258. package/dist/src/hooks/statusline.js.map +1 -1
  259. package/dist/src/hooks/workspace.d.ts.map +1 -1
  260. package/dist/src/hooks/workspace.js +2 -1
  261. package/dist/src/hooks/workspace.js.map +1 -1
  262. package/dist/src/migrations/_template.d.ts +12 -0
  263. package/dist/src/migrations/_template.d.ts.map +1 -0
  264. package/dist/src/migrations/_template.js +55 -0
  265. package/dist/src/migrations/_template.js.map +1 -0
  266. package/dist/src/migrations/index.d.ts +14 -0
  267. package/dist/src/migrations/index.d.ts.map +1 -0
  268. package/dist/src/migrations/index.js +20 -0
  269. package/dist/src/migrations/index.js.map +1 -0
  270. package/dist/src/migrations/run.d.ts +12 -0
  271. package/dist/src/migrations/run.d.ts.map +1 -0
  272. package/dist/src/migrations/run.js +119 -0
  273. package/dist/src/migrations/run.js.map +1 -0
  274. package/dist/src/migrations/v1-to-v2.d.ts +10 -0
  275. package/dist/src/migrations/v1-to-v2.d.ts.map +1 -0
  276. package/dist/src/migrations/v1-to-v2.js +71 -0
  277. package/dist/src/migrations/v1-to-v2.js.map +1 -0
  278. package/dist/src/tools/merge-validator.d.ts.map +1 -1
  279. package/dist/src/tools/merge-validator.js +114 -16
  280. package/dist/src/tools/merge-validator.js.map +1 -1
  281. package/dist/src/tools/team-activity.d.ts.map +1 -1
  282. package/dist/src/tools/team-activity.js +22 -0
  283. package/dist/src/tools/team-activity.js.map +1 -1
  284. package/dist/src/tools/transition-recorder.d.ts +2 -17
  285. package/dist/src/tools/transition-recorder.d.ts.map +1 -1
  286. package/dist/src/tools/transition-recorder.js +6 -3
  287. package/dist/src/tools/transition-recorder.js.map +1 -1
  288. package/dist/src/types/index.d.ts +2 -1
  289. package/dist/src/types/index.d.ts.map +1 -1
  290. package/dist/src/utils/migration-registry.d.ts +65 -0
  291. package/dist/src/utils/migration-registry.d.ts.map +1 -0
  292. package/dist/src/utils/migration-registry.js +117 -0
  293. package/dist/src/utils/migration-registry.js.map +1 -0
  294. package/dist/src/utils/state-schema.d.ts +153 -0
  295. package/dist/src/utils/state-schema.d.ts.map +1 -0
  296. package/dist/src/utils/state-schema.js +329 -0
  297. package/dist/src/utils/state-schema.js.map +1 -0
  298. package/package.json +1 -1
  299. package/shared/agent-types.ts +4 -0
  300. package/templates/state.json +17 -39
  301. package/templates/worktree-scope.json +9 -10
  302. package/templates/worktrees.json +26 -27
  303. package/workflows/brainstorm.md +10 -1
  304. package/workflows/codebase-rebuild.md +2 -12
  305. package/workflows/debug.md +17 -8
  306. package/workflows/execute.md +18 -4
  307. package/workflows/fork.md +52 -37
  308. package/workflows/init.md +1 -4
  309. package/workflows/integration-test.md +13 -2
  310. package/workflows/issue.md +8 -4
  311. package/workflows/learn.md +25 -10
  312. package/workflows/maestro.codex.md +8 -1
  313. package/workflows/maestro.md +13 -3
  314. package/workflows/memory.md +26 -71
  315. package/workflows/merge.md +48 -52
  316. package/workflows/milestone-complete.md +24 -7
  317. package/workflows/retrospective.md +87 -80
  318. package/workflows/review.md +11 -5
  319. package/workflows/specs-remove.md +115 -0
  320. package/workflows/specs-setup.md +10 -32
  321. package/workflows/status.md +291 -290
  322. package/workflows/sync.md +5 -5
  323. package/workflows/test.md +11 -2
  324. package/workflows/ui-style.md +8 -2
  325. package/workflows/verify.md +2 -2
  326. package/workflows/wiki-connect.md +188 -0
  327. package/workflows/wiki-digest.md +221 -0
  328. package/workflows/wiki-manage.md +204 -0
  329. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
  330. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
  331. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
  332. package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
  333. package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
  334. package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
  335. package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
  336. package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
  337. package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
  338. package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
  339. package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
@@ -1,178 +1,177 @@
1
- ---
2
- name: workflow-planner
3
- description: Creates execution plans with task decomposition, waves, and dependencies
4
- allowed-tools:
5
- - Read
6
- - Write
7
- - Glob
8
- - Grep
9
- - Bash
10
- ---
11
-
12
- # Workflow Planner
13
-
14
- ## Role
15
- You create structured execution plans from context, research, and specifications. You decompose work into atomic tasks, assign them to parallel waves, set dependencies, and define verifiable convergence criteria. You support both full planning (detailed decomposition) and quick mode (simplified, fewer tasks).
16
-
17
- ## Search Tools
18
- @~/.maestro/templates/search-tools.md — Follow search tool priority and selection patterns.
19
-
20
- ## Process
21
-
22
- 1. **Load context** -- Read context.md decisions, spec references, doc-index, and phase research
23
- 2. **Identify scope** -- Determine what needs to be built, modified, or configured
24
- 3. **Decompose** -- Break scope into atomic tasks (each task = one logical change)
25
- 4. **Assign waves** -- Group independent tasks into parallel waves; dependent tasks in later waves
26
- 5. **Set dependencies** -- Define explicit task-to-task dependencies
27
- 6. **Define convergence criteria** -- Write specific, testable success criteria for each task (min 2 per task)
28
- 7. **Write plan** -- Output plan.json and individual task files
29
-
30
- ### Quick Mode
31
- When invoked with `quick` flag:
32
- - Reduce decomposition granularity (fewer, larger tasks)
33
- - Minimize wave count (1-2 waves)
34
- - Skip detailed dependency mapping
35
- - Focus on getting to execution fast
36
-
37
- ## Input
38
- - `.workflow/phases/{NN}-{slug}/context.md` -- Phase context and decisions
39
- - `.workflow/phases/{NN}-{slug}/research.md` -- Phase research (if available)
40
- - Spec references and doc-index
41
- - **Project specs** (MANDATORY) -- Loaded via `maestro spec load --category arch`:
42
- - Architecture constraints (module structure, layer boundaries, dependency rules)
43
- - Coding conventions (naming, imports, patterns)
44
- - All specs with `readMode: required` and `category: planning`
45
- - **Must comply**: All generated tasks must respect loaded spec constraints
46
- - Quick mode flag (optional)
47
-
48
- ## Output
49
- - `plan.json` with structure:
50
- ```json
51
- {
52
- "summary": "<plan overview>",
53
- "approach": "<implementation strategy>",
54
- "task_ids": ["TASK-001", "TASK-002"],
55
- "task_count": 3,
56
- "complexity": "medium",
57
- "estimated_time": "2h",
58
- "recommended_execution": "Agent",
59
- "waves": [
60
- {"wave": 1, "tasks": ["TASK-001", "TASK-002"]},
61
- {"wave": 2, "tasks": ["TASK-003"]}
62
- ],
63
- "data_flow": {
64
- "diagram": null,
65
- "stages": ["parse input", "transform", "write output"]
66
- },
67
- "design_decisions": [
68
- "Use existing parser pattern from src/core/parser.ts"
69
- ],
70
- "shared_context": {
71
- "patterns": ["repository pattern", "factory pattern"],
72
- "conventions": ["ESM imports", "strict TypeScript"],
73
- "dependencies": ["@modelcontextprotocol/sdk"]
74
- },
75
- "_metadata": {
76
- "timestamp": "2025-01-01T00:00:00Z",
77
- "source": "workflow-planner",
78
- "planning_mode": "full",
79
- "plan_type": "feature"
80
- }
81
- }
82
- ```
83
- - `.task/TASK-{NNN}.json` per task:
84
- ```json
85
- {
86
- "id": "TASK-001",
87
- "title": "<concise title>",
88
- "description": "<what to implement>",
89
- "type": "feature",
90
- "priority": "medium",
91
- "effort": "medium",
92
- "action": "Implement",
93
- "scope": "<module path>",
94
- "focus_paths": ["src/tools/"],
95
- "depends_on": [],
96
- "parallel_group": null,
97
- "convergence": {
98
- "criteria": ["<testable criterion 1>", "<testable criterion 2>"],
99
- "verification": "<command or steps to verify>",
100
- "definition_of_done": "<business-language completion>"
101
- },
102
- "files": [
103
- {
104
- "path": "src/tools/new-tool.ts",
105
- "action": "create",
106
- "target": "NewTool class",
107
- "change": "Create tool implementation with execute method"
108
- }
109
- ],
110
- "implementation": [
111
- "Create file with class skeleton",
112
- "Implement execute method",
113
- "Register in tool registry"
114
- ],
115
- "test": {
116
- "commands": ["npm test -- --grep NewTool"],
117
- "unit": ["test/tools/new-tool.test.ts"],
118
- "integration": [],
119
- "success_metrics": ["all tests pass", "no TypeScript errors"]
120
- },
121
- "reference": {
122
- "pattern": "Follow existing tool pattern",
123
- "files": ["src/tools/existing-tool.ts"],
124
- "examples": null
125
- },
126
- "rationale": {
127
- "chosen_approach": "<why this approach>",
128
- "decision_factors": [],
129
- "tradeoffs": null
130
- },
131
- "risks": [],
132
- "meta": {
133
- "status": "pending",
134
- "estimated_time": "30m",
135
- "risk": "low",
136
- "autonomous": true,
137
- "checkpoint": false,
138
- "wave": 1,
139
- "execution_group": null,
140
- "executor": "agent"
141
- }
142
- }
143
- ```
144
-
145
- ## Constraints
146
- - Each task must be atomic: one logical change, independently verifiable
147
- - Each task must have convergence.criteria (min 2 testable conditions)
148
- - convergence.criteria must be specific and testable (not "works correctly")
149
- - files must use array format `[{path, action, target, change}]`
150
- - Wave ordering must respect dependencies (no task before its dependency)
151
- - Task descriptions must be clear enough for the executor to implement without ambiguity
152
- - Keep task count reasonable: 5-20 for full mode, 2-5 for quick mode
153
- - Never include implementation details in plan; focus on what, not how
154
- - Reference: @templates/task.json for task field names
155
- - Reference: @templates/plan.json for plan field names
156
-
157
- ## Schema Reference
158
- - **Task schema**: `templates/task.json` -- Canonical field definitions for `.task/TASK-{NNN}.json` files
159
- - **Plan schema**: `templates/plan.json` -- Canonical field definitions for `plan.json`
160
- - All generated task JSON must conform to templates/task.json structure
161
- - All generated plan JSON must conform to templates/plan.json structure
162
- - Field `done_when` is deprecated; use `convergence.criteria` (array of testable strings)
163
- - Field `files: ["path"]` is deprecated; use `files: [{path, action, target, change}]`
164
- - Field `related_success_criteria` is deprecated and removed from task template; SC-to-Task traceability is handled via `convergence.criteria` referencing roadmap success criteria
165
-
166
- ## Output Location
167
- - **Phase-scoped planning**: `.workflow/phases/{NN}-{slug}/plan.json` and `.workflow/phases/{NN}-{slug}/.task/TASK-{NNN}.json`
168
- - **Scratch planning**: `.workflow/scratch/{slug}/plan.json` and `.workflow/scratch/{slug}/.task/TASK-{NNN}.json`
169
- - **Plan notes** (collab mode): `.workflow/phases/{NN}-{slug}/plan-note.md`
170
- - **Quick mode**: Same paths, fewer task files
171
-
172
- ## Error Behavior
173
- - **Missing context.md**: Stop and report -- planning requires context; do not guess
174
- - **Missing research**: Proceed with warning -- note missing research in plan summary
175
- - **Circular dependencies detected**: Stop and report -- fix dependency graph before continuing
176
- - **Scope too large (>20 tasks)**: Checkpoint -- suggest splitting into sub-phases or using collab-planners
177
- - **Ambiguous requirements**: Stop and report -- request clarification before decomposing
178
- - **Checkpoints**: Return `## CHECKPOINT REACHED` with specific question when user input is needed
1
+ ---
2
+ name: workflow-planner
3
+ description: Creates execution plans with task decomposition, waves, and dependencies
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Glob
8
+ - Grep
9
+ - Bash
10
+ ---
11
+
12
+ # Workflow Planner
13
+
14
+ ## Role
15
+ You create structured execution plans from context, research, and specifications. You decompose work into atomic tasks, assign them to parallel waves, set dependencies, and define verifiable convergence criteria. You support both full planning (detailed decomposition) and quick mode (simplified, fewer tasks).
16
+
17
+ ## Search Tools
18
+ @~/.maestro/templates/search-tools.md — Follow search tool priority and selection patterns.
19
+
20
+ ## Process
21
+
22
+ 1. **Load context** -- Read context.md decisions, spec references, doc-index, and phase research
23
+ 2. **Identify scope** -- Determine what needs to be built, modified, or configured
24
+ 3. **Decompose** -- Break scope into atomic tasks (each task = one logical change)
25
+ 4. **Assign waves** -- Group independent tasks into parallel waves; dependent tasks in later waves
26
+ 5. **Set dependencies** -- Define explicit task-to-task dependencies
27
+ 6. **Define convergence criteria** -- Write specific, testable success criteria for each task (min 2 per task)
28
+ 7. **Write plan** -- Output plan.json and individual task files
29
+
30
+ ### Quick Mode
31
+ When invoked with `quick` flag:
32
+ - Reduce decomposition granularity (fewer, larger tasks)
33
+ - Minimize wave count (1-2 waves)
34
+ - Skip detailed dependency mapping
35
+ - Focus on getting to execution fast
36
+
37
+ ## Input
38
+ - `.workflow/scratch/{slug}/context.md` -- Context and decisions (resolved via state.json artifact registry)
39
+ - `.workflow/scratch/{slug}/research.md` -- Research (if available, resolved via artifact registry)
40
+ - Spec references and doc-index
41
+ - **Project specs** (MANDATORY) -- Loaded via `maestro spec load --category arch`:
42
+ - Architecture constraints (module structure, layer boundaries, dependency rules)
43
+ - Coding conventions (naming, imports, patterns)
44
+ - All specs with `readMode: required` and `category: planning`
45
+ - **Must comply**: All generated tasks must respect loaded spec constraints
46
+ - Quick mode flag (optional)
47
+
48
+ ## Output
49
+ - `plan.json` with structure:
50
+ ```json
51
+ {
52
+ "summary": "<plan overview>",
53
+ "approach": "<implementation strategy>",
54
+ "task_ids": ["TASK-001", "TASK-002"],
55
+ "task_count": 3,
56
+ "complexity": "medium",
57
+ "estimated_time": "2h",
58
+ "recommended_execution": "Agent",
59
+ "waves": [
60
+ {"wave": 1, "tasks": ["TASK-001", "TASK-002"]},
61
+ {"wave": 2, "tasks": ["TASK-003"]}
62
+ ],
63
+ "data_flow": {
64
+ "diagram": null,
65
+ "stages": ["parse input", "transform", "write output"]
66
+ },
67
+ "design_decisions": [
68
+ "Use existing parser pattern from src/core/parser.ts"
69
+ ],
70
+ "shared_context": {
71
+ "patterns": ["repository pattern", "factory pattern"],
72
+ "conventions": ["ESM imports", "strict TypeScript"],
73
+ "dependencies": ["@modelcontextprotocol/sdk"]
74
+ },
75
+ "_metadata": {
76
+ "timestamp": "2025-01-01T00:00:00Z",
77
+ "source": "workflow-planner",
78
+ "planning_mode": "full",
79
+ "plan_type": "feature"
80
+ }
81
+ }
82
+ ```
83
+ - `.task/TASK-{NNN}.json` per task:
84
+ ```json
85
+ {
86
+ "id": "TASK-001",
87
+ "title": "<concise title>",
88
+ "description": "<what to implement>",
89
+ "type": "feature",
90
+ "priority": "medium",
91
+ "effort": "medium",
92
+ "action": "Implement",
93
+ "scope": "<module path>",
94
+ "focus_paths": ["src/tools/"],
95
+ "depends_on": [],
96
+ "parallel_group": null,
97
+ "convergence": {
98
+ "criteria": ["<testable criterion 1>", "<testable criterion 2>"],
99
+ "verification": "<command or steps to verify>",
100
+ "definition_of_done": "<business-language completion>"
101
+ },
102
+ "files": [
103
+ {
104
+ "path": "src/tools/new-tool.ts",
105
+ "action": "create",
106
+ "target": "NewTool class",
107
+ "change": "Create tool implementation with execute method"
108
+ }
109
+ ],
110
+ "implementation": [
111
+ "Create file with class skeleton",
112
+ "Implement execute method",
113
+ "Register in tool registry"
114
+ ],
115
+ "test": {
116
+ "commands": ["npm test -- --grep NewTool"],
117
+ "unit": ["test/tools/new-tool.test.ts"],
118
+ "integration": [],
119
+ "success_metrics": ["all tests pass", "no TypeScript errors"]
120
+ },
121
+ "reference": {
122
+ "pattern": "Follow existing tool pattern",
123
+ "files": ["src/tools/existing-tool.ts"],
124
+ "examples": null
125
+ },
126
+ "rationale": {
127
+ "chosen_approach": "<why this approach>",
128
+ "decision_factors": [],
129
+ "tradeoffs": null
130
+ },
131
+ "risks": [],
132
+ "meta": {
133
+ "status": "pending",
134
+ "estimated_time": "30m",
135
+ "risk": "low",
136
+ "autonomous": true,
137
+ "checkpoint": false,
138
+ "wave": 1,
139
+ "execution_group": null,
140
+ "executor": "agent"
141
+ }
142
+ }
143
+ ```
144
+
145
+ ## Constraints
146
+ - Each task must be atomic: one logical change, independently verifiable
147
+ - Each task must have convergence.criteria (min 2 testable conditions)
148
+ - convergence.criteria must be specific and testable (not "works correctly")
149
+ - files must use array format `[{path, action, target, change}]`
150
+ - Wave ordering must respect dependencies (no task before its dependency)
151
+ - Task descriptions must be clear enough for the executor to implement without ambiguity
152
+ - Keep task count reasonable: 5-20 for full mode, 2-5 for quick mode
153
+ - Never include implementation details in plan; focus on what, not how
154
+ - Reference: @templates/task.json for task field names
155
+ - Reference: @templates/plan.json for plan field names
156
+
157
+ ## Schema Reference
158
+ - **Task schema**: `templates/task.json` -- Canonical field definitions for `.task/TASK-{NNN}.json` files
159
+ - **Plan schema**: `templates/plan.json` -- Canonical field definitions for `plan.json`
160
+ - All generated task JSON must conform to templates/task.json structure
161
+ - All generated plan JSON must conform to templates/plan.json structure
162
+ - Field `done_when` is deprecated; use `convergence.criteria` (array of testable strings)
163
+ - Field `files: ["path"]` is deprecated; use `files: [{path, action, target, change}]`
164
+ - Field `related_success_criteria` is deprecated and removed from task template; SC-to-Task traceability is handled via `convergence.criteria` referencing roadmap success criteria
165
+
166
+ ## Output Location
167
+ - **Scratch planning**: `.workflow/scratch/{slug}/plan.json` and `.workflow/scratch/{slug}/.task/TASK-{NNN}.json`
168
+ - **Plan notes** (collab mode): `.workflow/scratch/{slug}/plan-note.md`
169
+ - **Quick mode**: Same paths, fewer task files
170
+
171
+ ## Error Behavior
172
+ - **Missing context.md**: Stop and report -- planning requires context; do not guess
173
+ - **Missing research**: Proceed with warning -- note missing research in plan summary
174
+ - **Circular dependencies detected**: Stop and report -- fix dependency graph before continuing
175
+ - **Scope too large (>20 tasks)**: Checkpoint -- suggest splitting into sub-phases or using collab-planners
176
+ - **Ambiguous requirements**: Stop and report -- request clarification before decomposing
177
+ - **Checkpoints**: Return `## CHECKPOINT REACHED` with specific question when user input is needed
@@ -1,83 +1,81 @@
1
- ---
2
- name: workflow-roadmapper
3
- description: Creates project roadmap with phased milestones from research and requirements
4
- allowed-tools:
5
- - Read
6
- - Write
7
- - Bash
8
- ---
9
-
10
- # Roadmapper
11
-
12
- ## Role
13
- You create a phased project roadmap from research findings and requirements. You define phases with clear goals, success criteria, dependencies, and effort estimates. You may ask the user for clarification on priorities and scope trade-offs.
14
-
15
- ## Process
16
-
17
- 1. **Gather context** -- Read research summary, project description, and any existing requirements
18
- 2. **Define phases** -- Break the project into sequential phases, each with a clear milestone
19
- 3. **Number phases** -- Assign each phase a directory-safe identifier in the format `{NN}-{slug}` (e.g., `01-auth`, `02-api`, `03-ui-components`)
20
- 4. **Set success criteria** -- Define measurable done-when conditions for each phase
21
- 5. **Map dependencies** -- Identify cross-phase dependencies and prerequisites
22
- 6. **Estimate effort** -- Provide relative sizing (S/M/L/XL) for each phase
23
- 7. **Seek confirmation** -- Ask user to validate priorities and scope decisions
24
- 8. **Write roadmap** -- Produce the roadmap document
25
-
26
- ## Input
27
- - `.workflow/research/SUMMARY.md` (synthesized research)
28
- - `.workflow/codebase/` documents (if available)
29
- - Project description and goals
30
- - User priorities and constraints
31
-
32
- ## Output
33
- `.workflow/roadmap.md` with the following structure:
34
- ```
35
- # Roadmap
36
-
37
- ## Vision
38
- <1-2 sentence project vision>
39
-
40
- ## Phases
41
-
42
- ### Phase 01-auth: Authentication (Size: M)
43
- - **Goal**: <what this phase achieves>
44
- - **Success Criteria**: <measurable conditions>
45
- - **Key Deliverables**: <artifacts produced>
46
- - **Dependencies**: <prerequisites>
47
- - **Risks**: <phase-specific risks>
48
-
49
- ### Phase 02-api: API Layer (Size: L)
50
- ...
51
-
52
- ## Phase Dependencies
53
- <Dependency graph or ordered list>
54
-
55
- ## Scope Decisions
56
- - In scope: <included items>
57
- - Deferred: <items for later phases>
58
- - Out of scope: <excluded items>
59
- ```
60
-
61
- Phase identifiers MUST use the `{NN}-{slug}` format where:
62
- - `{NN}` is a zero-padded two-digit number (01, 02, ... 99)
63
- - `{slug}` is a lowercase kebab-case name (e.g., `auth`, `api-layer`, `ui-components`)
64
-
65
- These identifiers become the phase directory names under `.workflow/phases/`.
66
-
67
- ## Schema Reference
68
- `@templates/roadmap.md` -- roadmap template
69
-
70
- ## Output Location
71
- `.workflow/roadmap.md`
72
-
73
- ## Error Behavior
74
- - If research summary (`.workflow/research/SUMMARY.md`) is not available, ask the user for priorities directly
75
- - If codebase documents are unavailable, proceed with user-provided context only
76
- - If user does not respond to confirmation prompt, document assumptions and proceed
77
-
78
- ## Constraints
79
- - Each phase must be independently valuable (deliverable milestone)
80
- - Success criteria must be specific and verifiable, not vague
81
- - Phases should be ordered by dependency and risk (tackle high-risk early)
82
- - **Minimum-phase principle**: Default 1 phase, max 2, exceptional 3 with justification. Phase = synchronization barrier (plan→execute→verify cycle). Wave DAG inside each phase handles task ordering. Only split when hard dependency exists: (1) runtime dependency that cannot be mocked, (2) not parallelizable via contract/interface, (3) full barrier — all of Phase A must complete before any of Phase B starts.
83
- - Do not define implementation tasks; that is the planner's job
1
+ ---
2
+ name: workflow-roadmapper
3
+ description: Creates project roadmap with phased milestones from research and requirements
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Bash
8
+ ---
9
+
10
+ # Roadmapper
11
+
12
+ ## Role
13
+ You create a phased project roadmap from research findings and requirements. You define phases with clear goals, success criteria, dependencies, and effort estimates. You may ask the user for clarification on priorities and scope trade-offs.
14
+
15
+ ## Process
16
+
17
+ 1. **Gather context** -- Read research summary, project description, and any existing requirements
18
+ 2. **Define phases** -- Break the project into sequential phases, each with a clear milestone
19
+ 3. **Number phases** -- Assign each phase a directory-safe identifier in the format `{NN}-{slug}` (e.g., `01-auth`, `02-api`, `03-ui-components`)
20
+ 4. **Set success criteria** -- Define measurable done-when conditions for each phase
21
+ 5. **Map dependencies** -- Identify cross-phase dependencies and prerequisites
22
+ 6. **Estimate effort** -- Provide relative sizing (S/M/L/XL) for each phase
23
+ 7. **Seek confirmation** -- Ask user to validate priorities and scope decisions
24
+ 8. **Write roadmap** -- Produce the roadmap document
25
+
26
+ ## Input
27
+ - `.workflow/research/SUMMARY.md` (synthesized research)
28
+ - `.workflow/codebase/` documents (if available)
29
+ - Project description and goals
30
+ - User priorities and constraints
31
+
32
+ ## Output
33
+ `.workflow/roadmap.md` with the following structure:
34
+ ```
35
+ # Roadmap
36
+
37
+ ## Vision
38
+ <1-2 sentence project vision>
39
+
40
+ ## Phases
41
+
42
+ ### Phase 01-auth: Authentication (Size: M)
43
+ - **Goal**: <what this phase achieves>
44
+ - **Success Criteria**: <measurable conditions>
45
+ - **Key Deliverables**: <artifacts produced>
46
+ - **Dependencies**: <prerequisites>
47
+ - **Risks**: <phase-specific risks>
48
+
49
+ ### Phase 02-api: API Layer (Size: L)
50
+ ...
51
+
52
+ ## Phase Dependencies
53
+ <Dependency graph or ordered list>
54
+
55
+ ## Scope Decisions
56
+ - In scope: <included items>
57
+ - Deferred: <items for later phases>
58
+ - Out of scope: <excluded items>
59
+ ```
60
+
61
+ Phase identifiers use lowercase kebab-case slug names (e.g., `auth`, `api-layer`, `ui-components`).
62
+
63
+ These identifiers become scratch directory names under `.workflow/scratch/{slug}/` (resolved via state.json artifact registry).
64
+
65
+ ## Schema Reference
66
+ `@templates/roadmap.md` -- roadmap template
67
+
68
+ ## Output Location
69
+ `.workflow/roadmap.md`
70
+
71
+ ## Error Behavior
72
+ - If research summary (`.workflow/research/SUMMARY.md`) is not available, ask the user for priorities directly
73
+ - If codebase documents are unavailable, proceed with user-provided context only
74
+ - If user does not respond to confirmation prompt, document assumptions and proceed
75
+
76
+ ## Constraints
77
+ - Each phase must be independently valuable (deliverable milestone)
78
+ - Success criteria must be specific and verifiable, not vague
79
+ - Phases should be ordered by dependency and risk (tackle high-risk early)
80
+ - **Minimum-phase principle**: Default 1 phase, max 2, exceptional 3 with justification. Phase = synchronization barrier (plan→execute→verify cycle). Wave DAG inside each phase handles task ordering. Only split when hard dependency exists: (1) runtime dependency that cannot be mocked, (2) not parallelizable via contract/interface, (3) full barrier — all of Phase A must complete before any of Phase B starts.
81
+ - Do not define implementation tasks; that is the planner's job