maestro-flow 0.5.41 → 0.5.43

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 (363) hide show
  1. package/.agents/skills/domain-add/SKILL.md +3 -0
  2. package/.agents/skills/learn-decompose/SKILL.md +7 -4
  3. package/.agents/skills/learn-follow/SKILL.md +4 -2
  4. package/.agents/skills/learn-investigate/SKILL.md +8 -6
  5. package/.agents/skills/learn-second-opinion/SKILL.md +6 -3
  6. package/.agents/skills/maestro/SKILL.md +1 -1
  7. package/.agents/skills/maestro-amend/SKILL.md +1 -1
  8. package/.agents/skills/maestro-analyze/SKILL.md +1 -43
  9. package/.agents/skills/maestro-blueprint/SKILL.md +1 -23
  10. package/.agents/skills/maestro-brainstorm/SKILL.md +8 -25
  11. package/.agents/skills/maestro-collab/SKILL.md +6 -2
  12. package/.agents/skills/maestro-companion/SKILL.md +4 -1
  13. package/.agents/skills/maestro-composer/SKILL.md +4 -2
  14. package/.agents/skills/maestro-execute/SKILL.md +27 -9
  15. package/.agents/skills/maestro-fork/SKILL.md +4 -3
  16. package/.agents/skills/maestro-grill/SKILL.md +1 -17
  17. package/.agents/skills/maestro-guard/SKILL.md +2 -2
  18. package/.agents/skills/maestro-impeccable/SKILL.md +2 -1
  19. package/.agents/skills/maestro-init/SKILL.md +1 -1
  20. package/.agents/skills/maestro-merge/SKILL.md +12 -1
  21. package/.agents/skills/maestro-milestone-audit/SKILL.md +1 -15
  22. package/.agents/skills/maestro-milestone-complete/SKILL.md +8 -3
  23. package/.agents/skills/maestro-milestone-release/SKILL.md +8 -4
  24. package/.agents/skills/maestro-overlay/SKILL.md +9 -0
  25. package/.agents/skills/maestro-plan/SKILL.md +6 -62
  26. package/.agents/skills/maestro-player/SKILL.md +2 -2
  27. package/.agents/skills/maestro-quick/SKILL.md +5 -3
  28. package/.agents/skills/maestro-ralph/SKILL.md +8 -8
  29. package/.agents/skills/maestro-ralph-cli/SKILL.md +665 -0
  30. package/.agents/skills/maestro-ralph-cli-execute/SKILL.md +239 -0
  31. package/.agents/skills/maestro-ralph-execute/SKILL.md +127 -11
  32. package/.agents/skills/maestro-roadmap/SKILL.md +1 -9
  33. package/.agents/skills/maestro-swarm-workflow/SKILL.md +16 -14
  34. package/.agents/skills/maestro-tools-register/SKILL.md +16 -1
  35. package/.agents/skills/maestro-ui-codify/SKILL.md +11 -1
  36. package/.agents/skills/maestro-universal-workflow/SKILL.md +28 -5
  37. package/.agents/skills/maestro-update/SKILL.md +10 -7
  38. package/.agents/skills/manage-codebase-rebuild/SKILL.md +5 -1
  39. package/.agents/skills/manage-drift-realign/SKILL.md +6 -2
  40. package/.agents/skills/manage-harvest/SKILL.md +4 -1
  41. package/.agents/skills/manage-issue-discover/SKILL.md +1 -0
  42. package/.agents/skills/manage-kg-extractors/SKILL.md +5 -1
  43. package/.agents/skills/manage-knowhow-capture/SKILL.md +1 -0
  44. package/.agents/skills/manage-knowledge-audit/SKILL.md +3 -0
  45. package/.agents/skills/manage-wiki/SKILL.md +1 -0
  46. package/.agents/skills/odyssey-debug/SKILL.md +2 -1
  47. package/.agents/skills/odyssey-improve/SKILL.md +2 -2
  48. package/.agents/skills/odyssey-planex/SKILL.md +8 -7
  49. package/.agents/skills/odyssey-review-test-fix/SKILL.md +4 -1
  50. package/.agents/skills/odyssey-ui/SKILL.md +4 -4
  51. package/.agents/skills/quality-auto-test/SKILL.md +11 -1
  52. package/.agents/skills/quality-debug/SKILL.md +16 -2
  53. package/.agents/skills/quality-retrospective/SKILL.md +9 -1
  54. package/.agents/skills/quality-review/SKILL.md +8 -0
  55. package/.agents/skills/quality-sync/SKILL.md +2 -2
  56. package/.agents/skills/quality-test/SKILL.md +9 -1
  57. package/.agents/skills/security-audit/SKILL.md +14 -4
  58. package/.agents/skills/spec-add/SKILL.md +5 -2
  59. package/.agents/skills/spec-load/SKILL.md +1 -1
  60. package/.agents/skills/spec-remove/SKILL.md +1 -1
  61. package/.agents/skills/spec-setup/SKILL.md +3 -0
  62. package/.agents/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
  63. package/.agents/skills/team-coordinate/specs/role-spec-template.md +197 -198
  64. package/.agents/skills/team-roadmap-dev/SKILL.md +164 -164
  65. package/.agents/skills/team-roadmap-dev/specs/team-config.json +1 -1
  66. package/.agents/skills/team-swarm/roles/analyst/role.md +172 -176
  67. package/.agy/skills/domain-add/SKILL.md +3 -0
  68. package/.agy/skills/learn-decompose/SKILL.md +7 -4
  69. package/.agy/skills/learn-follow/SKILL.md +4 -2
  70. package/.agy/skills/learn-investigate/SKILL.md +8 -6
  71. package/.agy/skills/learn-second-opinion/SKILL.md +6 -3
  72. package/.agy/skills/maestro/SKILL.md +1 -1
  73. package/.agy/skills/maestro-amend/SKILL.md +1 -1
  74. package/.agy/skills/maestro-analyze/SKILL.md +1 -43
  75. package/.agy/skills/maestro-blueprint/SKILL.md +1 -23
  76. package/.agy/skills/maestro-brainstorm/SKILL.md +8 -25
  77. package/.agy/skills/maestro-collab/SKILL.md +6 -2
  78. package/.agy/skills/maestro-companion/SKILL.md +4 -1
  79. package/.agy/skills/maestro-composer/SKILL.md +4 -2
  80. package/.agy/skills/maestro-execute/SKILL.md +27 -9
  81. package/.agy/skills/maestro-fork/SKILL.md +4 -3
  82. package/.agy/skills/maestro-grill/SKILL.md +1 -17
  83. package/.agy/skills/maestro-guard/SKILL.md +2 -2
  84. package/.agy/skills/maestro-impeccable/SKILL.md +2 -1
  85. package/.agy/skills/maestro-init/SKILL.md +1 -1
  86. package/.agy/skills/maestro-merge/SKILL.md +12 -1
  87. package/.agy/skills/maestro-milestone-audit/SKILL.md +1 -15
  88. package/.agy/skills/maestro-milestone-complete/SKILL.md +8 -3
  89. package/.agy/skills/maestro-milestone-release/SKILL.md +8 -4
  90. package/.agy/skills/maestro-overlay/SKILL.md +9 -0
  91. package/.agy/skills/maestro-plan/SKILL.md +6 -62
  92. package/.agy/skills/maestro-player/SKILL.md +2 -2
  93. package/.agy/skills/maestro-quick/SKILL.md +5 -3
  94. package/.agy/skills/maestro-ralph/SKILL.md +8 -8
  95. package/.agy/skills/maestro-ralph-cli/SKILL.md +661 -0
  96. package/.agy/skills/maestro-ralph-cli-execute/SKILL.md +235 -0
  97. package/.agy/skills/maestro-ralph-execute/SKILL.md +127 -11
  98. package/.agy/skills/maestro-roadmap/SKILL.md +1 -9
  99. package/.agy/skills/maestro-swarm-workflow/SKILL.md +16 -14
  100. package/.agy/skills/maestro-tools-register/SKILL.md +16 -1
  101. package/.agy/skills/maestro-ui-codify/SKILL.md +11 -1
  102. package/.agy/skills/maestro-universal-workflow/SKILL.md +28 -5
  103. package/.agy/skills/maestro-update/SKILL.md +10 -7
  104. package/.agy/skills/manage-codebase-rebuild/SKILL.md +5 -1
  105. package/.agy/skills/manage-drift-realign/SKILL.md +6 -2
  106. package/.agy/skills/manage-harvest/SKILL.md +4 -1
  107. package/.agy/skills/manage-issue-discover/SKILL.md +1 -0
  108. package/.agy/skills/manage-kg-extractors/SKILL.md +5 -1
  109. package/.agy/skills/manage-knowhow-capture/SKILL.md +1 -0
  110. package/.agy/skills/manage-knowledge-audit/SKILL.md +3 -0
  111. package/.agy/skills/manage-wiki/SKILL.md +1 -0
  112. package/.agy/skills/odyssey-debug/SKILL.md +2 -1
  113. package/.agy/skills/odyssey-improve/SKILL.md +2 -2
  114. package/.agy/skills/odyssey-planex/SKILL.md +8 -7
  115. package/.agy/skills/odyssey-review-test-fix/SKILL.md +4 -1
  116. package/.agy/skills/odyssey-ui/SKILL.md +4 -4
  117. package/.agy/skills/quality-auto-test/SKILL.md +11 -1
  118. package/.agy/skills/quality-debug/SKILL.md +16 -2
  119. package/.agy/skills/quality-retrospective/SKILL.md +9 -1
  120. package/.agy/skills/quality-review/SKILL.md +8 -0
  121. package/.agy/skills/quality-sync/SKILL.md +2 -2
  122. package/.agy/skills/quality-test/SKILL.md +9 -1
  123. package/.agy/skills/security-audit/SKILL.md +14 -4
  124. package/.agy/skills/spec-add/SKILL.md +5 -2
  125. package/.agy/skills/spec-load/SKILL.md +1 -1
  126. package/.agy/skills/spec-remove/SKILL.md +1 -1
  127. package/.agy/skills/spec-setup/SKILL.md +3 -0
  128. package/.agy/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
  129. package/.agy/skills/team-coordinate/specs/role-spec-template.md +197 -198
  130. package/.agy/skills/team-roadmap-dev/SKILL.md +141 -153
  131. package/.agy/skills/team-roadmap-dev/specs/team-config.json +1 -1
  132. package/.agy/skills/team-swarm/roles/analyst/role.md +172 -176
  133. package/.claude/commands/domain-add.md +3 -0
  134. package/.claude/commands/learn-decompose.md +7 -4
  135. package/.claude/commands/learn-follow.md +4 -2
  136. package/.claude/commands/learn-investigate.md +8 -6
  137. package/.claude/commands/learn-second-opinion.md +6 -3
  138. package/.claude/commands/maestro-amend.md +1 -1
  139. package/.claude/commands/maestro-analyze.md +1 -43
  140. package/.claude/commands/maestro-blueprint.md +1 -23
  141. package/.claude/commands/maestro-brainstorm.md +8 -25
  142. package/.claude/commands/maestro-collab.md +6 -2
  143. package/.claude/commands/maestro-companion.md +4 -1
  144. package/.claude/commands/maestro-composer.md +4 -2
  145. package/.claude/commands/maestro-execute.md +27 -9
  146. package/.claude/commands/maestro-fork.md +4 -3
  147. package/.claude/commands/maestro-grill.md +1 -17
  148. package/.claude/commands/maestro-guard.md +2 -2
  149. package/.claude/commands/maestro-impeccable.md +2 -1
  150. package/.claude/commands/maestro-init.md +1 -1
  151. package/.claude/commands/maestro-merge.md +12 -1
  152. package/.claude/commands/maestro-milestone-audit.md +1 -15
  153. package/.claude/commands/maestro-milestone-complete.md +8 -3
  154. package/.claude/commands/maestro-milestone-release.md +8 -4
  155. package/.claude/commands/maestro-overlay.md +9 -0
  156. package/.claude/commands/maestro-plan.md +6 -62
  157. package/.claude/commands/maestro-player.md +2 -2
  158. package/.claude/commands/maestro-quick.md +5 -3
  159. package/.claude/commands/maestro-ralph-cli-execute.md +237 -0
  160. package/.claude/commands/maestro-ralph-cli.md +663 -0
  161. package/.claude/commands/maestro-ralph-execute.md +127 -11
  162. package/.claude/commands/maestro-ralph.md +8 -8
  163. package/.claude/commands/maestro-roadmap.md +1 -9
  164. package/.claude/commands/maestro-swarm-workflow.md +16 -14
  165. package/.claude/commands/maestro-tools-register.md +16 -1
  166. package/.claude/commands/maestro-ui-codify.md +11 -1
  167. package/.claude/commands/maestro-universal-workflow.md +28 -5
  168. package/.claude/commands/maestro-update.md +10 -7
  169. package/.claude/commands/maestro.md +1 -1
  170. package/.claude/commands/manage-codebase-rebuild.md +5 -1
  171. package/.claude/commands/manage-drift-realign.md +6 -2
  172. package/.claude/commands/manage-harvest.md +4 -1
  173. package/.claude/commands/manage-issue-discover.md +1 -0
  174. package/.claude/commands/manage-kg-extractors.md +5 -1
  175. package/.claude/commands/manage-knowhow-capture.md +1 -0
  176. package/.claude/commands/manage-knowledge-audit.md +3 -0
  177. package/.claude/commands/manage-wiki.md +1 -0
  178. package/.claude/commands/odyssey-debug.md +2 -1
  179. package/.claude/commands/odyssey-improve.md +2 -2
  180. package/.claude/commands/odyssey-planex.md +8 -7
  181. package/.claude/commands/odyssey-review-test-fix.md +4 -1
  182. package/.claude/commands/odyssey-ui.md +4 -4
  183. package/.claude/commands/quality-auto-test.md +11 -1
  184. package/.claude/commands/quality-debug.md +16 -2
  185. package/.claude/commands/quality-retrospective.md +9 -1
  186. package/.claude/commands/quality-review.md +8 -0
  187. package/.claude/commands/quality-sync.md +2 -2
  188. package/.claude/commands/quality-test.md +9 -1
  189. package/.claude/commands/security-audit.md +14 -4
  190. package/.claude/commands/spec-add.md +5 -2
  191. package/.claude/commands/spec-load.md +1 -1
  192. package/.claude/commands/spec-remove.md +1 -1
  193. package/.claude/commands/spec-setup.md +3 -0
  194. package/.claude/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
  195. package/.claude/skills/team-coordinate/specs/role-spec-template.md +197 -198
  196. package/.claude/skills/team-roadmap-dev/SKILL.md +169 -169
  197. package/.claude/skills/team-roadmap-dev/specs/team-config.json +1 -1
  198. package/.claude/skills/team-swarm/roles/analyst/role.md +181 -185
  199. package/.codex/skills/codify-to-knowhow/SKILL.md +27 -15
  200. package/.codex/skills/domain-add/SKILL.md +5 -3
  201. package/.codex/skills/learn-decompose/SKILL.md +22 -4
  202. package/.codex/skills/learn-follow/SKILL.md +12 -6
  203. package/.codex/skills/learn-investigate/SKILL.md +11 -6
  204. package/.codex/skills/learn-retro/SKILL.md +12 -6
  205. package/.codex/skills/learn-second-opinion/SKILL.md +11 -3
  206. package/.codex/skills/maestro/SKILL.md +19 -13
  207. package/.codex/skills/maestro-amend/SKILL.md +10 -2
  208. package/.codex/skills/maestro-analyze/SKILL.md +7 -1
  209. package/.codex/skills/maestro-blueprint/SKILL.md +1 -1
  210. package/.codex/skills/maestro-brainstorm/SKILL.md +11 -8
  211. package/.codex/skills/maestro-collab/SKILL.md +5 -5
  212. package/.codex/skills/maestro-companion/SKILL.md +4 -1
  213. package/.codex/skills/maestro-composer/SKILL.md +6 -3
  214. package/.codex/skills/maestro-execute/SKILL.md +11 -8
  215. package/.codex/skills/maestro-fork/SKILL.md +4 -3
  216. package/.codex/skills/maestro-grill/SKILL.md +1 -1
  217. package/.codex/skills/maestro-guard/SKILL.md +1 -1
  218. package/.codex/skills/maestro-impeccable/SKILL.md +5 -5
  219. package/.codex/skills/maestro-init/SKILL.md +3 -2
  220. package/.codex/skills/maestro-milestone-audit/SKILL.md +21 -9
  221. package/.codex/skills/maestro-milestone-complete/SKILL.md +3 -3
  222. package/.codex/skills/maestro-milestone-release/SKILL.md +18 -1
  223. package/.codex/skills/maestro-next/SKILL.md +11 -10
  224. package/.codex/skills/maestro-overlay/SKILL.md +16 -6
  225. package/.codex/skills/maestro-player/SKILL.md +11 -5
  226. package/.codex/skills/maestro-quick/SKILL.md +2 -2
  227. package/.codex/skills/maestro-ralph/SKILL.md +44 -31
  228. package/.codex/skills/maestro-ralph-cli/SKILL.md +394 -0
  229. package/.codex/skills/maestro-ralph-cli-execute/SKILL.md +146 -0
  230. package/.codex/skills/maestro-ralph-execute/SKILL.md +105 -24
  231. package/.codex/skills/maestro-roadmap/SKILL.md +8 -2
  232. package/.codex/skills/maestro-tools-execute/SKILL.md +8 -4
  233. package/.codex/skills/maestro-tools-register/SKILL.md +10 -6
  234. package/.codex/skills/maestro-ui-codify/SKILL.md +14 -9
  235. package/.codex/skills/manage-codebase-rebuild/SKILL.md +36 -14
  236. package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
  237. package/.codex/skills/manage-drift-realign/SKILL.md +15 -12
  238. package/.codex/skills/manage-harvest/SKILL.md +1 -1
  239. package/.codex/skills/manage-issue/SKILL.md +8 -4
  240. package/.codex/skills/manage-issue-discover/SKILL.md +15 -14
  241. package/.codex/skills/manage-knowhow/SKILL.md +3 -2
  242. package/.codex/skills/manage-knowhow-capture/SKILL.md +4 -3
  243. package/.codex/skills/manage-learn/SKILL.md +2 -2
  244. package/.codex/skills/odyssey-debug/SKILL.md +12 -7
  245. package/.codex/skills/odyssey-improve/SKILL.md +11 -6
  246. package/.codex/skills/odyssey-planex/SKILL.md +14 -8
  247. package/.codex/skills/odyssey-review-test-fix/SKILL.md +12 -7
  248. package/.codex/skills/odyssey-ui/SKILL.md +10 -5
  249. package/.codex/skills/quality-auto-test/SKILL.md +13 -5
  250. package/.codex/skills/quality-debug/SKILL.md +18 -11
  251. package/.codex/skills/quality-refactor/SKILL.md +4 -4
  252. package/.codex/skills/quality-retrospective/SKILL.md +5 -6
  253. package/.codex/skills/quality-review/SKILL.md +18 -11
  254. package/.codex/skills/quality-sync/SKILL.md +2 -2
  255. package/.codex/skills/quality-test/SKILL.md +7 -5
  256. package/.codex/skills/security-audit/SKILL.md +7 -5
  257. package/.codex/skills/spec-add/SKILL.md +9 -7
  258. package/.codex/skills/spec-load/SKILL.md +3 -2
  259. package/.codex/skills/spec-map/SKILL.md +10 -1
  260. package/.codex/skills/spec-remove/SKILL.md +3 -2
  261. package/.codex/skills/team-coordinate/SKILL.md +10 -4
  262. package/.codex/skills/team-lifecycle-v4/SKILL.md +33 -26
  263. package/.codex/skills/team-quality-assurance/SKILL.md +43 -0
  264. package/.codex/skills/team-review/SKILL.md +50 -6
  265. package/.codex/skills/team-tech-debt/SKILL.md +53 -7
  266. package/.codex/skills/team-testing/SKILL.md +50 -2
  267. package/.codex/skills/wiki-connect/SKILL.md +3 -1
  268. package/.codex/skills/wiki-digest/SKILL.md +6 -4
  269. package/dashboard/dist-server/dashboard/src/server/wiki/embedding.d.ts +16 -0
  270. package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js +419 -44
  271. package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js.map +1 -1
  272. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +43 -5
  273. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  274. package/dashboard/dist-server/src/commands/install-backend.js +31 -16
  275. package/dashboard/dist-server/src/commands/install-backend.js.map +1 -1
  276. package/dashboard/dist-server/src/core/component-defs.js +25 -0
  277. package/dashboard/dist-server/src/core/component-defs.js.map +1 -1
  278. package/dashboard/dist-server/src/graph/kg/db/types.d.ts +3 -0
  279. package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.d.ts +46 -0
  280. package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js +329 -0
  281. package/dashboard/dist-server/src/graph/kg/embedding/code-embedding.js.map +1 -0
  282. package/dashboard/dist-server/src/graph/kg/embedding/index.d.ts +2 -0
  283. package/dashboard/dist-server/src/graph/kg/embedding/index.js +3 -0
  284. package/dashboard/dist-server/src/graph/kg/embedding/index.js.map +1 -0
  285. package/dashboard/dist-server/src/graph/kg/engine.d.ts +19 -1
  286. package/dashboard/dist-server/src/graph/kg/engine.js +71 -1
  287. package/dashboard/dist-server/src/graph/kg/engine.js.map +1 -1
  288. package/dashboard/dist-server/src/graph/kg/query/scoring.d.ts +5 -0
  289. package/dashboard/dist-server/src/graph/kg/query/scoring.js +85 -1
  290. package/dashboard/dist-server/src/graph/kg/query/scoring.js.map +1 -1
  291. package/dashboard/dist-server/src/graph/kg/query/search.d.ts +7 -0
  292. package/dashboard/dist-server/src/graph/kg/query/search.js +117 -1
  293. package/dashboard/dist-server/src/graph/kg/query/search.js.map +1 -1
  294. package/dashboard/dist-server/src/graph/kg/surface/mcp-tools.js +49 -0
  295. package/dashboard/dist-server/src/graph/kg/surface/mcp-tools.js.map +1 -1
  296. package/dashboard/dist-server/src/hooks/kg-sync-hook.js +3 -0
  297. package/dashboard/dist-server/src/hooks/kg-sync-hook.js.map +1 -1
  298. package/dashboard/dist-server/src/tools/spec-loader.js +7 -3
  299. package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
  300. package/dist/src/commands/install-backend.d.ts.map +1 -1
  301. package/dist/src/commands/install-backend.js +31 -16
  302. package/dist/src/commands/install-backend.js.map +1 -1
  303. package/dist/src/core/component-defs.d.ts.map +1 -1
  304. package/dist/src/core/component-defs.js +25 -0
  305. package/dist/src/core/component-defs.js.map +1 -1
  306. package/dist/src/core/plugin-bridge.d.ts.map +1 -1
  307. package/dist/src/core/plugin-bridge.js +17 -0
  308. package/dist/src/core/plugin-bridge.js.map +1 -1
  309. package/dist/src/graph/kg/db/types.d.ts +3 -0
  310. package/dist/src/graph/kg/db/types.d.ts.map +1 -1
  311. package/dist/src/graph/kg/embedding/code-embedding.d.ts +47 -0
  312. package/dist/src/graph/kg/embedding/code-embedding.d.ts.map +1 -0
  313. package/dist/src/graph/kg/embedding/code-embedding.js +329 -0
  314. package/dist/src/graph/kg/embedding/code-embedding.js.map +1 -0
  315. package/dist/src/graph/kg/embedding/index.d.ts +3 -0
  316. package/dist/src/graph/kg/embedding/index.d.ts.map +1 -0
  317. package/dist/src/graph/kg/embedding/index.js +3 -0
  318. package/dist/src/graph/kg/embedding/index.js.map +1 -0
  319. package/dist/src/graph/kg/engine.d.ts +19 -1
  320. package/dist/src/graph/kg/engine.d.ts.map +1 -1
  321. package/dist/src/graph/kg/engine.js +71 -1
  322. package/dist/src/graph/kg/engine.js.map +1 -1
  323. package/dist/src/graph/kg/query/scoring.d.ts +5 -0
  324. package/dist/src/graph/kg/query/scoring.d.ts.map +1 -1
  325. package/dist/src/graph/kg/query/scoring.js +85 -1
  326. package/dist/src/graph/kg/query/scoring.js.map +1 -1
  327. package/dist/src/graph/kg/query/search.d.ts +7 -0
  328. package/dist/src/graph/kg/query/search.d.ts.map +1 -1
  329. package/dist/src/graph/kg/query/search.js +117 -1
  330. package/dist/src/graph/kg/query/search.js.map +1 -1
  331. package/dist/src/graph/kg/surface/mcp-tools.d.ts.map +1 -1
  332. package/dist/src/graph/kg/surface/mcp-tools.js +49 -0
  333. package/dist/src/graph/kg/surface/mcp-tools.js.map +1 -1
  334. package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -1
  335. package/dist/src/hooks/kg-sync-hook.js +3 -0
  336. package/dist/src/hooks/kg-sync-hook.js.map +1 -1
  337. package/dist/src/tools/code-semantic-search.d.ts +10 -0
  338. package/dist/src/tools/code-semantic-search.d.ts.map +1 -0
  339. package/dist/src/tools/code-semantic-search.js +81 -0
  340. package/dist/src/tools/code-semantic-search.js.map +1 -0
  341. package/dist/src/tools/index.d.ts.map +1 -1
  342. package/dist/src/tools/index.js +4 -0
  343. package/dist/src/tools/index.js.map +1 -1
  344. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  345. package/dist/src/tools/spec-loader.js +7 -3
  346. package/dist/src/tools/spec-loader.js.map +1 -1
  347. package/dist/src/tools/wiki-search.d.ts +13 -0
  348. package/dist/src/tools/wiki-search.d.ts.map +1 -0
  349. package/dist/src/tools/wiki-search.js +114 -0
  350. package/dist/src/tools/wiki-search.js.map +1 -0
  351. package/dist/src/utils/update-notices.js +23 -0
  352. package/dist/src/utils/update-notices.js.map +1 -1
  353. package/package.json +4 -1
  354. package/workflows/agy-instructions.md +147 -161
  355. package/workflows/claude-instructions.md +100 -48
  356. package/workflows/codex-instructions.md +147 -161
  357. package/workflows/execute.md +4 -3
  358. package/workflows/explore-usage.md +41 -81
  359. package/workflows/grill.md +11 -0
  360. package/workflows/milestone-audit.md +8 -0
  361. package/workflows/odyssey-base-codex.md +115 -116
  362. package/workflows/odyssey-base.md +89 -91
  363. package/workflows/plan.md +6 -0
