maestro-flow 0.3.10 → 0.3.12

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 (311) hide show
  1. package/.claude/agents/conceptual-planning-agent.md +1 -0
  2. package/.claude/agents/workflow-analyzer.md +114 -114
  3. package/.claude/agents/workflow-collab-planner.md +144 -144
  4. package/.claude/agents/workflow-debugger.md +102 -103
  5. package/.claude/agents/workflow-executor.md +127 -128
  6. package/.claude/agents/workflow-integration-checker.md +82 -82
  7. package/.claude/agents/workflow-nyquist-auditor.md +85 -84
  8. package/.claude/agents/workflow-phase-researcher.md +85 -85
  9. package/.claude/agents/workflow-plan-checker.md +90 -90
  10. package/.claude/agents/workflow-planner.md +178 -178
  11. package/.claude/agents/workflow-roadmapper.md +81 -83
  12. package/.claude/agents/workflow-verifier.md +119 -119
  13. package/.claude/commands/learn-decompose.md +176 -176
  14. package/.claude/commands/learn-follow.md +167 -167
  15. package/.claude/commands/learn-retro.md +3 -3
  16. package/.claude/commands/learn-second-opinion.md +2 -2
  17. package/.claude/commands/maestro-brainstorm.md +1 -0
  18. package/.claude/commands/maestro-coordinate.md +1 -3
  19. package/.claude/commands/maestro-fork.md +133 -111
  20. package/.claude/commands/maestro-merge.md +85 -77
  21. package/.claude/commands/maestro-plan.md +88 -2
  22. package/.claude/commands/maestro-roadmap.md +113 -2
  23. package/.claude/commands/maestro.md +1 -0
  24. package/.claude/commands/manage-harvest.md +131 -131
  25. package/.claude/commands/manage-issue.md +2 -2
  26. package/.claude/commands/quality-business-test.md +5 -5
  27. package/.claude/commands/quality-debug.md +3 -2
  28. package/.claude/commands/quality-retrospective.md +6 -4
  29. package/.claude/commands/quality-review.md +1 -1
  30. package/.claude/commands/quality-test-gen.md +5 -4
  31. package/.claude/commands/spec-add.md +67 -56
  32. package/.claude/commands/spec-load.md +66 -64
  33. package/.claude/commands/spec-setup.md +5 -9
  34. package/.codex/skills/learn-decompose/SKILL.md +119 -0
  35. package/.codex/skills/learn-follow/SKILL.md +83 -0
  36. package/.codex/skills/learn-investigate/SKILL.md +83 -0
  37. package/.codex/skills/learn-retro/SKILL.md +83 -0
  38. package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
  39. package/.codex/skills/maestro/SKILL.md +151 -279
  40. package/.codex/skills/maestro-analyze/SKILL.md +59 -71
  41. package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
  42. package/.codex/skills/maestro-chain/SKILL.md +95 -110
  43. package/.codex/skills/maestro-coordinate/SKILL.md +68 -234
  44. package/.codex/skills/maestro-execute/SKILL.md +435 -446
  45. package/.codex/skills/maestro-fork/SKILL.md +98 -0
  46. package/.codex/skills/maestro-init/SKILL.md +172 -167
  47. package/.codex/skills/maestro-learn/SKILL.md +80 -0
  48. package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
  49. package/.codex/skills/maestro-merge/SKILL.md +69 -0
  50. package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
  51. package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
  52. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
  53. package/.codex/skills/maestro-overlay/SKILL.md +188 -185
  54. package/.codex/skills/maestro-plan/SKILL.md +58 -69
  55. package/.codex/skills/maestro-quick/SKILL.md +26 -23
  56. package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
  57. package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
  58. package/.codex/skills/maestro-ui-design/SKILL.md +35 -32
  59. package/.codex/skills/maestro-verify/SKILL.md +556 -566
  60. package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
  61. package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
  62. package/.codex/skills/manage-harvest/SKILL.md +82 -0
  63. package/.codex/skills/manage-issue/SKILL.md +80 -65
  64. package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
  65. package/.codex/skills/manage-learn/SKILL.md +190 -186
  66. package/.codex/skills/manage-memory/SKILL.md +95 -72
  67. package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
  68. package/.codex/skills/manage-status/SKILL.md +102 -89
  69. package/.codex/skills/quality-business-test/SKILL.md +228 -223
  70. package/.codex/skills/quality-debug/SKILL.md +54 -66
  71. package/.codex/skills/quality-integration-test/SKILL.md +532 -544
  72. package/.codex/skills/quality-refactor/SKILL.md +197 -191
  73. package/.codex/skills/quality-retrospective/SKILL.md +512 -505
  74. package/.codex/skills/quality-review/SKILL.md +95 -107
  75. package/.codex/skills/quality-sync/SKILL.md +101 -89
  76. package/.codex/skills/quality-test/SKILL.md +202 -198
  77. package/.codex/skills/quality-test-gen/SKILL.md +94 -105
  78. package/.codex/skills/spec-add/SKILL.md +58 -39
  79. package/.codex/skills/spec-load/SKILL.md +45 -40
  80. package/.codex/skills/spec-map/SKILL.md +180 -182
  81. package/.codex/skills/spec-setup/SKILL.md +94 -76
  82. package/.codex/skills/team-coordinate/SKILL.md +346 -357
  83. package/.codex/skills/team-executor/SKILL.md +70 -112
  84. package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
  85. package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
  86. package/.codex/skills/team-review/SKILL.md +232 -225
  87. package/.codex/skills/team-tech-debt/SKILL.md +78 -100
  88. package/.codex/skills/team-testing/SKILL.md +242 -235
  89. package/.codex/skills/wiki-connect/SKILL.md +75 -0
  90. package/.codex/skills/wiki-digest/SKILL.md +87 -0
  91. package/README.md +9 -4
  92. package/README.zh-CN.md +9 -4
  93. package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
  94. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
  95. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
  96. package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
  98. package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
  99. package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
  100. package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
  101. package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
  102. package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
  103. package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
  104. package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
  105. package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
  106. package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
  107. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
  108. package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
  109. package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
  110. package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
  111. package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
  112. package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
  113. package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
  114. package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
  115. package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
  116. package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
  117. package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
  118. package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
  119. package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
  120. package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
  121. package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
  122. package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
  123. package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
  124. package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
  125. package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
  126. package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
  127. package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
  128. package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
  129. package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
  130. package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
  131. package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
  132. package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
  133. package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
  134. package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
  135. package/dashboard/dist/index.html +2 -2
  136. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
  137. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
  139. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
  140. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
  141. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
  142. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
  143. package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
  144. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  145. package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
  146. package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
  148. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
  149. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  150. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
  151. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
  152. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  153. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
  154. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
  155. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
  156. package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
  157. package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
  158. package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
  159. package/dashboard/dist-server/dashboard/src/shared/constants.js +10 -0
  160. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  161. package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
  162. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
  163. package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
  164. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  165. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +22 -0
  166. package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
  167. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  168. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
  169. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +28 -2
  170. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  171. package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
  172. package/dashboard/dist-server/src/hooks/constants.d.ts +3 -1
  173. package/dashboard/dist-server/src/hooks/constants.js +4 -2
  174. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  175. package/dist/shared/agent-types.d.ts +4 -0
  176. package/dist/shared/agent-types.d.ts.map +1 -1
  177. package/dist/src/commands/collab.js +4 -4
  178. package/dist/src/commands/collab.js.map +1 -1
  179. package/dist/src/commands/hooks.d.ts.map +1 -1
  180. package/dist/src/commands/hooks.js +66 -1
  181. package/dist/src/commands/hooks.js.map +1 -1
  182. package/dist/src/commands/install-backend.d.ts.map +1 -1
  183. package/dist/src/commands/install-backend.js +29 -18
  184. package/dist/src/commands/install-backend.js.map +1 -1
  185. package/dist/src/commands/spec.d.ts.map +1 -1
  186. package/dist/src/commands/spec.js +7 -2
  187. package/dist/src/commands/spec.js.map +1 -1
  188. package/dist/src/hooks/__tests__/statusline-visual-test.js +23 -1
  189. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
  190. package/dist/src/hooks/constants.d.ts +3 -1
  191. package/dist/src/hooks/constants.d.ts.map +1 -1
  192. package/dist/src/hooks/constants.js +4 -2
  193. package/dist/src/hooks/constants.js.map +1 -1
  194. package/dist/src/hooks/guards/index.d.ts +1 -0
  195. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  196. package/dist/src/hooks/guards/index.js +1 -0
  197. package/dist/src/hooks/guards/index.js.map +1 -1
  198. package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
  199. package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
  200. package/dist/src/hooks/guards/spec-validator.js +66 -0
  201. package/dist/src/hooks/guards/spec-validator.js.map +1 -0
  202. package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
  203. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
  204. package/dist/src/hooks/keyword-spec-injector.js +96 -0
  205. package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
  206. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
  207. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  208. package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
  209. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  210. package/dist/src/hooks/skill-context.d.ts +3 -0
  211. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  212. package/dist/src/hooks/skill-context.js +95 -9
  213. package/dist/src/hooks/skill-context.js.map +1 -1
  214. package/dist/src/hooks/spec-bridge.d.ts +40 -0
  215. package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
  216. package/dist/src/hooks/spec-bridge.js +97 -0
  217. package/dist/src/hooks/spec-bridge.js.map +1 -0
  218. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  219. package/dist/src/hooks/spec-injector.js +18 -12
  220. package/dist/src/hooks/spec-injector.js.map +1 -1
  221. package/dist/src/hooks/statusline.d.ts.map +1 -1
  222. package/dist/src/hooks/statusline.js +6 -3
  223. package/dist/src/hooks/statusline.js.map +1 -1
  224. package/dist/src/team/phase-orchestrator.d.ts +52 -0
  225. package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
  226. package/dist/src/team/phase-orchestrator.js +165 -0
  227. package/dist/src/team/phase-orchestrator.js.map +1 -0
  228. package/dist/src/team/phase-types.d.ts +51 -0
  229. package/dist/src/team/phase-types.d.ts.map +1 -0
  230. package/dist/src/team/phase-types.js +41 -0
  231. package/dist/src/team/phase-types.js.map +1 -0
  232. package/dist/src/tools/index.d.ts.map +1 -1
  233. package/dist/src/tools/index.js +6 -0
  234. package/dist/src/tools/index.js.map +1 -1
  235. package/dist/src/tools/merge-validator.d.ts.map +1 -1
  236. package/dist/src/tools/merge-validator.js +114 -16
  237. package/dist/src/tools/merge-validator.js.map +1 -1
  238. package/dist/src/tools/spec-entry-parser.d.ts +56 -0
  239. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
  240. package/dist/src/tools/spec-entry-parser.js +196 -0
  241. package/dist/src/tools/spec-entry-parser.js.map +1 -0
  242. package/dist/src/tools/spec-init.d.ts.map +1 -1
  243. package/dist/src/tools/spec-init.js +66 -92
  244. package/dist/src/tools/spec-init.js.map +1 -1
  245. package/dist/src/tools/spec-keyword-index.d.ts +30 -0
  246. package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
  247. package/dist/src/tools/spec-keyword-index.js +101 -0
  248. package/dist/src/tools/spec-keyword-index.js.map +1 -0
  249. package/dist/src/tools/spec-loader.d.ts +3 -3
  250. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  251. package/dist/src/tools/spec-loader.js +49 -23
  252. package/dist/src/tools/spec-loader.js.map +1 -1
  253. package/dist/src/tools/team-agents.d.ts +27 -0
  254. package/dist/src/tools/team-agents.d.ts.map +1 -0
  255. package/dist/src/tools/team-agents.js +362 -0
  256. package/dist/src/tools/team-agents.js.map +1 -0
  257. package/dist/src/tools/team-mailbox.d.ts +40 -0
  258. package/dist/src/tools/team-mailbox.d.ts.map +1 -0
  259. package/dist/src/tools/team-mailbox.js +384 -0
  260. package/dist/src/tools/team-mailbox.js.map +1 -0
  261. package/dist/src/tools/team-msg.d.ts +17 -8
  262. package/dist/src/tools/team-msg.d.ts.map +1 -1
  263. package/dist/src/tools/team-msg.js +110 -13
  264. package/dist/src/tools/team-msg.js.map +1 -1
  265. package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
  266. package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
  267. package/dist/src/tools/team-tasks-mcp.js +408 -0
  268. package/dist/src/tools/team-tasks-mcp.js.map +1 -0
  269. package/package.json +2 -1
  270. package/shared/agent-types.ts +4 -0
  271. package/templates/worktree-scope.json +9 -10
  272. package/templates/worktrees.json +26 -27
  273. package/workflows/analyze.md +816 -816
  274. package/workflows/brainstorm.md +480 -471
  275. package/workflows/codebase-rebuild.md +332 -332
  276. package/workflows/codebase-refresh.md +240 -240
  277. package/workflows/debug.md +16 -6
  278. package/workflows/execute.md +1 -1
  279. package/workflows/fork.md +100 -36
  280. package/workflows/harvest.md +420 -420
  281. package/workflows/integration-test.md +355 -343
  282. package/workflows/issue-discover.md +414 -414
  283. package/workflows/issue.md +14 -4
  284. package/workflows/learn.md +19 -5
  285. package/workflows/maestro.md +1 -0
  286. package/workflows/map.md +111 -111
  287. package/workflows/merge.md +113 -55
  288. package/workflows/milestone-complete.md +176 -176
  289. package/workflows/plan.md +1 -1
  290. package/workflows/quick.md +497 -497
  291. package/workflows/refactor.md +300 -300
  292. package/workflows/retrospective.md +61 -22
  293. package/workflows/review.md +17 -4
  294. package/workflows/roadmap.md +335 -335
  295. package/workflows/spec-generate.md +640 -640
  296. package/workflows/specs-add.md +46 -81
  297. package/workflows/specs-load.md +15 -17
  298. package/workflows/specs-setup.md +40 -161
  299. package/workflows/test.md +12 -2
  300. package/workflows/ui-style.md +9 -2
  301. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
  302. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
  303. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
  304. package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
  305. package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
  306. package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
  307. package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
  308. package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
  309. package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
  310. package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
  311. package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
