maestro-flow 0.3.32 → 0.3.34

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 (241) hide show
  1. package/.claude/commands/learn-retro.md +1 -1
  2. package/.claude/commands/maestro-composer.md +2 -2
  3. package/.claude/commands/maestro-ralph-execute.md +1 -1
  4. package/.claude/commands/maestro-ralph.md +11 -11
  5. package/.claude/commands/maestro-verify.md +1 -1
  6. package/.claude/commands/maestro.md +1 -2
  7. package/.claude/commands/quality-auto-test.md +124 -0
  8. package/.claude/commands/quality-refactor.md +1 -1
  9. package/.claude/commands/quality-test.md +3 -3
  10. package/.codex/skills/learn-retro/SKILL.md +1 -1
  11. package/.codex/skills/maestro/SKILL.md +1 -1
  12. package/.codex/skills/maestro-link-coordinate/SKILL.md +1 -1
  13. package/.codex/skills/maestro-milestone-audit/SKILL.md +9 -1
  14. package/.codex/skills/maestro-plan/SKILL.md +72 -6
  15. package/.codex/skills/maestro-ralph/SKILL.md +159 -159
  16. package/.codex/skills/maestro-roadmap/SKILL.md +31 -5
  17. package/.codex/skills/maestro-verify/SKILL.md +1 -1
  18. package/.codex/skills/quality-auto-test/SKILL.md +547 -0
  19. package/.codex/skills/quality-debug/SKILL.md +18 -6
  20. package/.codex/skills/quality-refactor/SKILL.md +8 -1
  21. package/.codex/skills/quality-sync/SKILL.md +23 -4
  22. package/.codex/skills/quality-test/SKILL.md +498 -166
  23. package/dashboard/dist-server/src/config/cli-tools-config.js +5 -20
  24. package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -1
  25. package/dashboard/dist-server/src/config/cli-tools-defaults.json +17 -0
  26. package/dist/src/commands/config.d.ts.map +1 -1
  27. package/dist/src/commands/config.js +168 -32
  28. package/dist/src/commands/config.js.map +1 -1
  29. package/dist/src/commands/hooks.d.ts +9 -0
  30. package/dist/src/commands/hooks.d.ts.map +1 -1
  31. package/dist/src/commands/hooks.js +1 -1
  32. package/dist/src/commands/hooks.js.map +1 -1
  33. package/dist/src/commands/install.js +1 -1
  34. package/dist/src/commands/install.js.map +1 -1
  35. package/dist/src/commands/overlay.js +1 -1
  36. package/dist/src/commands/overlay.js.map +1 -1
  37. package/dist/src/commands/tools.d.ts.map +1 -1
  38. package/dist/src/commands/tools.js +7 -17
  39. package/dist/src/commands/tools.js.map +1 -1
  40. package/dist/src/commands/uninstall.js +1 -1
  41. package/dist/src/commands/uninstall.js.map +1 -1
  42. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  43. package/dist/src/config/cli-tools-config.js +5 -20
  44. package/dist/src/config/cli-tools-config.js.map +1 -1
  45. package/dist/src/config/cli-tools-defaults.json +17 -0
  46. package/dist/src/tui/config-ui/ConfigHub.d.ts +14 -0
  47. package/dist/src/tui/config-ui/ConfigHub.d.ts.map +1 -0
  48. package/dist/src/tui/config-ui/ConfigHub.js +125 -0
  49. package/dist/src/tui/config-ui/ConfigHub.js.map +1 -0
  50. package/dist/src/tui/config-ui/ConfigSourcesView.d.ts +6 -0
  51. package/dist/src/tui/config-ui/ConfigSourcesView.d.ts.map +1 -0
  52. package/dist/src/tui/config-ui/ConfigSourcesView.js +25 -0
  53. package/dist/src/tui/config-ui/ConfigSourcesView.js.map +1 -0
  54. package/dist/src/tui/config-ui/HooksPanel.d.ts +6 -0
  55. package/dist/src/tui/config-ui/HooksPanel.d.ts.map +1 -0
  56. package/dist/src/tui/config-ui/HooksPanel.js +92 -0
  57. package/dist/src/tui/config-ui/HooksPanel.js.map +1 -0
  58. package/dist/src/tui/config-ui/SkillConfigDashboard.d.ts +9 -0
  59. package/dist/src/tui/config-ui/SkillConfigDashboard.d.ts.map +1 -0
  60. package/dist/src/tui/config-ui/SkillConfigDashboard.js +64 -0
  61. package/dist/src/tui/config-ui/SkillConfigDashboard.js.map +1 -0
  62. package/dist/src/tui/config-ui/SkillParamEditor.d.ts +12 -0
  63. package/dist/src/tui/config-ui/SkillParamEditor.d.ts.map +1 -0
  64. package/dist/src/tui/config-ui/SkillParamEditor.js +162 -0
  65. package/dist/src/tui/config-ui/SkillParamEditor.js.map +1 -0
  66. package/dist/src/tui/config-ui/SkillsList.d.ts +12 -0
  67. package/dist/src/tui/config-ui/SkillsList.d.ts.map +1 -0
  68. package/dist/src/tui/config-ui/SkillsList.js +91 -0
  69. package/dist/src/tui/config-ui/SkillsList.js.map +1 -0
  70. package/dist/src/tui/config-ui/SpecPanel.d.ts +6 -0
  71. package/dist/src/tui/config-ui/SpecPanel.d.ts.map +1 -0
  72. package/dist/src/tui/config-ui/SpecPanel.js +79 -0
  73. package/dist/src/tui/config-ui/SpecPanel.js.map +1 -0
  74. package/dist/src/tui/config-ui/index.d.ts +23 -0
  75. package/dist/src/tui/config-ui/index.d.ts.map +1 -0
  76. package/dist/src/tui/config-ui/index.js +34 -0
  77. package/dist/src/tui/config-ui/index.js.map +1 -0
  78. package/dist/src/tui/index.d.ts +7 -0
  79. package/dist/src/tui/index.d.ts.map +1 -0
  80. package/dist/src/tui/index.js +10 -0
  81. package/dist/src/tui/index.js.map +1 -0
  82. package/dist/src/tui/install-ui/BackupConfig.d.ts +10 -0
  83. package/dist/src/tui/install-ui/BackupConfig.d.ts.map +1 -0
  84. package/dist/src/tui/install-ui/BackupConfig.js +46 -0
  85. package/dist/src/tui/install-ui/BackupConfig.js.map +1 -0
  86. package/dist/src/tui/install-ui/BlueprintPreview.d.ts +9 -0
  87. package/dist/src/tui/install-ui/BlueprintPreview.d.ts.map +1 -0
  88. package/dist/src/tui/install-ui/BlueprintPreview.js +65 -0
  89. package/dist/src/tui/install-ui/BlueprintPreview.js.map +1 -0
  90. package/dist/src/tui/install-ui/BlueprintPreview.logic.d.ts +33 -0
  91. package/dist/src/tui/install-ui/BlueprintPreview.logic.d.ts.map +1 -0
  92. package/dist/src/tui/install-ui/BlueprintPreview.logic.js +51 -0
  93. package/dist/src/tui/install-ui/BlueprintPreview.logic.js.map +1 -0
  94. package/dist/src/tui/install-ui/ComponentGrid.d.ts +13 -0
  95. package/dist/src/tui/install-ui/ComponentGrid.d.ts.map +1 -0
  96. package/dist/src/tui/install-ui/ComponentGrid.js +75 -0
  97. package/dist/src/tui/install-ui/ComponentGrid.js.map +1 -0
  98. package/dist/src/tui/install-ui/ComponentGrid.logic.d.ts +31 -0
  99. package/dist/src/tui/install-ui/ComponentGrid.logic.d.ts.map +1 -0
  100. package/dist/src/tui/install-ui/ComponentGrid.logic.js +58 -0
  101. package/dist/src/tui/install-ui/ComponentGrid.logic.js.map +1 -0
  102. package/dist/src/tui/install-ui/ConfigPanel.d.ts +11 -0
  103. package/dist/src/tui/install-ui/ConfigPanel.d.ts.map +1 -0
  104. package/dist/src/tui/install-ui/ConfigPanel.js +35 -0
  105. package/dist/src/tui/install-ui/ConfigPanel.js.map +1 -0
  106. package/dist/src/tui/install-ui/CyberItem.d.ts +18 -0
  107. package/dist/src/tui/install-ui/CyberItem.d.ts.map +1 -0
  108. package/dist/src/tui/install-ui/CyberItem.js +33 -0
  109. package/dist/src/tui/install-ui/CyberItem.js.map +1 -0
  110. package/dist/src/tui/install-ui/CyberdeckBlueprint.d.ts +7 -0
  111. package/dist/src/tui/install-ui/CyberdeckBlueprint.d.ts.map +1 -0
  112. package/dist/src/tui/install-ui/CyberdeckBlueprint.js +91 -0
  113. package/dist/src/tui/install-ui/CyberdeckBlueprint.js.map +1 -0
  114. package/dist/src/tui/install-ui/ExecutionView.d.ts +12 -0
  115. package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -0
  116. package/dist/src/tui/install-ui/ExecutionView.js +154 -0
  117. package/dist/src/tui/install-ui/ExecutionView.js.map +1 -0
  118. package/dist/src/tui/install-ui/GradientHeader.d.ts +8 -0
  119. package/dist/src/tui/install-ui/GradientHeader.d.ts.map +1 -0
  120. package/dist/src/tui/install-ui/GradientHeader.js +18 -0
  121. package/dist/src/tui/install-ui/GradientHeader.js.map +1 -0
  122. package/dist/src/tui/install-ui/HooksConfig.d.ts +8 -0
  123. package/dist/src/tui/install-ui/HooksConfig.d.ts.map +1 -0
  124. package/dist/src/tui/install-ui/HooksConfig.js +35 -0
  125. package/dist/src/tui/install-ui/HooksConfig.js.map +1 -0
  126. package/dist/src/tui/install-ui/InstallConfirm.d.ts +27 -0
  127. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -0
  128. package/dist/src/tui/install-ui/InstallConfirm.js +25 -0
  129. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -0
  130. package/dist/src/tui/install-ui/InstallExecution.d.ts +21 -0
  131. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -0
  132. package/dist/src/tui/install-ui/InstallExecution.js +154 -0
  133. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -0
  134. package/dist/src/tui/install-ui/InstallFlow.d.ts +14 -0
  135. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -0
  136. package/dist/src/tui/install-ui/InstallFlow.js +186 -0
  137. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -0
  138. package/dist/src/tui/install-ui/InstallHub.d.ts +33 -0
  139. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -0
  140. package/dist/src/tui/install-ui/InstallHub.js +97 -0
  141. package/dist/src/tui/install-ui/InstallHub.js.map +1 -0
  142. package/dist/src/tui/install-ui/InstallResult.d.ts +7 -0
  143. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -0
  144. package/dist/src/tui/install-ui/InstallResult.js +15 -0
  145. package/dist/src/tui/install-ui/InstallResult.js.map +1 -0
  146. package/dist/src/tui/install-ui/McpConfig.d.ts +12 -0
  147. package/dist/src/tui/install-ui/McpConfig.d.ts.map +1 -0
  148. package/dist/src/tui/install-ui/McpConfig.js +69 -0
  149. package/dist/src/tui/install-ui/McpConfig.js.map +1 -0
  150. package/dist/src/tui/install-ui/ResultDashboard.d.ts +8 -0
  151. package/dist/src/tui/install-ui/ResultDashboard.d.ts.map +1 -0
  152. package/dist/src/tui/install-ui/ResultDashboard.js +17 -0
  153. package/dist/src/tui/install-ui/ResultDashboard.js.map +1 -0
  154. package/dist/src/tui/install-ui/ReviewPanel.d.ts +19 -0
  155. package/dist/src/tui/install-ui/ReviewPanel.d.ts.map +1 -0
  156. package/dist/src/tui/install-ui/ReviewPanel.js +25 -0
  157. package/dist/src/tui/install-ui/ReviewPanel.js.map +1 -0
  158. package/dist/src/tui/install-ui/ShortcutFooter.d.ts +7 -0
  159. package/dist/src/tui/install-ui/ShortcutFooter.d.ts.map +1 -0
  160. package/dist/src/tui/install-ui/ShortcutFooter.js +15 -0
  161. package/dist/src/tui/install-ui/ShortcutFooter.js.map +1 -0
  162. package/dist/src/tui/install-ui/StatuslineConfig.d.ts +11 -0
  163. package/dist/src/tui/install-ui/StatuslineConfig.d.ts.map +1 -0
  164. package/dist/src/tui/install-ui/StatuslineConfig.js +39 -0
  165. package/dist/src/tui/install-ui/StatuslineConfig.js.map +1 -0
  166. package/dist/src/tui/install-ui/StepSelector.d.ts +14 -0
  167. package/dist/src/tui/install-ui/StepSelector.d.ts.map +1 -0
  168. package/dist/src/tui/install-ui/StepSelector.js +46 -0
  169. package/dist/src/tui/install-ui/StepSelector.js.map +1 -0
  170. package/dist/src/tui/install-ui/index.d.ts +8 -0
  171. package/dist/src/tui/install-ui/index.d.ts.map +1 -0
  172. package/dist/src/tui/install-ui/index.js +10 -0
  173. package/dist/src/tui/install-ui/index.js.map +1 -0
  174. package/dist/src/tui/install-ui/types.d.ts +35 -0
  175. package/dist/src/tui/install-ui/types.d.ts.map +1 -0
  176. package/dist/src/tui/install-ui/types.js +25 -0
  177. package/dist/src/tui/install-ui/types.js.map +1 -0
  178. package/dist/src/tui/overlay-ui/OverlayList.d.ts +37 -0
  179. package/dist/src/tui/overlay-ui/OverlayList.d.ts.map +1 -0
  180. package/dist/src/tui/overlay-ui/OverlayList.js +146 -0
  181. package/dist/src/tui/overlay-ui/OverlayList.js.map +1 -0
  182. package/dist/src/tui/overlay-ui/index.d.ts +18 -0
  183. package/dist/src/tui/overlay-ui/index.d.ts.map +1 -0
  184. package/dist/src/tui/overlay-ui/index.js +204 -0
  185. package/dist/src/tui/overlay-ui/index.js.map +1 -0
  186. package/dist/src/tui/render.d.ts +13 -0
  187. package/dist/src/tui/render.d.ts.map +1 -0
  188. package/dist/src/tui/render.js +31 -0
  189. package/dist/src/tui/render.js.map +1 -0
  190. package/dist/src/tui/tools-ui/CommandReference.d.ts +7 -0
  191. package/dist/src/tui/tools-ui/CommandReference.d.ts.map +1 -0
  192. package/dist/src/tui/tools-ui/CommandReference.js +33 -0
  193. package/dist/src/tui/tools-ui/CommandReference.js.map +1 -0
  194. package/dist/src/tui/tools-ui/ConfigSources.d.ts +6 -0
  195. package/dist/src/tui/tools-ui/ConfigSources.d.ts.map +1 -0
  196. package/dist/src/tui/tools-ui/ConfigSources.js +27 -0
  197. package/dist/src/tui/tools-ui/ConfigSources.js.map +1 -0
  198. package/dist/src/tui/tools-ui/RegisterSettings.d.ts +8 -0
  199. package/dist/src/tui/tools-ui/RegisterSettings.d.ts.map +1 -0
  200. package/dist/src/tui/tools-ui/RegisterSettings.js +125 -0
  201. package/dist/src/tui/tools-ui/RegisterSettings.js.map +1 -0
  202. package/dist/src/tui/tools-ui/RoleMappings.d.ts +9 -0
  203. package/dist/src/tui/tools-ui/RoleMappings.d.ts.map +1 -0
  204. package/dist/src/tui/tools-ui/RoleMappings.js +104 -0
  205. package/dist/src/tui/tools-ui/RoleMappings.js.map +1 -0
  206. package/dist/src/tui/tools-ui/ToolsDashboard.d.ts +8 -0
  207. package/dist/src/tui/tools-ui/ToolsDashboard.d.ts.map +1 -0
  208. package/dist/src/tui/tools-ui/ToolsDashboard.js +60 -0
  209. package/dist/src/tui/tools-ui/ToolsDashboard.js.map +1 -0
  210. package/dist/src/tui/tools-ui/ToolsOverview.d.ts +9 -0
  211. package/dist/src/tui/tools-ui/ToolsOverview.d.ts.map +1 -0
  212. package/dist/src/tui/tools-ui/ToolsOverview.js +84 -0
  213. package/dist/src/tui/tools-ui/ToolsOverview.js.map +1 -0
  214. package/dist/src/tui/tools-ui/index.d.ts +3 -0
  215. package/dist/src/tui/tools-ui/index.d.ts.map +1 -0
  216. package/dist/src/tui/tools-ui/index.js +6 -0
  217. package/dist/src/tui/tools-ui/index.js.map +1 -0
  218. package/dist/src/tui/uninstall-ui/UninstallFlow.d.ts +7 -0
  219. package/dist/src/tui/uninstall-ui/UninstallFlow.d.ts.map +1 -0
  220. package/dist/src/tui/uninstall-ui/UninstallFlow.js +189 -0
  221. package/dist/src/tui/uninstall-ui/UninstallFlow.js.map +1 -0
  222. package/dist/src/tui/uninstall-ui/index.d.ts +3 -0
  223. package/dist/src/tui/uninstall-ui/index.d.ts.map +1 -0
  224. package/dist/src/tui/uninstall-ui/index.js +6 -0
  225. package/dist/src/tui/uninstall-ui/index.js.map +1 -0
  226. package/package.json +1 -1
  227. package/workflows/auto-test.md +682 -0
  228. package/workflows/business-test.md +570 -0
  229. package/workflows/integration-test.md +1 -1
  230. package/workflows/maestro.codex.md +4 -3
  231. package/workflows/maestro.md +5 -4
  232. package/workflows/status.md +2 -2
  233. package/workflows/test.md +1 -1
  234. package/workflows/verify.md +1 -1
  235. package/.claude/commands/quality-business-test.md +0 -110
  236. package/.claude/commands/quality-integration-test.md +0 -67
  237. package/.claude/commands/quality-test-gen.md +0 -68
  238. package/.codex/skills/maestro-ralph-execute/SKILL.md +0 -219
  239. package/.codex/skills/quality-business-test/SKILL.md +0 -218
  240. package/.codex/skills/quality-integration-test/SKILL.md +0 -427
  241. package/.codex/skills/quality-test-gen/SKILL.md +0 -352
