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
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: domain-add
3
+ description: Register a domain term into project glossary
4
+ argument-hint: "<canonical> \"<definition>\""
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ ---
12
+ <purpose>
13
+ 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).
14
+ </purpose>
15
+
16
+ <required_reading>
17
+ @~/.maestro/workflows/domain-add.md
18
+ </required_reading>
19
+
20
+ <context>
21
+ $ARGUMENTS -- expects `<canonical> "<definition>"`
22
+
23
+ **Examples:**
24
+ ```bash
25
+ /domain-add auth-token "Short-lived credential for API authentication"
26
+ /domain-add event-bus "Central pub-sub message broker for cross-module communication"
27
+ /domain-add 会话上下文 "Runtime state container for active workflow session"
28
+ ```
29
+
30
+ Domain term lifecycle: discover/manual → register → active → (optional) deprecated → removed.
31
+
32
+ **Related commands:**
33
+ - `maestro domain list` — list all registered terms
34
+ - `maestro domain discover` — scan codebase for term candidates
35
+ - `maestro domain show <canonical>` — show term details
36
+ - `maestro domain deprecate <canonical> --successor <new>` — deprecate a term
37
+ </context>
38
+
39
+ <execution>
40
+ Follow '~/.maestro/workflows/domain-add.md' completely.
41
+ </execution>
42
+
43
+ <error_codes>
44
+ | Code | Severity | Description | Stage |
45
+ |------|----------|-------------|-------|
46
+ | E001 | fatal | Canonical name and definition are both required | parse_input |
47
+ | E002 | fatal | `.workflow/domain/` not initialized — run `maestro domain init` first | validate |
48
+ | E003 | fatal | Term already registered with same canonical name | duplicate_check |
49
+ | E004 | warning | Near-match found — confirm merge or create new | duplicate_check |
50
+ </error_codes>
51
+
52
+ <success_criteria>
53
+ - [ ] Canonical name and definition parsed and validated
54
+ - [ ] No duplicate term in glossary (or user confirmed near-match)
55
+ - [ ] Aliases and keywords auto-extracted from definition
56
+ - [ ] Term written to glossary.yaml with tier and relationships
57
+ - [ ] Confirmation displayed with term details and verify command
58
+ </success_criteria>
59
+
60
+ <completion>
61
+ ### Next-step routing
62
+
63
+ | Condition | Suggestion |
64
+ |-----------|-----------|
65
+ | Verify term added | `maestro domain show <canonical>` |
66
+ | Add more terms | `/domain-add <canonical> "<definition>"` |
67
+ | Discover candidates | `maestro domain discover` |
68
+ | List all terms | `maestro domain list` |
69
+ </completion>
@@ -12,8 +12,6 @@ allowed-tools:
12
12
  ---
13
13
  <purpose>
14
14
  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.
15
-
16
- Differs from `/maestro-overlay` (single explicit intent). This command **discovers** what needs amending by analyzing workflow artifacts.
17
15
  </purpose>
18
16
 
19
17
  <required_reading>
@@ -23,6 +23,7 @@ Multi-dimensional analysis of a proposal, decision, or architecture choice via C
23
23
  <deferred_reading>
24
24
  - [state.json](~/.maestro/templates/state.json) — read when registering artifact
25
25
  - [issue-gaps-analyze.md](~/.maestro/workflows/issue-gaps-analyze.md) — read when --gaps is triggered
26
+ - [boundary-grill.md](~/.maestro/workflows/boundary-grill.md) — read when boundary conflicts detected (between Phase 4 and Phase 5)
26
27
  </deferred_reading>
27
28
 
28
29
  <context>
@@ -94,6 +95,12 @@ Every decision MUST trace to independently gathered evidence. Manual Read/Grep i
94
95
 
95
96
  Decisions without CLI/agent-sourced evidence MUST be flagged as LOW CONFIDENCE.
96
97
 
