maestro-flow 0.5.34 → 0.5.36

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 (325) hide show
  1. package/.agents/agents/cli-explore-agent.md +71 -68
  2. package/.agents/agents/workflow-analyzer.md +1 -0
  3. package/.agents/agents/workflow-collab-planner.md +1 -0
  4. package/.agents/agents/workflow-debugger.md +1 -0
  5. package/.agents/agents/workflow-executor.md +1 -0
  6. package/.agents/agents/workflow-planner.md +2 -0
  7. package/.agents/skills/domain-add/SKILL.md +71 -0
  8. package/.agents/skills/maestro/SKILL.md +7 -6
  9. package/.agents/skills/maestro-amend/SKILL.md +0 -2
  10. package/.agents/skills/maestro-analyze/SKILL.md +9 -0
  11. package/.agents/skills/maestro-brainstorm/SKILL.md +10 -1
  12. package/.agents/skills/maestro-collab/SKILL.md +14 -1
  13. package/.agents/skills/maestro-help/SKILL.md +1 -1
  14. package/.agents/skills/maestro-help/index/catalog.json +0 -1
  15. package/.agents/skills/maestro-help/phases/01-parse-intent.md +1 -1
  16. package/.agents/skills/maestro-next/SKILL.md +15 -4
  17. package/.agents/skills/maestro-overlay/SKILL.md +4 -3
  18. package/.agents/skills/maestro-plan/SKILL.md +15 -4
  19. package/.agents/skills/maestro-ralph/SKILL.md +135 -31
  20. package/.agents/skills/maestro-ralph-execute/SKILL.md +51 -10
  21. package/.agents/skills/maestro-tools-register/SKILL.md +0 -6
  22. package/.agents/skills/maestro-ui-codify/SKILL.md +0 -2
  23. package/.agents/skills/manage-kg-extractors/SKILL.md +0 -2
  24. package/.agents/skills/quality-test/SKILL.md +25 -1
  25. package/.agents/skills/spec-load/SKILL.md +0 -1
  26. package/.agents/skills/spec-setup/SKILL.md +0 -1
  27. package/.agents/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
  28. package/.agents/skills/team-quality-assurance/roles/scout/role.md +15 -11
  29. package/.agents/skills/team-tech-debt/roles/scanner/role.md +1 -1
  30. package/.agents/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
  31. package/.agy/agents/cli-explore-agent.md +71 -68
  32. package/.agy/agents/workflow-analyzer.md +1 -0
  33. package/.agy/agents/workflow-collab-planner.md +1 -0
  34. package/.agy/agents/workflow-debugger.md +1 -0
  35. package/.agy/agents/workflow-executor.md +1 -0
  36. package/.agy/agents/workflow-planner.md +2 -0
  37. package/.agy/skills/domain-add/SKILL.md +68 -0
  38. package/.agy/skills/maestro/SKILL.md +7 -6
  39. package/.agy/skills/maestro-amend/SKILL.md +0 -2
  40. package/.agy/skills/maestro-analyze/SKILL.md +9 -0
  41. package/.agy/skills/maestro-brainstorm/SKILL.md +10 -1
  42. package/.agy/skills/maestro-collab/SKILL.md +14 -1
  43. package/.agy/skills/maestro-help/SKILL.md +1 -1
  44. package/.agy/skills/maestro-help/index/catalog.json +0 -1
  45. package/.agy/skills/maestro-help/phases/01-parse-intent.md +1 -1
  46. package/.agy/skills/maestro-next/SKILL.md +15 -4
  47. package/.agy/skills/maestro-overlay/SKILL.md +4 -3
  48. package/.agy/skills/maestro-plan/SKILL.md +15 -4
  49. package/.agy/skills/maestro-ralph/SKILL.md +135 -31
  50. package/.agy/skills/maestro-ralph-execute/SKILL.md +51 -10
  51. package/.agy/skills/maestro-tools-register/SKILL.md +0 -6
  52. package/.agy/skills/maestro-ui-codify/SKILL.md +0 -2
  53. package/.agy/skills/manage-kg-extractors/SKILL.md +0 -2
  54. package/.agy/skills/quality-test/SKILL.md +25 -1
  55. package/.agy/skills/spec-load/SKILL.md +0 -1
  56. package/.agy/skills/spec-setup/SKILL.md +0 -1
  57. package/.agy/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
  58. package/.agy/skills/team-quality-assurance/roles/scout/role.md +15 -11
  59. package/.agy/skills/team-tech-debt/roles/scanner/role.md +1 -1
  60. package/.agy/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
  61. package/.claude/agents/cli-explore-agent.md +71 -68
  62. package/.claude/agents/workflow-analyzer.md +1 -0
  63. package/.claude/agents/workflow-collab-planner.md +1 -0
  64. package/.claude/agents/workflow-debugger.md +1 -0
  65. package/.claude/agents/workflow-executor.md +1 -0
  66. package/.claude/agents/workflow-planner.md +2 -0
  67. package/.claude/commands/domain-add.md +69 -0
  68. package/.claude/commands/maestro-amend.md +0 -2
  69. package/.claude/commands/maestro-analyze.md +9 -0
  70. package/.claude/commands/maestro-brainstorm.md +10 -1
  71. package/.claude/commands/maestro-collab.md +14 -1
  72. package/.claude/commands/maestro-next.md +15 -4
  73. package/.claude/commands/maestro-overlay.md +4 -3
  74. package/.claude/commands/maestro-plan.md +15 -4
  75. package/.claude/commands/maestro-ralph-execute.md +51 -10
  76. package/.claude/commands/maestro-ralph.md +135 -31
  77. package/.claude/commands/maestro-tools-register.md +0 -6
  78. package/.claude/commands/maestro-ui-codify.md +0 -2
  79. package/.claude/commands/maestro.md +7 -6
  80. package/.claude/commands/manage-kg-extractors.md +0 -2
  81. package/.claude/commands/quality-test.md +25 -1
  82. package/.claude/commands/spec-load.md +0 -1
  83. package/.claude/commands/spec-setup.md +0 -1
  84. package/.claude/skills/maestro-help/SKILL.md +1 -1
  85. package/.claude/skills/maestro-help/index/catalog.json +0 -1
  86. package/.claude/skills/maestro-help/phases/01-parse-intent.md +1 -1
  87. package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
  88. package/.claude/skills/team-quality-assurance/roles/scout/role.md +15 -11
  89. package/.claude/skills/team-tech-debt/roles/scanner/role.md +1 -1
  90. package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
  91. package/.codex/skills/domain-add/SKILL.md +79 -0
  92. package/.codex/skills/domain-discover/SKILL.md +43 -0
  93. package/.codex/skills/domain-list/SKILL.md +38 -0
  94. package/.codex/skills/learn-follow/SKILL.md +0 -3
  95. package/.codex/skills/learn-investigate/SKILL.md +0 -3
  96. package/.codex/skills/learn-retro/SKILL.md +0 -2
  97. package/.codex/skills/maestro/SKILL.md +34 -13
  98. package/.codex/skills/maestro-amend/SKILL.md +0 -2
  99. package/.codex/skills/maestro-analyze/SKILL.md +36 -6
  100. package/.codex/skills/maestro-blueprint/SKILL.md +0 -4
  101. package/.codex/skills/maestro-brainstorm/SKILL.md +46 -6
  102. package/.codex/skills/maestro-collab/SKILL.md +14 -1
  103. package/.codex/skills/maestro-companion/SKILL.md +0 -2
  104. package/.codex/skills/maestro-execute/SKILL.md +25 -3
  105. package/.codex/skills/maestro-fork/SKILL.md +0 -2
  106. package/.codex/skills/maestro-grill/SKILL.md +9 -1
  107. package/.codex/skills/maestro-next/SKILL.md +12 -5
  108. package/.codex/skills/maestro-plan/SKILL.md +43 -5
  109. package/.codex/skills/maestro-ralph/SKILL.md +10 -3
  110. package/.codex/skills/maestro-ralph-execute/SKILL.md +51 -10
  111. package/.codex/skills/maestro-roadmap/SKILL.md +30 -3
  112. package/.codex/skills/manage-wiki/SKILL.md +0 -2
  113. package/.codex/skills/odyssey-debug/SKILL.md +0 -2
  114. package/.codex/skills/odyssey-improve/SKILL.md +0 -6
  115. package/.codex/skills/odyssey-review-test-fix/SKILL.md +0 -3
  116. package/.codex/skills/odyssey-ui/SKILL.md +0 -3
  117. package/.codex/skills/quality-review/SKILL.md +9 -0
  118. package/.codex/skills/spec-setup/SKILL.md +0 -2
  119. package/.codex/skills/team-coordinate/SKILL.md +0 -3
  120. package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +0 -2
  121. package/README.md +28 -5
  122. package/README.zh-CN.md +28 -5
  123. package/chains/_intent-map.json +36 -0
  124. package/chains/blueprint-driven.json +49 -0
  125. package/chains/grill-driven.json +51 -0
  126. package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js +4 -0
  127. package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js.map +1 -1
  128. package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.d.ts +6 -0
  129. package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js +36 -0
  130. package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js.map +1 -0
  131. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.d.ts +1 -1
  132. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
  133. package/dashboard/dist-server/dashboard/src/server/wiki/embedding.d.ts +82 -0
  134. package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js +444 -0
  135. package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js.map +1 -0
  136. package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +47 -1
  137. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +426 -19
  138. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  139. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +16 -0
  140. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  141. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.d.ts +11 -0
  142. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +492 -1
  143. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  144. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +18 -0
  145. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +192 -9
  146. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +42 -0
  148. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -0
  150. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  151. package/dashboard/dist-server/shared/agent-types.d.ts +1 -1
  152. package/dashboard/dist-server/src/commands/hooks.d.ts +3 -0
  153. package/dashboard/dist-server/src/commands/hooks.js +60 -9
  154. package/dashboard/dist-server/src/commands/hooks.js.map +1 -1
  155. package/dashboard/dist-server/src/graph/kg/extraction/code/code-extractor.js +1 -1
  156. package/dashboard/dist-server/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
  157. package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js +4 -2
  158. package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
  159. package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js +6 -1
  160. package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -1
  161. package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js +2 -6
  162. package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js.map +1 -1
  163. package/dashboard/dist-server/src/hooks/session-context.js +37 -1
  164. package/dashboard/dist-server/src/hooks/session-context.js.map +1 -1
  165. package/dashboard/dist-server/src/search/daemon.d.ts +42 -0
  166. package/dashboard/dist-server/src/search/daemon.js +180 -0
  167. package/dashboard/dist-server/src/search/daemon.js.map +1 -0
  168. package/dashboard/dist-server/src/tools/domain-loader.d.ts +4 -1
  169. package/dashboard/dist-server/src/tools/domain-loader.js +56 -25
  170. package/dashboard/dist-server/src/tools/domain-loader.js.map +1 -1
  171. package/dashboard/dist-server/src/tools/domain-schema.d.ts +1 -1
  172. package/dashboard/dist-server/src/tools/domain-schema.js +1 -1
  173. package/dist/shared/agent-types.d.ts +1 -1
  174. package/dist/shared/agent-types.d.ts.map +1 -1
  175. package/dist/src/agents/api-explore/agent-loop.d.ts +14 -0
  176. package/dist/src/agents/api-explore/agent-loop.d.ts.map +1 -0
  177. package/dist/src/agents/api-explore/agent-loop.js +86 -0
  178. package/dist/src/agents/api-explore/agent-loop.js.map +1 -0
  179. package/dist/src/agents/api-explore/config.d.ts +42 -0
  180. package/dist/src/agents/api-explore/config.d.ts.map +1 -0
  181. package/dist/src/agents/api-explore/config.js +99 -0
  182. package/dist/src/agents/api-explore/config.js.map +1 -0
  183. package/dist/src/agents/api-explore/index.d.ts +2 -0
  184. package/dist/src/agents/api-explore/index.d.ts.map +1 -0
  185. package/dist/src/agents/api-explore/index.js +102 -0
  186. package/dist/src/agents/api-explore/index.js.map +1 -0
  187. package/dist/src/agents/api-explore/llm.d.ts +28 -0
  188. package/dist/src/agents/api-explore/llm.d.ts.map +1 -0
  189. package/dist/src/agents/api-explore/llm.js +48 -0
  190. package/dist/src/agents/api-explore/llm.js.map +1 -0
  191. package/dist/src/agents/api-explore/prompt-parser.d.ts +23 -0
  192. package/dist/src/agents/api-explore/prompt-parser.d.ts.map +1 -0
  193. package/dist/src/agents/api-explore/prompt-parser.js +73 -0
  194. package/dist/src/agents/api-explore/prompt-parser.js.map +1 -0
  195. package/dist/src/agents/api-explore/runner.d.ts +65 -0
  196. package/dist/src/agents/api-explore/runner.d.ts.map +1 -0
  197. package/dist/src/agents/api-explore/runner.js +196 -0
  198. package/dist/src/agents/api-explore/runner.js.map +1 -0
  199. package/dist/src/agents/api-explore/session.d.ts +23 -0
  200. package/dist/src/agents/api-explore/session.d.ts.map +1 -0
  201. package/dist/src/agents/api-explore/session.js +57 -0
  202. package/dist/src/agents/api-explore/session.js.map +1 -0
  203. package/dist/src/agents/api-explore/stream-json-emitter.d.ts +10 -0
  204. package/dist/src/agents/api-explore/stream-json-emitter.d.ts.map +1 -0
  205. package/dist/src/agents/api-explore/stream-json-emitter.js +19 -0
  206. package/dist/src/agents/api-explore/stream-json-emitter.js.map +1 -0
  207. package/dist/src/agents/api-explore/system-prompt.d.ts +2 -0
  208. package/dist/src/agents/api-explore/system-prompt.d.ts.map +1 -0
  209. package/dist/src/agents/api-explore/system-prompt.js +31 -0
  210. package/dist/src/agents/api-explore/system-prompt.js.map +1 -0
  211. package/dist/src/agents/api-explore/tools.d.ts +11 -0
  212. package/dist/src/agents/api-explore/tools.d.ts.map +1 -0
  213. package/dist/src/agents/api-explore/tools.js +168 -0
  214. package/dist/src/agents/api-explore/tools.js.map +1 -0
  215. package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
  216. package/dist/src/agents/cli-agent-runner.js +3 -0
  217. package/dist/src/agents/cli-agent-runner.js.map +1 -1
  218. package/dist/src/cli.js +4 -0
  219. package/dist/src/cli.js.map +1 -1
  220. package/dist/src/commands/domain.d.ts.map +1 -1
  221. package/dist/src/commands/domain.js +5 -4
  222. package/dist/src/commands/domain.js.map +1 -1
  223. package/dist/src/commands/explore.d.ts +7 -0
  224. package/dist/src/commands/explore.d.ts.map +1 -0
  225. package/dist/src/commands/explore.js +201 -0
  226. package/dist/src/commands/explore.js.map +1 -0
  227. package/dist/src/commands/hooks.d.ts +3 -0
  228. package/dist/src/commands/hooks.d.ts.map +1 -1
  229. package/dist/src/commands/hooks.js +60 -9
  230. package/dist/src/commands/hooks.js.map +1 -1
  231. package/dist/src/commands/install.d.ts.map +1 -1
  232. package/dist/src/commands/install.js +42 -9
  233. package/dist/src/commands/install.js.map +1 -1
  234. package/dist/src/commands/search.d.ts +26 -4
  235. package/dist/src/commands/search.d.ts.map +1 -1
  236. package/dist/src/commands/search.js +359 -93
  237. package/dist/src/commands/search.js.map +1 -1
  238. package/dist/src/commands/update.d.ts.map +1 -1
  239. package/dist/src/commands/update.js +37 -21
  240. package/dist/src/commands/update.js.map +1 -1
  241. package/dist/src/commands/workspace.d.ts.map +1 -1
  242. package/dist/src/commands/workspace.js +9 -3
  243. package/dist/src/commands/workspace.js.map +1 -1
  244. package/dist/src/config/cli-tools-defaults.json +2 -1
  245. package/dist/src/core/install-executor.d.ts.map +1 -1
  246. package/dist/src/core/install-executor.js +6 -3
  247. package/dist/src/core/install-executor.js.map +1 -1
  248. package/dist/src/graph/kg/extraction/code/code-extractor.js +1 -1
  249. package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
  250. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts.map +1 -1
  251. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js +4 -2
  252. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
  253. package/dist/src/graph/kg/extraction/knowledge-extractor-registry.d.ts.map +1 -1
  254. package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js +6 -1
  255. package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -1
  256. package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -1
  257. package/dist/src/graph/kg/extraction/orchestrator.js +2 -6
  258. package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -1
  259. package/dist/src/graph/kg/surface/cli.d.ts.map +1 -1
  260. package/dist/src/graph/kg/surface/cli.js +5 -2
  261. package/dist/src/graph/kg/surface/cli.js.map +1 -1
  262. package/dist/src/hooks/session-context.d.ts.map +1 -1
  263. package/dist/src/hooks/session-context.js +37 -1
  264. package/dist/src/hooks/session-context.js.map +1 -1
  265. package/dist/src/ralph/cmd-next.d.ts.map +1 -1
  266. package/dist/src/ralph/cmd-next.js +66 -4
  267. package/dist/src/ralph/cmd-next.js.map +1 -1
  268. package/dist/src/ralph/status-schema.d.ts +1 -0
  269. package/dist/src/ralph/status-schema.d.ts.map +1 -1
  270. package/dist/src/search/daemon.d.ts +43 -0
  271. package/dist/src/search/daemon.d.ts.map +1 -0
  272. package/dist/src/search/daemon.js +180 -0
  273. package/dist/src/search/daemon.js.map +1 -0
  274. package/dist/src/tools/__tests__/domain-search-debug.js +3 -1
  275. package/dist/src/tools/__tests__/domain-search-debug.js.map +1 -1
  276. package/dist/src/tools/domain-loader.d.ts +4 -1
  277. package/dist/src/tools/domain-loader.d.ts.map +1 -1
  278. package/dist/src/tools/domain-loader.js +56 -25
  279. package/dist/src/tools/domain-loader.js.map +1 -1
  280. package/dist/src/tools/domain-schema.d.ts +1 -1
  281. package/dist/src/tools/domain-schema.js +1 -1
  282. package/dist/src/utils/update-notices.js +12 -0
  283. package/dist/src/utils/update-notices.js.map +1 -1
  284. package/package.json +5 -1
  285. package/shared/agent-types.ts +1 -1
  286. package/templates/search-tools.md +22 -6
  287. package/workflows/agy-instructions.md +0 -4
  288. package/workflows/analyze.md +2 -2
  289. package/workflows/boundary-grill.md +50 -0
  290. package/workflows/brainstorm.md +6 -5
  291. package/workflows/claude-instructions.md +29 -2
  292. package/workflows/codebase-rebuild.md +0 -1
  293. package/workflows/codex-instructions.md +97 -14
  294. package/workflows/command-authoring.md +1 -1
  295. package/workflows/debug.md +0 -4
  296. package/workflows/domain-add.md +115 -0
  297. package/workflows/execute.md +7 -0
  298. package/workflows/explore-usage.md +128 -0
  299. package/workflows/finish-work.md +2 -6
  300. package/workflows/fork.md +0 -4
  301. package/workflows/grill.md +14 -1
  302. package/workflows/harvest.md +0 -3
  303. package/workflows/impeccable/audit.md +0 -2
  304. package/workflows/impeccable/codex.md +0 -4
  305. package/workflows/init.md +9 -0
  306. package/workflows/interview-mechanics.md +3 -2
  307. package/workflows/issue-analyze.md +0 -5
  308. package/workflows/issue-gaps-analyze.codex.md +0 -6
  309. package/workflows/knowledge-audit.md +0 -4
  310. package/workflows/learn.md +0 -6
  311. package/workflows/maestro.codex.md +0 -4
  312. package/workflows/maestro.md +31 -18
  313. package/workflows/merge.md +0 -4
  314. package/workflows/milestone-complete.md +0 -4
  315. package/workflows/overlays.md +0 -10
  316. package/workflows/plan.md +2 -3
  317. package/workflows/roadmap-common.md +0 -4
  318. package/workflows/tdd.md +0 -2
  319. package/workflows/tools-spec.md +1 -7
  320. package/workflows/ui-codify-extract.md +0 -2
  321. package/workflows/ui-codify-package.md +0 -2
  322. package/.agents/skills/maestro-ralph-beta/SKILL.md +0 -882
  323. package/.agy/skills/maestro-ralph-beta/SKILL.md +0 -878
  324. package/.claude/commands/maestro-ralph-beta.md +0 -880
  325. package/.codex/skills/maestro-ralph-beta/SKILL.md +0 -883