@@ -259,7 +259,7 @@ Write `.workflow/learning/retro-{date}.json` with structured data.
259
259
  **Next-step routing:**
260
260
  - Browse insights → `/manage-learn list --tag retro`
261
261
  - Deep dive on high-churn file → `/learn-follow <path>`
262
- - Fix test gaps → `/quality-test-gen <area>`
262
+ - Fix test gaps → `/quality-auto-test <area>`
263
263
  - Create issue for questionable decision → `/manage-issue create ...`
264
264
  - Investigate stale decision → `/learn-investigate <question>`
265
265
  - Full phase retrospective → `/quality-retrospective`
@@ -97,7 +97,7 @@ Example: 'analyze the code, then plan, implement, and test the feature'"
97
97
 
98
98
  **Step 1.3** — Extract variables (inputs that vary per run). Detect from: direct mentions, `{var}` patterns, implicit from task type.
99
99
 
100
- **Step 1.4** — Classify task type: `bugfix | feature | tdd | review | brainstorm | spec-driven | roadmap | refactor | integration-test | quick-task | custom`
100
+ **Step 1.4** — Classify task type: `bugfix | feature | tdd | review | brainstorm | spec-driven | roadmap | refactor | auto-test | quick-task | custom`
101
101
 
102
102
  **Step 1.5** — Assess complexity: `simple` (1-3 nodes), `medium` (4-7), `complex` (8+)