98
+ ### Boundary Grill (Step 5 → Step 6)
99
+
100
+ After discussion rounds, BEFORE synthesis: run boundary grill per `~/.maestro/workflows/boundary-grill.md`.
101
+ Input: discussion.md decisions + exploration-codebase.json. Scope guard: "only analyze decisions; do not prejudge plan/execute concerns".
102
+ IF conflicts → results to `analysis.md` § Boundary Grill Results + update `context.md` Locked/Free/Deferred.
103
+
97
104
  ### Standard Mode Gates
98
105
 
99
106
  Gates 1-4 are defined in `analyze.md`. NEVER skip gates. NEVER substitute manual Read/Grep for agent/CLI exploration.
@@ -193,6 +200,8 @@ Full mode:
193
200
  - [ ] Confidence tracking initialized (Step 4.6) and re-scored each round (Step 5.8)
194
201
  - [ ] Readiness gate checked before synthesis (Step 5.10)
195
202
  - [ ] Pressure pass completed ≥ 1 time before Step 6
203
+ - [ ] Boundary grill executed between Phase 4 and Phase 5 (skip if no conflicts detected)
204
+ - [ ] Boundary grill results written to analysis.md § Boundary Grill Results (if conflicts found)
196
205
  - [ ] Confidence summary with factor decomposition written to analysis.md
197
206
 
198
207
  Gaps mode:
@@ -25,6 +25,7 @@ Pipeline: grill (optional) → **brainstorm** → roadmap / analyze / blueprint.
25
25
  - [scratch-index.json](~/.maestro/templates/scratch-index.json) — read when operating in scratch mode
26
26
  - [index.json](~/.maestro/templates/index.json) — read when operating in phase mode
27
27
  - [brainstorm-visualize.md](~/.maestro/workflows/brainstorm-visualize.md) — read when html-prototypes/ produced and user wants to browse them
28
+ - [boundary-grill.md](~/.maestro/workflows/boundary-grill.md) — read when boundary conflicts detected (in cross-role review)
28
29
  </deferred_reading>
29
30
 
30
31
  <context>
@@ -88,8 +89,14 @@ These gates apply to Auto mode (full pipeline). Do NOT advance past a gate until
88
89
  - REQUIRED: Per-feature files `{role}/analysis-F-*.md` written for each feature in §10.
89
90
  - BLOCKED if missing: complete all role analyses before spawning cross-role-reviewer.
90
91
 
91
- **GATE 3: Cross-Role Review → Completion** (Step 4.5 → Report)
92
+ **GATE 2.5: Cross-Role Review → Boundary Grill** (Step 4.5 → Step 4.6)
93
+ Run boundary grill per `~/.maestro/workflows/boundary-grill.md` after cross-role-reviewer output.
94
+ Input: reviewer findings + role Decision Digests. Scope guard: "only brainstorm decisions; do not pre-resolve roadmap/plan choices".
95
+ IF conflicts → results to `guidance-specification.md` §12.5 + feed into GATE 3. NON-BLOCKING.
96
+
97
+ **GATE 3: Cross-Role Review → Completion** (Step 4.5/4.6 → Report)
92
98
  - REQUIRED: Cross-role-reviewer output received with `patch_targets[]`.
99
+ - REQUIRED: Boundary grill completed (if conflicts detected, results logged).
93
100
  - REQUIRED: If findings > 0, resolutions applied via Edit AND logged in `guidance-specification.md` §12.
94
101
  - REQUIRED: If findings == 0, final report explicitly states "No cross-role issues detected".
95
102
  - BLOCKED if missing: complete review synthesis before reporting.
@@ -191,6 +198,8 @@ Status verdicts:
191
198
  - [ ] `ui-designer/analysis.md` references DESIGN.md visual constraints when ui-designer is selected
192
199
  - [ ] Each `{role}/analysis.md` §2 Decisions table has ≥ 1 row per feature
193
200
  - [ ] Cross-role review (Step 4.5) executed; reviewer compares §2 Decision Digests; output includes `patch_targets[]` for every finding
