maestro-flow 0.5.1 → 0.5.3

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 (530) hide show
  1. package/.agents/skills/insight-challenge/SKILL.md +228 -0
  2. package/.agents/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  3. package/.agents/skills/insight-challenge/specs/verdict-schema.md +239 -0
  4. package/.agents/skills/maestro/SKILL.md +6 -6
  5. package/.agents/skills/maestro-help/SKILL.md +1 -1
  6. package/.agents/skills/maestro-help/index/catalog.json +3 -2
  7. package/.agents/skills/maestro-ralph/SKILL.md +11 -10
  8. package/.agents/skills/maestro-ralph-beta/SKILL.md +11 -10
  9. package/.agents/skills/odyssey-debug/SKILL.md +475 -0
  10. package/.agents/skills/odyssey-improve/SKILL.md +507 -0
  11. package/.agents/skills/odyssey-planex/SKILL.md +603 -0
  12. package/.agents/skills/odyssey-review-test-fix/SKILL.md +429 -0
  13. package/.agents/skills/odyssey-ui/SKILL.md +464 -0
  14. package/.agy/skills/insight-challenge/SKILL.md +230 -0
  15. package/.agy/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  16. package/.agy/skills/insight-challenge/specs/verdict-schema.md +239 -0
  17. package/.agy/skills/maestro/SKILL.md +6 -6
  18. package/.agy/skills/maestro-help/SKILL.md +1 -1
  19. package/.agy/skills/maestro-help/index/catalog.json +3 -2
  20. package/.agy/skills/maestro-ralph/SKILL.md +11 -10
  21. package/.agy/skills/maestro-ralph-beta/SKILL.md +11 -10
  22. package/.agy/skills/odyssey-debug/SKILL.md +475 -0
  23. package/.agy/skills/odyssey-improve/SKILL.md +507 -0
  24. package/.agy/skills/odyssey-planex/SKILL.md +603 -0
  25. package/.agy/skills/odyssey-review-test-fix/SKILL.md +429 -0
  26. package/.agy/skills/odyssey-ui/SKILL.md +464 -0
  27. package/.claude/commands/maestro-ralph-beta.md +11 -10
  28. package/.claude/commands/maestro-ralph.md +11 -10
  29. package/.claude/commands/maestro.md +6 -6
  30. package/.claude/commands/odyssey-debug.md +473 -0
  31. package/.claude/commands/odyssey-improve.md +505 -0
  32. package/.claude/commands/odyssey-planex.md +601 -0
  33. package/.claude/commands/odyssey-review-test-fix.md +427 -0
  34. package/.claude/commands/odyssey-ui.md +462 -0
  35. package/.claude/skills/insight-challenge/SKILL.md +226 -0
  36. package/.claude/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  37. package/.claude/skills/insight-challenge/specs/verdict-schema.md +239 -0
  38. package/.claude/skills/maestro-help/SKILL.md +1 -1
  39. package/.claude/skills/maestro-help/index/catalog.json +3 -2
  40. package/.codex/skills/codify-to-knowhow/SKILL.md +1 -1
  41. package/.codex/skills/learn-decompose/SKILL.md +144 -144
  42. package/.codex/skills/learn-follow/SKILL.md +83 -83
  43. package/.codex/skills/learn-investigate/SKILL.md +84 -84
  44. package/.codex/skills/learn-retro/SKILL.md +113 -113
  45. package/.codex/skills/learn-second-opinion/SKILL.md +116 -116
  46. package/.codex/skills/maestro/SKILL.md +11 -8
  47. package/.codex/skills/maestro-amend/SKILL.md +4 -4
  48. package/.codex/skills/maestro-analyze/SKILL.md +2 -2
  49. package/.codex/skills/maestro-blueprint/SKILL.md +4 -4
  50. package/.codex/skills/maestro-companion/SKILL.md +5 -5
  51. package/.codex/skills/maestro-composer/SKILL.md +217 -217
  52. package/.codex/skills/maestro-grill/SKILL.md +1 -1
  53. package/.codex/skills/maestro-help/SKILL.md +31 -31
  54. package/.codex/skills/maestro-impeccable/SKILL.md +1 -1
  55. package/.codex/skills/maestro-init/SKILL.md +1 -1
  56. package/.codex/skills/maestro-learn/SKILL.md +80 -80
  57. package/.codex/skills/maestro-merge/SKILL.md +76 -76
  58. package/.codex/skills/maestro-milestone-release/SKILL.md +74 -74
  59. package/.codex/skills/maestro-next/SKILL.md +1 -1
  60. package/.codex/skills/maestro-player/SKILL.md +3 -3
  61. package/.codex/skills/maestro-quick/SKILL.md +129 -129
  62. package/.codex/skills/maestro-ralph/SKILL.md +9 -9
  63. package/.codex/skills/maestro-ralph-beta/SKILL.md +35 -35
  64. package/.codex/skills/maestro-ralph-execute/SKILL.md +5 -5
  65. package/.codex/skills/maestro-tools-execute/SKILL.md +3 -3
  66. package/.codex/skills/maestro-tools-register/SKILL.md +3 -3
  67. package/.codex/skills/manage-codebase-rebuild/SKILL.md +412 -412
  68. package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
  69. package/.codex/skills/manage-harvest/SKILL.md +99 -99
  70. package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
  71. package/.codex/skills/manage-knowhow/SKILL.md +95 -95
  72. package/.codex/skills/manage-knowhow-capture/SKILL.md +137 -137
  73. package/.codex/skills/manage-status/SKILL.md +7 -7
  74. package/.codex/skills/manage-wiki/SKILL.md +55 -55
  75. package/.codex/skills/odyssey-debug/SKILL.md +456 -0
  76. package/.codex/skills/odyssey-improve/SKILL.md +466 -0
  77. package/.codex/skills/odyssey-planex/SKILL.md +409 -0
  78. package/.codex/skills/odyssey-review-test-fix/SKILL.md +377 -0
  79. package/.codex/skills/odyssey-ui/SKILL.md +411 -0
  80. package/.codex/skills/quality-auto-test/SKILL.md +1 -1
  81. package/.codex/skills/quality-debug/SKILL.md +8 -8
  82. package/.codex/skills/quality-refactor/SKILL.md +3 -3
  83. package/.codex/skills/quality-review/SKILL.md +1 -1
  84. package/.codex/skills/quality-sync/SKILL.md +111 -111
  85. package/.codex/skills/quality-test/SKILL.md +1 -1
  86. package/.codex/skills/spec-add/SKILL.md +2 -2
  87. package/.codex/skills/spec-load/SKILL.md +1 -1
  88. package/.codex/skills/spec-map/SKILL.md +204 -204
  89. package/.codex/skills/spec-remove/SKILL.md +75 -75
  90. package/.codex/skills/spec-setup/SKILL.md +2 -2
  91. package/.codex/skills/wiki-connect/SKILL.md +73 -73
  92. package/.codex/skills/wiki-digest/SKILL.md +87 -87
  93. package/dashboard/dist/assets/{ArtifactsPage-BLvAqQlQ.js → ArtifactsPage-B6z23DfG.js} +2 -2
  94. package/dashboard/dist/assets/{ChatInput-DU9YGZKX.js → ChatInput-tBtGKV2i.js} +1 -1
  95. package/dashboard/dist/assets/{ChatPage-DYHfheXC.js → ChatPage-CcggDVs4.js} +2 -2
  96. package/dashboard/dist/assets/{CollabPage-CSlmvEa-.js → CollabPage-FaZeqqeS.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-RYWf0dYC.js → ExecutionPanel-DNRwYDXp.js} +1 -1
  98. package/dashboard/dist/assets/{KanbanPage-N55Iv0-X.js → KanbanPage-B2xh2s_N.js} +1 -1
  99. package/dashboard/dist/assets/{MaestroCoordinatePage-BxwZ6yy5.js → MaestroCoordinatePage-DCMGHDAL.js} +1 -1
  100. package/dashboard/dist/assets/{MarkdownRenderer-ZGtOY7Ti.js → MarkdownRenderer-C3FvTqVe.js} +1 -1
  101. package/dashboard/dist/assets/McpPage-HKaJ8cQP.js +16 -0
  102. package/dashboard/dist/assets/{MeetingRoomPage-CxHRn1xx.js → MeetingRoomPage-DGN5oUXH.js} +1 -1
  103. package/dashboard/dist/assets/{OutputPanel-DaL8c1i5.js → OutputPanel-BiCteH5k.js} +1 -1
  104. package/dashboard/dist/assets/{ProblemsPanel-BQTd5812.js → ProblemsPanel-Dk4v9tol.js} +1 -1
  105. package/dashboard/dist/assets/{RequirementBoardPage-22y9u1qh.js → RequirementBoardPage-D10A26gi.js} +1 -1
  106. package/dashboard/dist/assets/{RequirementPage-_mO743Xm.js → RequirementPage-Cs-2omLz.js} +1 -1
  107. package/dashboard/dist/assets/{RoomsPage-CExTbOGr.js → RoomsPage-tKQQhw1W.js} +1 -1
  108. package/dashboard/dist/assets/SpecsPage-LK1QCtcg.js +36 -0
  109. package/dashboard/dist/assets/{TeamsPage-BxEXLb5g.js → TeamsPage-C-bEwB8E.js} +1 -1
  110. package/dashboard/dist/assets/{TreeBrowser-CVtPF5C9.js → TreeBrowser-1YP-DfTY.js} +2 -2
  111. package/dashboard/dist/assets/{WorkflowPage-BoN18Lhs.js → WorkflowPage-dGHPsDDr.js} +2 -2
  112. package/dashboard/dist/assets/{arrow-left-C5ROg97G.js → arrow-left-BPFSEpfO.js} +1 -1
  113. package/dashboard/dist/assets/{check-Bs8PM0tQ.js → check-D5hOViiQ.js} +1 -1
  114. package/dashboard/dist/assets/{chevron-right-SmErd_1F.js → chevron-right-D9BsXrIg.js} +1 -1
  115. package/dashboard/dist/assets/{circle-CjpslL_D.js → circle-Cn5fNpmp.js} +1 -1
  116. package/dashboard/dist/assets/{circle-alert-CuzAg2fd.js → circle-alert-CZvK3B1K.js} +1 -1
  117. package/dashboard/dist/assets/{circle-check-BIkDU5D5.js → circle-check-DApOBP0J.js} +1 -1
  118. package/dashboard/dist/assets/{circle-check-big-CYctV8bK.js → circle-check-big-Cd9ztJpl.js} +1 -1
  119. package/dashboard/dist/assets/{code-DoB7rfxt.js → code-C3TuHjMs.js} +1 -1
  120. package/dashboard/dist/assets/{columns-3-Ch5KIyRa.js → columns-3-CO2SvNJb.js} +1 -1
  121. package/dashboard/dist/assets/{download-DadtG2Nr.js → download-BuKGI7KX.js} +1 -1
  122. package/dashboard/dist/assets/{en-2h6fD0j8.js → en-BmpYsIfb.js} +1 -1
  123. package/dashboard/dist/assets/folder-Chwj_P4A.js +11 -0
  124. package/dashboard/dist/assets/folder-open-S72FbKvn.js +6 -0
  125. package/dashboard/dist/assets/{index-BL4h1OKY.js → index-CN0YdC9M.js} +1 -1
  126. package/dashboard/dist/assets/{index-DQIlX2w_.js → index-Cbs79erW.js} +5 -5
  127. package/dashboard/dist/assets/{index-DaFwSmVJ.js → index-CdT1WNND.js} +1 -1
  128. package/dashboard/dist/assets/index-DEvP8cgc.css +1 -0
  129. package/dashboard/dist/assets/{list-CI-XIPZh.js → list-Dg_ojUpi.js} +1 -1
  130. package/dashboard/dist/assets/{loader-DpdMoQvh.js → loader-CMcc73C_.js} +1 -1
  131. package/dashboard/dist/assets/{minus-BVbfXGrC.js → minus-KxmVOIB7.js} +1 -1
  132. package/dashboard/dist/assets/pen-line-D1YTNDPw.js +11 -0
  133. package/dashboard/dist/assets/{pencil-I7GE0y29.js → pencil-BAjxSHuh.js} +1 -1
  134. package/dashboard/dist/assets/{proxy-CcYyZZWI.js → proxy-BewnIei6.js} +1 -1
  135. package/dashboard/dist/assets/{refresh-cw-BG9V_T4R.js → refresh-cw-Chc0RcRY.js} +1 -1
  136. package/dashboard/dist/assets/{rows-2-DP6NjQFk.js → rows-2-DWJuw8OM.js} +1 -1
  137. package/dashboard/dist/assets/{search-b78eLlw2.js → search-CPGb2sEw.js} +1 -1
  138. package/dashboard/dist/assets/{shallow-CJEesgtu.js → shallow-Dy0-7n5s.js} +1 -1
  139. package/dashboard/dist/assets/{table-B_lk-a1d.js → table-VI5scWpO.js} +1 -1
  140. package/dashboard/dist/assets/{team-types-Se7f9LfJ.js → team-types-Cu8zCPN3.js} +1 -1
  141. package/dashboard/dist/assets/{terminal-DXx4tvzq.js → terminal-Bqt5c6Ny.js} +1 -1
  142. package/dashboard/dist/assets/{trash-2-CVh9mnRj.js → trash-2-BcTVifbw.js} +1 -1
  143. package/dashboard/dist/assets/{users-Da9zGME5.js → users-BhFAHz4H.js} +1 -1
  144. package/dashboard/dist/assets/{zap-C0zaC7gJ.js → zap-BWbLhgr6.js} +1 -1
  145. package/dashboard/dist/assets/{zh-CN-r3AvxxOL.js → zh-CN-BIRiTdAD.js} +1 -1
  146. package/dashboard/dist/index.html +2 -2
  147. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -0
  148. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +14 -14
  150. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +188 -56
  151. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  152. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -0
  153. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +37 -0
  155. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +560 -22
  156. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  157. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +6 -2
  158. package/dashboard/dist-server/src/types/index.d.ts +9 -0
  159. package/dist/src/cli.js +3 -0
  160. package/dist/src/cli.js.map +1 -1
  161. package/dist/src/commands/delegate.d.ts.map +1 -1
  162. package/dist/src/commands/delegate.js +50 -8
  163. package/dist/src/commands/delegate.js.map +1 -1
  164. package/dist/src/commands/domain.d.ts +9 -0
  165. package/dist/src/commands/domain.d.ts.map +1 -0
  166. package/dist/src/commands/domain.js +445 -0
  167. package/dist/src/commands/domain.js.map +1 -0
  168. package/dist/src/commands/hooks.d.ts +10 -0
  169. package/dist/src/commands/hooks.d.ts.map +1 -1
  170. package/dist/src/commands/hooks.js +132 -22
  171. package/dist/src/commands/hooks.js.map +1 -1
  172. package/dist/src/commands/install.d.ts.map +1 -1
  173. package/dist/src/commands/install.js +82 -204
  174. package/dist/src/commands/install.js.map +1 -1
  175. package/dist/src/commands/kg.d.ts.map +1 -1
  176. package/dist/src/commands/kg.js +183 -90
  177. package/dist/src/commands/kg.js.map +1 -1
  178. package/dist/src/commands/search.d.ts +15 -8
  179. package/dist/src/commands/search.d.ts.map +1 -1
  180. package/dist/src/commands/search.js +205 -59
  181. package/dist/src/commands/search.js.map +1 -1
  182. package/dist/src/commands/spec.d.ts.map +1 -1
  183. package/dist/src/commands/spec.js +9 -1
  184. package/dist/src/commands/spec.js.map +1 -1
  185. package/dist/src/commands/update.d.ts.map +1 -1
  186. package/dist/src/commands/update.js +0 -7
  187. package/dist/src/commands/update.js.map +1 -1
  188. package/dist/src/commands/wiki.d.ts.map +1 -1
  189. package/dist/src/commands/wiki.js +8 -1
  190. package/dist/src/commands/wiki.js.map +1 -1
  191. package/dist/src/commands/workspace.d.ts +12 -0
  192. package/dist/src/commands/workspace.d.ts.map +1 -0
  193. package/dist/src/commands/workspace.js +230 -0
  194. package/dist/src/commands/workspace.js.map +1 -0
  195. package/dist/src/config/cli-tools-config.d.ts +5 -0
  196. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  197. package/dist/src/config/cli-tools-config.js +31 -0
  198. package/dist/src/config/cli-tools-config.js.map +1 -1
  199. package/dist/src/config/index.d.ts +9 -1
  200. package/dist/src/config/index.d.ts.map +1 -1
  201. package/dist/src/config/index.js +35 -1
  202. package/dist/src/config/index.js.map +1 -1
  203. package/dist/src/core/install-executor.d.ts +31 -0
  204. package/dist/src/core/install-executor.d.ts.map +1 -0
  205. package/dist/src/core/install-executor.js +231 -0
  206. package/dist/src/core/install-executor.js.map +1 -0
  207. package/dist/src/core/install-profile.d.ts +103 -0
  208. package/dist/src/core/install-profile.d.ts.map +1 -0
  209. package/dist/src/core/install-profile.js +225 -0
  210. package/dist/src/core/install-profile.js.map +1 -0
  211. package/dist/src/graph/kg/credibility.d.ts +37 -0
  212. package/dist/src/graph/kg/credibility.d.ts.map +1 -0
  213. package/dist/src/graph/kg/credibility.js +141 -0
  214. package/dist/src/graph/kg/credibility.js.map +1 -0
  215. package/dist/src/graph/kg/db/connection.d.ts +28 -0
  216. package/dist/src/graph/kg/db/connection.d.ts.map +1 -0
  217. package/dist/src/graph/kg/db/connection.js +142 -0
  218. package/dist/src/graph/kg/db/connection.js.map +1 -0
  219. package/dist/src/graph/kg/db/index.d.ts +5 -0
  220. package/dist/src/graph/kg/db/index.d.ts.map +1 -0
  221. package/dist/src/graph/kg/db/index.js +6 -0
  222. package/dist/src/graph/kg/db/index.js.map +1 -0
  223. package/dist/src/graph/kg/db/migrations.d.ts +8 -0
  224. package/dist/src/graph/kg/db/migrations.d.ts.map +1 -0
  225. package/dist/src/graph/kg/db/migrations.js +88 -0
  226. package/dist/src/graph/kg/db/migrations.js.map +1 -0
  227. package/dist/src/graph/kg/db/queries.d.ts +84 -0
  228. package/dist/src/graph/kg/db/queries.d.ts.map +1 -0
  229. package/dist/src/graph/kg/db/queries.js +471 -0
  230. package/dist/src/graph/kg/db/queries.js.map +1 -0
  231. package/dist/src/graph/kg/db/types.d.ts +123 -0
  232. package/dist/src/graph/kg/db/types.d.ts.map +1 -0
  233. package/dist/src/graph/kg/db/types.js +75 -0
  234. package/dist/src/graph/kg/db/types.js.map +1 -0
  235. package/dist/src/graph/kg/engine.d.ts +87 -0
  236. package/dist/src/graph/kg/engine.d.ts.map +1 -0
  237. package/dist/src/graph/kg/engine.js +247 -0
  238. package/dist/src/graph/kg/engine.js.map +1 -0
  239. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts +40 -0
  240. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts.map +1 -0
  241. package/dist/src/graph/kg/extraction/code/code-extractor.js +296 -0
  242. package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -0
  243. package/dist/src/graph/kg/extraction/code/dfm-extractor.d.ts +3 -0
  244. package/dist/src/graph/kg/extraction/code/dfm-extractor.d.ts.map +1 -0
  245. package/dist/src/graph/kg/extraction/code/dfm-extractor.js +122 -0
  246. package/dist/src/graph/kg/extraction/code/dfm-extractor.js.map +1 -0
  247. package/dist/src/graph/kg/extraction/code/generated-detection.d.ts +14 -0
  248. package/dist/src/graph/kg/extraction/code/generated-detection.d.ts.map +1 -0
  249. package/dist/src/graph/kg/extraction/code/generated-detection.js +65 -0
  250. package/dist/src/graph/kg/extraction/code/generated-detection.js.map +1 -0
  251. package/dist/src/graph/kg/extraction/code/languages/index.d.ts +9 -0
  252. package/dist/src/graph/kg/extraction/code/languages/index.d.ts.map +1 -0
  253. package/dist/src/graph/kg/extraction/code/languages/index.js +2119 -0
  254. package/dist/src/graph/kg/extraction/code/languages/index.js.map +1 -0
  255. package/dist/src/graph/kg/extraction/code/languages/typescript.d.ts +5 -0
  256. package/dist/src/graph/kg/extraction/code/languages/typescript.d.ts.map +1 -0
  257. package/dist/src/graph/kg/extraction/code/languages/typescript.js +191 -0
  258. package/dist/src/graph/kg/extraction/code/languages/typescript.js.map +1 -0
  259. package/dist/src/graph/kg/extraction/code/liquid-extractor.d.ts +3 -0
  260. package/dist/src/graph/kg/extraction/code/liquid-extractor.d.ts.map +1 -0
  261. package/dist/src/graph/kg/extraction/code/liquid-extractor.js +117 -0
  262. package/dist/src/graph/kg/extraction/code/liquid-extractor.js.map +1 -0
  263. package/dist/src/graph/kg/extraction/code/mybatis-extractor.d.ts +3 -0
  264. package/dist/src/graph/kg/extraction/code/mybatis-extractor.d.ts.map +1 -0
  265. package/dist/src/graph/kg/extraction/code/mybatis-extractor.js +84 -0
  266. package/dist/src/graph/kg/extraction/code/mybatis-extractor.js.map +1 -0
  267. package/dist/src/graph/kg/extraction/code/svelte-extractor.d.ts +3 -0
  268. package/dist/src/graph/kg/extraction/code/svelte-extractor.d.ts.map +1 -0
  269. package/dist/src/graph/kg/extraction/code/svelte-extractor.js +92 -0
  270. package/dist/src/graph/kg/extraction/code/svelte-extractor.js.map +1 -0
  271. package/dist/src/graph/kg/extraction/code/tree-sitter-types.d.ts +61 -0
  272. package/dist/src/graph/kg/extraction/code/tree-sitter-types.d.ts.map +1 -0
  273. package/dist/src/graph/kg/extraction/code/tree-sitter-types.js +53 -0
  274. package/dist/src/graph/kg/extraction/code/tree-sitter-types.js.map +1 -0
  275. package/dist/src/graph/kg/extraction/code/tree-sitter.d.ts +55 -0
  276. package/dist/src/graph/kg/extraction/code/tree-sitter.d.ts.map +1 -0
  277. package/dist/src/graph/kg/extraction/code/tree-sitter.js +227 -0
  278. package/dist/src/graph/kg/extraction/code/tree-sitter.js.map +1 -0
  279. package/dist/src/graph/kg/extraction/code/vue-extractor.d.ts +6 -0
  280. package/dist/src/graph/kg/extraction/code/vue-extractor.d.ts.map +1 -0
  281. package/dist/src/graph/kg/extraction/code/vue-extractor.js +109 -0
  282. package/dist/src/graph/kg/extraction/code/vue-extractor.js.map +1 -0
  283. package/dist/src/graph/kg/extraction/code/wasm-stability.d.ts +44 -0
  284. package/dist/src/graph/kg/extraction/code/wasm-stability.d.ts.map +1 -0
  285. package/dist/src/graph/kg/extraction/code/wasm-stability.js +140 -0
  286. package/dist/src/graph/kg/extraction/code/wasm-stability.js.map +1 -0
  287. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.d.ts +3 -0
  288. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.d.ts.map +1 -0
  289. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.js +149 -0
  290. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.js.map +1 -0
  291. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts +4 -0
  292. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts.map +1 -0
  293. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js +114 -0
  294. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -0
  295. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.d.ts +3 -0
  296. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.d.ts.map +1 -0
  297. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.js +84 -0
  298. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.js.map +1 -0
  299. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.d.ts +3 -0
  300. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.d.ts.map +1 -0
  301. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.js +173 -0
  302. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.js.map +1 -0
  303. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.d.ts +3 -0
  304. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.d.ts.map +1 -0
  305. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.js +165 -0
  306. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.js.map +1 -0
  307. package/dist/src/graph/kg/extraction/orchestrator.d.ts +6 -0
  308. package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -0
  309. package/dist/src/graph/kg/extraction/orchestrator.js +208 -0
  310. package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -0
  311. package/dist/src/graph/kg/index.d.ts +29 -0
  312. package/dist/src/graph/kg/index.d.ts.map +1 -0
  313. package/dist/src/graph/kg/index.js +35 -0
  314. package/dist/src/graph/kg/index.js.map +1 -0
  315. package/dist/src/graph/kg/query/context-builder.d.ts +38 -0
  316. package/dist/src/graph/kg/query/context-builder.d.ts.map +1 -0
  317. package/dist/src/graph/kg/query/context-builder.js +184 -0
  318. package/dist/src/graph/kg/query/context-builder.js.map +1 -0
  319. package/dist/src/graph/kg/query/index.d.ts +8 -0
  320. package/dist/src/graph/kg/query/index.d.ts.map +1 -0
  321. package/dist/src/graph/kg/query/index.js +6 -0
  322. package/dist/src/graph/kg/query/index.js.map +1 -0
  323. package/dist/src/graph/kg/query/scoring.d.ts +19 -0
  324. package/dist/src/graph/kg/query/scoring.d.ts.map +1 -0
  325. package/dist/src/graph/kg/query/scoring.js +158 -0
  326. package/dist/src/graph/kg/query/scoring.js.map +1 -0
  327. package/dist/src/graph/kg/query/search.d.ts +59 -0
  328. package/dist/src/graph/kg/query/search.d.ts.map +1 -0
  329. package/dist/src/graph/kg/query/search.js +158 -0
  330. package/dist/src/graph/kg/query/search.js.map +1 -0
  331. package/dist/src/graph/kg/query/traversal.d.ts +75 -0
  332. package/dist/src/graph/kg/query/traversal.d.ts.map +1 -0
  333. package/dist/src/graph/kg/query/traversal.js +420 -0
  334. package/dist/src/graph/kg/query/traversal.js.map +1 -0
  335. package/dist/src/graph/kg/resolution/callback-synthesizer.d.ts +41 -0
  336. package/dist/src/graph/kg/resolution/callback-synthesizer.d.ts.map +1 -0
  337. package/dist/src/graph/kg/resolution/callback-synthesizer.js +450 -0
  338. package/dist/src/graph/kg/resolution/callback-synthesizer.js.map +1 -0
  339. package/dist/src/graph/kg/resolution/frameworks/index.d.ts +18 -0
  340. package/dist/src/graph/kg/resolution/frameworks/index.d.ts.map +1 -0
  341. package/dist/src/graph/kg/resolution/frameworks/index.js +632 -0
  342. package/dist/src/graph/kg/resolution/frameworks/index.js.map +1 -0
  343. package/dist/src/graph/kg/resolution/import-resolver.d.ts +73 -0
  344. package/dist/src/graph/kg/resolution/import-resolver.d.ts.map +1 -0
  345. package/dist/src/graph/kg/resolution/import-resolver.js +257 -0
  346. package/dist/src/graph/kg/resolution/import-resolver.js.map +1 -0
  347. package/dist/src/graph/kg/resolution/index.d.ts +11 -0
  348. package/dist/src/graph/kg/resolution/index.d.ts.map +1 -0
  349. package/dist/src/graph/kg/resolution/index.js +7 -0
  350. package/dist/src/graph/kg/resolution/index.js.map +1 -0
  351. package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts +22 -0
  352. package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts.map +1 -0
  353. package/dist/src/graph/kg/resolution/knowledge-resolver.js +288 -0
  354. package/dist/src/graph/kg/resolution/knowledge-resolver.js.map +1 -0
  355. package/dist/src/graph/kg/resolution/name-matcher.d.ts +25 -0
  356. package/dist/src/graph/kg/resolution/name-matcher.d.ts.map +1 -0
  357. package/dist/src/graph/kg/resolution/name-matcher.js +162 -0
  358. package/dist/src/graph/kg/resolution/name-matcher.js.map +1 -0
  359. package/dist/src/graph/kg/schema.sql +210 -0
  360. package/dist/src/graph/kg/surface/cli.d.ts +3 -0
  361. package/dist/src/graph/kg/surface/cli.d.ts.map +1 -0
  362. package/dist/src/graph/kg/surface/cli.js +500 -0
  363. package/dist/src/graph/kg/surface/cli.js.map +1 -0
  364. package/dist/src/graph/kg/surface/hook-injector.d.ts +33 -0
  365. package/dist/src/graph/kg/surface/hook-injector.d.ts.map +1 -0
  366. package/dist/src/graph/kg/surface/hook-injector.js +172 -0
  367. package/dist/src/graph/kg/surface/hook-injector.js.map +1 -0
  368. package/dist/src/graph/kg/surface/index.d.ts +6 -0
  369. package/dist/src/graph/kg/surface/index.d.ts.map +1 -0
  370. package/dist/src/graph/kg/surface/index.js +5 -0
  371. package/dist/src/graph/kg/surface/index.js.map +1 -0
  372. package/dist/src/graph/kg/surface/mcp-tools.d.ts +20 -0
  373. package/dist/src/graph/kg/surface/mcp-tools.d.ts.map +1 -0
  374. package/dist/src/graph/kg/surface/mcp-tools.js +253 -0
  375. package/dist/src/graph/kg/surface/mcp-tools.js.map +1 -0
  376. package/dist/src/graph/kg/sync/incremental-sync.d.ts +24 -0
  377. package/dist/src/graph/kg/sync/incremental-sync.d.ts.map +1 -0
  378. package/dist/src/graph/kg/sync/incremental-sync.js +71 -0
  379. package/dist/src/graph/kg/sync/incremental-sync.js.map +1 -0
  380. package/dist/src/graph/kg/sync/index.d.ts +5 -0
  381. package/dist/src/graph/kg/sync/index.d.ts.map +1 -0
  382. package/dist/src/graph/kg/sync/index.js +4 -0
  383. package/dist/src/graph/kg/sync/index.js.map +1 -0
  384. package/dist/src/graph/kg/sync/watch-policy.d.ts +33 -0
  385. package/dist/src/graph/kg/sync/watch-policy.d.ts.map +1 -0
  386. package/dist/src/graph/kg/sync/watch-policy.js +90 -0
  387. package/dist/src/graph/kg/sync/watch-policy.js.map +1 -0
  388. package/dist/src/hooks/constants.d.ts +0 -2
  389. package/dist/src/hooks/constants.d.ts.map +1 -1
  390. package/dist/src/hooks/constants.js +0 -2
  391. package/dist/src/hooks/constants.js.map +1 -1
  392. package/dist/src/hooks/keyword-spec-injector.d.ts +6 -0
  393. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
  394. package/dist/src/hooks/keyword-spec-injector.js +157 -81
  395. package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
  396. package/dist/src/hooks/kg-auto-init.d.ts +13 -0
  397. package/dist/src/hooks/kg-auto-init.d.ts.map +1 -0
  398. package/dist/src/hooks/kg-auto-init.js +38 -0
  399. package/dist/src/hooks/kg-auto-init.js.map +1 -0
  400. package/dist/src/hooks/kg-context-injector.d.ts +1 -3
  401. package/dist/src/hooks/kg-context-injector.d.ts.map +1 -1
  402. package/dist/src/hooks/kg-context-injector.js +12 -17
  403. package/dist/src/hooks/kg-context-injector.js.map +1 -1
  404. package/dist/src/hooks/kg-sync-hook.d.ts +1 -9
  405. package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -1
  406. package/dist/src/hooks/kg-sync-hook.js +21 -90
  407. package/dist/src/hooks/kg-sync-hook.js.map +1 -1
  408. package/dist/src/hooks/spec-analytics.d.ts +1 -0
  409. package/dist/src/hooks/spec-analytics.d.ts.map +1 -1
  410. package/dist/src/hooks/spec-analytics.js +1 -3
  411. package/dist/src/hooks/spec-analytics.js.map +1 -1
  412. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  413. package/dist/src/hooks/spec-injector.js +65 -1
  414. package/dist/src/hooks/spec-injector.js.map +1 -1
  415. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  416. package/dist/src/i18n/locales/en.js +52 -9
  417. package/dist/src/i18n/locales/en.js.map +1 -1
  418. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  419. package/dist/src/i18n/locales/zh.js +52 -9
  420. package/dist/src/i18n/locales/zh.js.map +1 -1
  421. package/dist/src/i18n/types.d.ts +40 -4
  422. package/dist/src/i18n/types.d.ts.map +1 -1
  423. package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
  424. package/dist/src/ralph/skill-scanner.js +9 -3
  425. package/dist/src/ralph/skill-scanner.js.map +1 -1
  426. package/dist/src/tools/__tests__/domain-search-debug.d.ts +2 -0
  427. package/dist/src/tools/__tests__/domain-search-debug.d.ts.map +1 -0
  428. package/dist/src/tools/__tests__/domain-search-debug.js +32 -0
  429. package/dist/src/tools/__tests__/domain-search-debug.js.map +1 -0
  430. package/dist/src/tools/domain-loader.d.ts +63 -0
  431. package/dist/src/tools/domain-loader.d.ts.map +1 -0
  432. package/dist/src/tools/domain-loader.js +295 -0
  433. package/dist/src/tools/domain-loader.js.map +1 -0
  434. package/dist/src/tools/domain-matcher.d.ts +24 -0
  435. package/dist/src/tools/domain-matcher.d.ts.map +1 -0
  436. package/dist/src/tools/domain-matcher.js +117 -0
  437. package/dist/src/tools/domain-matcher.js.map +1 -0
  438. package/dist/src/tools/domain-scanner.d.ts +32 -0
  439. package/dist/src/tools/domain-scanner.d.ts.map +1 -0
  440. package/dist/src/tools/domain-scanner.js +263 -0
  441. package/dist/src/tools/domain-scanner.js.map +1 -0
  442. package/dist/src/tools/domain-schema.d.ts +18 -0
  443. package/dist/src/tools/domain-schema.d.ts.map +1 -0
  444. package/dist/src/tools/domain-schema.js +104 -0
  445. package/dist/src/tools/domain-schema.js.map +1 -0
  446. package/dist/src/tools/spec-entry-parser.d.ts +1 -0
  447. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
  448. package/dist/src/tools/spec-entry-parser.js +1 -0
  449. package/dist/src/tools/spec-entry-parser.js.map +1 -1
  450. package/dist/src/tools/spec-loader.d.ts +5 -0
  451. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  452. package/dist/src/tools/spec-loader.js +10 -2
  453. package/dist/src/tools/spec-loader.js.map +1 -1
  454. package/dist/src/tui/install-ui/ConfigPanel.d.ts.map +1 -1
  455. package/dist/src/tui/install-ui/ConfigPanel.js +9 -1
  456. package/dist/src/tui/install-ui/ConfigPanel.js.map +1 -1
  457. package/dist/src/tui/install-ui/GroupedHub.d.ts +55 -0
  458. package/dist/src/tui/install-ui/GroupedHub.d.ts.map +1 -0
  459. package/dist/src/tui/install-ui/GroupedHub.js +210 -0
  460. package/dist/src/tui/install-ui/GroupedHub.js.map +1 -0
  461. package/dist/src/tui/install-ui/HooksConfig.d.ts +10 -5
  462. package/dist/src/tui/install-ui/HooksConfig.d.ts.map +1 -1
  463. package/dist/src/tui/install-ui/HooksConfig.js +83 -18
  464. package/dist/src/tui/install-ui/HooksConfig.js.map +1 -1
  465. package/dist/src/tui/install-ui/InstallConfirm.d.ts +1 -30
  466. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  467. package/dist/src/tui/install-ui/InstallConfirm.js +72 -12
  468. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  469. package/dist/src/tui/install-ui/InstallExecution.d.ts +4 -21
  470. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  471. package/dist/src/tui/install-ui/InstallExecution.js +89 -260
  472. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  473. package/dist/src/tui/install-ui/InstallFlow.d.ts +3 -7
  474. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  475. package/dist/src/tui/install-ui/InstallFlow.js +45 -267
  476. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  477. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  478. package/dist/src/tui/install-ui/InstallHub.js +2 -4
  479. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  480. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  481. package/dist/src/tui/install-ui/InstallResult.js +1 -5
  482. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  483. package/dist/src/tui/install-ui/index.d.ts +5 -1
  484. package/dist/src/tui/install-ui/index.d.ts.map +1 -1
  485. package/dist/src/tui/install-ui/index.js +1 -0
  486. package/dist/src/tui/install-ui/index.js.map +1 -1
  487. package/dist/src/tui/install-ui/types.d.ts +39 -0
  488. package/dist/src/tui/install-ui/types.d.ts.map +1 -1
  489. package/dist/src/tui/install-ui/types.js +1 -1
  490. package/dist/src/tui/install-ui/types.js.map +1 -1
  491. package/dist/src/tui/install-ui/useInstallFlowState.d.ts +69 -0
  492. package/dist/src/tui/install-ui/useInstallFlowState.d.ts.map +1 -0
  493. package/dist/src/tui/install-ui/useInstallFlowState.js +288 -0
  494. package/dist/src/tui/install-ui/useInstallFlowState.js.map +1 -0
  495. package/dist/src/tui/shared/components.d.ts +4 -0
  496. package/dist/src/tui/shared/components.d.ts.map +1 -1
  497. package/dist/src/tui/shared/components.js +4 -0
  498. package/dist/src/tui/shared/components.js.map +1 -1
  499. package/dist/src/tui/shared/index.d.ts +1 -1
  500. package/dist/src/tui/shared/index.d.ts.map +1 -1
  501. package/dist/src/tui/shared/index.js +1 -1
  502. package/dist/src/tui/shared/index.js.map +1 -1
  503. package/dist/src/tui/shared/tokens.d.ts +5 -5
  504. package/dist/src/tui/shared/tokens.js +5 -5
  505. package/dist/src/tui/shared/tokens.js.map +1 -1
  506. package/dist/src/types/index.d.ts +9 -0
  507. package/dist/src/types/index.d.ts.map +1 -1
  508. package/dist/src/utils/cli-format.d.ts +2 -1
  509. package/dist/src/utils/cli-format.d.ts.map +1 -1
  510. package/dist/src/utils/cli-format.js +14 -3
  511. package/dist/src/utils/cli-format.js.map +1 -1
  512. package/dist/src/utils/cooldown-guard.d.ts +17 -0
  513. package/dist/src/utils/cooldown-guard.d.ts.map +1 -0
  514. package/dist/src/utils/cooldown-guard.js +59 -0
  515. package/dist/src/utils/cooldown-guard.js.map +1 -0
  516. package/dist/src/utils/jsonl-log.d.ts.map +1 -1
  517. package/dist/src/utils/jsonl-log.js +2 -1
  518. package/dist/src/utils/jsonl-log.js.map +1 -1
  519. package/dist/src/utils/update-notices.js +17 -4
  520. package/dist/src/utils/update-notices.js.map +1 -1
  521. package/package.json +4 -5
  522. package/workflows/claude-instructions.md +23 -0
  523. package/workflows/codex-instructions.md +22 -0
  524. package/workflows/finish-work.md +25 -0
  525. package/workflows/updates/update-v3-setup.md +7 -15
  526. package/dashboard/dist/assets/McpPage-Im6s4pGR.js +0 -21
  527. package/dashboard/dist/assets/SpecsPage-gr4KX51-.js +0 -36
  528. package/dashboard/dist/assets/folder-B8ODoZfb.js +0 -16
  529. package/dashboard/dist/assets/index-6-yE5Yl9.css +0 -1
  530. package/dashboard/dist/assets/pen-line-CR8GaHt-.js +0 -6