@@ -50,10 +50,11 @@ If `.workflow/issues/` does not exist, auto-create the directory and write an em
50
50
  ```
51
51
  Append JSON line to `issues.jsonl`.
52
52
 
53
- **list**: Read `issues.jsonl`, filter by `--status`, `--phase`, `--severity`, `--source`. Display as table:
53
+ **list**: Read both `issues.jsonl` (active) and `issue-history.jsonl` (closed) to build the full issue set. Filter by `--status`, `--phase`, `--severity`, `--source`. When `--status closed` is specified, read from `issue-history.jsonl`. When no `--status` filter, merge both files. Display as table:
54
54
  ```
55
55
  ID | Severity | Status | Title
56
56
  ISS-20260318-001 | high | open | Auth token expiry bug
57
+ ISS-20260310-003 | medium | closed | Stale cache entries
57
58
  ```
58
59
 
59
60
  **status**: Find issue by ID in `issues.jsonl`. Display all fields in detail format.
@@ -63,9 +64,12 @@ ISS-20260318-001 | high | open | Auth token expiry bug
63
64
  **close**: Find issue by ID, set status to `closed`, add `resolution` and `closed_at`. Move line from `issues.jsonl` to `issue-history.jsonl`.
64
65
 
65
66
  **link**: Bidirectional cross-reference between issue and task:
66
- 1. Find issue by ID in `issues.jsonl`, add task ID to issue's `linked_tasks[]` array, rewrite the line
67
- 2. Read task JSON at `.workflow/.task/{TASK-ID}.json` (or `.task/{TASK-ID}.json`). Edit the task's `linked_issues` field — append the issue ID to the array. If `linked_issues` field does not exist, create it as `[ISS-ID]`
68
- 3. Both writes must succeed for the link to be considered complete
67
+ 1. **Pre-validate**: Verify issue ID exists in `issues.jsonl` AND task file exists at `.workflow/.task/{TASK-ID}.json` (or `.task/{TASK-ID}.json`). If either is missing, abort with error before any writes
68
+ 2. **Save rollback state**: Read and store the original issue line from `issues.jsonl` before modification
69
+ 3. **First write**: Find issue by ID in `issues.jsonl`, add task ID to issue's `linked_tasks[]` array, rewrite the line
70
+ 4. **Second write**: Read task JSON. Edit the task's `linked_issues` field — append the issue ID to the array. If `linked_issues` field does not exist, create it as `[ISS-ID]`
71
+ 5. **Rollback on failure**: If the second write (task file) fails, restore the original issue line in `issues.jsonl` from the saved rollback state and report the error
72
+ 6. Both writes must succeed for the link to be considered complete
69
73
  </execution>
70
74
 
71
75
  <error_codes>
@@ -78,16 +78,16 @@ When `--yes` or `-y`: Auto-confirm perspective selection, skip interactive valid
78
78
  ### tasks.csv (Master State)
79
79
 
80
80
  ```csv