201
+ - [ ] Boundary grill executed after cross-role review (skip if no conflicts detected)
202
+ - [ ] Boundary grill results written to guidance-specification.md §12.5 (if conflicts found)
194
203
  - [ ] If findings exist: each accepted resolution applied via Edit (annotate / strikeout / append) AND logged in `guidance-specification.md` §12 "Cross-Role Resolutions"
195
204
  - [ ] If zero findings: final report explicitly states "No cross-role issues detected"; guidance §12 unchanged
196
205
  - [ ] Heading-drift patch failures surfaced in final report (if any)
@@ -73,7 +73,12 @@ S_COLLECT:
73
73
  GUARD: 1+ succeeded → continue with partial results (W001)
74
74
 
75
75
  S_CROSS_VERIFY:
76
- S_SYNTHESIZE DO: A_CLASSIFY_FINDINGS
76
+ S_BOUNDARY_GRILL DO: A_CLASSIFY_FINDINGS
77
+
78
+ S_BOUNDARY_GRILL:
79
+ → S_SYNTHESIZE WHEN: no boundary conflicts detected DO: —
80
+ → S_SYNTHESIZE WHEN: conflicts detected + resolved DO: A_BOUNDARY_GRILL
81
+ GUARD: max 3 conflicts × 3 questions; non-blocking
77
82
 
78
83
  S_SYNTHESIZE:
79
84
  → S_REGISTER DO: A_GENERATE_OUTPUTS
@@ -134,6 +139,12 @@ Read all per-tool outputs. For each finding:
134
139
  consensus_level = consensus_count / total_findings * 100.
135
140
  If consensus_level < 40%: W003.
136
141
 
142
+ ### A_BOUNDARY_GRILL
143
+
144
+ Run boundary grill per `~/.maestro/workflows/boundary-grill.md`.
145
+ Input: classified CONFLICT findings + per-tool outputs. Check upstream scope if `--from` used.
146
+ IF conflicts → tag with resolution, feed into A_GENERATE_OUTPUTS. No conflicts → pass through.
147
+
137
148
  ### A_GENERATE_OUTPUTS
138
149
 
139
150
  Resolve conflicts via evidence-weighted voting:
@@ -160,6 +171,8 @@ Write 3 files:
160
171
  <success_criteria>
161
172
  - [ ] All delegates launched in parallel via Bash(run_in_background: true), STOP after launch
162
173
  - [ ] Cross-verification: consensus/conflict/unique classification with consensus_level
174
+ - [ ] Boundary grill executed on CONFLICT items (skip if no boundary conflicts detected)
175
+ - [ ] Boundary grill results written to collab-report.md § Boundary Grill Results (if conflicts found)
163
176
  - [ ] 3 output files produced (collab-report.md, context.md, conclusions.json)
164
177
  - [ ] CLB artifact registered in state.json
165
178
  - [ ] Partial degradation: continued if 1+ tools succeeded
@@ -92,9 +92,9 @@ S_FALLBACK:
92
92
  读 project state 推断 `lifecycle_position`(核心信号):
93
93
 
94
94
  ```bash
95
- cat .workflow/state.json 2>$null # phase / milestone / artifacts
96
- ls -la .workflow/scratch/ 2>$null | head -10 # 最近 artifact (mtime DESC)
97
- ls -la .workflow/.maestro/ 2>$null | head -5 # 进行中的 session
95
+ cat .workflow/state.json 2>/dev/null # phase / milestone / artifacts
96
+ ls -la .workflow/scratch/ 2>/dev/null | head -10 # 最近 artifact (mtime DESC)
97
+ ls -la .workflow/.maestro/ 2>/dev/null | head -5 # 进行中的 session
98
98
  ```
99
99
 
100
100
  **项目状态 → lifecycle_position → 自然下一步:**