@@ -39,18 +39,22 @@ Scan codebase from multiple perspectives (bug, security, test-coverage, code-qua
39
39
 
40
40
  **Low complexity**: Use `` for quick pattern-based scan.
41
41
 
42
- **Medium/High complexity**: CLI fan-out -- one `maestro delegate --mode analysis` per perspective:
43
-
44
- For each active perspective, build prompt:
45
- ```
46
- PURPOSE: Scan code from <perspective> perspective to discover potential issues
47
- TASK: Analyze code patterns for <perspective> problems, identify anti-patterns, check for common issues
48
- MODE: analysis
49
- CONTEXT: @<scan-scope>
50
- EXPECTED: List of findings with severity (critical/high/medium/low), file:line references, description
51
- CONSTRAINTS: Focus on actionable findings only
42
+ **Medium/High complexity**: Multi-prompt `maestro explore` (preferred for read-only scan):
43
+
44
+ Build one prompt per active perspective:
45
+ ```bash
46
+ maestro explore \
47
+ "FIND: <perspective1> issues and anti-patterns
48
+ SCOPE: <scan-scope>
49
+ ATTENTION: common <perspective1> problems
50
+ EXPECTED: severity + file:line + description" \
51
+ "FIND: <perspective2> issues and anti-patterns
52
+ SCOPE: <scan-scope>
53
+ EXPECTED: severity + file:line + description" \
54
+ --max-turns 3 --json
52
55
  ```
53
- Execute via: `maestro delegate "<prompt>" --role analyze --mode analysis`
56
+
57
+ **Fallback** (when deeper analysis needed per perspective): `maestro delegate "<prompt>" --role analyze --mode analysis`
54
58
 
55
59
  After all perspectives complete:
56
60
  - Parse CLI outputs into structured findings
@@ -56,7 +56,7 @@ Multi-dimension tech debt scanner. Scan codebase across 5 dimensions (code, arch
56
56
  - Classify findings into dimensions
57
57
 
58
58
  **Medium/High Complexity** (Fan-out):
59
- - Fan-out A: CLI exploration (structure, patterns, dependencies angles) via `maestro delegate --role explore --mode analysis`
59
+ - Fan-out A: `maestro explore` multi-prompt parallel (structure, patterns, dependencies angles) preferred over delegate for exploration
60
60
  - Fan-out B: CLI dimension analysis (parallel per dimension -- code, architecture, testing, dependency, documentation) via `--role analyze`
61
61
  - Fan-out C (High only): Multi-perspective analysis (security, performance, code-quality, architecture) via `--role analyze`
62
62
  - Fan-in: Merge results, cross-deduplicate by file:line, boost severity for multi-source findings
@@ -41,24 +41,31 @@ Explore codebase structure through cli-explore-agent, collecting structured cont
41
41
 
42
42
  ## Phase 3: Codebase Exploration
43
43
 
44
- Use CLI tool for codebase exploration:
45
-
46
- ```javascript
47
- Bash({
48
- command: `maestro delegate "PURPOSE: Explore codebase for <topic> from <perspective> perspective; success = structured findings with relevant files and patterns
49
- TASK: • Run module depth analysis • Search for topic-related patterns • Identify key files and their relationships • Extract architectural insights
50
- MODE: analysis
51
- CONTEXT: @**/* | Memory: Session <session-folder>, perspective <perspective>
52
- EXPECTED: JSON output with: relevant_files (path, relevance, summary), patterns, key_findings, module_map, questions_for_analysis, _metadata (perspective, search_queries, timestamp)
53
- CONSTRAINTS: Focus on <perspective> angle - <strategy.focus> | Write to <session>/explorations/exploration-<num>.json
54
- " --tool gemini --mode analysis --rule analysis-analyze-code-patterns`,
55
- run_in_background: false
56
- })
44
+ **Primary: `maestro explore`** (structured multi-prompt):
45
+
46
+ ```bash
47
+ maestro explore \
48
+ "FIND: <topic> patterns and implementations
49
+ SCOPE: src/
50
+ ATTENTION: <perspective>-specific concerns
51
+ EXPECTED: file:line evidence with relevance" \
52
+ "FIND: module boundaries and relationships for <topic>
53
+ SCOPE: src/
54
+ EXCLUDE: tests, generated code
55
+ EXPECTED: dependency pairs and architectural insights" \
56
+ --max-turns 3 --json
57
57
  ```
58
58
 
59
- **ACE fallback** (when CLI produces no output):
60
- ```javascript
61
- ({ project_root_path: ".", query: "<topic> <perspective>" })
59
+ Parse JSON results extract relevant_files, patterns, key_findings.
60
+
61
+ **Fallback: `maestro delegate`** (when explore results insufficient):
62
+
63
+ ```bash
64
+ maestro delegate "PURPOSE: Explore codebase for <topic> from <perspective> perspective
65
+ TASK: Search for topic-related patterns | Identify key files and relationships | Extract architectural insights
66
+ EXPECTED: JSON with relevant_files, patterns, key_findings
67
+ CONSTRAINTS: Focus on <perspective> angle
68
+ " --tool gemini --mode analysis --rule analysis-analyze-code-patterns
62
69
  ```
63
70
 
64
71
  ## Phase 4: Result Validation
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: domain-add
3
+ description: Register a domain term into project glossary
4
+ argument-hint: "<canonical> <definition>"
5
+ allowed-tools: Read, Write, Bash, Glob, Grep
6
+ ---
7
+
8
+ <purpose>
9
+ Register a domain term into `.workflow/domain/glossary.yaml`. Domain terms are automatically injected into agent context via hooks (domain-compact for all prompts, domain-expanded on keyword match).
10
+
11
+ ```bash
12
+ $domain-add "auth-token" "Short-lived credential for API authentication"
13
+ $domain-add "event-bus" "Central pub-sub message broker for cross-module communication"
14
+ ```
15
+
16
+ **CLI alternative**: `maestro domain add "<canonical>" "<definition>" --tier core|extended|peripheral`. Used by finish-work for programmatic domain term extraction from session outputs.
17
+ </purpose>
18
+
19
+ <context>
20
+ $ARGUMENTS — `<canonical> <definition>` where canonical is a kebab-case term name.
21
+
22
+ **Prerequisites**: `.workflow/domain/` must exist (run `maestro domain init` if missing).
23
+
24
+ **Domain term lifecycle**: discover/manual → register → active → (optional) deprecated → removed
25
+ </context>
26
+
27
+ <execution>
28
+
29
+ ### Step 1: Parse Input
30
+
31
+ Extract canonical (first token, kebab-case) and definition (remainder) from arguments.
32
+ - Validate canonical is non-empty, kebab-case (lowercase, hyphens only)
33
+ - Validate definition is non-empty, ≤200 chars (E001 if missing)
34
+
35
+ ### Step 2: Validate Domain Directory
36
+
37
+ Verify `.workflow/domain/glossary.yaml` exists (E002). If not, run `maestro domain init`.
38
+
39
+ ### Step 3: Check Duplicates
40
+
41
+ Read existing glossary and check for:
42
+ - Exact duplicate (same canonical name) → report existing entry, exit
43
+ - Near match (Levenshtein ≤ 2 or alias overlap) → warn, ask to confirm or merge
44
+
45
+ ### Step 4: Extract Metadata
46
+
47
+ Auto-derive from the definition and codebase context:
48
+ - **aliases** (1-3): common abbreviations, Chinese translations, alternate forms
49
+ - **keywords** (3-5): search terms for discovery
50
+ - **tier**: `core` | `extended` | `peripheral`
51
+ - **relationships**: scan existing glossary for related terms
52
+
53
+ ### Step 5: Register Term
54
+
55
+ ```bash
56
+ maestro domain add "<canonical>" "<definition>" --tier <tier>
57
+ maestro domain update "<canonical>" --aliases "alias1,alias2" --keywords "kw1,kw2" --relationships "rel1,rel2"
58
+ ```
59
+
60
+ ### Step 6: Confirm
61
+
62
+ Display: canonical name, definition, aliases, tier, relationships, and verify command `maestro domain list`.
63
+ </execution>
64
+
65
+ <error_codes>
66
+ | Code | Severity | Description |
67
+ |------|----------|-------------|
68
+ | E001 | fatal | Canonical name and definition are both required |
69
+ | E002 | fatal | `.workflow/domain/` not initialized — run `maestro domain init` first |
70
+ | E003 | fatal | Term already registered with same canonical name |
71
+ </error_codes>
72
+
73
+ <success_criteria>
74
+ - [ ] Canonical name and definition parsed and validated
75
+ - [ ] No duplicate term in glossary
76
+ - [ ] Aliases and keywords auto-extracted
77
+ - [ ] Term written to glossary.yaml with tier and relationships
78
+ - [ ] Confirmation displayed with verify command
79
+ </success_criteria>
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: domain-discover
3
+ description: Discover domain term candidates from codebase
4
+ argument-hint: "[--auto]"
5
+ allowed-tools: Read, Bash, Glob, Grep
6
+ ---
7
+
8
+ <purpose>
9
+ Scan codebase for potential domain terms not yet in `.workflow/domain/glossary.yaml`. Presents candidates with confidence scores for interactive registration.
10
+
11
+ `--auto`: auto-register candidates with confidence ≥ 0.8 without prompting.
12
+ </purpose>
13
+
14
+ <execution>
15
+
16
+ ### Step 1: Scan Codebase
17
+
18
+ Run `maestro domain discover` to scan TypeScript interfaces, types, enums, const patterns, API routes, and README headings.
19
+
20
+ ### Step 2: Filter Existing
21
+
22
+ Remove candidates already registered in glossary.yaml (by canonical name or alias match).
23
+
24
+ ### Step 3: Present Candidates
25
+
26
+ Display ranked candidates with confidence scores:
27
+
28
+ ```
29
+ === DOMAIN TERM CANDIDATES ({N} found) ===
30
+
31
+ 0.92 session-context — Runtime state container for active workflow session
32
+ 0.85 skill-resolver — Module that maps skill names to SKILL.md file paths
33
+ 0.71 chain-graph — DAG definition for multi-step command sequences
34
+ ...
35
+
36
+ Register? (all | select by number | skip)
37
+ ```
38
+
39
+ ### Step 4: Register Selected
40
+
41
+ For each confirmed candidate, run `maestro domain add "<canonical>" "<definition>"`.
42
+
43
+ </execution>
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: domain-list
3
+ description: List registered domain terms from glossary
4
+ argument-hint: "[--tier core|extended|peripheral]"
5
+ allowed-tools: Read, Bash, Glob, Grep
6
+ ---
7
+
8
+ <purpose>
9
+ List all registered domain terms from `.workflow/domain/glossary.yaml`. Shows canonical name, definition, tier, aliases, and status.
10
+ </purpose>
11
+
12
+ <execution>
13
+
14
+ ### Step 1: Load Glossary
15
+
16
+ Read `.workflow/domain/glossary.yaml`. If not exists, report "No domain glossary — run `maestro domain init`".
17
+
18
+ ### Step 2: Filter and Display
19
+
20
+ Apply optional `--tier` filter. Display terms grouped by tier (core → extended → peripheral):
21
+
22
+ ```
23
+ === DOMAIN TERMS ({N} total) ===
24
+
25
+ [core]
26
+ auth-token — Short-lived credential for API authentication
27
+ aliases: 令牌, access-token | keywords: auth, credential, jwt
28
+ event-bus — Central pub-sub message broker
29
+ aliases: 事件总线 | keywords: pubsub, messaging
30
+
31
+ [extended]
32
+ ...
33
+
34
+ [deprecated]
35
+ wikiindexer → search-engine (successor)
36
+ ```
37
+
38
+ </execution>
@@ -9,9 +9,6 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
9
9
  Guided reading experience for code files, wiki entries, or topics. Walks through content
10
10
  section by section using 4 forcing questions to extract patterns, identify assumptions,
11
11
  and build a structured understanding map. Insights persist to `.workflow/specs/learnings.md`.
12
-
13
- Unlike `learn-decompose` which is parallel pattern extraction, this is sequential
14
- deep reading that builds understanding incrementally.
15
12
  </purpose>
16
13
 
17
14
  <context>
@@ -9,9 +9,6 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
9
9
  Systematic investigation for understanding questions (not bug-fixing). 4-phase approach
10
10
  with scope lock and 3-strike escalation. Produces structured evidence trails and
11
11
  understanding documents that persist to the learning system.
12
-
13
- Unlike `quality-debug` (fixing bugs during execution), this answers "how does X work?",
14
- "why does Y happen?", "what would happen if Z?" questions.
15
12
  </purpose>
16
13
 
17
14
  <context>
@@ -10,8 +10,6 @@ Unified retrospective combining git activity analysis and decision quality evalu
10
10
  Two lenses, usable independently or together:
11
11
  - **git**: Commit metrics, session detection, per-author breakdown, file hotspots, trends
12
12
  - **decision**: Decision tracing across wiki/specs/git, multi-perspective evaluation via 3 parallel agents
13
-
14
- Works on raw git history and wiki/spec data — does not require completed phase artifacts.
15
13
  </purpose>
16
14
 
17
15
  <context>
@@ -180,6 +180,9 @@ Extract:
180
180
  | `overlay` | Create/edit command overlays |
181
181
  | `update` | Update maestro itself |
182
182
  | `harvest` | Extract knowledge from artifacts |
183
+ | `domain_add` | Register a domain term into glossary |
184
+ | `domain_list` | List registered domain terms |
185
+ | `domain_discover` | Discover domain term candidates from codebase |
183
186
  | `wiki` | Manage wiki graph |
184
187
  | `knowhow` | Manage knowhow entries |
185
188
  | `ui_design` | UI design, build new UI |
@@ -293,7 +296,7 @@ Read `.workflow/state.json` and route by condition:
293
296
  "scope_verdict": null, "analyze_macro_id": null, "blueprint_id": null,
294
297
  "auto_mode": false,
295
298
  "context": { "issue_id": null, "scratch_dir": null, "plan_dir": null,
296
- "analysis_dir": null, "brainstorm_dir": null, "blueprint_dir": null },
299
+ "analysis_dir": null, "brainstorm_dir": null, "blueprint_dir": null, "grill_id": null },
297
300
  "steps": [{
298
301
  "index": 0, "type": "skill|decision",
299
302
  "skill": "", "args": "",
@@ -328,12 +331,27 @@ Read `.workflow/state.json` and route by condition:
328
331
 
329
332
  Direct in-context skill invocation — **replaces the old spawn/wave/CSV mechanism**.
330
333
 
331
- 1. **buildSkillCall**: replace placeholders `{phase}`/`{plan_dir}`/`{analysis_dir}`/`{brainstorm_dir}`/`{spec_session_id}`; append auto-yes flag if `auto_mode` (see Appendix: Auto-Yes Flag Map)
334
+ 1. **buildSkillCall**: replace placeholders + append auto-yes flag if `auto_mode` (see Appendix: Auto-Yes Flag Map):
335
+
336
+ | Placeholder | Source |
337
+ |-------------|--------|
338
+ | `{phase}` | session.phase |
339
+ | `{plan_dir}` | session.context.plan_dir |
340
+ | `{analysis_dir}` | session.context.analysis_dir |
341
+ | `{brainstorm_dir}` | session.context.brainstorm_dir |
342
+ | `{spec_session_id}` | session.context.spec_session_id |
343
+ | `{GRL}` | session.context.grill_id |
344
+ | `{ANL}` | session.analyze_macro_id |
345
+ | `{BLP}` | session.blueprint_id |
346
+ | `{intent}` | session.intent |
347
+
348
+ **--from auto-injection**: 当 step 是 `maestro-plan`,args 含 `{phase}` 但无 `--from` 且无 `--dir`,且 `session.context.analysis_dir` 已填充 → 查 state.json 同 phase+milestone 最新 completed analyze artifact → 注入 `--from analyze:{id}`,写 `step.source_artifact_ref`
332
349
  2. Mark step `status="running"`, persist status.json + `update_plan` (this step → in_progress)
333
350
  3. **Invoke the skill directly**: execute `$skill {resolved_args}` in coordinator context (NO spawn). Read its produced artifacts directly
334
351
  4. On success: capture summary; mark step `status="done"`. **Barrier-context update** (when step is a context-producing skill):
335
352
  | Skill | Read | Context Updates |
336
353
  |-------|------|-----------------|
354
+ | maestro-grill | grill-report.md, state.json | grill_id |
337
355
  | maestro-analyze | context.md, state.json | analysis_dir, gaps, phase |
338
356
  | maestro-plan | plan.json, .task/TASK-*.json | plan_dir, task_count |
339
357
  | maestro-brainstorm | .brainstorming/ | brainstorm_dir, features |
@@ -419,6 +437,9 @@ S_DECISION_EVAL 入口;镜像 maestro-ralph `A_GOAL_AUDIT_EVALUATE`。Condense
419
437
  | `spec_load` | `spec-load` |
420
438
  | `spec_map` | `manage-codebase-rebuild` |
421
439
  | `spec_remove` | `spec-remove "{description}"` |
440
+ | `domain_add` | `domain-add "{description}"` |
441
+ | `domain_list` | `domain-list` |
442
+ | `domain_discover` | `domain-discover` |
422
443
  | `knowhow_capture` | `manage-knowhow-capture "{description}"` |
423
444
  | `knowhow` | `manage-knowhow "{description}"` |
424
445
  | `issue` | `manage-issue "{description}"` |
@@ -444,26 +465,26 @@ S_DECISION_EVAL 入口;镜像 maestro-ralph `A_GOAL_AUDIT_EVALUATE`。Condense
444
465
 
445
466
  | Chain | Steps (→ = sequential, [B] = context-producing barrier) |
446
467
  |-------|---------------------------------------|
447
- | `feature` | [B] maestro-plan → [B] maestro-execute → quality-review |
468
+ | `feature` | [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
448
469
  | `quality-fix` | [B] maestro-analyze --gaps → [B] maestro-plan --gaps → [B] maestro-execute → quality-review |
449
470
  | `deploy` | quality-review → maestro-milestone-release |
450
- | `blueprint-driven` | maestro-init → [B] maestro-blueprint → [B] maestro-plan --from blueprint:{BLP} → [B] maestro-execute → quality-review |
451
- | `analyze-macro-driven` | [B] maestro-analyze "{intent}" → ◆ post-analyze-scope → (large: [B] maestro-roadmap --from analyze:{ANL} → [B] maestro-analyze {phase} → [B] maestro-plan {phase}) / (medium\|small: [B] maestro-plan --from analyze:{ANL}) → [B] maestro-execute → quality-review |
452
- | `grill-brainstorm` | [B] maestro-grill → [B] maestro-brainstorm --from grill:{GRL} → [B] maestro-plan → [B] maestro-execute → quality-review (**auto_mode: skip grill step, fall back to brainstorm-driven**) |
453
- | `brainstorm-driven` | [B] maestro-brainstorm → [B] maestro-plan → [B] maestro-execute → quality-review |
454
- | `ui-craft-build` | maestro-impeccable build → [B] maestro-plan → [B] maestro-execute → quality-review |
455
- | `roadmap-driven` | maestro-init → [B] maestro-roadmap → [B] maestro-plan → [B] maestro-execute → quality-review |
456
- | `next-milestone` | [B] maestro-roadmap → [B] maestro-plan → [B] maestro-execute → quality-review |
457
- | `full-lifecycle` | [B] maestro-plan → [B] maestro-execute → quality-review → quality-test → maestro-milestone-audit → maestro-milestone-complete |
471
+ | `blueprint-driven` | maestro-init → [B] maestro-blueprint → [B] maestro-plan --from blueprint:{BLP} → [B] maestro-execute → quality-review → manage-harvest --auto |
472
+ | `analyze-macro-driven` | [B] maestro-analyze "{intent}" → ◆ post-analyze-scope → (large: [B] maestro-roadmap --from analyze:{ANL} → [B] maestro-analyze {phase} → [B] maestro-plan {phase}) / (medium\|small: [B] maestro-plan --from analyze:{ANL}) → [B] maestro-execute → quality-review → manage-harvest --auto |
473
+ | `grill-brainstorm` | [B] maestro-grill → [B] maestro-brainstorm --from grill:{GRL} → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto (**auto_mode: skip grill step, fall back to brainstorm-driven**) |
474
+ | `brainstorm-driven` | [B] maestro-brainstorm → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
475
+ | `ui-craft-build` | maestro-impeccable build → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
476
+ | `roadmap-driven` | maestro-init → [B] maestro-roadmap → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
477
+ | `next-milestone` | [B] maestro-roadmap → [B] maestro-plan → [B] maestro-execute → quality-review → manage-harvest --auto |
478
+ | `full-lifecycle` | [B] maestro-plan → [B] maestro-execute → quality-review → quality-test → maestro-milestone-audit → maestro-milestone-complete → manage-harvest --auto |
458
479
  | `execute-review` | [B] maestro-execute → quality-review |
459
- | `analyze-plan-execute` | [B] maestro-analyze -q → [B] maestro-plan --dir {scratch_dir} → [B] maestro-execute --dir {scratch_dir} |
480
+ | `analyze-plan-execute` | [B] maestro-analyze -q → [B] maestro-plan --dir {scratch_dir} → [B] maestro-execute --dir {scratch_dir} → manage-harvest --auto |
460
481
  | `quality-loop` | quality-review → quality-test → quality-debug --from-uat → [B] maestro-plan --gaps → [B] maestro-execute |
461
482
  | `quality-loop-partial` | [B] maestro-plan --gaps → [B] maestro-execute → quality-review |
462
483
  | `review-fix` | [B] maestro-plan --gaps → [B] maestro-execute → quality-review |
463
484
  | `milestone-close` | maestro-milestone-audit → maestro-milestone-complete |
464
485
  | `milestone-release` | maestro-milestone-audit → maestro-milestone-release |
465
486
  | `phase_transition` | maestro-milestone-audit → maestro-milestone-complete |
466
- | `issue-full` | [B] maestro-analyze --gaps → [B] maestro-plan --gaps → [B] maestro-execute → quality-review → manage-issue close |
487
+ | `issue-full` | [B] maestro-analyze --gaps → [B] maestro-plan --gaps → [B] maestro-execute → quality-review → manage-issue close → manage-harvest --auto |
467
488
  | `issue-quick` | [B] maestro-plan --gaps → [B] maestro-execute → quality-review → manage-issue close |
468
489
 
469
490
  > When S_DECOMPOSE ran, a `decision:post-goal-audit` node is appended as the final node (after the last evidence-producing step; before milestone-complete/close-out if the chain ends with one). `[B]` now denotes a context-producing skill (artifacts read into `session.context`) — execution is still sequential (no parallelism; spawning removed).
@@ -6,8 +6,6 @@ allowed-tools: Read, Write, Bash, Glob, Grep, request_user_input
6
6
  ---
7
7
  <purpose>
8
8
  Signal-driven overlay generator — collect workflow deficiency signals from multiple sources, diagnose which commands need amendment, batch-generate targeted overlays. All amendments use overlay system (`~/.maestro/overlays/*.json`) — non-invasive, idempotent, survives reinstall.
9
-
10
- Differs from `$maestro-overlay` (single explicit intent). This command **discovers** what needs amending by analyzing workflow artifacts.
11
9
  </purpose>
12
10
 
13
11
  <required_reading>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: maestro-analyze
3
3
  description: Use when a topic needs structured multi-dimensional investigation before planning or decision-making
4
- argument-hint: "[-y|--yes] [-c|--concurrency N] [--continue] [--from <source>] \"<phase|topic> [-q|--quick] [--gaps [ISS-ID]]\""
4
+ argument-hint: "[-y|--yes] [--concurrency N] [-c|--continue] [--from <source>] \"<phase|topic> [-q|--quick] [--gaps [ISS-ID]]\""
5
5
  allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
6
6
  ---
7
7
 
@@ -14,8 +14,6 @@ Wave 1 (CLI exploration, parallel) -> Wave 2 (6-dimension scoring, parallel) ->
14
14
  **Dual-layer scope (D-003)**:
15
15
  - **Macro layer** (text argument, e.g. `analyze "auth refactor"`): broad impact exploration. Produces `scope_verdict ∈ {small, medium, large}` to drive downstream routing (roadmap vs plan).
16
16
  - **Phase layer** (numeric argument, e.g. `analyze 1`): phase-scoped deep analysis under `current_milestone`. Milestone resolved via D-007 `phase_slugs` reverse lookup, NEVER direct `current_milestone` read.
17
-
18
- Produces context-package.json (standardized cross-command context contract) in all modes.
19
17
  </purpose>
20
18
 
21
19
  <context>
@@ -23,14 +21,22 @@ $ARGUMENTS -- phase number, topic text, and optional flags.
23
21
 
24
22
  **Flags**:
25
23
  - `-y, --yes`: Skip all confirmations (auto mode)
26
- - `-c, --concurrency N`: Max concurrent agents per wave (default: 6)
24
+ - `--concurrency N`: Max concurrent agents per wave (default: 6)
25
+ - `-c, --continue`: Resume existing session
27
26
  - `--continue`: Resume existing session
28
27
  - `-q, --quick`: Skip exploration + scoring, Wave 3 only
29
28
  - `--gaps [ISS-ID]`: Issue root cause analysis. If ISS-ID: single issue. If omitted: all open/registered from issues.jsonl.
30
- - `--from <source>`: Load upstream context package (brainstorm:ID, analyze:ID, @file, or path). Resolves to context-package.json for upstream context inheritance.
29
+ - `--from <source>`: Load upstream context package (grill:ID, brainstorm:ID, analyze:ID, blueprint:BLP-xxx, @file, or path). Resolves to context-package.json via state.json artifact lookup for typed references, or direct path for @file/path.
31
30
 
32
31
  **Session**: `.workflow/.csv-wave/{YYYYMMDD}-analyze-{slug}/`
33
32
  **Output**: tasks.csv, results.csv, discoveries.ndjson, context.md, context-package.json (all modes), analysis.md + conclusions.json (full mode AND quick mode; quick writes minimal conclusions.json with `scope_verdict` + `implementation_scope[]` only)
33
+
34
+ ### Pre-load (runs unconditionally, including -y auto mode)
35
+ 1. **Codebase docs**: IF `.workflow/codebase/doc-index.json` exists → Read ARCHITECTURE.md for module boundaries
36
+ 2. **Specs**: `maestro spec load --category arch` — load architecture constraints
37
+ 3. **Wiki search**: `maestro search "{topic keywords}" --json` → top 5-10 entries as prior knowledge
38
+ 4. **Role Knowledge**: `maestro search --category debug` → select relevant → `maestro wiki load`
39
+ 5. All optional — proceed without if unavailable (log warning)
34
40
  </context>
35
41
 
36
42
  <interview_protocol>
@@ -143,7 +149,12 @@ S_WAVE_1:
143
149
  -> ERROR WHEN: all failed
144
150
 
145
151
  S_WAVE_2:
146
- -> S_WAVE_3 DO: A_SPAWN_WAVE_2
152
+ -> S_BOUNDARY_GRILL DO: A_SPAWN_WAVE_2
153
+
154
+ S_BOUNDARY_GRILL:
155
+ -> S_WAVE_3 WHEN: no boundary conflicts detected DO: —
156
+ -> S_WAVE_3 WHEN: conflicts detected + resolved DO: A_BOUNDARY_GRILL
157
+ GUARD: max 3 conflicts × 3 questions; non-blocking (see boundary-grill.md)
147
158
 
148
159
  S_WAVE_3:
149
160
  -> S_AGGREGATE DO: A_SPAWN_WAVE_3
@@ -229,6 +240,14 @@ Write to `conclusions.json.scope_verdict` (all modes that produce conclusions);
229
240
 
230
241
  Gray area detection: domain-aware (things users SEE/CALL/RUN/READ), phase-specific (skip prior decided areas).
231
242
 
243
+ ### A_BOUNDARY_GRILL
244
+
245
+ Run boundary grill per `~/.maestro/workflows/boundary-grill.md` after Wave 2 scoring, before Wave 3 synthesis.
246
+ Input: Wave 1 exploration findings + Wave 2 dimension scores. Scope guard: "only analyze decisions; do not prejudge plan/execute concerns".
247
+ Detect RSC (scope violations), MOD (module boundary crossings), DEC (upstream locked vs code reality).
248
+ IF conflicts → results to `analysis.md` § Boundary Grill Results + update `context.md` Locked/Free/Deferred.
249
+ Non-blocking: conflicts produce warnings, pipeline continues.
250
+
232
251
  ### A_AGGREGATE_RESULTS
233
252
 
234
253
  1. Export results.csv
@@ -302,6 +321,8 @@ Protocol: read before analysis, append-only, dedup by type+key.
302
321
  - [ ] Decision Recording Protocol applied to all decisions
303
322
  - [ ] Confidence scored per dimension with factor-based model (full mode)
304
323
  - [ ] Readiness gate checked before synthesis (wave 3)
324
+ - [ ] Boundary grill executed between Wave 2 and Wave 3 (skip if no conflicts detected)
325
+ - [ ] Boundary grill results written to analysis.md § Boundary Grill Results (if conflicts found)
305
326
  - [ ] Pressure pass completed ≥ 1 time on highest-risk dimension before synthesis
306
327
  - [ ] Deferred items auto-created as issues
307
328
  - [ ] Scope creep redirected to Deferred section
@@ -310,8 +331,17 @@ Protocol: read before analysis, append-only, dedup by type+key.
310
331
  - [ ] discoveries.ndjson append-only throughout
311
332
  - [ ] Next step routed (plan for Go, brainstorm for No-Go, plan --gaps for Gaps)
312
333
  - [ ] Session sealed via finish-work (archive.json written, optional spec/knowhow extraction)
334
+ - [ ] Ralph-invoked: `maestro ralph complete <idx> --status {STATUS}` called with correct verdict
313
335
  </success_criteria>
314
336
 
337
+ <ralph_completion>
338
+ When invoked as a ralph session step, end by calling the CLI (no standalone report):
339
+ ```
340
+ maestro ralph complete <idx> --status {STATUS} [--evidence {path}]
341
+ ```
342
+ Status verdicts: **DONE** (normal), **DONE_WITH_CONCERNS** (caveats; pass `--concerns`), **NEEDS_RETRY** (transient error), **BLOCKED** (hard blocker; pass `--reason`).
343
+ </ralph_completion>
344
+
315
345
  <on_complete>
316
346
  @~/.maestro/workflows/finish-work.md — SESSION_DIR=OUTPUT_DIR, SESSION_TYPE=analyze, SESSION_ID={artifact_id}, LINKED_MILESTONE={target_milestone or null}
317
347
  </on_complete>
@@ -7,10 +7,6 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, spawn_agents_on_csv, request
7
7
  <purpose>
8
8
  Formal specification document chain producing a complete specification package through 7 sequential phases (P0–P6, plus P1.5 requirement expansion) with multi-CLI analysis and interactive refinement. Pure documentation — no code generation, no roadmap generation.
9
9
 
10
- Parallel to `brainstorm` as an upstream origin command:
11
- - **brainstorm** = divergent exploration (lightweight, multi-role creative)
12
- - **blueprint** = convergent documentation (heavyweight, 7-phase formal spec chain)
13
-
14
10
  Output: `.workflow/blueprint/BLP-{slug}-{date}/` containing Product Brief, PRD, Architecture, and Epics.
15
11
  </purpose>
16
12
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: maestro-brainstorm
3
3
  description: Use when exploring ideas, evaluating approaches, or needing multi-perspective analysis before implementation
4
- argument-hint: "[topic] [-y|--yes] [-c|--concurrency N] [--continue] [--count N] [--skip-questions] [--review-only]"
4
+ argument-hint: "[topic] [-y|--yes] [--concurrency N] [-c|--continue] [--count N] [--skip-questions] [--review-only]"
5
5
  allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
6
6
  ---
7
7
 
@@ -15,14 +15,31 @@ Wave 3 compares Decision Digests from each role's `analysis.md` §2 and patches
15
15
  <context>
16
16
  $ARGUMENTS — topic text and optional flags.
17
17
 
18
- **Flags**: `-y` (auto), `-c N` (concurrency, default 6), `--continue` (resume), `--count N` (roles, default 3 max 9), `--skip-questions`, `--review-only` (skip Wave 1/2; run Wave 3 only against existing */analysis.md)
18
+ **Flags**: `-y` (auto), `--concurrency N` (default 6), `-c`/`--continue` (resume), `--count N` (roles, default 3 max 9), `--skip-questions`, `--review-only` (skip Wave 1/2; run Wave 3 only against existing */analysis.md), `--from <source>` (load upstream context package)
19
+
20
+ **--from resolution** (upstream context loading):
21
+ ```
22
+ --from grill:ID → state.json.artifacts[type=grill, id=ID].context_package → load context-package.json
23
+ --from blueprint:ID → state.json.artifacts[type=blueprint, id=ID].context_package → load
24
+ --from @file → load file directly as context-package.json
25
+ --from path/ → load path/context-package.json
26
+ ```
27
+ When loaded, pre-seed guidance-specification.md with:
28
+ - `constraints[status=locked]` → §4 locked decisions (skip in interview)
29
+ - `domain.terminology[]` → §2 Concepts & Terminology (seed)
30
+ - `non_goals[]` → §3 Non-Goals (seed)
31
+ - `open_questions[]` → interview priority topics
32
+ - `insights[]` → W2 role analysis context
33
+
34
+ When `--from` is absent, auto-discover from state.json: latest `type=grill` artifact in same milestone → load its `context_package` if available. No match → proceed without upstream context.
19
35
 