81
- id,title,description,perspective,scope_glob,deps,context_from,wave
82
- "1","Security Scan","Scan codebase for security vulnerabilities: authentication bypass, injection flaws, XSS, CSRF, sensitive data exposure, insecure crypto, secrets in code. Rate each finding critical/high/medium/low with file:line references.","security","src/**/*.{ts,tsx,js,jsx}","","","1"
83
- "2","Performance Scan","Scan codebase for performance issues: N+1 queries, unbounded loops, missing caching, memory leaks, large payloads, blocking operations, unoptimized algorithms.","performance","src/**/*.{ts,tsx,js,jsx}","","","1"
84
- "3","Reliability Scan","Scan codebase for reliability issues: unhandled errors, missing retry logic, race conditions, data integrity gaps, missing graceful degradation, silent failures.","reliability","src/**/*.{ts,tsx,js,jsx}","","","1"
85
- "4","Maintainability Scan","Scan codebase for maintainability issues: code duplication, tight coupling, missing abstractions, unclear naming, dead code, overly complex functions.","maintainability","src/**/*.{ts,tsx,js,jsx}","","","1"
86
- "5","Scalability Scan","Scan codebase for scalability issues: hardcoded limits, single-threaded bottlenecks, stateful assumptions, schema rigidity, missing pagination.","scalability","src/**/*.{ts,tsx,js,jsx}","","","1"
87
- "6","UX Scan","Scan codebase for UX issues: confusing flows, missing user feedback, inconsistent behavior, missing loading states, poor error messages.","ux","src/**/*.{ts,tsx,js,jsx}","","","1"
88
- "7","Accessibility Scan","Scan codebase for accessibility issues: missing ARIA labels, keyboard navigation gaps, color contrast problems, missing alt text, focus management issues.","accessibility","src/**/*.{ts,tsx,js,jsx}","","","1"
89
- "8","Compliance Scan","Scan codebase for compliance issues: logging gaps, missing audit trails, data retention violations, privacy control gaps, regulatory requirement gaps.","compliance","src/**/*.{ts,tsx,js,jsx}","","","1"
90
- "9","Dedup + Issue Creation","Aggregate all perspective findings. Deduplicate by file path + description similarity (keep higher severity). Generate ISS-YYYYMMDD-NNN issue records. Append to .workflow/issues/issues.jsonl.","dedup","","1;2;3;4;5;6;7;8","1;2;3;4;5;6;7;8","2"
81
+ id,title,description,perspective,scope_glob,deps,context_from,wave,status
82
+ "1","Security Scan","Scan codebase for security vulnerabilities: authentication bypass, injection flaws, XSS, CSRF, sensitive data exposure, insecure crypto, secrets in code. Rate each finding critical/high/medium/low with file:line references.","security","src/**/*.{ts,tsx,js,jsx}","","","1","pending"
83
+ "2","Performance Scan","Scan codebase for performance issues: N+1 queries, unbounded loops, missing caching, memory leaks, large payloads, blocking operations, unoptimized algorithms.","performance","src/**/*.{ts,tsx,js,jsx}","","","1","pending"
84
+ "3","Reliability Scan","Scan codebase for reliability issues: unhandled errors, missing retry logic, race conditions, data integrity gaps, missing graceful degradation, silent failures.","reliability","src/**/*.{ts,tsx,js,jsx}","","","1","pending"
85
+ "4","Maintainability Scan","Scan codebase for maintainability issues: code duplication, tight coupling, missing abstractions, unclear naming, dead code, overly complex functions.","maintainability","src/**/*.{ts,tsx,js,jsx}","","","1","pending"
86
+ "5","Scalability Scan","Scan codebase for scalability issues: hardcoded limits, single-threaded bottlenecks, stateful assumptions, schema rigidity, missing pagination.","scalability","src/**/*.{ts,tsx,js,jsx}","","","1","pending"
87
+ "6","UX Scan","Scan codebase for UX issues: confusing flows, missing user feedback, inconsistent behavior, missing loading states, poor error messages.","ux","src/**/*.{ts,tsx,js,jsx}","","","1","pending"
88
+ "7","Accessibility Scan","Scan codebase for accessibility issues: missing ARIA labels, keyboard navigation gaps, color contrast problems, missing alt text, focus management issues.","accessibility","src/**/*.{ts,tsx,js,jsx}","","","1","pending"
89
+ "8","Compliance Scan","Scan codebase for compliance issues: logging gaps, missing audit trails, data retention violations, privacy control gaps, regulatory requirement gaps.","compliance","src/**/*.{ts,tsx,js,jsx}","","","1","pending"
90
+ "9","Dedup + Issue Creation","Aggregate all perspective findings. Deduplicate by file path + description similarity (keep higher severity). Generate ISS-YYYYMMDD-NNN issue records. Append to .workflow/issues/issues.jsonl.","dedup","","1;2;3;4;5;6;7;8","1;2;3;4;5;6;7;8","2","pending"
91
91
  ```
92
92
 
93
93
  **Columns**:
@@ -102,6 +102,7 @@ id,title,description,perspective,scope_glob,deps,context_from,wave
102
102
  | `deps` | Input | Semicolon-separated dependency task IDs |
103
103
  | `context_from` | Input | Semicolon-separated task IDs whose findings this task needs |
104
104
  | `wave` | Computed | Wave number (1 = perspective scans, 2 = dedup + issue creation) |
105
+ | `status` | Lifecycle | Task lifecycle status, initialized to `pending`. Updated to `completed`/`failed`/`skipped` after wave merge via `result_status` mapping |
105
106
  | `result_status` | Output | `completed` / `failed` / `skipped` (mapped to master `status` on merge) |
106
107
  | `findings` | Output | Key scan findings summary (max 500 chars) |
107
108
  | `issues_found` | Output | JSON array of discovered issues: `[{"title":"...","severity":"critical","description":"...","location":"file:line","fix_direction":"...","affected_components":["..."]}]` |
@@ -309,8 +310,8 @@ CONSTRAINTS:
309
310
 
310
311
  1. Read master `tasks.csv`
311
312
  2. Filter rows where `wave == 2` AND `status == pending`
312
- 3. Check deps -- if all wave 1 agents failed, skip dedup
313
- 4. Build `prev_context` from wave 1 findings:
313
+ 3. Check deps -- if all wave 1 agents failed, skip dedup (invariant 6)
314
+ 4. Build `prev_context` from **completed** wave 1 rows only. Exclude `failed`/`skipped` rows. For excluded rows, inject `[GAP: {perspective} scan failed — findings incomplete]` note. Set `evidence_incomplete: true` if any perspective failed:
314
315
  ```
