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,198 +1,202 @@
1
- ---
2
- name: quality-test
3
- description: Conversational UAT with session persistence, auto-diagnosis, and gap-plan closure loop. Interactive testing flow with severity inference and parallel debug agents.
4
- argument-hint: "<phase> [--auto-fix] [--session ID]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion
6
- ---
7
-
8
- ## Auto Mode
9
-
10
- No auto mode -- UAT is inherently interactive. `--auto-fix` only automates gap closure, not test execution.
11
-
12
- # Test (UAT)
13
-
14
- ## Usage
15
-
16
- ```bash
17
- $quality-test "3" # test phase 3
18
- $quality-test "3 --smoke" # smoke tests first, then UAT
19
- $quality-test "3 --auto-fix" # auto-trigger gap-fix loop on failures
20
- $quality-test "--session 04-comments" # resume specific session
21
- ```
22
-
23
- **Flags**:
24
- - `<phase>`: Phase number or scratch task ID
25
- - `--smoke`: Run cold-start smoke tests before UAT
26
- - `--auto-fix`: Auto-trigger gap-fix loop (plan --gaps -> execute -> re-verify) on failures
27
- - `--session ID`: Resume a specific UAT session
28
-
29
- **Output**: `{target_dir}/uat.md` + `.tests/test-plan.json` + `.tests/test-results.json` + `.tests/coverage-report.json`
30
-
31
- ---
32
-
33
- ## Overview
34
-
35
- Conversational UAT: present expected behavior one test at a time, user confirms or describes issues. Severity inferred from natural language (never asked). Session persists in `uat.md` across context resets. Failed tests trigger parallel debug agent diagnosis and optional gap-fix closure.
36
-
37
- **Philosophy**: Show expected, ask if reality matches.
38
-
39
- ---
40
-
41
- ## Implementation
42
-
43
- ### Step 1: Resolve Target
44
-
45
- 1. Parse `$ARGUMENTS` for phase number, scratch task ID, or flags
46
- 2. **Phase mode**: set `PHASE_DIR = .workflow/phases/{NN}-{slug}/`
47
- 3. **Scratch mode**: set `SCRATCH_DIR = .workflow/scratch/{id}/`
48
- 4. Validate target exists and has `verification.json` -- if missing: **E002**
49
-
50
- ### Step 2: Check Active Sessions
51
-
52
- ```bash
53
- find .workflow/phases -name "uat.md" -type f 2>/dev/null | head -5
54
- find .workflow/scratch -name "uat.md" -type f 2>/dev/null | head -5
55
- ```
56
-
57
- - If active sessions exist and no target specified: display session table, ask user to resume or start new
58
- - If `--session ID` specified: resume that session directly (skip to Step 9)
59
- - If session exists for target: offer resume or restart
60
-
61
- ### Step 3: Smoke Tests (if --smoke)
62
-
63
- Run basic sanity checks (app starts, routes respond, build clean, deps installed).
64
- If any smoke fails: **E003** -- abort, suggest Skill({ skill: "quality-debug" })
65
-
66
- ### Step 4: Load Verification Context
67
-
68
- Read from target directory: verification.json, validation.json, index.json, plan.json, `.summaries/TASK-*.md`. Build testable list from user-observable outcomes.
69
-
70
- ### Step 5: Design Test Scenarios
71
-
72
- Create scenarios from testables (id T-001, name, category, expected behavior, requirement_ref). Focus on USER-OBSERVABLE outcomes. Write `{target_dir}/.tests/test-plan.json`.
73
-
74
- ### Step 6: Create UAT File
75
-
76
- Archive previous `uat.md` to `.history/` if exists.
77
- Write `{target_dir}/uat.md` with frontmatter (status, target, started), Current Test section, Tests section (all pending), Summary counters, empty Gaps section.
78
-
79
- ### Step 7: Present Test (Interactive Loop)
80
-
81
- Present one test at a time:
82
- ```
83
- ------------------------------------------------------------
84
- TEST {number}/{total}: {name}
85
- ------------------------------------------------------------
86
-
87
- Expected behavior:
88
- {expected}
89
-
90
- ------------------------------------------------------------
91
- > Type "pass" or describe what's wrong
92
- ------------------------------------------------------------
93
- ```
94
-
95
- Wait for user response (plain text).
96
-
97
- ### Step 8: Process Response
98
-
99
- | Response | Action |
100
- |----------|--------|
101
- | empty, "yes", "y", "ok", "pass", "next" | Mark as pass |
102
- | "skip", "can't test", "n/a" | Mark as skipped |
103
- | Anything else | Log as issue, infer severity |
104
-
105
- **Severity inference** (never ask):
106
- - "crashes", "error", "fails completely" -> blocker
107
- - "doesn't work", "wrong behavior", "broken" -> major
108
- - "works but...", "slow", "minor issue" -> minor
109
- - "color", "spacing", "typo" -> cosmetic
110
- - Default: major
111
-
112
- **On issue**: auto-create issue in `.workflow/issues/issues.jsonl` with back-reference.
113
-
114
- **Batched writes**: write to file on issue, every 5 passes, or completion.
115
-
116
- If more tests: update Current Test, loop to Step 7.
117
- If done: go to Step 10.
118
-
119
- ### Step 9: Resume From File
120
-
121
- Read `uat.md`, find first `result: [pending]` test, announce progress, continue from there (go to Step 7).
122
-
123
- ### Step 10: Complete Session
124
-
125
- 1. Update `uat.md` frontmatter: status -> "complete"
126
- 2. Archive previous result artifacts to `.history/`
127
- 3. Write `.tests/test-results.json` and `.tests/coverage-report.json`
128
- 4. Update `index.json` with UAT results
129
- 5. If no issues: go to Step 13
130
- 6. If issues found: go to Step 11
131
-
132
- ### Step 11: Auto-Diagnose
133
-
134
- Cluster related gaps by component/area. Spawn one debug Agent per cluster:
135
-
136
- ```
137
- Agent({
138
- subagent_type: "general-purpose",
139
- description: "Diagnose UAT gap cluster: {cluster_name}",
140
- prompt: "Investigate UAT failures. Gaps: {gap list}. Find root cause, fix direction, affected files, evidence (file:line).",
141
- run_in_background: false
142
- })
143
- ```
144
-
145
- Update `uat.md` gaps with diagnosis results (root_cause, fix_direction, affected_files).
146
-
147
- ### Step 12: Gap Closure Decision
148
-
149
- **If `--auto-fix`**: execute gap-fix loop directly.
150
-
151
- **Otherwise**: present diagnosis summary and offer options:
152
- 1. Auto-fix (plan --gaps -> execute -> re-verify, max 2 iterations)
153
- 2. Debug deep -- Skill({ skill: "quality-debug" })
154
- 3. Plan fixes -- Skill({ skill: "maestro-plan", args: "--gaps" })
155
- 4. Manual fix
156
-
157
- Update issue lifecycle during gap-fix loop (registered -> planning -> executing -> completed/failed).
158
-
159
- ### Step 13: Report
160
-
161
- ```
162
- === UAT RESULTS ===
163
- Target: {target}
164
- Smoke Tests: {smoke_count} run, {smoke_pass} passed
165
- UAT Tests: {total} total
166
- Passed: {passed}
167
- Issues: {issues} ({blocker_count} blockers, {major_count} major)
168
- Skipped: {skipped}
169
- Diagnosis: {diagnosed_count}/{issues} gaps diagnosed
170
- Auto-fix: {fixed_count} gaps resolved
171
-
172
- Next steps:
173
- {suggested_next_command}
174
- ```
175
-
176
- ---
177
-
178
- ## Error Handling
179
-
180
- | Code | Severity | Condition | Recovery |
181
- |------|----------|-----------|----------|
182
- | E001 | error | Phase or task target required | Prompt user for phase number |
183
- | E002 | error | Phase not verified (no verification.json) | Suggest Skill({ skill: "maestro-verify" }) |
184
- | E003 | error | Smoke test failed (app won't start) | Suggest Skill({ skill: "quality-debug" }) |
185
- | W001 | warning | Test scenarios failed | Auto-diagnose, suggest fix options |
186
- | W002 | warning | Coverage below threshold | Suggest Skill({ skill: "quality-test-gen" }) |
187
-
188
- ---
189
-
190
- ## Core Rules
191
-
192
- - **One test at a time** -- never batch-present tests
193
- - **Never ask severity** -- always infer from natural language
194
- - **Session persistence** -- uat.md survives context resets, resume from any point
195
- - **Batched writes** -- minimize file I/O (on issue, every 5 passes, completion)
196
- - **Gap-fix loop max 2 iterations** -- prevent infinite loops
197
- - **Agent calls use `run_in_background: false`** for synchronous execution
198
- - **Auto-create issues** in `.workflow/issues/issues.jsonl` for every failed test
1
+ ---
2
+ name: quality-test
3
+ description: Conversational UAT with session persistence, auto-diagnosis, and gap-plan closure loop. Interactive testing flow with severity inference and parallel debug agents.
4
+ argument-hint: "<phase> [--auto-fix] [--session ID]"
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion
6
+ ---
7
+
8
+ <purpose>
9
+ Conversational UAT: present expected behavior one test at a time, user confirms or describes issues. Severity inferred from natural language (never asked). Session persists in `uat.md` across context resets. Failed tests trigger parallel debug agent diagnosis and optional gap-fix closure.
10
+
11
+ **Philosophy**: Show expected, ask if reality matches.
12
+ </purpose>
13
+
14
+ <context>
15
+ $ARGUMENTS -- phase number or scratch task ID, plus optional flags.
16
+
17
+ **Usage**:
18
+
19
+ ```bash
20
+ $quality-test "3" # test phase 3
21
+ $quality-test "3 --smoke" # smoke tests first, then UAT
22
+ $quality-test "3 --auto-fix" # auto-trigger gap-fix loop on failures
23
+ $quality-test "--session 04-comments" # resume specific session
24
+ ```
25
+
26
+ **Flags**:
27
+ - `<phase>`: Phase number or scratch task ID
28
+ - `--smoke`: Run cold-start smoke tests before UAT
29
+ - `--auto-fix`: Auto-trigger gap-fix loop (plan --gaps -> execute -> re-verify) on failures
30
+ - `--session ID`: Resume a specific UAT session
31
+
32
+ No auto mode -- UAT is inherently interactive. `--auto-fix` only automates gap closure, not test execution.
33
+
34
+ **Output**: `{target_dir}/uat.md` + `.tests/test-plan.json` + `.tests/test-results.json` + `.tests/coverage-report.json`
35
+ </context>
36
+
37
+ <invariants>
38
+ 1. **One test at a time** -- never batch-present tests
39
+ 2. **Never ask severity** -- always infer from natural language
40
+ 3. **Session persistence** -- uat.md survives context resets, resume from any point
41
+ 4. **Batched writes** -- minimize file I/O (on issue, every 5 passes, completion)
42
+ 5. **Gap-fix loop max 2 iterations** -- prevent infinite loops
43
+ 6. **Agent calls use `run_in_background: false`** for synchronous execution
44
+ 7. **Auto-create issues** in `.workflow/issues/issues.jsonl` for every failed test
45
+ </invariants>
46
+
47
+ <execution>
48
+
49
+ ### Step 1: Resolve Target
50
+
51
+ 1. Parse `$ARGUMENTS` for phase number, scratch task ID, or flags
52
+ 2. **Phase mode**: resolve `PHASE_DIR` via artifact registry in `state.json` to `.workflow/scratch/{type}-{slug}-{date}/`; legacy fallback to `.workflow/phases/{NN}-{slug}/`
53
+ 3. **Scratch mode**: set `SCRATCH_DIR = .workflow/scratch/{id}/`
54
+ 4. Validate target exists and has `verification.json` -- if missing: **E002**
55
+
56
+ ### Step 2: Check Active Sessions
57
+
58
+ ```bash
59
+ find .workflow/scratch -name "uat.md" -type f 2>/dev/null | head -5
60
+ find .workflow/phases -name "uat.md" -type f 2>/dev/null | head -5
61
+ ```
62
+
63
+ - If active sessions exist and no target specified: display session table, ask user to resume or start new
64
+ - If `--session ID` specified: resume that session directly (skip to Step 9)
65
+ - If session exists for target: offer resume or restart
66
+
67
+ ### Step 3: Smoke Tests (if --smoke)
68
+
69
+ Run basic sanity checks (app starts, routes respond, build clean, deps installed).
70
+ If any smoke fails: **E003** -- abort, suggest Skill({ skill: "quality-debug" })
71
+
72
+ ### Step 4: Load Verification Context
73
+
74
+ Read from target directory: verification.json, validation.json, index.json, plan.json, `.summaries/TASK-*.md`. Build testable list from user-observable outcomes.
75
+
76
+ ### Step 5: Design Test Scenarios
77
+
78
+ Create scenarios from testables (id T-001, name, category, expected behavior, requirement_ref). Focus on USER-OBSERVABLE outcomes. Write `{target_dir}/.tests/test-plan.json`.
79
+
80
+ ### Step 6: Create UAT File
81
+
82
+ Archive previous `uat.md` to `.history/` if exists.
83
+ Write `{target_dir}/uat.md` with frontmatter (status, target, started), Current Test section, Tests section (all pending), Summary counters, empty Gaps section.
84
+
85
+ ### Step 7: Present Test (Interactive Loop)
86
+
87
+ Present one test at a time:
88
+ ```
89
+ ------------------------------------------------------------
90
+ TEST {number}/{total}: {name}
91
+ ------------------------------------------------------------
92
+
93
+ Expected behavior:
94
+ {expected}
95
+
96
+ ------------------------------------------------------------
97
+ > Type "pass" or describe what's wrong
98
+ ------------------------------------------------------------
99
+ ```
100
+
101
+ Wait for user response (plain text).
102
+
103
+ ### Step 8: Process Response
104
+
105
+ | Response | Action |
106
+ |----------|--------|
107
+ | empty, "yes", "y", "ok", "pass", "next" | Mark as pass |
108
+ | "skip", "can't test", "n/a" | Mark as skipped |
109
+ | Anything else | Log as issue, infer severity |
110
+
111
+ **Severity inference** (never ask):
112
+ - "crashes", "error", "fails completely" -> blocker
113
+ - "doesn't work", "wrong behavior", "broken" -> major
114
+ - "works but...", "slow", "minor issue" -> minor
115
+ - "color", "spacing", "typo" -> cosmetic
116
+ - Default: major
117
+
118
+ **On issue**: auto-create issue in `.workflow/issues/issues.jsonl` with back-reference.
119
+
120
+ **Batched writes**: write to file on issue, every 5 passes, or completion.
121
+
122
+ If more tests: update Current Test, loop to Step 7.
123
+ If done: go to Step 10.
124
+
125
+ ### Step 9: Resume From File
126
+
127
+ Read `uat.md`, find first `result: [pending]` test, announce progress, continue from there (go to Step 7).
128
+
129
+ ### Step 10: Complete Session
130
+
131
+ 1. Update `uat.md` frontmatter: status -> "complete"
132
+ 2. Archive previous result artifacts to `.history/`
133
+ 3. Write `.tests/test-results.json` and `.tests/coverage-report.json`
134
+ 4. Update `index.json` with UAT results
135
+ 5. If no issues: go to Step 13
136
+ 6. If issues found: go to Step 11
137
+
138
+ ### Step 11: Auto-Diagnose
139
+
140
+ Cluster related gaps by component/area. Spawn one debug Agent per cluster:
141
+
142
+ ```
143
+ Agent({
144
+ subagent_type: "general-purpose",
145
+ description: "Diagnose UAT gap cluster: {cluster_name}",
146
+ prompt: "Investigate UAT failures. Gaps: {gap list}. Find root cause, fix direction, affected files, evidence (file:line).",
147
+ run_in_background: false
148
+ })
149
+ ```
150
+
151
+ Update `uat.md` gaps with diagnosis results (root_cause, fix_direction, affected_files).
152
+
153
+ ### Step 12: Gap Closure Decision
154
+
155
+ **If `--auto-fix`**: execute gap-fix loop directly.
156
+
157
+ **Otherwise**: present diagnosis summary and offer options:
158
+ 1. Auto-fix (plan --gaps -> execute -> re-verify, max 2 iterations)
159
+ 2. Debug deep -- Skill({ skill: "quality-debug" })
160
+ 3. Plan fixes -- Skill({ skill: "maestro-plan", args: "--gaps" })
161
+ 4. Manual fix
162
+
163
+ Update issue lifecycle during gap-fix loop (registered -> planning -> executing -> completed/failed).
164
+
165
+ ### Step 13: Report
166
+
167
+ ```
168
+ === UAT RESULTS ===
169
+ Target: {target}
170
+ Smoke Tests: {smoke_count} run, {smoke_pass} passed
171
+ UAT Tests: {total} total
172
+ Passed: {passed}
173
+ Issues: {issues} ({blocker_count} blockers, {major_count} major)
174
+ Skipped: {skipped}
175
+ Diagnosis: {diagnosed_count}/{issues} gaps diagnosed
176
+ Auto-fix: {fixed_count} gaps resolved
177
+
178
+ Next steps:
179
+ {suggested_next_command}
180
+ ```
181
+ </execution>
182
+
183
+ <error_codes>
184
+ | Code | Severity | Condition | Recovery |
185
+ |------|----------|-----------|----------|
186
+ | E001 | error | Phase or task target required | Prompt user for phase number |
187
+ | E002 | error | Phase not verified (no verification.json) | Suggest Skill({ skill: "maestro-verify" }) |
188
+ | E003 | error | Smoke test failed (app won't start) | Suggest Skill({ skill: "quality-debug" }) |
189
+ | W001 | warning | Test scenarios failed | Auto-diagnose, suggest fix options |
190
+ | W002 | warning | Coverage below threshold | Suggest Skill({ skill: "quality-test-gen" }) |
191
+ </error_codes>
192
+
193
+ <success_criteria>
194
+ - [ ] Target resolved and verification context loaded
195
+ - [ ] Test scenarios designed from user-observable outcomes
196
+ - [ ] UAT file created with session persistence
197
+ - [ ] Tests presented one at a time, severity inferred (never asked)
198
+ - [ ] Issues auto-created for all failures
199
+ - [ ] Diagnosis completed for failed test clusters
200
+ - [ ] Gap closure offered (auto-fix or manual options)
201
+ - [ ] Final report with pass/fail counts and next steps
202
+ </success_criteria>