103
103
 
@@ -212,7 +212,7 @@ options:
212
212
  | Agent spawn | Target type is `agent` |
213
213
  | Long-running | Target is maestro-plan, maestro-roadmap --mode full |
214
214
  | User-defined | Step had `type_hint: checkpoint` |
215
- | Post-testing | Source executor contains `test` or `integration-test` |
215
+ | Post-testing | Source executor contains `test` or `auto-test` |
216
216
 
217
217
  Set `auto_continue: false` for checkpoints before user-facing deliverables.
218
218
 
@@ -191,7 +191,7 @@ auto_flag_map = {
191
191
  "maestro-ui-design": "-y",
192
192
  "maestro-plan": "-y",
193
193
  "maestro-execute": "-y",
194
- "quality-business-test": "-y",
194
+ "quality-auto-test": "-y",
195
195
  "quality-test": "-y --auto-fix",
196
196
  "quality-retrospective": "-y",
197
197
  "maestro-milestone-complete": "-y"
@@ -211,9 +211,9 @@ analyze maestro-analyze {phase} cli —
211
211
  plan maestro-plan {phase} skill —
212
212
  execute maestro-execute {phase} cli —
213
213
  verify maestro-verify {phase} skill decision:post-verify
214
- business-test quality-business-test {phase} skill decision:post-business-test
214
+ business-test quality-auto-test {phase} skill decision:post-business-test
215
215
  review quality-review {phase} skill decision:post-review
216
- test-gen quality-test-gen {phase} skill —
216
+ test-gen quality-auto-test {phase} skill —
217
217
  test quality-test {phase} skill decision:post-test
218
218
  milestone-audit maestro-milestone-audit skill —
219
219
  milestone-complete maestro-milestone-complete skill decision:post-milestone
@@ -247,11 +247,11 @@ milestone-complete maestro-milestone-complete skill decision:post-milestone
247
247
  { "index": 1, "type": "cli", "skill": "maestro-execute", "args": "{phase}" },
248
248
  { "index": 2, "type": "skill", "skill": "maestro-verify", "args": "{phase}" },
249
249
  { "index": 3, "type": "decision", "skill": "maestro-ralph", "args": "{\"decision\":\"post-verify\",\"retry_count\":0,\"max_retries\":2}" },
250
- { "index": 4, "type": "skill", "skill": "quality-business-test", "args": "{phase}" },
250
+ { "index": 4, "type": "skill", "skill": "quality-auto-test", "args": "{phase}" },
251
251
  { "index": 5, "type": "decision", "skill": "maestro-ralph", "args": "{\"decision\":\"post-business-test\",\"retry_count\":0,\"max_retries\":2}" },
252
252
  { "index": 6, "type": "skill", "skill": "quality-review", "args": "{phase}" },
253
253
  { "index": 7, "type": "decision", "skill": "maestro-ralph", "args": "{\"decision\":\"post-review\",\"retry_count\":0,\"max_retries\":2}" },
254
- { "index": 8, "type": "skill", "skill": "quality-test-gen", "args": "{phase}" },
254
+ { "index": 8, "type": "skill", "skill": "quality-auto-test", "args": "{phase}" },
255
255
  { "index": 9, "type": "skill", "skill": "quality-test", "args": "{phase}" },
256
256
  { "index": 10, "type": "decision", "skill": "maestro-ralph", "args": "{\"decision\":\"post-test\",\"retry_count\":0,\"max_retries\":2}" },
257
257
  { "index": 11, "type": "skill", "skill": "maestro-milestone-audit", "args": "" },
@@ -313,11 +313,11 @@ Write status.json:
313
313
  [ ] 1. maestro-execute 1 [cli]
314
314
  [ ] 2. maestro-verify 1 [skill]
315
315
  [ ] 3. ◆ post-verify [decision]
316
- [ ] 4. quality-business-test 1 [skill]
316
+ [ ] 4. quality-auto-test 1 [skill]
317
317
  [ ] 5. ◆ post-business-test [decision]
318
318
  [ ] 6. quality-review 1 [skill]
319
319
  [ ] 7. ◆ post-review [decision]
320
- [ ] 8. quality-test-gen 1 [skill]
320
+ [ ] 8. quality-auto-test 1 [skill]
321
321
  [ ] 9. quality-test 1 [skill]
322
322
  [ ] 10. ◆ post-test [decision]
323
323
  [ ] 11. maestro-milestone-audit [skill]
@@ -400,7 +400,7 @@ If failures found:
400
400
  → Insert: [quality-debug --from-business-test {phase},
401
401
  maestro-plan --gaps {phase}, maestro-execute {phase} [cli],
402
402
  maestro-verify {phase}, decision:post-verify {retry:0},
403
- quality-business-test {phase}, decision:post-business-test {retry+1}]
403
+ quality-auto-test {phase}, decision:post-business-test {retry+1}]
404
404
 