315
316
  [Task 1: Security Scan] Found 3 issues: SQL injection in query builder (critical), missing CSRF token (high)...
316
317
  [Task 2: Performance Scan] Found 5 issues: N+1 query in user listing (high), missing pagination (medium)...
@@ -384,7 +385,7 @@ CONSTRAINTS:
384
385
  - Merge all perspective findings from prev_context into single list
385
386
  - Deduplicate: group by file path, compare descriptions (>80% overlap or same file:line → keep higher severity)
386
387
  - For each unique finding: generate `ISS-YYYYMMDD-NNN` ID (collision-safe), build full issue record
387
- - Severity-to-priority: critical→1, high→2, medium→3, low→4; source = "discovery", tags = ["{perspective}"]
388
+ - Severity-to-priority: critical→1, high→2, medium→3, low→4; source = "discover", tags = ["{perspective}"]
388
389
  - Append to `.workflow/issues/issues.jsonl` and `{discoveryDir}/discovery-issues.jsonl`
389
390
  - Report: pre-dedup count, post-dedup count, severity_distribution
390
391
 
@@ -503,7 +504,7 @@ echo '{"ts":"<ISO>","worker":"{id}","type":"vulnerability","data":{"location":"s
503
504
  | `by-prompt` with empty prompt | Interactive prompt with suggested options |