20
36
  **9 valid roles**: data-architect, product-manager, product-owner, scrum-master, subject-matter-expert, system-architect, test-strategist, ui-designer, ux-expert
21
37
 
22
- ### Pre-load specs
38
+ ### Pre-load
23
39
  1. **Architecture specs**: `maestro spec load --category arch` — load architecture constraints as context for multi-role design (roles respect documented decisions).
24
40
  2. **Role Knowledge**: `maestro search --category arch` → identify relevant entries → `maestro wiki load <id1> [id2...]`
25
- 3. Both optional proceed without if unavailable.
41
+ 3. **Project context**: Read `.workflow/project.md` (if exists) → Validated requirements (already shipped) as constraints, Active requirements as current scope. Read `state.json.accumulated_context` → deferred items as brainstorming seeds, key_decisions as locked constraints.
42
+ 4. All optional — proceed without if unavailable.
26
43
 
27
44
  **Session**: `.workflow/.csv-wave/{YYYYMMDD}-brainstorm-{slug}/`
28
45
 
@@ -299,8 +316,13 @@ S_WAVE_2 → S_AGGREGATE WHEN: all failed DO: skip review
299
316
  S_CHECK_2 → S_WAVE_3 WHEN: -y OR user "Proceed"
300
317
  S_CHECK_2 → S_WAVE_2 WHEN: user "Add Roles" DO: add new role rows, spawn only new
301
318
 
302
- S_WAVE_3 → S_RESOLVE DO: spawn wave-3, capture review_findings (conflicts/gaps/synergies with patch_targets)
303
- S_WAVE_3 → S_AGGREGATE WHEN: zero findings DO: log "No cross-role issues detected", skip resolve
319
+ S_WAVE_3 → S_BOUNDARY_GRILL DO: spawn wave-3, capture review_findings (conflicts/gaps/synergies with patch_targets)
320
+ S_WAVE_3 → S_AGGREGATE WHEN: zero findings DO: log "No cross-role issues detected", skip resolve
321
+
322
+ S_BOUNDARY_GRILL:
323
+ → S_RESOLVE WHEN: no boundary conflicts detected DO: —
324
+ → S_RESOLVE WHEN: conflicts detected + resolved DO: A_BOUNDARY_GRILL
325
+ GUARD: max 3 conflicts × 3 questions; non-blocking (see boundary-grill.md)
304
326
 
305
327
  S_RESOLVE → S_AGGREGATE DO: A_APPLY_RESOLUTIONS (orchestrator iterates patch_targets and applies Edits)
306
328
 
@@ -365,6 +387,13 @@ When ui-designer is among selected roles, establish visual direction before Wave
365
387
  explore generates multi-style HTML prototypes, visual comparison, user selection/mix, and produces DESIGN.md.
366
388
  ui-designer agents in Wave 2 then focus on UX/visual design referencing DESIGN.md.
367
389
 
390
+ ### A_BOUNDARY_GRILL
391
+
392
+ Run boundary grill per `~/.maestro/workflows/boundary-grill.md` after cross-role review, before resolution application.
393
+ Input: reviewer findings + role Decision Digests. Scope guard: "only brainstorm decisions; do not pre-resolve roadmap/plan choices".
394
+ IF conflicts → results to `guidance-specification.md` §12.5 Boundary Grill Results + feed into S_RESOLVE.
395
+ Non-blocking: conflicts produce warnings, pipeline continues.
396
+
368
397
  ### A_APPLY_RESOLUTIONS
369
398
 
370
399
  For each finding in `review_findings`:
@@ -425,6 +454,8 @@ Protocol: read before analysis, append-only, dedup by type+key.
425
454
  - [ ] system-architect/analysis.md §3 includes Data Model + State Machine when system-architect selected
426
455
  - [ ] Each {role}/analysis.md §2 Decisions table has ≥ 1 row per feature
427
456
  - [ ] Cross-role review (W3) executed; reviewer output includes `patch_targets[]` for every finding
457
+ - [ ] Boundary grill executed after cross-role review (skip if no conflicts detected)
458
+ - [ ] Boundary grill results written to guidance-specification.md §12.5 (if conflicts found)
428
459
  - [ ] If findings: resolutions applied via Edit AND logged in guidance §12 "Cross-Role Resolutions"
429
460
  - [ ] If zero findings: final report explicitly notes "No cross-role issues detected"; guidance §12 unchanged
430
461
  - [ ] Heading-drift patch failures surfaced (not silently dropped)
@@ -432,8 +463,17 @@ Protocol: read before analysis, append-only, dedup by type+key.
432
463
  - [ ] discoveries.ndjson append-only throughout
433
464
  - [ ] context.md aggregates session results with next-step routing
434
465
  - [ ] Session sealed via finish-work (auto mode only)
466
+ - [ ] Ralph-invoked: `maestro ralph complete <idx> --status {STATUS}` called with correct verdict
435
467
  </success_criteria>
436
468
 
469
+ <ralph_completion>
470
+ When invoked as a ralph session step, end by calling the CLI (no standalone report):
471
+ ```
472
+ maestro ralph complete <idx> --status {STATUS} [--evidence {path}]
473
+ ```
474
+ Status verdicts: **DONE** (normal), **DONE_WITH_CONCERNS** (caveats; pass `--concerns`), **NEEDS_RETRY** (transient error), **BLOCKED** (hard blocker; pass `--reason`).
475
+ </ralph_completion>
476
+
437
477
  <on_complete>
438
478
  @~/.maestro/workflows/finish-work.md — SESSION_DIR={output_dir}, SESSION_TYPE=brainstorm, SESSION_ID={artifact_id}, LINKED_MILESTONE=null
439
479
  </on_complete>
@@ -100,7 +100,12 @@ S_FAN_OUT:
100
100
  → ERROR(E004) WHEN: all failed OR fewer than 2 completed
101
101
 
102
102
  S_CROSS_VERIFY:
103
- S_SYNTHESIZE DO: A_CROSS_VERIFY
103
+ S_BOUNDARY_GRILL DO: A_CROSS_VERIFY
104
+
105
+ S_BOUNDARY_GRILL:
106
+ → S_SYNTHESIZE WHEN: no boundary conflicts detected DO: —
107
+ → S_SYNTHESIZE WHEN: conflicts detected + resolved DO: A_BOUNDARY_GRILL
108
+ GUARD: max 3 conflicts × 3 questions; non-blocking (see boundary-grill.md)
104
109
 
105
110
  S_SYNTHESIZE:
106
111
  → S_AGGREGATE DO: A_SYNTHESIZE
@@ -229,6 +234,12 @@ Compute: `consensus_level = consensus_count / total_findings * 100`
229
234
 
230
235
  Write results to `{scratchDir}/cross-verify.md`.
231
236
 
237
+ ### A_BOUNDARY_GRILL
238
+
239
+ Run boundary grill per `~/.maestro/workflows/boundary-grill.md` after cross-verification.
240
+ Input: classified CONFLICT findings + per-tool outputs. Check upstream scope if `--from` used.
241
+ IF conflicts → tag with resolution, feed into A_SYNTHESIZE. No conflicts → pass through.
242
+
232
243
  ### A_SYNTHESIZE
233
244
 
234
245
  Generate 3 output files from cross-verify results:
@@ -313,6 +324,8 @@ Generate 3 output files from cross-verify results:
313
324
  - [ ] Blocking poll loop ran until pending_sessions empty — no early exit
314
325
  - [ ] Per-tool raw outputs saved to {scratchDir}/per-tool/
315
326
  - [ ] Cross-verify: CONSENSUS/CONFLICT/UNIQUE classified, consensus_level computed
327
+ - [ ] Boundary grill executed on CONFLICT items (skip if no boundary conflicts detected)
328
+ - [ ] Boundary grill results written to collab-report.md § Boundary Grill Results (if conflicts found)
316
329
  - [ ] collab-report.md + context.md + conclusions.json produced
317
330
  - [ ] CLB artifact registered in state.json
318
331
  - [ ] Partial degradation: continued if 2+ tools succeeded