405
405
  If all pass:
406
406
  → No insertion, proceed
@@ -435,9 +435,9 @@ If failures found (any test result != pass, or gaps with severity >= high):
435
435
  → Insert: [quality-debug --from-uat {phase},
436
436
  maestro-plan --gaps {phase}, maestro-execute {phase} [cli],
437
437
  maestro-verify {phase}, decision:post-verify {retry:0},
438
- quality-business-test {phase}, decision:post-business-test {retry:0},
438
+ quality-auto-test {phase}, decision:post-business-test {retry:0},
439
439
  quality-review {phase}, decision:post-review {retry:0},
440
- quality-test-gen {phase}, quality-test {phase},
440
+ quality-auto-test {phase}, quality-test {phase},
441
441
  decision:post-test {retry+1}]
442
442
 
443
443
  If all pass:
@@ -462,11 +462,11 @@ If next milestone found:
462
462
  maestro-execute {first_phase} [cli],
463
463
  maestro-verify {first_phase} [skill],
464
464
  decision:post-verify {retry:0},
465
- quality-business-test {first_phase} [skill],
465
+ quality-auto-test {first_phase} [skill],
466
466
  decision:post-business-test {retry:0},
467
467
  quality-review {first_phase} [skill],
468
468
  decision:post-review {retry:0},