504
505
  | Perspective agent timeout | Mark as failed, continue remaining perspectives |
505
506
  | All perspective agents failed | Skip dedup, report no findings |
506
- | Dedup agent failed | Use wave 1 results directly, create issues from raw findings |
507
+ | Dedup agent failed | Do NOT write to issues.jsonl preserve raw findings in context.md and `{discoveryDir}/` for manual review or retry. Mark session `incomplete`. |
507
508
  | issues.jsonl write failure | Retry once, then report error with findings in context.md |
508
509
  | CSV parse error | Validate format, show line number |
509
510
  | discoveries.ndjson corrupt | Ignore malformed lines |
@@ -30,7 +30,8 @@ $manage-knowhow "prune --before 2026-01-01 --type tip --dry-run"
30
30
  - `--type <session|tip|template|recipe|reference|decision>` — Filter by knowhow type
31
31
  - `--confirm` — Skip delete confirmation prompt
32
32
  - `--before <date>` / `--after <date>` — Date filters for prune
33
- - `--dry-run` — Preview prune without deleting
33
+ - `--dry-run` — Preview prune without deleting (default for prune — use `--execute` to actually delete)
34
+ - `--execute` — Required to actually perform prune deletions (prune defaults to dry-run)
34
35
  </context>
35
36
 
36
37
  <execution>
@@ -60,7 +61,7 @@ Default to `list` if no arguments. Parse first token as subcommand.
60
61
 
61
62
  **delete `<id|file>`**: Require confirmation (or `--confirm` flag). MEMORY.md cannot be deleted (E004). Remove entry file (WikiIndexer auto-updates `.workflow/wiki-index.json` on next access).
62
63
 
63
- **prune**: Requires at least one filter (`--tag`, `--type`, `--before`, `--after`). Workflow store only. `--dry-run` previews without deleting.
64
+ **prune**: Requires at least one filter (`--tag`, `--type`, `--before`, `--after`). Workflow store only. Prune defaults to dry-run (preview only) — always display the list of entries that would be deleted first. To actually delete, user must pass `--execute`. When `--execute` is used, prompt for confirmation via `request_user_input` before proceeding (unless `--confirm` is also passed).
64
65
 
65
66
  ### Step 4: Integrity Check
66
67
 
@@ -70,7 +70,7 @@ Prompt for or extract: language (`--lang`), usage context, code content, paramet
70
70
  Prompt for or extract: goal, prerequisites, numbered steps, expected outcome, common pitfalls, related entries. Sections: Goal, Prerequisites, Steps, Expected Outcome, Common Pitfalls, Related.
71
71
 
72
72
  **reference** (REF-{YYYYMMDD}-{slug}.md):
73
- Source from `--source` flag (offer WebFetch if URL). Extract: key points, applicable scenarios, quick examples. Sections: Source, Key Points, Applicable Scenarios, Quick Examples.
73
+ Source from `--source` flag (fetch URL content via `Bash` curl if provided). Extract: key points, applicable scenarios, quick examples. Sections: Source, Key Points, Applicable Scenarios, Quick Examples.
74
74
 
75
75
  **decision** (DCS-{YYYYMMDD}-{slug}.md):
76
76
  Prompt for or extract: context, decision, alternatives (at least 2), rationale, consequences. Sections: Context, Decision, Alternatives Considered (table), Rationale, Consequences, Related.
@@ -105,11 +105,12 @@ Write to `.workflow/knowhow/{PREFIX}-{YYYYMMDD}-{slug}.md` with YAML frontmatter
105
105
  title: {auto or --title}
106
106
  description: {one-line summary for search results}
107
107
  type: {type}
108
- category: {type}
109
108
  created: {ISO timestamp}
110
109
  tags: [{tags}]
111
110
  ```
112
- Plus type-specific: `lang` (template), `source` (reference), `status` (decision), `assetType` + `codePaths` (asset), `codePaths` (blueprint). `category` written when `--category` provided. `description` always written — from `--description` flag or auto-generated from content.
111
+ Plus type-specific: `lang` (template), `source` (reference), `status` (decision), `assetType` + `codePaths` (asset), `codePaths` (blueprint). `description` always written — from `--description` flag or auto-generated from content.
112
+
113
+ **`category` field**: Only written to frontmatter when `--category` is explicitly provided (e.g. `--category coding`). Do NOT default `category` to the `type` value — `type` and `category` are distinct concepts: `type` is the knowhow content type (template, recipe, tip, etc.), `category` is the spec discovery category (coding, arch, test, debug, review, learning) used for agent injection routing.
113
114
 
114
115
  ### Step 6: Confirm
115
116
 
@@ -2,7 +2,7 @@
2
2
  name: manage-learn
3
3
  description: Capture and search learning insights and tips
4
4
  argument-hint: "[\"<insight text>\"|list|search <query>|show <INS-id>] [--category pattern|antipattern|decision|tool|gotcha|technique] [--tag t1,t2] [--phase N] [--confidence high|medium|low]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
6
6
  ---
7
7
 
8
8
  <purpose>
@@ -48,7 +48,7 @@ $manage-learn "\"Zod v4 breaks z.object().strict() API\" --category gotcha --tag
48
48
 
49
49
  <invariants>
50
50
  1. **No LLM or CLI calls**: This skill is pure file I/O — parse, infer, append, confirm. No `shell_exec`, no `spawn_agent`.
51
- 2. **Bootstrap on demand**: Create `.workflow/knowhow/` structure on first use; do not require it to exist.
51
+ 2. **Bootstrap on demand**: Create `.workflow/specs/` directory and `learnings.md` on first use; do not require it to exist.
52
52
  3. **Append-only learnings.md**: Never rewrite or delete existing entries.
53
53
  4. **Stable INS-ids**: `INS-{8hex}` from `hash(insightText + timestamp)` — same text at different times gets different ids.
54
54
  5. **Source field**: Always `"manual"` for captures from this skill; `"retrospective"` is reserved for `quality-retrospective`.
@@ -6,6 +6,10 @@ allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request
6
6
  ---
7
7
  <base>@~/.maestro/workflows/odyssey-base-codex.md</base>
8
8
 
9
+ <required_reading>
10
+ Required reading: base (`odyssey-base-codex.md`) before any actions. Load and apply base invariants, execution discipline, and shared actions before proceeding.
11
+ </required_reading>
12
+
9
13
  <purpose>
10
14
  archaeology → explore → diagnose → fix & confirm → generalize → discover siblings → persist.
11
15
  Exhaustive iteration until root cause confirmed or INCONCLUSIVE.
@@ -158,7 +162,7 @@ S_RECORD → END : complete
158
162
  1. Parse arguments, generate slug, create SESSION_DIR
159
163
  2. `maestro search "<keywords>"` + Glob prior sessions + ARCHITECTURE.md + Grep keywords
160
164
  3. Derive `phase_goals[]` from flags
161
- 4. Write `session.json` + `understanding.md` §1, emit Goal Prompt
165
+ 4. Write `session.json` + `understanding.md` §1, call `create_goal` with phase_goals as success_criteria
162
166
 
163
167
  Commit: `"odyssey-debug({slug}): INTAKE — parse target and load context"`
164
168
 
@@ -184,7 +188,7 @@ spawn_agents_on_csv({ csv_path:"tasks.csv", id_column:"id",
184
188
 
185
189
  Merge results → evidence.ndjson (phase: "archaeology").
186
190
 
187
- **Step 2 — CLI change review** via `maestro delegate --role analyze --mode analysis` (`run_in_background: true`):
191
+ **Step 2 — CLI change review** via `maestro delegate --to claude --mode analysis` (`run_in_background: true`):
188
192
  - PURPOSE: Review recent modifications related to {issue}
189
193
  - EXPECTED: JSON [{commit_sha, risk_level, analysis, could_cause_issue, explanation}]
190
194
 
@@ -193,7 +197,7 @@ Update §2. Commit: `"odyssey-debug({slug}): ARCHAEOLOGY — git history analysi
193
197
  ### A_EXPLORE
194
198
  Skip if no CLI tools (W006).
195
199
 