@@ -110,7 +110,8 @@ ls -la .workflow/.maestro/ 2>$null | head -5 # 进行中的 session
110
110
  | 最新 artifact = plan | execute | `maestro-execute {phase}` |
111
111
  | 最新 artifact = execute | review | `quality-review {phase}` |
112
112
  | review verdict=PASS | test-gen | `quality-auto-test {phase}` |
113
- | 测试全绿 | milestone-audit | `maestro-milestone-audit` |
113
+ | 测试全绿 + current_milestone 存在 | milestone-audit | `maestro-milestone-audit` |
114
+ | 测试全绿 + current_milestone=null (standalone) | review-done | 回退到 `quality-review` 或 `manage-status`(无 milestone 上下文时不推荐 milestone 命令) |
114
115
  | 当前 milestone 全 phase 完成 | milestone-complete | `maestro-milestone-complete` |
115
116
  | 任一 stage 产物含 gaps/failed | debug | `quality-debug {gap}` |
116
117
 
@@ -133,6 +134,16 @@ brainstorm → blueprint → init → analyze-macro → roadmap
133
134
  | `name` 关键词命中 intent | 中 | intent 含 "test" → quality-test/quality-auto-test 加分 |
134
135
  | Workflow 簇匹配 | 中 | intent 涉及学习/知识/issue 等场景触发对应簇 |
135
136
  | Recent activity 反向避免 | 低 | 刚完成的 stage 短期内降权 |
137
+ | **前置条件不满足** | **禁止** | 候选命令的前置条件未满足时,直接从候选池移除(如 `maestro-milestone-*` 在 `current_milestone=null` 时移除) |
138
+
139
+ **前置条件检查(评分前执行,不满足则移除候选):**
140
+
141
+ | 命令 | 前置条件 |
142
+ |------|---------|
143
+ | `maestro-milestone-audit` | `current_milestone` 存在且非 null |
144
+ | `maestro-milestone-complete` | `current_milestone` 存在且非 null |
145
+ | `maestro-milestone-release` | `current_milestone` 存在且非 null |
146
+ | `maestro-merge` | 存在活跃的 fork 分支 |
136
147
 
137
148
  **特殊意图处理:**
138
149
 
@@ -21,7 +21,10 @@ Turn natural-language instructions into command overlays — JSON patch files th
21
21
  </required_reading>
22
22
 
23
23
  <context>
24
- **Overlay model** — an overlay is a JSON file with a `name`, one or more `targets` (command names without `.md`), and a list of `patches`. Each patch targets an XML section (`execution`, `required_reading`, `context`, `success_criteria`, etc.), a mode (`append`, `prepend`, `replace`, `new-section`), and `content`. On apply, the patcher wraps the content in hashed HTML-comment markers so re-apply is idempotent and removal is surgical.
24
+ **Overlay model**:
25
+ - JSON file: `name`, `targets[]` (command names), `patches[]`
26
+ - Patch: `section` (XML tag), `mode` (append/prepend/replace/new-section), `content`
27
+ - Apply: hashed HTML-comment markers (idempotent, surgical removal)
25
28
 
26
29
  **Where overlays live**
27
30
  - User overlays: `~/.maestro/overlays/*.json` — created by this skill
@@ -139,8 +142,6 @@ Run:
139
142
  maestro overlay add ~/.maestro/overlays/<slug>.json