@@ -1,204 +1,204 @@
1
- ---
2
- name: spec-map
3
- description: Map codebase tech-stack, architecture, features, and concerns
4
- argument-hint: "[-y|--yes] [-c|--concurrency 4] [--continue] \"[focus area]\""
5
- allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
- ---
7
-
8
- <purpose>
9
- Single-wave parallel execution — 4 independent mapper agents each analyze a different codebase dimension. No dependencies between tasks, maximum parallelism.
10
-
11
- **Topology**: Independent Parallel (single wave)
12
-
13
- ```
14
- ┌──────────────────────────────────────────────────────┐
15
- │ CODEBASE MAPPER WORKFLOW │
16
- ├──────────────────────────────────────────────────────┤
17
- │ │
18
- │ Phase 1: Setup → CSV │
19
- │ ├─ Detect focus area from arguments │
20
- │ ├─ Generate tasks.csv with 4 mapper tasks │
21
- │ └─ All tasks wave 1 (no dependencies) │
22
- │ │
23
- │ Phase 2: Wave Execution (Single Wave) │
24
- │ ├─ Wave 1: All 4 mappers run concurrently │
25
- │ │ ├─ Tech Stack mapper │
26
- │ │ ├─ Architecture mapper │
27
- │ │ ├─ Features mapper │
28
- │ │ └─ Cross-cutting Concerns mapper │
29
- │ └─ discoveries.ndjson shared (append-only) │
30
- │ │
31
- │ Phase 3: Results → .workflow/codebase/ │
32
- │ ├─ Write output files from agent findings │
33
- │ ├─ Generate context.md summary │
34
- │ └─ Display completion report │
35
- │ │
36
- └──────────────────────────────────────────────────────┘
37
- ```
38
- </purpose>
39
-
40
- <context>
41
-
42
- ```bash
43
- $spec-map ""
44
- $spec-map "auth"
45
- $spec-map -c 4 "api layer"
46
- $spec-map --continue "20260318-map-auth"
47
- ```
48
-
49
- **Flags**:
50
- - `-y, --yes`: Skip all confirmations (auto-confirm mapper assignment, skip validation)
51
- - `-c, --concurrency N`: Max concurrent agents (default: 4)
52
- - `--continue`: Resume existing session
53
-
54
- **Output**: `.workflow/codebase/` (tech-stack.md, architecture.md, features.md, concerns.md)
55
-
56
- </context>
57
-
58
- <csv_schema>
59
-
60
- ### tasks.csv
61
-
62
- ```csv
63
- id,title,description,focus_area,output_file,deps,context_from,wave,status,findings,error
64
- "1","Tech Stack Analysis","Analyze languages, frameworks, dependencies, build system, package managers, runtime configuration. Scan package.json, build configs, CI/CD files.","full","tech-stack.md","","","1","pending","",""
65
- "2","Architecture Analysis","Analyze project structure, module boundaries, layer architecture, data flow patterns, entry points, API surface. Map directory tree and import graph.","full","architecture.md","","","1","pending","",""
66
- "3","Features Analysis","Inventory user-facing capabilities, API endpoints, CLI commands, UI components, background jobs, integrations. Map to source locations.","full","features.md","","","1","pending","",""
67
- "4","Cross-cutting Concerns","Analyze error handling patterns, logging strategy, authentication/authorization, configuration management, testing approach, observability.","full","concerns.md","","","1","pending","",""
68
- ```
69
-
70
- **Columns**:
71
-
72
- | Column | Phase | Description |
73
- |--------|-------|-------------|
74
- | `id` | Input | Mapper identifier |
75
- | `title` | Input | Mapper dimension title |
76
- | `description` | Input | Detailed analysis instructions |
77
- | `focus_area` | Input | Focus scope (full or specific area) |
78
- | `output_file` | Input | Target output filename in .workflow/codebase/ |
79
- | `deps` | Input | Empty (all independent) |
80
- | `context_from` | Input | Empty (no cross-task context) |
81
- | `wave` | Computed | Always 1 (single wave) |
82
- | `status` | Lifecycle | `pending` (initial) → `completed`/`failed`/`skipped` (set by merge step from worker's `result_status`) |
83
- | `findings` | Lifecycle | Analysis summary (max 500 chars; merged from worker output) |
84
- | `error` | Lifecycle | Error if failed (merged) |
85
-
86
- **Column separation rule**: Wave CSV (input to `spawn_agents_on_csv`) contains Input columns only. Workers return Output columns exclusively via `output_schema` using `result_status` (NOT `status`). Merge maps `result_status` → master `status`.
87
-
88
- </csv_schema>
89
-
90
- <invariants>
91
- 1. **Start Immediately**: Initialize session, generate CSV, execute
92
- 2. **CSV is Source of Truth**: tasks.csv holds all mapper state
93
- 3. **Discovery Board is Append-Only**: Mappers share findings
94
- 4. **Partial Results OK**: If 3/4 mappers succeed, still write available docs
95
- 5. **Focus Area Scoping**: When focus is specified, descriptions narrow to that area
96
- 6. **DO NOT STOP**: Execute until all mappers complete or fail
97
- </invariants>
98
-
99
- <execution>
100
-
101
- ### Session Initialization
102
-
103
- Parse flags from `$ARGUMENTS` (`-y`, `-c N`, `--continue`). Extract focus area (default: "full"). Generate session ID: `{YYYYMMDD}-map-{focusArea}`. Create session folder at `.workflow/.csv-wave/{sessionId}/` and `.workflow/codebase/`.
104
-
105
- ### Phase 1: Generate tasks.csv
106
-
107
- Generate 4 mapper rows. If focus area specified, scope descriptions to that area.
108
-
109
- ### Phase 2: Wave Execution
110
-
111
- Single wave -- all 4 mappers via `spawn_agents_on_csv`:
112
-
113
- ```javascript
114
- spawn_agents_on_csv({
115
- csv_path: `${sessionFolder}/wave-1.csv`, // only rows where status == "pending"
116
- id_column: "id",
117
- instruction: MAPPER_INSTRUCTION, // see "Mapper Worker Contract" below
118
- max_concurrency: 4,
119
- max_runtime_seconds: 3600,
120
- output_csv_path: `${sessionFolder}/wave-1-results.csv`,
121
- output_schema: {
122
- type: "object",
123
- properties: {
124
- id: { type: "string" },
125
- result_status: { type: "string", enum: ["completed", "failed"] },
126
- findings: { type: "string", maxLength: 500 },
127
- error: { type: "string" }
128
- },
129
- required: ["id", "result_status", "findings"]
130
- }
131
- })
132
- ```
133
-
134
- Merge: write `master.status = result_status`, copy `findings` and `error`. Delete `wave-1.csv` and `wave-1-results.csv`.
135
-
136
- #### Mapper Worker Contract (MAPPER_INSTRUCTION)
137
-
138
- ```
139
- You are a codebase mapper for ONE dimension. Your assigned focus_area, description, and output_file come from your CSV row.
140
-
141
- REQUIRED STEPS:
142
- 1. Read shared discoveries: {sessionFolder}/discoveries.ndjson (may be empty)
143
- 2. Scan codebase using Read/Grep/Glob within your focus_area
144
- 3. Synthesize findings into the analysis sections required by your description
145
- 4. Append reusable discoveries (tech_stack / code_pattern / integration_point / convention) to discoveries.ndjson
146
- 5. Call report_agent_job_result EXACTLY ONCE
147
-
148
- TERMINATION CONTRACT (mandatory — NO worker may end without calling report_agent_job_result):
149
- - Success path → result_status = completed
150
- - Timeout path → if approaching max_runtime_seconds, STOP and report failed with error="timeout (partial findings)"
151
- - Failure path → on unrecoverable error, report failed with error message
152
- - NEVER continue indefinitely. NEVER exit silently. NEVER omit the call.
153
-
154
- OUTPUT (return via report_agent_job_result; must match output_schema):
155
- {
156
- "id": "<your row id>",
157
- "result_status": "completed" | "failed",
158
- "findings": "<analysis summary, max 500 chars — orchestrator uses this to write {output_file}>",
159
- "error": "<message if failed, else empty>"
160
- }
161
-
162
- CONSTRAINTS:
163
- - Read-only. Do NOT write to .workflow/codebase/ — orchestrator writes output files from your findings in Phase 3.
164
- - Do NOT write to tasks.csv, wave-*.csv, or results.csv.
165
- - Do NOT call spawn_agents_on_csv (no recursion).
166
- ```
167
-
168
- ### Phase 3: Write Output Files
169
-
170
- Read each agent's findings, write to `.workflow/codebase/{output_file}`, generate `context.md` summary, display report.
171
-
172
- ### Shared Discovery Board Protocol
173
-
174
- Discovery types particularly valuable for mapper agents:
175
-
176
- | Type | Dedup Key | Data Schema |
177
- |------|-----------|-------------|
178
- | `tech_stack` | singleton | `{framework, language, tools[]}` |
179
- | `code_pattern` | `data.name` | `{name, file, description}` |
180
- | `integration_point` | `data.file` | `{file, description, exports[]}` |
181
- | `convention` | singleton | `{naming, imports, formatting}` |
182
-
183
- Mappers share discoveries so other mappers can skip redundant exploration (e.g., if tech-stack mapper discovers the framework, features mapper can focus on feature-level analysis).
184
-
185
- </execution>
186
-
187
- <error_codes>
188
-
189
- | Error | Resolution |
190
- |-------|------------|
191
- | No source files found | Abort: "No source files in project" |
192
- | Mapper agent timeout | Mark failed, continue with other mappers |
193
- | Mapper agent failed | Mark failed, output partial results |
194
- | .workflow/codebase/ exists | Prompt: refresh/skip/merge (auto-refresh with -y) |
195
-
196
- </error_codes>
197
-
198
- <success_criteria>
199
- - [ ] tasks.csv generated with 4 mapper tasks
200
- - [ ] All mappers executed (completed or failed with partial results)
201
- - [ ] `.workflow/codebase/` populated with output files
202
- - [ ] context.md summary generated
203
- - [ ] Completion report displayed
204
- </success_criteria>
1
+ ---
2
+ name: spec-map
3
+ description: Map codebase tech-stack, architecture, features, and concerns
4
+ argument-hint: "[-y|--yes] [-c|--concurrency 4] [--continue] \"[focus area]\""
5
+ allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
6
+ ---
7
+
8
+ <purpose>
9
+ Single-wave parallel execution — 4 independent mapper agents each analyze a different codebase dimension. No dependencies between tasks, maximum parallelism.
10
+
11
+ **Topology**: Independent Parallel (single wave)
12
+
13
+ ```
14
+ ┌──────────────────────────────────────────────────────┐
15
+ │ CODEBASE MAPPER WORKFLOW │
16
+ ├──────────────────────────────────────────────────────┤
17
+ │ │
18
+ │ Phase 1: Setup → CSV │
19
+ │ ├─ Detect focus area from arguments │
20
+ │ ├─ Generate tasks.csv with 4 mapper tasks │
21
+ │ └─ All tasks wave 1 (no dependencies) │
22
+ │ │
23
+ │ Phase 2: Wave Execution (Single Wave) │
24
+ │ ├─ Wave 1: All 4 mappers run concurrently │
25
+ │ │ ├─ Tech Stack mapper │
26
+ │ │ ├─ Architecture mapper │
27
+ │ │ ├─ Features mapper │
28
+ │ │ └─ Cross-cutting Concerns mapper │
29
+ │ └─ discoveries.ndjson shared (append-only) │
30
+ │ │
31
+ │ Phase 3: Results → .workflow/codebase/ │
32
+ │ ├─ Write output files from agent findings │
33
+ │ ├─ Generate context.md summary │
34
+ │ └─ Display completion report │
35
+ │ │
36
+ └──────────────────────────────────────────────────────┘
37
+ ```
38
+ </purpose>
39
+
40
+ <context>
41
+
42
+ ```bash
43
+ $spec-map ""
44
+ $spec-map "auth"
45
+ $spec-map -c 4 "api layer"
46
+ $spec-map --continue "20260318-map-auth"
47
+ ```
48
+
49
+ **Flags**:
50
+ - `-y, --yes`: Skip all confirmations (auto-confirm mapper assignment, skip validation)
51
+ - `-c, --concurrency N`: Max concurrent agents (default: 4)
52
+ - `--continue`: Resume existing session
53
+
54
+ **Output**: `.workflow/codebase/` (tech-stack.md, architecture.md, features.md, concerns.md)
55
+
56
+ </context>
57
+
58
+ <csv_schema>
59
+
60
+ ### tasks.csv
61
+
62
+ ```csv
63
+ id,title,description,focus_area,output_file,deps,context_from,wave,status,findings,error
64
+ "1","Tech Stack Analysis","Analyze languages, frameworks, dependencies, build system, package managers, runtime configuration. Scan package.json, build configs, CI/CD files.","full","tech-stack.md","","","1","pending","",""
65
+ "2","Architecture Analysis","Analyze project structure, module boundaries, layer architecture, data flow patterns, entry points, API surface. Map directory tree and import graph.","full","architecture.md","","","1","pending","",""
66
+ "3","Features Analysis","Inventory user-facing capabilities, API endpoints, CLI commands, UI components, background jobs, integrations. Map to source locations.","full","features.md","","","1","pending","",""
67
+ "4","Cross-cutting Concerns","Analyze error handling patterns, logging strategy, authentication/authorization, configuration management, testing approach, observability.","full","concerns.md","","","1","pending","",""
68
+ ```
69
+
70
+ **Columns**:
71
+
72
+ | Column | Phase | Description |
73
+ |--------|-------|-------------|
74
+ | `id` | Input | Mapper identifier |
75
+ | `title` | Input | Mapper dimension title |
76
+ | `description` | Input | Detailed analysis instructions |
77
+ | `focus_area` | Input | Focus scope (full or specific area) |
78
+ | `output_file` | Input | Target output filename in .workflow/codebase/ |
79
+ | `deps` | Input | Empty (all independent) |
80
+ | `context_from` | Input | Empty (no cross-task context) |
81
+ | `wave` | Computed | Always 1 (single wave) |
82
+ | `status` | Lifecycle | `pending` (initial) → `completed`/`failed`/`skipped` (set by merge step from worker's `result_status`) |
83
+ | `findings` | Lifecycle | Analysis summary (max 500 chars; merged from worker output) |
84
+ | `error` | Lifecycle | Error if failed (merged) |
85
+
86
+ **Column separation rule**: Wave CSV (input to `spawn_agents_on_csv`) contains Input columns only. Workers return Output columns exclusively via `output_schema` using `result_status` (NOT `status`). Merge maps `result_status` → master `status`.
87
+
88
+ </csv_schema>
89
+
90
+ <invariants>
91
+ 1. **Start Immediately**: Initialize session, generate CSV, execute
92
+ 2. **CSV is Source of Truth**: tasks.csv holds all mapper state
93
+ 3. **Discovery Board is Append-Only**: Mappers share findings
94
+ 4. **Partial Results OK**: If 3/4 mappers succeed, still write available docs
95
+ 5. **Focus Area Scoping**: When focus is specified, descriptions narrow to that area
96
+ 6. **DO NOT STOP**: Execute until all mappers complete or fail
97
+ </invariants>
98
+
99
+ <execution>
100
+
101
+ ### Session Initialization
102
+
103
+ Parse flags from `$ARGUMENTS` (`-y`, `-c N`, `--continue`). Extract focus area (default: "full"). Generate session ID: `{YYYYMMDD}-map-{focusArea}`. Create session folder at `.workflow/.csv-wave/{sessionId}/` and `.workflow/codebase/`.
104
+
105
+ ### Phase 1: Generate tasks.csv
106
+
107
+ Generate 4 mapper rows. If focus area specified, scope descriptions to that area.
108
+
109
+ ### Phase 2: Wave Execution
110
+
111
+ Single wave -- all 4 mappers via `spawn_agents_on_csv`:
112
+
113
+ ```javascript
114
+ spawn_agents_on_csv({
115
+ csv_path: `${sessionFolder}/wave-1.csv`, // only rows where status == "pending"
116
+ id_column: "id",
117
+ instruction: MAPPER_INSTRUCTION, // see "Mapper Worker Contract" below
118
+ max_concurrency: 4,
119
+ max_runtime_seconds: 3600,
120
+ output_csv_path: `${sessionFolder}/wave-1-results.csv`,
121
+ output_schema: {
122
+ type: "object",
123
+ properties: {
124
+ id: { type: "string" },
125
+ result_status: { type: "string", enum: ["completed", "failed"] },
126
+ findings: { type: "string", maxLength: 500 },
127
+ error: { type: "string" }
128
+ },
129
+ required: ["id", "result_status", "findings"]
130
+ }
131
+ })
132
+ ```
133
+
134
+ Merge: write `master.status = result_status`, copy `findings` and `error`. Delete `wave-1.csv` and `wave-1-results.csv`.
135
+
136
+ #### Mapper Worker Contract (MAPPER_INSTRUCTION)
137
+
138
+ ```
139
+ You are a codebase mapper for ONE dimension. Your assigned focus_area, description, and output_file come from your CSV row.
140
+
141
+ REQUIRED STEPS:
142
+ 1. Read shared discoveries: {sessionFolder}/discoveries.ndjson (may be empty)
143
+ 2. Scan codebase using Read/Grep/Glob within your focus_area
144
+ 3. Synthesize findings into the analysis sections required by your description
145
+ 4. Append reusable discoveries (tech_stack / code_pattern / integration_point / convention) to discoveries.ndjson
146
+ 5. Call report_agent_job_result EXACTLY ONCE
147
+
148
+ TERMINATION CONTRACT (mandatory — NO worker may end without calling report_agent_job_result):
149
+ - Success path → result_status = completed
150
+ - Timeout path → if approaching max_runtime_seconds, STOP and report failed with error="timeout (partial findings)"
151
+ - Failure path → on unrecoverable error, report failed with error message
152
+ - NEVER continue indefinitely. NEVER exit silently. NEVER omit the call.
153
+
154
+ OUTPUT (return via report_agent_job_result; must match output_schema):
155
+ {
156
+ "id": "<your row id>",
157
+ "result_status": "completed" | "failed",
158
+ "findings": "<analysis summary, max 500 chars — orchestrator uses this to write {output_file}>",
159
+ "error": "<message if failed, else empty>"
160
+ }
161
+
162
+ CONSTRAINTS:
163
+ - Read-only. Do NOT write to .workflow/codebase/ — orchestrator writes output files from your findings in Phase 3.
164
+ - Do NOT write to tasks.csv, wave-*.csv, or results.csv.
165
+ - Do NOT call spawn_agents_on_csv (no recursion).
166
+ ```
167
+
168
+ ### Phase 3: Write Output Files
169
+
170
+ Read each agent's findings, write to `.workflow/codebase/{output_file}`, generate `context.md` summary, display report.
171
+
172
+ ### Shared Discovery Board Protocol
173
+
174
+ Discovery types particularly valuable for mapper agents:
175
+
176
+ | Type | Dedup Key | Data Schema |
177
+ |------|-----------|-------------|
178
+ | `tech_stack` | singleton | `{framework, language, tools[]}` |
179
+ | `code_pattern` | `data.name` | `{name, file, description}` |
180
+ | `integration_point` | `data.file` | `{file, description, exports[]}` |
181
+ | `convention` | singleton | `{naming, imports, formatting}` |
182
+
183
+ Mappers share discoveries so other mappers can skip redundant exploration (e.g., if tech-stack mapper discovers the framework, features mapper can focus on feature-level analysis).
184
+
185
+ </execution>
186
+
187
+ <error_codes>
188
+
189
+ | Error | Resolution |
190
+ |-------|------------|
191
+ | No source files found | Abort: "No source files in project" |
192
+ | Mapper agent timeout | Mark failed, continue with other mappers |
193
+ | Mapper agent failed | Mark failed, output partial results |
194
+ | .workflow/codebase/ exists | Prompt: refresh/skip/merge (auto-refresh with -y) |
195
+
196
+ </error_codes>
197
+
198
+ <success_criteria>
199
+ - [ ] tasks.csv generated with 4 mapper tasks
200
+ - [ ] All mappers executed (completed or failed with partial results)
201
+ - [ ] `.workflow/codebase/` populated with output files
202
+ - [ ] context.md summary generated
203
+ - [ ] Completion report displayed
204
+ </success_criteria>
@@ -1,75 +1,75 @@
1
- ---
2
- name: spec-remove
3
- description: Remove spec entry by ID
4
- argument-hint: "<entry-id> [--cascade]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
- ---
7
-
8
- <purpose>
9
- Remove a `<spec-entry>` block from a specs container file. Symmetric with `spec-add`.
10
- Uses `maestro wiki remove-entry` for atomic removal with automatic index update.
11
- </purpose>
12
-
13
- <required_reading>
14
- @~/.maestro/workflows/specs-remove.md
15
- </required_reading>
16
-
17
- <context>
18
- $ARGUMENTS — entry ID to remove (e.g., `spec-learnings-003`)
19
-
20
- **Entry ID format**: `spec-{file-stem}-{NNN}` — sub-node ID from WikiIndexer atomic indexing.
21
-
22
- **Discovery**:
23
- - `maestro search --type spec --json` — list all spec entries
24
- - `/spec-load --keyword <term>` — find by keyword
25
- - `maestro search "<query>"` — BM25 search
26
-
27
- **Flags:**
28
- - `--cascade` — When the target spec is a ref-type entry (created via `spec-add --ref` and linked to a knowhow document), also delete the referenced knowhow file. Without this flag, ref-type removal leaves an orphan knowhow file.
29
- </context>
30
-
31
- <execution>
32
-
33
- ### Step 1: Parse Input
34
-
35
- Extract entry ID from arguments.
36
- - Validate non-empty (E001 if missing)
37
- - Validate `.workflow/specs/` exists (E002 if not)
38
-
39
- ### Step 2: Lookup Entry
40
-
41
- Run `maestro wiki get <entry-id> --json`. Validate: entry exists (E003), is spec sub-node with `type="spec"` and `parent` set (E004). Extract title, category, keywords, container path.
42
-
43
- ### Step 3: Confirm
44
-
45
- Display entry details. Ask user to confirm unless `-y` flag present.
46
-
47
- ### Step 4: Remove
48
-
49
- Run `maestro wiki remove-entry <entry-id>`. WikiIndexer auto-updates `wiki-index.json`.
50
-
51
- If `--cascade` is set and the entry has a `ref` attribute pointing to a knowhow file, also delete that file to avoid leaving an orphan.
52
-
53
- ### Step 5: Verify & Report
54
-
55
- Confirm removal via `maestro wiki get <entry-id>` (should return not-found). Display removed ID, source file, and commands for verify/re-add.
56
- </execution>
57
-
58
- <error_codes>
59
- | Code | Severity | Description |
60
- |------|----------|-------------|
61
- | E001 | fatal | Entry ID is required -- usage: `/spec-remove <entry-id>` |
62
- | E002 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first |
63
- | E003 | fatal | Entry ID not found in wiki index |
64
- | E004 | fatal | Entry is not a spec sub-node (wrong type or no parent) |
65
- </error_codes>
66
-
67
- <success_criteria>
68
- - [ ] Entry ID parsed and validated
69
- - [ ] Entry found in wiki index (type=spec, has parent)
70
- - [ ] User confirmed removal
71
- - [ ] Entry removed via `maestro wiki remove-entry`
72
- - [ ] Wiki index auto-updated
73
- - [ ] If `--cascade` and entry has a `ref` attribute: referenced knowhow file deleted, orphan avoided
74
- - [ ] Confirmation displayed (and cascaded knowhow path if applicable)
75
- </success_criteria>
1
+ ---
2
+ name: spec-remove
3
+ description: Remove spec entry by ID
4
+ argument-hint: "<entry-id> [--cascade]"
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
6
+ ---
7
+
8
+ <purpose>
9
+ Remove a `<spec-entry>` block from a specs container file. Symmetric with `spec-add`.
10
+ Uses `maestro wiki remove-entry` for atomic removal with automatic index update.
11
+ </purpose>
12
+
13
+ <required_reading>
14
+ @~/.maestro/workflows/specs-remove.md
15
+ </required_reading>
16
+
17
+ <context>
18
+ $ARGUMENTS — entry ID to remove (e.g., `spec-learnings-003`)
19
+
20
+ **Entry ID format**: `spec-{file-stem}-{NNN}` — sub-node ID from WikiIndexer atomic indexing.
21
+
22
+ **Discovery**:
23
+ - `maestro search --type spec --json` — list all spec entries
24
+ - `$spec-load --keyword <term>` — find by keyword
25
+ - `maestro search "<query>"` — BM25 search
26
+
27
+ **Flags:**
28
+ - `--cascade` — When the target spec is a ref-type entry (created via `spec-add --ref` and linked to a knowhow document), also delete the referenced knowhow file. Without this flag, ref-type removal leaves an orphan knowhow file.
29
+ </context>
30
+
31
+ <execution>
32
+
33
+ ### Step 1: Parse Input
34
+
35
+ Extract entry ID from arguments.
36
+ - Validate non-empty (E001 if missing)
37
+ - Validate `.workflow/specs/` exists (E002 if not)
38
+
39
+ ### Step 2: Lookup Entry
40
+
41
+ Run `maestro wiki get <entry-id> --json`. Validate: entry exists (E003), is spec sub-node with `type="spec"` and `parent` set (E004). Extract title, category, keywords, container path.
42
+
43
+ ### Step 3: Confirm
44
+
45
+ Display entry details. Ask user to confirm unless `-y` flag present.
46
+
47
+ ### Step 4: Remove
48
+
49
+ Run `maestro wiki remove-entry <entry-id>`. WikiIndexer auto-updates `wiki-index.json`.
50
+
51
+ If `--cascade` is set and the entry has a `ref` attribute pointing to a knowhow file, also delete that file to avoid leaving an orphan.
52
+
53
+ ### Step 5: Verify & Report
54
+
55
+ Confirm removal via `maestro wiki get <entry-id>` (should return not-found). Display removed ID, source file, and commands for verify/re-add.
56
+ </execution>
57
+
58
+ <error_codes>
59
+ | Code | Severity | Description |
60
+ |------|----------|-------------|
61
+ | E001 | fatal | Entry ID is required -- usage: `$spec-remove <entry-id>` |
62
+ | E002 | fatal | `.workflow/specs/` not initialized -- run `$spec-setup` first |
63
+ | E003 | fatal | Entry ID not found in wiki index |
64
+ | E004 | fatal | Entry is not a spec sub-node (wrong type or no parent) |
65
+ </error_codes>
66
+
67
+ <success_criteria>
68
+ - [ ] Entry ID parsed and validated
69
+ - [ ] Entry found in wiki index (type=spec, has parent)
70
+ - [ ] User confirmed removal
71
+ - [ ] Entry removed via `maestro wiki remove-entry`
72
+ - [ ] Wiki index auto-updated
73
+ - [ ] If `--cascade` and entry has a `ref` attribute: referenced knowhow file deleted, orphan avoided
74
+ - [ ] Confirmation displayed (and cascaded knowhow path if applicable)
75
+ </success_criteria>
@@ -53,7 +53,7 @@ Create `.workflow/specs/` directory and write:
53
53
 
54
54
  ### Step 5: Display Report
55
55
 
56
- List created files with categories. Show next steps: `/spec-add <category> <content>`, available categories (core + extended), `/spec-remove`, wiki graph commands.
56
+ List created files with categories. Show next steps: `$spec-add <category> <content>`, available categories (core + extended), `$spec-remove`, wiki graph commands.
57
57
 
58
58
  </execution>
59
59
 
@@ -61,7 +61,7 @@ List created files with categories. Show next steps: `/spec-add <category> <cont
61
61
 
62
62
  | Code | Severity | Description |
63
63
  |------|----------|-------------|
64
- | E001 | fatal | `.workflow/` not initialized -- run `Skill({ skill: "maestro-init" })` first |
64
+ | E001 | fatal | `.workflow/` not initialized -- run `$maestro-init` first |
65
65
  | E002 | fatal | No source files found in project |
66
66
  | W001 | warning | Convention detection uncertain -- marked `[UNCERTAIN]` |
67
67