196
- `maestro delegate --role explore --mode analysis` (`run_in_background: true`):
200
+ `maestro delegate --to claude --mode analysis` (`run_in_background: true`):
197
201
  - PURPOSE: Call chains, recent changes, error gaps, similar patterns
198
202
  - EXPECTED: JSON {call_chains, recent_changes, error_gaps, similar_patterns}
199
203
 
@@ -208,7 +212,7 @@ Write `explore.json` + evidence phase=explore. Update §3. Mark G2. Commit: `"od
208
212
  Commit: `"odyssey-debug({slug}): DIAGNOSE — root cause confirmed"`
209
213
 
210
214
  ### A_ESCALATE_DIAGNOSIS
211
- `diagnosis_retries++`. < 3: `maestro delegate --role analyze`, new hypotheses, → S_DIAGNOSE. >= 3: Normal → request_user_input | `-y` → INCONCLUSIVE → S_RECORD.
215
+ `diagnosis_retries++`. < 3: `maestro delegate --to claude --mode analysis`, new hypotheses, → S_DIAGNOSE. >= 3: Normal → request_user_input | `-y` → INCONCLUSIVE → S_RECORD.
212
216
 
213
217
  ### A_FIX
214
218
  1. Present root cause + proposed fix. Normal: request_user_input | `-y`: auto proceed
@@ -218,7 +222,7 @@ Commit: `"odyssey-debug({slug}): FIX — {summary}"`
218
222
 
219
223
  ### A_CONFIRM
220
224
  1. Run covering tests
221
- 2. `maestro delegate --role review --mode analysis` (`run_in_background: true`):
225
+ 2. `maestro delegate --to claude --mode analysis` (`run_in_background: true`):
222
226
  - EXPECTED: JSON {verdict, findings [{severity, description, suggestion}], regression_risk}
223
227
  3. `session.json.confirmation`: `{test_result, cli_review, overall: "confirmed|needs_rework"}`
224
228
  4. Update §6. `needs_rework` → S_FIX. `confirmed` → mark G3.
@@ -251,7 +255,7 @@ Update §7. Mark G4. Commit: `"odyssey-debug({slug}): GENERALIZE — pattern sca
251
255
  ### A_DISCOVER, A_RECORD
252
256
  Base shared_actions. Debug overrides:
253
257
  - **A_DISCOVER** routes scan hits per csv_schema wave results. Commit: `"odyssey-debug({slug}): DISCOVER — triage complete"`
254
- - **A_RECORD** learnings per Knowledge Persistence table
258
+ - **A_RECORD** learnings per Knowledge Persistence table. **Confirmation gate**: Before writing spec entries, present proposed entries to user via `request_user_input` for confirmation. Skip confirmation only if `-y` flag is set.
255
259
 
256
260
  **Completion summary:**
257
261
  ```
@@ -281,7 +285,7 @@ Goals: {done}/{total} ({skipped} skipped)
281
285
  | A_ESCALATE 3-strike | request_user_input | INCONCLUSIVE |
282
286
  | A_FIX direction | request_user_input | auto proceed |
283
287
 
284
- ### Goal Prompt convergence rules
288
+ ### Goal convergence rules
285
289
 
286
290
  ```
287
291
  Stop when root cause confirmed (or INCONCLUSIVE), fix verified,
@@ -318,6 +322,7 @@ All sibling bugs fixed or issued — no leftovers.
318
322
  </success_criteria>
319
323
 
320
324
  <next_step_routing>
325
+ <!-- suggest-only — do NOT auto-execute. Present these as suggestions to the user. -->
321
326
  | Condition | Next |
322
327
  |-----------|------|
323
328
  | Discovery issues | `/manage-issue list --source debug-odyssey` |
@@ -6,6 +6,10 @@ allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request
6
6
  ---
7
7
  <base>@~/.maestro/workflows/odyssey-base-codex.md</base>
8
8
 
9
+ <required_reading>
10
+ Required reading: base (`odyssey-base-codex.md`) before any actions. Load and apply base invariants, execution discipline, and shared actions before proceeding.
11
+ </required_reading>
12
+
9
13
  <purpose>
10
14
  survey → 6-dimension audit → diagnose → fix → verify → generalize → discover → persist.
11
15
  Baseline-first, exhaustive iteration until zero remaining actionable findings.
@@ -172,7 +176,7 @@ S_RECORD → END : complete
172
176
  3. `maestro search "<keywords>"` + Glob prior sessions + ARCHITECTURE.md + spec load coding/debug
173
177
  4. **Baseline capture**: Record current metrics (test pass rate, bundle size, dependency count, complexity hotspots) to `session.json.baseline_metrics`
174
178
  5. Derive `phase_goals[]` from flags
175
- 6. Write `session.json` + `understanding.md` section 1, emit Goal Prompt
179
+ 6. Write `session.json` + `understanding.md` section 1, call `create_goal` with phase_goals as success_criteria
176
180
 
177
181
  Commit: `"odyssey-improve({slug}): INTAKE — target parsed and baseline captured"`
178
182
 
@@ -217,13 +221,13 @@ Root cause analysis for critical/high findings.
217
221
 
218
222
  1. Group by dimension, prioritize by severity. For each: hypothesis → trace code path + git history → evidence (phase: "diagnosis")
219
223
  2. Ambiguity → evidence (phase: "decision"); Normal: request_user_input | `-y`: defer
220
- 3. Complex findings: `maestro delegate --role analyze --mode analysis` (`run_in_background: true`)
224
+ 3. Complex findings: `maestro delegate --to claude --mode analysis` (`run_in_background: true`)
221
225
  4. Write `session.json.diagnoses[]`. Update section 4. Mark G3.
222
226
 
223
227
  Commit: `"odyssey-improve({slug}): DIAGNOSE — root cause analysis"`
224
228
 
225
229
  ### A_ESCALATE_DIAGNOSIS
226
- `retries++`. < 3: `maestro delegate --role analyze`, new hypotheses, → S_DIAGNOSE. >= 3: Normal → request_user_input | `-y` → INCONCLUSIVE → S_RECORD.
230
+ `retries++`. < 3: `maestro delegate --to claude --mode analysis`, new hypotheses, → S_DIAGNOSE. >= 3: Normal → request_user_input | `-y` → INCONCLUSIVE → S_RECORD.
227
231
 
228
232
  ### A_FIX
229
233
  Fix ALL diagnosed issues by severity tier (critical → high → medium → low within fix_threshold), one dimension at a time. After each tier, re-verify modified area — new findings append to current tier.
@@ -235,7 +239,7 @@ Commit: `"odyssey-improve({slug}): FIX — improvements implemented"`
235
239
  ### A_VERIFY
236
240
  1. Run tests covering modified areas
237
241
  2. Re-capture metrics, compare with `session.json.baseline_metrics`
238
- 3. `maestro delegate --role review --mode analysis` (`run_in_background: true`) — check fix correctness, regressions, impact vs baseline
242
+ 3. `maestro delegate --to claude --mode analysis` (`run_in_background: true`) — check fix correctness, regressions, impact vs baseline
239
243
  4. `needs_rework` → S_FIX. `verified` → mark G4.
240
244
  5. Write `session.json.confirmation`. Update section 5.
241
245
 
@@ -263,7 +267,7 @@ Commit: `"odyssey-improve({slug}): GENERALIZE — pattern scan"`
263
267
  ### A_DISCOVER, A_RECORD
264
268
  Base shared_actions. Improve overrides:
265
269
  - **A_RECORD** section 8: before/after comparison table from baseline_metrics vs current measurements
266
- - **A_RECORD** section 9: learnings per Knowledge Persistence table
270
+ - **A_RECORD** section 9: learnings per Knowledge Persistence table. **Confirmation gate**: Before writing spec entries, present proposed entries to user via `request_user_input` for confirmation. Skip confirmation only if `-y` flag is set.
267
271
 
268
272
  **Completion summary:**
269
273
  ```
@@ -297,7 +301,7 @@ Goals: {done}/{total} ({skipped} skipped)
297
301
  | A_DIAGNOSE ambiguity | request_user_input | best-effort, deferred |
298
302
  | A_ESCALATE 3-strike | request_user_input | INCONCLUSIVE |
299
303
 
300
- ### Goal Prompt convergence rules
304
+ ### Goal convergence rules
301
305
 
302
306
  ```
303
307
  Exhaust all findings (fix/issue/decision) until remaining_actionable == 0
@@ -333,6 +337,7 @@ Pending decisions must request_user_input — no report-only.
333
337
  </success_criteria>
334
338
 
335
339
  <next_step_routing>
340
+ <!-- suggest-only — do NOT auto-execute. Present these as suggestions to the user. -->
336
341
  | Condition | Next |
337
342
  |-----------|------|
338
343
  | Security findings need deep investigation | `$odyssey-debug "<finding>"` |
@@ -7,6 +7,10 @@ allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request
7
7
 
8
8
  <base>@~/.maestro/workflows/odyssey-base-codex.md</base>
9
9
 
10
+ <required_reading>
11
+ Required reading: base (`odyssey-base-codex.md`) before any actions. Load and apply base invariants, execution discipline, and shared actions before proceeding.
12
+ </required_reading>
13
+
10
14
  <purpose>
11
15
  Requirement-to-delivery closed loop: parse requirement -> define acceptance criteria ->