@@ -1,299 +1,311 @@
1
- ---
2
- name: team-lifecycle-v4
3
- description: Full lifecycle team skill with clean architecture. SKILL.md is a universal router — all roles read it. Beat model is coordinator-only. Structure is roles/ + specs/ + templates/. Triggers on "team lifecycle v4".
4
- allowed-tools: spawn_agent(*), wait_agent(*), send_message(*), followup_task(*), close_agent(*), list_agents(*), report_agent_job_result(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), request_user_input(*), mcp__maestro-tools__team_msg(*)
5
- ---
6
-
7
- # Team Lifecycle v4
8
-
9
- Orchestrate multi-agent software development: specification -> planning -> implementation -> testing -> review.
10
-
11
- ## Architecture
12
-
13
- ```
14
- Skill(skill="team-lifecycle-v4", args="task description")
15
- |
16
- SKILL.md (this file) = Router
17
- |
18
- +--------------+--------------+
19
- | |
20
- no --role flag --role <name>
21
- | |
22
- Coordinator Worker
23
- roles/coordinator/role.md roles/<name>/role.md
24
- |
25
- +-- analyze -> dispatch -> spawn -> wait -> collect
26
- |
27
- +--------+---+--------+
28
- v v v
29
- spawn_agent ... spawn_agent
30
- (team_worker) (team_supervisor)
31
- per-task resident agent
32
- lifecycle followup_task-driven
33
- | |
34
- +-- wait_agent --------+
35
- |
36
- collect results
37
- ```
38
-
39
- ## Role Registry
40
-
41
- | Role | Path | Prefix | Inner Loop |
42
- |------|------|--------|------------|
43
- | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | -- | -- |
44
- | analyst | [roles/analyst/role.md](roles/analyst/role.md) | RESEARCH-* | false |
45
- | writer | [roles/writer/role.md](roles/writer/role.md) | DRAFT-* | true |
46
- | planner | [roles/planner/role.md](roles/planner/role.md) | PLAN-* | true |
47
- | executor | [roles/executor/role.md](roles/executor/role.md) | IMPL-* | true |
48
- | tester | [roles/tester/role.md](roles/tester/role.md) | TEST-* | false |
49
- | reviewer | [roles/reviewer/role.md](roles/reviewer/role.md) | REVIEW-*, QUALITY-*, IMPROVE-* | false |
50
- | supervisor | [roles/supervisor/role.md](roles/supervisor/role.md) | CHECKPOINT-* | false |
51
-
52
- ## Role Router
53
-
54
- Parse `$ARGUMENTS`:
55
- - Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
56
- - No `--role` -> `roles/coordinator/role.md`, execute entry router
57
-
58
- ## Delegation Lock
59
-
60
- **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
61
-
62
- Before calling ANY tool, apply this check:
63
-
64
- | Tool Call | Verdict | Reason |
65
- |-----------|---------|--------|
66
- | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `followup_task` | ALLOWED | Orchestration |
67
- | `list_agents` | ALLOWED | Agent health check |
68
- | `request_user_input` | ALLOWED | User interaction |
69
- | `mcp__maestro-tools__team_msg` | ALLOWED | Message bus |
70
- | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
71
- | `Read` on `roles/`, `commands/`, `specs/`, `templates/` | ALLOWED | Loading own instructions |
72
- | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
73
- | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
74
- | `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
75
- | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
76
-
77
- **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
78
-
79
- **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
80
-
81
- ---
82
-
83
- ## Shared Constants
84
-
85
- - **Session prefix**: `TLV4`
86
- - **Session path**: `.workflow/.team/TLV4-<slug>-<date>/`
87
- - **State file**: `<session>/tasks.json`
88
- - **Discovery files**: `<session>/discoveries/{task_id}.json`
89
- - **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
90
-
91
- ## Worker Spawn Template
92
-
93
- Coordinator spawns workers using this template:
94
-
95
- ```
96
- spawn_agent({
97
- agent_type: "team_worker",
98
- task_name: "<task-id>",
99
- fork_turns: "none",
100
- message: `## Role Assignment
101
- role: <role>
102
- role_spec: <skill_root>/roles/<role>/role.md
103
- session: <session-folder>
104
- session_id: <session-id>
105
- requirement: <task-description>
106
- inner_loop: <true|false>
107
-
108
- Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
109
- Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).
110
-
111
- ## Task Context
112
- task_id: <task-id>
113
- title: <task-title>
114
- description: <task-description>
115
- pipeline_phase: <pipeline-phase>
116
-
117
- ## Upstream Context
118
- <prev_context>`
119
- })
120
- ```
121
-
122
- ## Supervisor Spawn Template
123
-
124
- Supervisor is a **resident agent** (independent from team_worker). Spawned once during session init, woken via followup_task for each CHECKPOINT task.
125
-
126
- ### Spawn (Phase 2 -- once per session)
127
-
128
- ```
129
- supervisorId = spawn_agent({
130
- agent_type: "team_supervisor",
131
- task_name: "supervisor",
132
- fork_turns: "none",
133
- message: `## Role Assignment
134
- role: supervisor
135
- role_spec: <skill_root>/roles/supervisor/role.md
136
- session: <session-folder>
137
- session_id: <session-id>
138
- requirement: <task-description>
139
-
140
- Read role_spec file (<skill_root>/roles/supervisor/role.md) to load checkpoint definitions.
141
- Init: load baseline context, report ready, go idle.
142
- Wake cycle: orchestrator sends checkpoint requests via followup_task.`
143
- })
144
- ```
145
-
146
- ### Wake (per CHECKPOINT task)
147
-
148
- ```
149
- followup_task({
150
- target: "supervisor",
151
- message: `## Checkpoint Request
152
- task_id: <CHECKPOINT-NNN>
153
- scope: [<upstream-task-ids>]
154
- pipeline_progress: <done>/<total> tasks completed`
155
- })
156
- wait_agent({ timeout_ms: 1800000 }) // 30 min
157
- ```
158
-
159
- ### Shutdown (pipeline complete)
160
-
161
- ```
162
- close_agent({ target: "supervisor" })
163
- ```
164
-
165
-
166
- ### Model Selection Guide
167
-
168
- | Role | model | reasoning_effort | Rationale |
169
- |------|-------|-------------------|-----------|
170
- | Analyst (RESEARCH-*) | (default) | medium | Read-heavy exploration, less reasoning needed |
171
- | Writer (DRAFT-*) | (default) | high | Spec writing requires precision and completeness |
172
- | Planner (PLAN-*) | (default) | high | Architecture decisions need full reasoning |
173
- | Executor (IMPL-*) | (default) | high | Code generation needs precision |
174
- | Tester (TEST-*) | (default) | high | Test generation requires deep code understanding |
175
- | Reviewer (REVIEW-*, QUALITY-*, IMPROVE-*) | (default) | high | Deep analysis for quality assessment |
176
- | Supervisor (CHECKPOINT-*) | (default) | medium | Gate checking, report aggregation |
177
-
178
- Override model/reasoning_effort in spawn_agent when cost optimization is needed:
179
- ```
180
- spawn_agent({
181
- agent_type: "team_worker",
182
- task_name: "<task-id>",
183
- fork_turns: "none",
184
- model: "<model-override>",
185
- reasoning_effort: "<effort-level>",
186
- message: "..."
187
- })
188
- ```
189
-
190
- ## Wave Execution Engine
191
-
192
- For each wave in the pipeline:
193
-
194
- 1. **Load state** -- Read `<session>/tasks.json`, filter tasks for current wave
195
- 2. **Skip failed deps** -- Mark tasks whose dependencies failed/skipped as `skipped`
196
- 3. **Build upstream context** -- For each task, gather findings from `context_from` tasks via tasks.json and `discoveries/{id}.json`
197
- 4. **Separate task types** -- Split into regular tasks and CHECKPOINT tasks
198
- 5. **Spawn regular tasks** -- For each regular task, call `spawn_agent({ agent_type: "team_worker", message: "..." })`, collect agent IDs
199
- 6. **Wait** -- `wait_agent({ timeout_ms: 1800000 })` (30 min). If `result.timed_out`, send STATUS_CHECK via followup_task (wait 3 min), then FINALIZE with interrupt (wait 3 min), then mark timed_out and close agents.
200
- 7. **Collect results** -- Read `discoveries/{task_id}.json` for each agent, update tasks.json status/findings/error, then `close_agent({ target })` each worker
201
- 8. **Execute checkpoints** -- For each CHECKPOINT task, `followup_task` to supervisor, `wait_agent`, read checkpoint report from `artifacts/`, parse verdict
202
- 9. **Handle block** -- If verdict is `block`, prompt user via `request_user_input` with options: Override / Revise upstream / Abort
203
- 10. **Persist** -- Write updated state to `<session>/tasks.json`
204
-
205
- ## User Commands
206
-
207
- | Command | Action |
208
- |---------|--------|
209
- | `check` / `status` | View execution status graph |
210
- | `resume` / `continue` | Advance to next step |
211
- | `revise <TASK-ID> [feedback]` | Revise specific task |
212
- | `feedback <text>` | Inject feedback for revision |
213
- | `recheck` | Re-run quality check |
214
- | `improve [dimension]` | Auto-improve weakest dimension |
215
-
216
- ## v4 Agent Coordination
217
-
218
- ### Message Semantics
219
-
220
- | Intent | API | Example |
221
- |--------|-----|---------|
222
- | Queue supplementary info (don't interrupt) | `send_message` | Send planning results to running implementers |
223
- | Wake resident supervisor for checkpoint | `followup_task` | Trigger CHECKPOINT-* evaluation on supervisor |
224
- | Supervisor reports back to coordinator | `send_message` | Supervisor sends checkpoint verdict as supplementary info |
225
- | Check running agents | `list_agents` | Verify agent + supervisor health during resume |
226
-
227
- **CRITICAL**: The supervisor is a **resident agent** woken via `followup_task`, NOT `send_message`. Regular workers complete and are closed; the supervisor persists across checkpoints. See "Supervisor Spawn Template" above.
228
-
229
- ### Agent Health Check
230
-
231
- Use `list_agents({})` in handleResume and handleComplete:
232
-
233
- ```
234
- // Reconcile session state with actual running agents
235
- const running = list_agents({})
236
- // Compare with tasks.json active_agents
237
- // Reset orphaned tasks (in_progress but agent gone) to pending
238
- // ALSO check supervisor: if supervisor missing but CHECKPOINT tasks pending -> respawn
239
- ```
240
-
241
- ### Named Agent Targeting
242
-
243
- Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
244
- - `send_message({ target: "IMPL-001", message: "..." })` -- queue planning context to running implementer
245
- - `followup_task({ target: "supervisor", message: "..." })` -- wake supervisor for checkpoint
246
- - `close_agent({ target: "IMPL-001" })` -- cleanup regular worker by name
247
- - `close_agent({ target: "supervisor" })` -- shutdown supervisor at pipeline end
248
-
249
- ## Completion Action
250
-
251
- When pipeline completes, coordinator presents:
252
-
253
- ```
254
- request_user_input({
255
- questions: [{
256
- question: "Pipeline complete. What would you like to do?",
257
- header: "Completion",
258
- multiSelect: false,
259
- options: [
260
- { label: "Archive & Clean (Recommended)", description: "Archive session, clean up resources" },
261
- { label: "Keep Active", description: "Keep session for follow-up work" },
262
- { label: "Export Results", description: "Export deliverables to target directory" }
263
- ]
264
- }]
265
- })
266
- ```
267
-
268
- ## Specs Reference
269
-
270
- - [specs/pipelines.md](specs/pipelines.md) -- Pipeline definitions and task registry
271
- - [specs/quality-gates.md](specs/quality-gates.md) -- Quality gate criteria and scoring
272
- - [specs/knowledge-transfer.md](specs/knowledge-transfer.md) -- Artifact and state transfer protocols
273
-
274
- ## Session Directory
275
-
276
- ```
277
- .workflow/.team/TLV4-<slug>-<date>/
278
- ├── tasks.json # Task state (JSON)
279
- ├── discoveries/ # Per-task findings ({task_id}.json)
280
- ├── spec/ # Spec phase outputs
281
- ├── plan/ # Implementation plan
282
- ├── artifacts/ # All deliverables
283
- ├── wisdom/ # Cross-task knowledge
284
- ├── explorations/ # Shared explore cache
285
- └── discussions/ # Discuss round records
286
- ```
287
-
288
- ## Error Handling
289
-
290
- | Scenario | Resolution |
291
- |----------|------------|
292
- | Unknown command | Error with available command list |
293
- | Role not found | Error with role registry |
294
- | CLI tool fails | Worker fallback to direct implementation |
295
- | Supervisor crash | Respawn with `recovery: true`, auto-rebuilds from existing reports |
296
- | Supervisor not ready for CHECKPOINT | Spawn/respawn supervisor, wait for ready, then wake |
297
- | Completion action fails | Default to Keep Active |
298
- | Worker timeout | Mark task as failed, continue wave |
299
- | Discovery file missing | Mark task as failed with "No discovery file produced" |
1
+ ---
2
+ name: team-lifecycle-v4
3
+ description: Full lifecycle team skill with clean architecture. SKILL.md is a universal router — all roles read it. Beat model is coordinator-only. Structure is roles/ + specs/ + templates/. Triggers on "team lifecycle v4".
4
+ allowed-tools: spawn_agent(*), wait_agent(*), send_message(*), followup_task(*), close_agent(*), list_agents(*), report_agent_job_result(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), request_user_input(*), mcp__maestro-tools__team_msg(*)
5
+ ---
6
+
7
+ <purpose>
8
+ Orchestrate multi-agent software development: specification -> planning -> implementation -> testing -> review.
9
+
10
+ ```
11
+ Skill(skill="team-lifecycle-v4", args="task description")
12
+ |
13
+ SKILL.md (this file) = Router
14
+ |
15
+ +--------------+--------------+
16
+ | |
17
+ no --role flag --role <name>
18
+ | |
19
+ Coordinator Worker
20
+ roles/coordinator/role.md roles/<name>/role.md
21
+ |
22
+ +-- analyze -> dispatch -> spawn -> wait -> collect
23
+ |
24
+ +--------+---+--------+
25
+ v v v
26
+ spawn_agent ... spawn_agent
27
+ (team_worker) (team_supervisor)
28
+ per-task resident agent
29
+ lifecycle followup_task-driven
30
+ | |
31
+ +-- wait_agent --------+
32
+ |
33
+ collect results
34
+ ```
35
+ </purpose>
36
+
37
+ <context>
38
+ ### Role Registry
39
+
40
+ | Role | Path | Prefix | Inner Loop |
41
+ |------|------|--------|------------|
42
+ | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | -- | -- |
43
+ | analyst | [roles/analyst/role.md](roles/analyst/role.md) | RESEARCH-* | false |
44
+ | writer | [roles/writer/role.md](roles/writer/role.md) | DRAFT-* | true |
45
+ | planner | [roles/planner/role.md](roles/planner/role.md) | PLAN-* | true |
46
+ | executor | [roles/executor/role.md](roles/executor/role.md) | IMPL-* | true |
47
+ | tester | [roles/tester/role.md](roles/tester/role.md) | TEST-* | false |
48
+ | reviewer | [roles/reviewer/role.md](roles/reviewer/role.md) | REVIEW-*, QUALITY-*, IMPROVE-* | false |
49
+ | supervisor | [roles/supervisor/role.md](roles/supervisor/role.md) | CHECKPOINT-* | false |
50
+
51
+ ### Role Router
52
+
53
+ Parse `$ARGUMENTS`:
54
+ - Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
55
+ - No `--role` -> `roles/coordinator/role.md`, execute entry router
56
+
57
+ ### Delegation Lock
58
+
59
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
60
+
61
+ Before calling ANY tool, apply this check:
62
+
63
+ | Tool Call | Verdict | Reason |
64
+ |-----------|---------|--------|
65
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `followup_task` | ALLOWED | Orchestration |
66
+ | `list_agents` | ALLOWED | Agent health check |
67
+ | `request_user_input` | ALLOWED | User interaction |
68
+ | `mcp__maestro-tools__team_msg` | ALLOWED | Message bus |
69
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
70
+ | `Read` on `roles/`, `commands/`, `specs/`, `templates/` | ALLOWED | Loading own instructions |
71
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
72
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
73
+ | `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
74
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
75
+
76
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
77
+
78
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
79
+
80
+ ### Shared Constants
81
+
82
+ - **Session prefix**: `TLV4`
83
+ - **Session path**: `.workflow/.team/TLV4-<slug>-<date>/`
84
+ - **State file**: `<session>/tasks.json`
85
+ - **Discovery files**: `<session>/discoveries/{task_id}.json`
86
+ - **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
87
+
88
+ ### Worker Spawn Template
89
+
90
+ Coordinator spawns workers using this template:
91
+
92
+ ```
93
+ spawn_agent({
94
+ agent_type: "team_worker",
95
+ task_name: "<task-id>",
96
+ fork_turns: "none",
97
+ message: `## Role Assignment
98
+ role: <role>
99
+ role_spec: <skill_root>/roles/<role>/role.md
100
+ session: <session-folder>
101
+ session_id: <session-id>
102
+ requirement: <task-description>
103
+ inner_loop: <true|false>
104
+
105
+ Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
106
+ Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).
107
+
108
+ ## Task Context
109
+ task_id: <task-id>
110
+ title: <task-title>
111
+ description: <task-description>
112
+ pipeline_phase: <pipeline-phase>
113
+
114
+ ## Upstream Context
115
+ <prev_context>`
116
+ })
117
+ ```
118
+
119
+ ### Supervisor Spawn Template
120
+
121
+ Supervisor is a **resident agent** (independent from team_worker). Spawned once during session init, woken via followup_task for each CHECKPOINT task.
122
+
123
+ #### Spawn (Phase 2 -- once per session)
124
+
125
+ ```
126
+ supervisorId = spawn_agent({
127
+ agent_type: "team_supervisor",
128
+ task_name: "supervisor",
129
+ fork_turns: "none",
130
+ message: `## Role Assignment
131
+ role: supervisor
132
+ role_spec: <skill_root>/roles/supervisor/role.md
133
+ session: <session-folder>
134
+ session_id: <session-id>
135
+ requirement: <task-description>
136
+
137
+ Read role_spec file (<skill_root>/roles/supervisor/role.md) to load checkpoint definitions.
138
+ Init: load baseline context, report ready, go idle.
139
+ Wake cycle: orchestrator sends checkpoint requests via followup_task.`
140
+ })
141
+ ```
142
+
143
+ #### Wake (per CHECKPOINT task)
144
+
145
+ ```
146
+ followup_task({
147
+ target: "supervisor",
148
+ message: `## Checkpoint Request
149
+ task_id: <CHECKPOINT-NNN>
150
+ scope: [<upstream-task-ids>]
151
+ pipeline_progress: <done>/<total> tasks completed`
152
+ })
153
+ wait_agent({ timeout_ms: 1800000 }) // 30 min
154
+ ```
155
+
156
+ #### Shutdown (pipeline complete)
157
+
158
+ ```
159
+ close_agent({ target: "supervisor" })
160
+ ```
161
+
162
+ ### Model Selection Guide
163
+
164
+ | Role | model | reasoning_effort | Rationale |
165
+ |------|-------|-------------------|-----------|
166
+ | Analyst (RESEARCH-*) | (default) | medium | Read-heavy exploration, less reasoning needed |
167
+ | Writer (DRAFT-*) | (default) | high | Spec writing requires precision and completeness |
168
+ | Planner (PLAN-*) | (default) | high | Architecture decisions need full reasoning |
169
+ | Executor (IMPL-*) | (default) | high | Code generation needs precision |
170
+ | Tester (TEST-*) | (default) | high | Test generation requires deep code understanding |
171
+ | Reviewer (REVIEW-*, QUALITY-*, IMPROVE-*) | (default) | high | Deep analysis for quality assessment |
172
+ | Supervisor (CHECKPOINT-*) | (default) | medium | Gate checking, report aggregation |
173
+
174
+ Override model/reasoning_effort in spawn_agent when cost optimization is needed:
175
+ ```
176
+ spawn_agent({
177
+ agent_type: "team_worker",
178
+ task_name: "<task-id>",
179
+ fork_turns: "none",
180
+ model: "<model-override>",
181
+ reasoning_effort: "<effort-level>",
182
+ message: "..."
183
+ })
184
+ ```
185
+
186
+ ### v4 Agent Coordination
187
+
188
+ #### Message Semantics
189
+
190
+ | Intent | API | Example |
191
+ |--------|-----|---------|
192
+ | Queue supplementary info (don't interrupt) | `send_message` | Send planning results to running implementers |
193
+ | Wake resident supervisor for checkpoint | `followup_task` | Trigger CHECKPOINT-* evaluation on supervisor |
194
+ | Supervisor reports back to coordinator | `send_message` | Supervisor sends checkpoint verdict as supplementary info |
195
+ | Check running agents | `list_agents` | Verify agent + supervisor health during resume |
196
+
197
+ **CRITICAL**: The supervisor is a **resident agent** woken via `followup_task`, NOT `send_message`. Regular workers complete and are closed; the supervisor persists across checkpoints. See "Supervisor Spawn Template" above.
198
+
199
+ #### Agent Health Check
200
+
201
+ Use `list_agents({})` in handleResume and handleComplete:
202
+
203
+ ```
204
+ // Reconcile session state with actual running agents
205
+ const running = list_agents({})
206
+ // Compare with tasks.json active_agents
207
+ // Reset orphaned tasks (in_progress but agent gone) to pending
208
+ // ALSO check supervisor: if supervisor missing but CHECKPOINT tasks pending -> respawn
209
+ ```
210
+
211
+ #### Named Agent Targeting
212
+
213
+ Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
214
+ - `send_message({ target: "IMPL-001", message: "..." })` -- queue planning context to running implementer
215
+ - `followup_task({ target: "supervisor", message: "..." })` -- wake supervisor for checkpoint
216
+ - `close_agent({ target: "IMPL-001" })` -- cleanup regular worker by name
217
+ - `close_agent({ target: "supervisor" })` -- shutdown supervisor at pipeline end
218
+
219
+ ### User Commands
220
+
221
+ | Command | Action |
222
+ |---------|--------|
223
+ | `check` / `status` | View execution status graph |
224
+ | `resume` / `continue` | Advance to next step |
225
+ | `revise <TASK-ID> [feedback]` | Revise specific task |
226
+ | `feedback <text>` | Inject feedback for revision |
227
+ | `recheck` | Re-run quality check |
228
+ | `improve [dimension]` | Auto-improve weakest dimension |
229
+
230
+ ### Completion Action
231
+
232
+ When pipeline completes, coordinator presents:
233
+
234
+ ```
235
+ request_user_input({
236
+ questions: [{
237
+ question: "Pipeline complete. What would you like to do?",
238
+ header: "Completion",
239
+ multiSelect: false,
240
+ options: [
241
+ { label: "Archive & Clean (Recommended)", description: "Archive session, clean up resources" },
242
+ { label: "Keep Active", description: "Keep session for follow-up work" },
243
+ { label: "Export Results", description: "Export deliverables to target directory" }
244
+ ]
245
+ }]
246
+ })
247
+ ```
248
+
249
+ ### Specs Reference
250
+
251
+ - [specs/pipelines.md](specs/pipelines.md) -- Pipeline definitions and task registry
252
+ - [specs/quality-gates.md](specs/quality-gates.md) -- Quality gate criteria and scoring
253
+ - [specs/knowledge-transfer.md](specs/knowledge-transfer.md) -- Artifact and state transfer protocols
254
+
255
+ ### Session Directory
256
+
257
+ ```
258
+ .workflow/.team/TLV4-<slug>-<date>/
259
+ +-- tasks.json # Task state (JSON)
260
+ +-- discoveries/ # Per-task findings ({task_id}.json)
261
+ +-- spec/ # Spec phase outputs
262
+ +-- plan/ # Implementation plan
263
+ +-- artifacts/ # All deliverables
264
+ +-- wisdom/ # Cross-task knowledge
265
+ +-- explorations/ # Shared explore cache
266
+ +-- discussions/ # Discuss round records
267
+ ```
268
+ </context>
269
+
270
+ <execution>
271
+
272
+ ### Wave Execution Engine
273
+
274
+ For each wave in the pipeline:
275
+
276
+ 1. **Load state** -- Read `<session>/tasks.json`, filter tasks for current wave
277
+ 2. **Skip failed deps** -- Mark tasks whose dependencies failed/skipped as `skipped`
278
+ 3. **Build upstream context** -- For each task, gather findings from `context_from` tasks via tasks.json and `discoveries/{id}.json`
279
+ 4. **Separate task types** -- Split into regular tasks and CHECKPOINT tasks
280
+ 5. **Spawn regular tasks** -- For each regular task, call `spawn_agent({ agent_type: "team_worker", message: "..." })`, collect agent IDs
281
+ 6. **Wait** -- `wait_agent({ timeout_ms: 1800000 })` (30 min). If `result.timed_out`, send STATUS_CHECK via followup_task (wait 3 min), then FINALIZE with interrupt (wait 3 min), then mark timed_out and close agents.
282
+ 7. **Collect results** -- Read `discoveries/{task_id}.json` for each agent, update tasks.json status/findings/error, then `close_agent({ target })` each worker
283
+ 8. **Execute checkpoints** -- For each CHECKPOINT task, `followup_task` to supervisor, `wait_agent`, read checkpoint report from `artifacts/`, parse verdict
284
+ 9. **Handle block** -- If verdict is `block`, prompt user via `request_user_input` with options: Override / Revise upstream / Abort
285
+ 10. **Persist** -- Write updated state to `<session>/tasks.json`
286
+ </execution>
287
+
288
+ <error_codes>
289
+
290
+ | Scenario | Resolution |
291
+ |----------|------------|
292
+ | Unknown command | Error with available command list |
293
+ | Role not found | Error with role registry |
294
+ | CLI tool fails | Worker fallback to direct implementation |
295
+ | Supervisor crash | Respawn with `recovery: true`, auto-rebuilds from existing reports |
296
+ | Supervisor not ready for CHECKPOINT | Spawn/respawn supervisor, wait for ready, then wake |
297
+ | Completion action fails | Default to Keep Active |
298
+ | Worker timeout | Mark task as failed, continue wave |
299
+ | Discovery file missing | Mark task as failed with "No discovery file produced" |
300
+ </error_codes>
301
+
302
+ <success_criteria>
303
+ - [ ] Role router correctly dispatches to coordinator or worker based on --role flag
304
+ - [ ] Coordinator spawns workers with correct role-spec paths and task context
305
+ - [ ] Supervisor spawned once and woken via followup_task for checkpoints
306
+ - [ ] Wave execution engine processes tasks in dependency order
307
+ - [ ] Checkpoint verdicts respected (block prompts user, pass continues)
308
+ - [ ] Session state persisted in tasks.json after each wave
309
+ - [ ] Agent health reconciled on resume (orphaned tasks reset to pending)
310
+ - [ ] Completion action presented and handled correctly
311
+ </success_criteria>