140
143
  ```
141
144
 
142
- This validates the overlay, copies it into place (idempotent), and applies it across all known install scopes. On validation failure, fix the JSON and re-run.
143
-
144
145
  ### 5. Report
145
146
 
146
147
  Show the user:
@@ -25,6 +25,7 @@ Produces plan.json + TASK files; registers PLN artifact in state.json.
25
25
  - [plan.json](~/.maestro/templates/plan.json) — read when generating plan output
26
26
  - [task.json](~/.maestro/templates/task.json) — read when generating task files
27
27
  - [state.json](~/.maestro/templates/state.json) — read when registering artifact
28
+ - [boundary-grill.md](~/.maestro/workflows/boundary-grill.md) — read when boundary conflicts detected (in P4)
28
29
  </deferred_reading>
29
30
 
30
31
  <context>
@@ -50,7 +51,7 @@ Scope routing, base flags (`--collab`, `--spec`, `-y`, `--gaps`, `--dir`), outpu
50
51
 
51
52
  **Ad-hoc milestone (D-008):** When scope resolves to "standalone" via the standard standalone resolution (no `--from` source), and `current_milestone == null`, plan auto-creates an adhoc milestone (`type: "adhoc"`) in state.json before proceeding. This ensures downstream milestone-audit/complete have a valid milestone context. See workflow plan.md § "Ad-hoc Milestone Auto-Creation".
52
53
 
53
- **Exception (`--from analyze:ANL-xxx` / `blueprint:BLP-xxx`):** When scope is set to "standalone" by `--from`, skip adhoc milestone auto-creation — the upstream analyze/blueprint artifact already provides the milestone context (or is intentionally milestone-free). Adhoc creation in this path would conflict with the `--from` semantic of "this is a one-shot plan rooted in an existing artifact".
54
+ **`--from analyze:*` / `blueprint:*`**: scope=standalone skip adhoc milestone auto-creation.
54
55
 
55
56
  ### Role Knowledge
56
57
  `maestro search --category arch` → select relevant → `maestro wiki load`
@@ -84,11 +85,19 @@ Follow '~/.maestro/workflows/plan.md' completely.
84
85
  - REQUIRED: Main flow inline planning is FORBIDDEN (see P3 Agent Constraint below).
85
86
  - BLOCKED if missing: plan.json or TASK files not produced by planner agent — do not proceed to checking.
86
87
 
88
+ **GATE P3.5 → P4: Boundary Grill → Plan Check**
89
+ Run boundary grill per `~/.maestro/workflows/boundary-grill.md`.
90
+ Input: plan.json tasks + convergence criteria + upstream context. Scope guard: "only plan scope; do not re-analyze or re-scope".
91
+ IF conflicts → results to plan.json `boundary_grill` section + affected TASK files. DEC conflicts add `boundary_warning` to confidence.
92
+ NON-BLOCKING: warnings, not hard stops.
93
+
87
94
  **GATE P4 → P5: Plan Check → User Confirmation**
88
95
  - REQUIRED: Plan-checker passed (or minor issues acknowledged).
96
+ - REQUIRED: Boundary grill completed (conflicts resolved or accepted as risks).
89
97
  - REQUIRED: Confidence scored with 5-dimension factor model.
90
98
  - REQUIRED: Pressure pass completed on highest-complexity task.
91
- - BLOCKED if: plan-checker found critical issues fix plan before presenting to user.
99
+ - REQUIRED: If plan touches UI (检出 `dashboard/` UI 关键词 `landing|page|dashboard|frontend|UI|component|界面`), each delivery wave has ≥1 `[UI-observable]` convergence criterion (vertical-slice delivery, not backend-only).
100
+ - BLOCKED if: plan-checker found critical issues, OR UI plan missing `[UI-observable]` coverage — fix plan before presenting to user.
92
101
 
93
102
  **GATE P5 → Completion: User Confirmation → Done**
94
103
  - REQUIRED: User confirmation captured (execute/modify/cancel).
@@ -150,8 +159,6 @@ For each created TASK-{NNN}.json that has issue_id:
150
159
  Append history entry: { action: "planned", at: <ISO>, by: "maestro-plan", summary: "Linked to TASK-{NNN}" }
151
160
  ```
152
161
 
153
- This ensures issue → TASK traceability. The `task_refs[]` and `task_plan_dir` fields on the issue allow the dashboard to resolve and display associated TASK details.
154
-
155
162
  ### Mode: Revise / Check
156
163
 
157
164
  Follow workflow plan.md § "Revise Mode" and § "Check Mode" respectively. These modes bypass the standard P1-P5 create pipeline.