12
16
  plan -> execute -> verify -> fix gaps -> iterate until ALL criteria pass.
@@ -89,6 +93,7 @@ $ARGUMENTS
89
93
  <invariants>
90
94
  Base invariants apply. Additionally:
91
95
  6. **Acceptance criteria are sacred** -- no "close enough", no manual override without explicit escalation
96
+ 7. **Max-iteration failure is ESCALATED** -- when max iterations reached with failing criteria, status MUST be `ESCALATED` or `PARTIAL`, NEVER `ALL_PASSED`. Under `-y`, criteria remain `failed` with `deferred` decision, session status is `ESCALATED`. Lowering acceptance standards requires explicit user confirmation with original criteria, change reason, and `incomplete` marker recorded.
92
97
  </invariants>
93
98
 
94
99
  <self_iteration>
@@ -173,7 +178,7 @@ S_RECORD -> END
173
178
  - **Normal**: request_user_input to confirm/edit
174
179
  - **`-y`**: auto-derive, record `{"phase":"decision","type":"criteria-confirmation","status":"deferred"}`
175
180
  3. Search prior knowledge: `maestro search`, related sessions
176
- 4. Write session.json + understanding.md S1. Mark G1 done. Display Goal Prompt
181
+ 4. Write session.json + understanding.md S1. Mark G1 done. call `create_goal` with phase_goals as success_criteria
177
182
 
178
183
  Commit: `"odyssey-planex({slug}): INTAKE -- requirement parsed"`
179
184
 
@@ -186,7 +191,7 @@ Commit: `"odyssey-planex({slug}): INTAKE -- requirement parsed"`
186
191
  MODE: analysis