469
- quality-test-gen {first_phase} [skill],
469
+ quality-auto-test {first_phase} [skill],
470
470
  quality-test {first_phase} [skill],
471
471
  decision:post-test {retry:0},
472
472
  maestro-milestone-audit [skill],
@@ -61,7 +61,7 @@ If user confirms, invoke `Skill({ skill: "spec-add", args: "<category> <content>
61
61
  **Next-step routing on completion:**
62
62
  - All checks pass, no gaps → /quality-review
63
63
  - Gaps found (must-have failures or anti-pattern blockers) → /maestro-plan --gaps
64
- - Low test coverage (Nyquist gaps) → /quality-test-gen
64
+ - Low test coverage (Nyquist gaps) → /quality-auto-test
65
65
 
66
66
  **Gap-fix closure loop:**
67
67
  Gaps found → maestro-plan --gaps → maestro-execute → maestro-verify (re-run)
@@ -72,10 +72,9 @@ When `-y` is active, maestro propagates auto flags to downstream commands. Only
72
72
  | maestro-plan | `-y` | Skip confirmations and clarification |
73
73
  | maestro-execute | `-y` | Skip confirmations, blocked auto-continue |
74
74
  | maestro-verify | *(none)* | No interactive prompts |
75
- | quality-business-test | `-y` | Skip plan confirmation |
75
+ | quality-auto-test | `-y` | Skip plan confirmation |
76
76
  | quality-review | *(none)* | No interactive prompts, auto-detects level |
77
77
  | quality-test | `-y --auto-fix` | Auto-trigger gap-fix loop on failures |
78
- | quality-test-gen | *(none)* | No interactive prompts |
79
78
  | quality-debug | *(none)* | No interactive prompts |
80
79
  | quality-retrospective | `-y` | Accept all routing recommendations without prompting |
81
80
  | maestro-milestone-audit | *(none)* | No interactive prompts |
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: quality-auto-test
3
+ description: Unified automated testing via CSV layer pipeline — generates, executes, and iterates tests from PRD specs, coverage gaps, or code exploration
4
+ argument-hint: "<phase> [-y] [-c N] [--max-iter <N>] [--layer <L0-L3>] [--strategy <name>] [--dry-run] [--re-run]"
5
+ allowed-tools:
6
+ - spawn_agents_on_csv
7
+ - Read
8
+ - Write
9
+ - Edit
10
+ - Bash
11
+ - Glob
12
+ - Grep
13
+ - AskUserQuestion
14
+ ---
15
+ <purpose>
16
+ Run unified automated testing via CSV layer pipeline. Reads project state to auto-select the optimal scenario source — PRD specs (when spec package exists), coverage gaps (when Nyquist audit found gaps), or code exploration (default). All sources converge into a CSV pipeline: discover infrastructure → plan → build scenarios.csv → write tests per layer (spawn_agents_on_csv parallel) → execute → diagnose failures (spawn_agents_on_csv parallel) → iterate → report.
17
+
18
+ Key mechanisms:
19
+ - **Intelligent routing**: Reads `.tests/`, `.workflow/.spec/`, `verification.json` to auto-select source — no mode flag needed
20
+ - **CSV parallel test writing**: Per-layer `spawn_agents_on_csv` — each agent writes one test file independently
21
+ - **CSV parallel failure diagnosis**: Failed scenarios dispatched via `spawn_agents_on_csv` for classification + fix
22
+ - **Unified iteration engine**: Nested inner loop (fix test_defects via diagnosis CSV, max 3/layer) + outer loop (adaptive strategy, max N iterations)
23
+ - **Layers as waves**: L0→L1→L2→L3 sequential (fail-fast on critical), scenarios within layer parallel
24
+ - **Discovery board**: `discoveries.ndjson` shared across all agents/iterations (append-only)
25
+ - **Degenerate modes**: `--max-iter 1` = single-pass generation; default = full iterative cycle
26
+ - **Session persistence**: CSV state + state.json survive context resets, resume from any point
27
+ </purpose>
28
+
29
+ <required_reading>
30
+ @~/.maestro/workflows/auto-test.md
31
+ </required_reading>
32
+
33
+ <context>
34
+ Phase or task: $ARGUMENTS (required — phase number)
35
+
36
+ **Flags:**
37
+ - `--max-iter N` — Maximum outer iterations (default: 5). Set to 1 for single-pass generation only.
38
+ - `--layer L` — Start from or restrict to specific layer (L0|L1|L2|L3)
39
+ - `--dry-run` — Generate test plan only, do not execute
40
+ - `--re-run` — Re-run only previously failed/blocked scenarios
41
+
42
+ **Intelligent routing** (auto-detected from project state):
43
+
44
+ | Priority | Condition | Route | Equivalent to |
45
+ |----------|-----------|-------|---------------|
46
+ | 1 | Active session exists (state.json status=running) | Resume | — |
47
+ | 2 | --re-run flag + previous failures | Re-run | — |
48
+ | 3 | Spec package exists (REQ-*.md) | spec | quality-business-test |
49
+ | 4 | Nyquist gaps exist (verification.json) | gap | quality-test-gen |
50
+ | 5 | Default | code | quality-integration-test |
51
+
52
+ Flags, artifact context resolution, and output formats defined in workflow auto-test.md.
53
+ </context>
54
+
55
+ <execution>
56
+ Follow '~/.maestro/workflows/auto-test.md' completely.
57
+
58
+ **Command-specific extensions (not in workflow):**
59
+
60
+ **Review findings integration** (from related review artifacts):
61
+ - Extract critical/high findings as additional test scenarios, marked `source: "review_finding"`
62
+ - When review verdict is "BLOCK" and review-finding tests fail, suggest quality-debug
63
+
64
+ **Debug root cause integration** (from related debug artifacts):
65
+ - Generate regression test scenarios from confirmed root causes, marked `source: "debug_root_cause"`
66
+
67
+ **Register artifact on completion:**
68
+ ```
69
+ Append to state.json.artifacts[]:
70
+ {
71
+ id: nextArtifactId(artifacts, "test"), // TST-001
72
+ type: "test",
73
+ milestone: current_milestone,
74
+ phase: target_phase,
75
+ scope: "phase",
76
+ path: "scratch/{YYYYMMDD}-auto-test-P{N}-{slug}",
77
+ status: issues == 0 ? "completed" : "failed",
78
+ depends_on: exec_art.id,
79
+ harvested: false,
80
+ created_at: start_time,
81
+ completed_at: now()
82
+ }
83
+ ```
84
+
85
+ **Next-step routing on completion:**
86
+ - Converged (>=95%) → `/maestro-verify {phase}`
87
+ - All requirements verified (spec source) → `/maestro-milestone-audit`
88
+ - Bugs discovered → `/quality-debug --from-auto-test {phase}`
89
+ - Max iter, >80% → `/quality-test {phase}` for manual UAT
90
+ - Max iter, <80% → `/quality-debug {phase}`
91
+ - Coverage still low → `/quality-auto-test {phase} --layer {missing}`
92
+ - Re-run all pass → `/maestro-verify {phase}`
93
+ - Single pass, all pass → `/quality-test {phase}`
94
+ </execution>
95
+
96
+ <error_codes>
97
+ | Code | Severity | Condition | Recovery |
98
+ |------|----------|-----------|----------|
99
+ | E001 | error | Phase argument required (no active sessions) | Prompt user for phase number |
100
+ | E002 | error | Phase not found in artifact registry | Check state.json artifacts |
101
+ | E003 | error | No test framework detected | Install test framework or configure test runner |
102
+ | W001 | warning | One or more test scenarios failed | Auto-iterate or suggest fix options |
103
+ | W002 | warning | Max iterations reached without convergence | Review reflection-log.md, suggest debug |
104
+ | W003 | warning | Degraded spec mode (no full spec package) | Consider running maestro-roadmap --mode full |
105
+ </error_codes>
106
+
107
+ <success_criteria>
108
+ - [ ] Phase resolved from artifact registry
109
+ - [ ] Route auto-selected from project state (spec/gap/code)
110
+ - [ ] Active sessions checked, resume offered if applicable
111
+ - [ ] Scenarios extracted and normalized to unified format
112
+ - [ ] Test infrastructure discovered (framework, patterns, conventions)
113
+ - [ ] test-plan.json generated with layer distribution
114
+ - [ ] User confirmed plan (or --dry-run stopped here)
115
+ - [ ] Tests written following RED-GREEN methodology and existing patterns
116
+ - [ ] Tests executed progressively (L0→L3) with fail-fast on critical
117
+ - [ ] Iteration engine ran (inner: test_defect fix, outer: strategy adjust)
118
+ - [ ] state.json, report.json, reflection-log.md written
119
+ - [ ] index.json updated with auto_test section
120
+ - [ ] If spec source: traceability matrix built, traceability.md written
121
+ - [ ] If failures: issues auto-created in issues.jsonl
122
+ - [ ] If gap source: validation.json gaps updated (MISSING→COVERED)
123
+ - [ ] Next step routed based on convergence status
124
+ </success_criteria>
@@ -35,7 +35,7 @@ Follow '~/.maestro/workflows/refactor.md' completely.
35
35
  **Next-step routing on completion:**
36
36
  - All tests pass → `/quality-sync` (update codebase docs)
37
37
  - Test failures after refactor → `/quality-debug {scope}`
38
- - No test suite available → `/quality-test-gen {phase}`
38
+ - No test suite available → `/quality-auto-test {phase}`
39
39
  </execution>
40
40
 
41
41
  <error_codes>
@@ -70,8 +70,8 @@ Append to state.json.artifacts[]:
70
70
  - Issues found, --auto-fix ran and succeeded → `/maestro-verify {phase}`
71
71
  - Issues found, --auto-fix ran but gaps remain → `/quality-debug --from-uat {phase}`
72
72
  - Issues found, manual fix needed → `/quality-debug --from-uat {phase}`
73
- - Coverage below threshold → `/quality-test-gen {phase}`
74
- - Need integration tests → `/quality-integration-test {phase}`
73
+ - Coverage below threshold → `/quality-auto-test {phase}`
74
+ - Need integration tests → `/quality-auto-test {phase}`
75
75
  </execution>
76
76
 
77
77
  <error_codes>
@@ -81,7 +81,7 @@ Append to state.json.artifacts[]:
81
81
  | E002 | error | Phase not verified yet (no verification.json) | Suggest `/maestro-verify` first |
82
82
  | E003 | error | Smoke test failed (app won't start) | Suggest `/quality-debug` |
83
83
  | W001 | warning | One or more test scenarios failed | Auto-diagnose, suggest fix options |
84
- | W002 | warning | Coverage below threshold | Suggest `/quality-test-gen` |
84
+ | W002 | warning | Coverage below threshold | Suggest `/quality-auto-test` |
85
85
  </error_codes>
86
86
 
87
87
  <success_criteria>
@@ -60,7 +60,7 @@ Write `retro-{date}.md` + `retro-{date}.json` with metrics, sessions, hotspots,
60
60
  ### Phase 5: Persist
61
61
  Append insights to `lessons.jsonl` (source: "retro-git" or "retro-decision"). Display summary.
62
62
 
63
- **Next steps:** `/learn-follow <path>`, `/quality-test-gen <area>`, `/learn-investigate <question>`
63
+ **Next steps:** `/learn-follow <path>`, `/quality-auto-test <area>`, `/learn-investigate <question>`
64
64
  </execution>
65
65
 
66
66
  <error_codes>
@@ -201,7 +201,7 @@ functions.update_plan({
201
201
  |-------|------|
202
202
  | `maestro-init`, `maestro-analyze`, `maestro-brainstorm`, `maestro-ui-design`, `maestro-roadmap` | `-y` |
203
203
  | `maestro-plan`, `maestro-execute`, `maestro-milestone-complete` | `-y` |
204
- | `quality-business-test`, `quality-retrospective` | `-y` |
204
+ | `quality-auto-test`, `quality-retrospective` | `-y` |
205
205
  | `quality-test` | `-y --auto-fix` |
206
206
 
207
207
  **`buildSkillCall(step, ctx)`**: Replace placeholders `{phase}`, `{description}`, `{issue_id}`, `{plan_dir}`, `{analysis_dir}`, `{brainstorm_dir}`, `{spec_session_id}` in `step.args` with corresponding `ctx` values. Append auto-yes flag if applicable. Return `$<skill> <args>`.
@@ -152,7 +152,7 @@ Set `state.status` to completed/failed based on `node.status`. Record final hist
152
152
  |-------|------|
153
153
  | `maestro-init`, `maestro-analyze`, `maestro-brainstorm`, `maestro-ui-design`, `maestro-roadmap` | `-y` |
154
154
  | `maestro-plan`, `maestro-execute`, `maestro-milestone-complete` | `-y` |
155
- | `quality-business-test`, `quality-retrospective` | `-y` |
155
+ | `quality-auto-test`, `quality-retrospective` | `-y` |
156
156
  | `quality-test` | `-y --auto-fix` |
157
157
 
158
158
  **buildSkillCall(node, ctx, autoMode)**: Substitute `{phase}`, `{description}`, `{issue_id}`, `{milestone_num}` from context into `node.args`. If autoMode, append auto flag from `node.auto_flag` or AUTO_FLAG_MAP. Return `$${node.cmd} ${resolvedArgs}`.
@@ -54,7 +54,15 @@ Spawn Agent for cross-phase validation: shared interfaces, dependency chains, da
54
54
  **PASS**: All phases have completed EXC artifacts, no critical integration gaps, all adhoc completed.
55
55
  **FAIL**: Missing EXC artifacts or critical integration gaps found.
56
56
 
57
- Display structured audit report with next-step routing.
57
+ Display structured audit report.
58
+
59
+ **Next-step routing:**
60
+
61
+ | Verdict | Next Step |
62
+ |---------|-----------|
63
+ | PASS | `$maestro-milestone-complete "{milestone}"` |
64
+ | FAIL, integration gaps | `$maestro-plan "--gaps"` |
65
+ | FAIL, incomplete execution | `$maestro-execute` |
58
66
 
59
67
  </execution>
60
68
 
@@ -209,6 +209,40 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column.
209
209
 
210
210
  **User validation**: Display exploration breakdown (skip if AUTO_YES or `--auto`).
211
211
 
212
+ ### Pre-flight: Team Conflict Check
213
+
214
+ Before starting the plan pipeline:
215
+ ```
216
+ Bash("maestro collab preflight --phase <phase-number>")
217
+ ```
218
+ If exit code is 1, present warnings and ask whether to proceed.
219
+
220
+ ### Wiki Knowledge Search
221
+
222
+ During context collection, after loading files and before exploration (Wave 1):
223
+ ```
224
+ phase_keywords = extract key terms from goal/title (2-5 terms)
225
+ wiki_result = Bash("maestro wiki search ${phase_keywords} --json 2>/dev/null")
226
+
227
+ IF wiki_result exit code != 0 OR empty:
228
+ W003: Wiki search unavailable, continue without prior knowledge
229
+ ELSE:
230
+ entries = JSON.parse(wiki_result).entries (limit to first 10)
231
+ Pass wiki_context to Wave 2 planning agent
232
+ ```
233
+
234
+ ### Mode Routing
235
+
236
+ | Mode | Trigger | Behavior |
237
+ |------|---------|----------|
238
+ | Create | Default (no --revise/--check) | Full pipeline: Phase 1 → Wave 1 → Wave 2 → Phase 3 |
239
+ | Revise | `--revise [instructions]` | Load existing plan, apply incremental edits, re-check |
240
+ | Check | `--check <plan-dir>` | Skip exploration/planning, run plan-checker only on existing plan |
241
+
242
+ **Revise mode**: Load plan.json from target dir, apply user instructions (add/remove/edit tasks, adjust waves), re-run plan-checker, update index.json.
243
+
244
+ **Check mode**: Read plan.json + .task/TASK-*.json from `--check` path, validate quality, report issues. No exploration, no generation.
245
+
212
246
  ### Phase 2: Wave Execution Engine
213
247
 
214
248
  **Objective**: Explore codebase then generate plan via spawn_agents_on_csv.
@@ -321,14 +355,38 @@ spawn_agents_on_csv({
321
355
  - Export `results.csv` from master `tasks.csv`
322
356
  - Generate `context.md`: summary (phase, task count, wave count, complexity, exploration count), exploration findings per angle, plan overview (approach, task IDs, waves), next steps
323
357
 
324
- 4. **Update index.json**: set `status: "planning"`, `plan: { task_ids, task_count, complexity, waves }`, `updated_at`
358
+ 4. **Collision detection**: Scan same-milestone plans for overlapping file targets:
359
+ ```
360
+ other_plans = state.json.artifacts.filter(a => a.milestone == current && a.type == "plan" && a.id != this)
361
+ For each other_plan: read .task/TASK-*.json, collect files[].path
362
+ collisions = intersection(this_plan_files, other_plan_files)
363
+ If collisions.length > 0: emit W004, display collision table (non-blocking)
364
+ ```
365
+
366
+ 5. **Update index.json**: set `status: "planning"`, `plan: { task_ids, task_count, complexity, waves }`, `updated_at`
325
367
 
326
- 5. **Issue linking** (if --gaps):
368
+ 6. **Register PLN artifact** in state.json:
369
+ ```json
370
+ { "id": "PLN-NNN", "type": "plan", "milestone": "current", "phase": "target_phase",
371
+ "scope": "phase", "path": "scratch/{YYYYMMDD}-plan-P{N}-{slug}",
372
+ "status": "completed", "depends_on": "anl_art.id || exec_art.id" }
373
+ ```
374
+
375
+ 7. **Issue linking** (if --gaps):
327
376
  For each TASK with `issue_id`: update issue in `issues.jsonl` (`task_refs` += TASK-NNN, `task_plan_dir`, `status: "planned"`, `updated_at`) + append history entry. Ensures bidirectional issue-TASK traceability.
328
377
 
329
- 6. **Display summary + options** (skip options if AUTO_YES):
330
- Show phase name, task/wave counts, checker status, output file paths.
331
- Next steps: `maestro-execute "{phase}"` (execute) or `maestro-plan "{phase}"` (re-plan).
378
+ 8. **Display summary + options** (skip options if AUTO_YES):
379
+ ```
380
+ === PLAN READY ===
381
+ Phase: {phase_name}
382
+ Tasks: {task_count} tasks in {wave_count} waves
383
+ Check: {checker_status} (iteration {check_count}/{max_checks})
384
+ Collision: {collision_status}
385
+
386
+ Next steps:
387
+ $maestro-execute "{phase}" -- Execute the plan
388
+ $maestro-plan "{phase}" -- Re-plan with modifications
389
+ ```
332
390
 
333
391
  ### Shared Discovery Board Protocol
334
392
 
@@ -371,7 +429,11 @@ echo '{"ts":"<ISO>","worker":"{id}","type":"existing_pattern","data":{"name":"Re
371
429
  | Phase argument required | Abort with error: "Phase argument required" |
372
430
  | Phase directory not found | Abort with error: "Phase {N} not found. Run init first." |
373
431
  | --gaps requires gaps source | Abort with error: "--gaps requires issues.jsonl, verification.json, or uat.md" |
432
+ | No plan found to revise (--revise) | Use --dir to specify plan, or create plan first |
433
+ | Plan directory not found (--check) | Check path, use --dir |
374
434
  | No context.md found | Warn, proceed with exploration only |
435
+ | Wiki search unavailable (W003) | Continue without prior knowledge context |
436
+ | Collision detected (W004) | Review colliding files, confirm or adjust scope |
375
437
  | Exploration agent timeout | Mark as failed, continue with available explorations |
376
438
  | Planning agent fails | Retry once with simplified context, then abort |
377
439
  | Plan produces invalid JSON | Retry once, then abort with error details |
@@ -387,8 +449,12 @@ echo '{"ts":"<ISO>","worker":"{id}","type":"existing_pattern","data":{"name":"Re
387
449
  - [ ] plan.json produced in phase directory
388
450
  - [ ] .task/TASK-*.json files produced for all tasks
389
451
  - [ ] Plan passes quality checks (coverage, deps, criteria)
452
+ - [ ] Collision detection executed against same-milestone plans
453
+ - [ ] PLN artifact registered in state.json
390
454
  - [ ] context.md produced with exploration findings + plan overview
391
455
  - [ ] index.json updated with plan metadata
392
- - [ ] Issues linked (if --gaps mode)
456
+ - [ ] Issues linked bidirectionally (if --gaps mode)
457
+ - [ ] Wiki knowledge integrated (if available)
458
+ - [ ] Team conflict preflight checked
393
459
  - [ ] discoveries.ndjson append-only throughout
394
460
  </success_criteria>