@@ -213,7 +220,11 @@ Status verdicts:
213
220
  - [ ] .task/TASK-*.json files created for each task
214
221
  - [ ] Every task has `read_first[]` with at least the file being modified + source of truth files
215
222
  - [ ] Every task has `convergence.criteria[]` with grep-verifiable conditions (no subjective language)
223
+ - [ ] UI plans: each delivery wave has ≥1 `[UI-observable]` convergence criterion (vertical slice; verified at runtime by ralph frontend-verify gate)
216
224
  - [ ] Every task `action` and `implementation` contain concrete values (no "align X with Y")
225
+ - [ ] Boundary grill executed in P3.5 (skip if no conflicts detected)
226
+ - [ ] Boundary grill results written to plan.json `boundary_grill` section (if conflicts found)
227
+ - [ ] DEC conflicts reflected in confidence `boundary_warning` factor
217
228
  - [ ] Plan confidence scored in P4 with 5-dimension factor model
218
229
  - [ ] Plan readiness gate checked before P4.5 collision detection
219
230
  - [ ] Pressure pass completed on highest-complexity task
@@ -134,19 +134,44 @@ S_FALLBACK:
134
134
  | maestro-brainstorm | topic | `"{intent}"` |
135
135
  | maestro-roadmap | description | `"{intent}"` |
136
136
  | maestro-analyze | phase or topic | `{phase}` or `"{intent}"` |
137
- | maestro-plan | phase or --dir | `{phase}`, or `--dir {scratch_dir}` |
138
- | maestro-execute | phase or --dir | `{phase}`, or `--dir {scratch_dir}` |
137
+ | maestro-plan | phase, --from, or --dir | see --from auto-injection below |
138
+ | maestro-execute | phase or --dir | see --from auto-injection below |
139
139
  | quality-debug | gap context | Read previous step's error/gap |
140
140
  | quality-* | phase | `{phase}` |
141
141
 
142
- **Artifact dir resolution for --dir:**
142
+ **--from auto-injection (phase-level artifact chaining):**
143
+
144
+ Phase-level steps 在 build 阶段无法预知前序 artifact ID。A_RESOLVE_ARGS 运行时从 state.json 查找并注入显式引用,打通 analyze→plan→execute 数据管道:
145
+
143
146
  ```
144
- Read state.json filter artifacts by milestone + phase
145
- plan commands: latest type=="analyze" --dir .workflow/scratch/{path}
146
- execute commands: latest type=="plan" → --dir .workflow/scratch/{path}
147
+ Read state.json.artifacts(含 milestone_history 内归档 artifacts
148
+ filter by milestone={session.milestone} + phase={session.phase} + status=="completed"
149
+
150
+ plan step(含 {phase} 占位符,args 无 --from 且无 --dir):
151
+ 1. 查同 phase+milestone 最新 completed type=="analyze" artifact → id = ANL-xxx
152
+ 2. 命中 → args 追加 --from analyze:{id}
153
+ 3. 写 step.source_artifact_ref = "analyze:{id}"
154
+
155
+ execute step(含 {phase} 占位符,args 无 --dir):
156
+ 1. 查同 phase+milestone 最新 completed type=="plan" artifact → id = PLN-xxx, path = scratch/...
157
+ 2. 命中 → args 追加 --dir .workflow/scratch/{path}
158
+ 3. 写 step.source_artifact_ref = "plan:{id}"
147
159
  ```
148
160
 
149
- Write enriched args back to status.json.
161
+ 兜底:查询无结果 不注入,由命令自身 discovery 逻辑处理。已有 `--from` 或 `--dir` 的 step 不覆盖。
162
+
163
+ **Goal context injection:**
164
+
165
+ 当 step.goal_ref 非空且 session.task_decomposition 存在时:
166
+ ```
167
+ goal = session.task_decomposition.find(g => g.id == step.goal_ref)
168
+ if goal:
169
+ goal_snippet = { id: goal.id, goal: goal.goal, done_when: goal.done_when,
170
+ boundary: goal.boundary, evidence: goal.evidence }
171
+ → 传递给 A_EXEC_STEP 用于 inline execution 前注入(见 step 2 goal context pre-injection)
172
+ ```
173
+
174
+ Write enriched args + source_artifact_ref back to status.json.
150
175
 
151
176
  ### A_EXEC_DECISION
152
177
 
@@ -162,13 +187,24 @@ Write enriched args back to status.json.
162
187
  - 退出码 2 → 交给 S_LOCATE
163
188
  - 退出码 3 → active_step_index 已被占用
164
189
  - 退出码 1 → pause session
165
- 2. **Inline execution** — stdout 执行;deferred_reading 按需 Read
166
- 3. **Complete**:
190
+ 2. **Goal context pre-injection** — A_RESOLVE_ARGS 产出了 `goal_snippet`(step.goal_ref 非空),在 ralph next stdout prompt **顶部前置**以下 block,使执行命令感知当前子目标和执行约束:
191
+ ```
192
+ <goal_context>
193
+ Sub-goal: {goal.id} — {goal.goal}
194
+ Done when: {goal.done_when}
195
+ Boundary: {goal.boundary}
196
+ Evidence target: {goal.evidence}
197
+ Execution criteria: {session.execution_criteria joined by '; '}
198
+ </goal_context>
199
+ ```
200
+ 无 goal_snippet 时跳过此步。goal_context block 不替换 ralph next 的 stdout 内容,仅在其前方拼接。
201
+ 3. **Inline execution** — 按 stdout(含 goal_context 前置)执行;deferred_reading 按需 Read
202
+ 4. **Complete**:
167
203
  - `Bash("maestro ralph complete N --status DONE [--evidence <path>]")`
168
204
  - `Bash("maestro ralph complete N --status DONE_WITH_CONCERNS --concerns \"...\"")`
169
205
  - `Bash("maestro ralph retry N")`
170
206
  - `Bash("maestro ralph complete N --status BLOCKED --reason \"...\"")`
171
- 4. **Propagate context signals** — 关键信号 (`PHASE: N` / `scratch_dir: path` / `BLP-xxx`) 写入 `status.json.context`
207
+ 5. **Propagate context signals** — 关键信号 (`PHASE: N` / `scratch_dir: path` / `BLP-xxx`) 写入 `status.json.context`
172
208
 
173
209
  完成后 S_LOCATE 触发 `Skill({ skill: "maestro-ralph-execute" })` 自调用。
174
210
 
@@ -244,5 +280,10 @@ Display: `[{index}/{total}] ✗ {step.skill} 失败,会话已暂停。/maestro
244
280
  - [ ] Context signals 由执行 step 显式写回 status.json.context(非 ralph-execute 内嵌扫描)
245
281
  - [ ] Auto mode: retry 一次后 pause;interactive 提供 retry/skip/abort
246
282
  - [ ] 自调用持续到全部 completion_confirmed 或 paused
283
+ - [ ] --from auto-injection:phase-level plan step 运行时从 state.json 查找同 phase+milestone 最新 completed analyze artifact → 注入 `--from analyze:{id}`,写 `source_artifact_ref`
284
+ - [ ] --from auto-injection:phase-level execute step 运行时查找同 phase+milestone 最新 completed plan artifact → 注入 `--dir`,写 `source_artifact_ref`
285
+ - [ ] Goal context injection:step.goal_ref 非空时从 task_decomposition 提取 goal_snippet,A_EXEC_STEP 在 ralph next stdout 顶部前置 `<goal_context>` block
286
+ - [ ] Goal context 包含 sub-goal description、done_when、boundary、evidence、execution_criteria
287
+ - [ ] 已有 `--from` 或 `--dir` 的 step 不被 auto-injection 覆盖
247
288
 
248
289
  </appendix>