187
192
  CONTEXT: @**/* | Criteria: {criteria_summary}
188
193
  EXPECTED: JSON [{task_id, title, description, criteria_refs, deps}]
189
- " --role analyze --mode analysis
194
+ " --to claude --mode analysis
190
195
  ```
191
196
  Execute with `run_in_background: true`, wait for callback.
192
197
  3. Write session.json.plan, append evidence (planning), update understanding.md S2. Mark G2 done.
@@ -289,7 +294,7 @@ Execute with `run_in_background: true`, wait for callback.
289
294
  1. First attempt: normal dispatch
290
295
  2. Retry: `--resume planex-${slug}-${task_id}` with simplified prompt
291
296
  3. Final: fallback to Agent path
292
- 4. All 3 fail -> mark task `blocked`, record checkpoint, continue remaining tasks
297
+ 4. All 3 fail -> mark task `blocked`, record checkpoint, continue remaining tasks. Blocked tasks make G3 `incomplete` — related acceptance criteria are marked `blocked`, and S_VERIFY/S_RECORD propagate the incomplete status.
293
298
 
294
299
  #### Step 4: Per-Task Evidence
295
300
 
@@ -382,7 +387,7 @@ Commit: `"odyssey-planex({slug}): VERIFY -- acceptance check"`
382
387
  MODE: analysis
383
388
  CONTEXT: @{modified_files} | Passing: {passing} | Fixed: {fixed}
384
389
  EXPECTED: JSON {verdict, regression_risk, concerns}
385
- " --role review --mode analysis
390
+ " --to claude --mode analysis
386
391
  ```
387
392
  4. Append evidence (fix), update understanding.md S5 -> S_VERIFY
388
393
 
@@ -405,7 +410,7 @@ Mark G5 done. Commit: `"odyssey-planex({slug}): GENERALIZE -- pattern scan"`
405
410
  Base shared_actions. Mark G6 done. Commit: `"odyssey-planex({slug}): DISCOVER -- triage complete"`
406
411
 
407
412
  ### A_RECORD
408
- Base shared_actions. Learnings per Knowledge Persistence table.
413
+ Base shared_actions. Learnings per Knowledge Persistence table. **Confirmation gate**: Before writing spec entries, present proposed entries to user via `request_user_input` for confirmation. Skip confirmation only if `-y` flag is set.
409
414
 
410
415
  **Completion summary:**
411
416
  ```
@@ -437,9 +442,9 @@ Commit: `"odyssey-planex({slug}): RECORD -- session summary"`
437
442
  | S_EXECUTE execution options | request_user_input (executor/review/verify) | use defaults (auto/Skip/Auto), `confirmed: true` |
438
443
  | S_EXECUTE task blocked (3 retries) | request_user_input: continue or stop | auto continue, log blocked |
439
444
  | S_VERIFY manual criterion | request_user_input | `deferred` |
440
- | S_VERIFY max iteration reached | request_user_input | auto accept, `deferred` |
445
+ | S_VERIFY max iteration reached | request_user_input (continue/lower bar/accept) | mark status `ESCALATED`, record failing criteria as `deferred`, proceed to S_RECORD with `ESCALATED` status — NEVER mark as `ALL_PASSED` |
441
446
 
442
- ### Goal Prompt convergence rules
447
+ ### Goal convergence rules
443
448
 
444
449
  ```
445
450
  Stop when acceptance_criteria[*] all status==passed
@@ -485,11 +490,12 @@ Max iterations (default 3) prevents infinite loops. Each iteration records crite
485
490
  - [ ] understanding.md S1-S8 updated per phase; phase_goals G1-G7 audited
486
491
  - [ ] Generalization + discovery completed (unless --skip-generalize)
487
492
  - [ ] Quality Gate self-iteration triggered when insufficient
488
- - [ ] Goal Prompt displayed once after intake; `-y` mode: no blocking prompts
493
+ - [ ] `create_goal` called once after intake; `-y` mode: no blocking prompts
489
494
  - [ ] Session resumable via -c; completion summary output
490
495
  </success_criteria>
491
496
 
492
497
  <next_step_routing>
498
+ <!-- suggest-only — do NOT auto-execute. Present these as suggestions to the user. -->
493
499
  | Condition | Next step |
494
500
  |-----------|-----------|
495
501
  | All criteria passed | `$odyssey-review-test-fix <changed-files>` |
@@ -6,6 +6,10 @@ allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request
6
6
  ---
7
7
  <base>@~/.maestro/workflows/odyssey-base-codex.md</base>
8
8
 
9
+ <required_reading>
10
+ Required reading: base (`odyssey-base-codex.md`) before any actions. Load and apply base invariants, execution discipline, and shared actions before proceeding.
11
+ </required_reading>
12
+
9
13
  <purpose>
10
14
  archaeology → explore → multi-dimensional review → fix ALL findings → confirm → generalize → discover → persist. Zero-residual: every finding must have an action (fix/issue/decision).
11
15
  </purpose>
@@ -142,7 +146,7 @@ S_DISCOVER → S_RECORD : done or max_loops
142
146
  <actions>
143
147
 
144
148
  ### A_INTAKE
145
- Parse target + flags → file list. Create SESSION_DIR, derive phase_goals[]. Search prior knowledge. Write session.json + section 1. Display Goal Prompt.
149
+ Parse target + flags → file list. Create SESSION_DIR, derive phase_goals[]. Search prior knowledge. Write session.json + section 1. Call `create_goal` with phase_goals as success_criteria.
146
150
 
147
151
  ### A_ARCHAEOLOGY
148
152
  **spawn_agents_on_csv (Wave 1):**
@@ -156,10 +160,10 @@ spawn_agents_on_csv({ csv_path: "tasks.csv", id_column: "id",
156
160
  max_concurrency: 2, max_runtime_seconds: 300,
157
161
  output_csv_path: "wave-1-results.csv", output_schema: SHARED_OUTPUT_SCHEMA })
158
162
  ```
159
- Merge → evidence (phase: archaeology). CLI delegate `--role analyze`. Update section 2.
163
+ Merge → evidence (phase: archaeology). CLI delegate `--to claude --mode analysis`. Update section 2.
160
164
 
161
165
  ### A_EXPLORE
162
- CLI delegate `--role explore` — call chains, error gaps, similar patterns. Write explore.json. Update section 3. Mark G2.
166
+ CLI delegate `--to claude --mode analysis` — call chains, error gaps, similar patterns. Write explore.json. Update section 3. Mark G2.
163
167
 
164
168
  ### A_REVIEW
165
169
  **spawn_agents_on_csv (Wave 2):**
@@ -192,7 +196,7 @@ Remaining > 0 → retry (no max_loops limit). Unchanged 2 rounds → classify ea
192
196
  Blanket "pre-existing" forbidden.
193
197
 
194
198
  ### A_CONFIRM
195
- Run tests + CLI delegate zero-residual review (`--role review`).
199
+ Run tests + CLI delegate zero-residual review (`--to claude --mode analysis`).
196
200
  - `remaining == 0 AND new == 0` → confirmed, mark G3
197
201
  - Otherwise → needs_rework → S_FIX
198
202
 
@@ -223,7 +227,7 @@ Mark G4.
223
227
  Base shared_actions. Review overrides: cross-phase loop tracking per base.
224
228
 
225
229
  ### A_RECORD
226
- Base shared_actions. Learnings per Knowledge Persistence table.
230
+ Base shared_actions. Learnings per Knowledge Persistence table. **Confirmation gate**: Before writing spec entries, present proposed entries to user via `request_user_input` for confirmation. Skip confirmation only if `-y` flag is set.
227
231
 
228
232
  **Completion summary:**
229
233
  ```
@@ -248,7 +252,7 @@ Goals: {done}/{total} ({skipped} skipped)
248
252
  | S_FIX re-review new findings | request_user_input | auto-append |
249
253
  | S_CONFIRM needs_rework | Display → S_FIX | auto proceed |
250
254
 
251
- ### Goal Prompt convergence rules
255
+ ### Goal convergence rules
252
256
 
253
257
  ```
254
258
  Stop when review_result.remaining_actionable == 0, confirmation == confirmed,
@@ -274,10 +278,11 @@ Decision pending must request_user_input.
274
278
  - [ ] All dimensions reviewed, ALL findings fixed (remaining_actionable == 0), zero-residual confirmed
275
279
  - [ ] Per-tier re-review gate; every unfixed finding individually classified
276
280
  - [ ] Generalized with multi-layer scan (unless --skip-generalize); self-iteration on insufficient
277
- - [ ] understanding.md sections 1-8, phase_goals G1-G6 audited, Goal Prompt once, `-y` no blocking, -c resumable
281
+ - [ ] understanding.md sections 1-8, phase_goals G1-G6 audited, `create_goal` called once, `-y` no blocking, -c resumable
278
282
  </success_criteria>
279
283
 
280
284
  <next_step_routing>
285
+ <!-- suggest-only — do NOT auto-execute. Present these as suggestions to the user. -->
281
286
  | Condition | Next |
282
287
  |-----------|------|
283
288
  | Deeper debug needed | `$odyssey-debug "<finding>"` |
@@ -7,6 +7,10 @@ allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request
7
7
 
8
8
  <base>@~/.maestro/workflows/odyssey-base-codex.md</base>
9
9
 
10
+ <required_reading>
11
+ Required reading: base (`odyssey-base-codex.md`) before any actions. Load and apply base invariants, execution discipline, and shared actions before proceeding.
12
+ </required_reading>
13
+
10
14
  <purpose>
11
15
  survey -> 6-dimension audit -> divergent creative exploration ->
12
16
  fix -> verify -> generalize -> discover -> persist.
@@ -153,7 +157,7 @@ S_RECORD -> END : complete
153
157
  2. Generate slug, create SESSION_DIR
154
158
  3. `maestro search` + Glob prior sessions + ARCHITECTURE.md + spec load ui/coding
155
159
  4. Derive `phase_goals[]` from flags (apply `skip_when`)
156
- 5. Write `session.json` + `understanding.md` section 1, emit Goal Prompt
160
+ 5. Write `session.json` + `understanding.md` section 1, call `create_goal` with phase_goals as success_criteria
157
161
 
158
162
  Commit: `"odyssey-ui({slug}): INTAKE -- target parsed"`
159
163
 
@@ -208,7 +212,7 @@ TASK: Identify polish opportunities | Suggest delight moments | Evaluate visual
208
212
  MODE: analysis CONTEXT: @{target_files} | Survey: {token_summary} | Audit: {top_findings}
209
213
  EXPECTED: JSON [{idea, category, impact, effort, description}]
210
214
  CONSTRAINTS: User-perceptible improvements only
211
- " --role analyze --mode analysis
215
+ " --to claude --mode analysis
212
216
  ```
213
217
  Execute with `run_in_background: true`, then wait for callback.
214
218
 
@@ -225,7 +229,7 @@ Commit: `"odyssey-ui({slug}): FIX -- improvements applied"`
225
229
 
226
230
  ### A_VERIFY
227
231
  1. Run tests (lint, unit, visual regression)
228
- 2. CLI-assisted: `maestro delegate --role review` -- visual correctness, interaction states, accessibility, responsive
232
+ 2. CLI-assisted: `maestro delegate --to claude --mode analysis` -- visual correctness, interaction states, accessibility, responsive
229
233
  3. `needs_rework` -> S_FIX. `verified` -> mark G4 done. Update section 5, write `confirmation`.
230
234
 
231
235
  Commit: `"odyssey-ui({slug}): VERIFY -- visual verification"`
@@ -250,7 +254,7 @@ Commit: `"odyssey-ui({slug}): GENERALIZE -- pattern scan"`
250
254
  ### A_DISCOVER, A_RECORD
251
255
  Base shared_actions. UI overrides:
252
256
  - **A_DISCOVER** routing per base triage logic
253
- - **A_RECORD** learnings per Knowledge Persistence table
257
+ - **A_RECORD** learnings per Knowledge Persistence table. **Confirmation gate**: Before writing spec entries, present proposed entries to user via `request_user_input` for confirmation. Skip confirmation only if `-y` flag is set.
254
258
 
255
259
  **Completion summary:**
256
260
  ```
@@ -278,7 +282,7 @@ Goals: {done}/{total} ({skipped} skipped)
278
282
  |----------------|--------|------|
279
283
  | A_FIX improvement confirmation | request_user_input | auto-proceed, `deferred` |
280
284
 
281
- ### Goal Prompt convergence rules
285
+ ### Goal convergence rules
282
286
 
283
287
  ```
284
288
  Exhaustive iteration: process all audit + diverge findings (fix/issue/decision)
@@ -309,6 +313,7 @@ phase=decision pending items MUST request_user_input. No report-only items.
309
313
  </success_criteria>
310
314
 
311
315
  <next_step_routing>
316
+ <!-- suggest-only — do NOT auto-execute. Present these as suggestions to the user. -->
312
317
  | Condition | Next |
313
318
  |-----------|------|
314
319
  | Finding needs deeper debug | `$odyssey-debug "<finding>"` |
@@ -16,7 +16,7 @@ Topology: layers as waves (L0->L1->L2->L3 sequential, scenarios within layer par
16
16
  $ARGUMENTS -- phase number and optional flags.
17
17
 
18
18
  **Flags**:
19
- - `-y, --yes`: Skip all confirmations
19
+ - `-y, --yes`: Skip all confirmations (including CSV generation approval gate after S_CSV_GEN)
20
20
  - `-c, --concurrency N`: Max concurrent agents per layer (default: 5)
21
21
  - `--max-iter N`: Max outer iterations (default: 5; 1 = single-pass)
22
22
  - `--layer L`: Restrict to specific layer (L0|L1|L2|L3)
@@ -48,9 +48,17 @@ id,name,layer,priority,category,target_file,test_file,description,test_cases,fix
48
48
  ```
49
49
 
50
50
  **scenarios.csv column semantics**:
51
- - Input: id (AT-NNN), name, layer (L1/L2/L3 = wave order), priority (critical/high/medium), category (api_contract/business_rule/state_transition/user_flow/...), target_file (source file tested), test_file (test file path to create), description (what scenario validates), test_cases (semicolon-sep, each -> one it() block), fixtures (required mocks/fixtures, semicolon-sep), req_ref (REQ-NNN:AC-N or gap-id or empty), infrastructure_hints (framework + pattern refs from infra discovery)
52
- - Computed: prev_context (findings from prior layer scenarios, cross-layer propagation)
53
- - Output: status (pending->written->passed->failed->blocked), red_result (expected_fail/unexpected_fail/pass), findings (patterns discovered, notes for dependents, max 500 chars), error
51
+
52
+ **Input columns** (written by orchestrator into wave CSV):
53
+ id (AT-NNN), name, layer (L1/L2/L3 = wave order), priority (critical/high/medium), category (api_contract/business_rule/state_transition/user_flow/...), target_file (source file tested), test_file (test file path to create), description (what scenario validates), test_cases (semicolon-sep, each -> one it() block), fixtures (required mocks/fixtures, semicolon-sep), req_ref (REQ-NNN:AC-N or gap-id or empty), infrastructure_hints (framework + pattern refs from infra discovery)
54
+
55
+ **Computed column** (added to wave CSV by orchestrator before spawn):
56
+ prev_context (findings from prior layer scenarios, cross-layer propagation)
57
+
58
+ **Lifecycle columns** (exist ONLY in master CSV, populated during merge from output_schema results -- NEVER included in wave CSV input):
59
+ status (pending->written->passed->failed->blocked), red_result (expected_fail/unexpected_fail/pass), classification, fix_code, evidence, findings (patterns discovered, notes for dependents, max 500 chars), files_modified, error
60
+
61
+ **Column separation rule**: Wave CSV (input to `spawn_agents_on_csv`) contains Input columns + prev_context only. Lifecycle columns are NEVER passed to workers. Workers return values exclusively via `output_schema`. During merge: `result_status` -> master `status`; other output fields copied into matching lifecycle columns.
54
62
 
55
63
  ### diagnosis.csv (Iteration Phase)
56
64
 
@@ -107,7 +115,7 @@ S_INFRA:
107
115
  -> S_CSV_GEN DO: detect framework, read 2-3 existing tests, build infrastructure_hints
108
116
 
109
117
  S_CSV_GEN:
110
- -> S_L0 DO: build scenarios.csv, set cross-layer prev_context
118
+ -> S_L0 DO: build scenarios.csv, set cross-layer prev_context, then confirm with user via request_user_input (skip if -y/--yes): display scenario count per layer, priority distribution, and sample rows; user approves or adjusts before execution
111
119
  -> END WHEN: --dry-run (plan only)
112
120
 
113
121
  S_L0: