maestro-flow 0.3.10 → 0.3.12

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 (311) hide show
  1. package/.claude/agents/conceptual-planning-agent.md +1 -0
  2. package/.claude/agents/workflow-analyzer.md +114 -114
  3. package/.claude/agents/workflow-collab-planner.md +144 -144
  4. package/.claude/agents/workflow-debugger.md +102 -103
  5. package/.claude/agents/workflow-executor.md +127 -128
  6. package/.claude/agents/workflow-integration-checker.md +82 -82
  7. package/.claude/agents/workflow-nyquist-auditor.md +85 -84
  8. package/.claude/agents/workflow-phase-researcher.md +85 -85
  9. package/.claude/agents/workflow-plan-checker.md +90 -90
  10. package/.claude/agents/workflow-planner.md +178 -178
  11. package/.claude/agents/workflow-roadmapper.md +81 -83
  12. package/.claude/agents/workflow-verifier.md +119 -119
  13. package/.claude/commands/learn-decompose.md +176 -176
  14. package/.claude/commands/learn-follow.md +167 -167
  15. package/.claude/commands/learn-retro.md +3 -3
  16. package/.claude/commands/learn-second-opinion.md +2 -2
  17. package/.claude/commands/maestro-brainstorm.md +1 -0
  18. package/.claude/commands/maestro-coordinate.md +1 -3
  19. package/.claude/commands/maestro-fork.md +133 -111
  20. package/.claude/commands/maestro-merge.md +85 -77
  21. package/.claude/commands/maestro-plan.md +88 -2
  22. package/.claude/commands/maestro-roadmap.md +113 -2
  23. package/.claude/commands/maestro.md +1 -0
  24. package/.claude/commands/manage-harvest.md +131 -131
  25. package/.claude/commands/manage-issue.md +2 -2
  26. package/.claude/commands/quality-business-test.md +5 -5
  27. package/.claude/commands/quality-debug.md +3 -2
  28. package/.claude/commands/quality-retrospective.md +6 -4
  29. package/.claude/commands/quality-review.md +1 -1
  30. package/.claude/commands/quality-test-gen.md +5 -4
  31. package/.claude/commands/spec-add.md +67 -56
  32. package/.claude/commands/spec-load.md +66 -64
  33. package/.claude/commands/spec-setup.md +5 -9
  34. package/.codex/skills/learn-decompose/SKILL.md +119 -0
  35. package/.codex/skills/learn-follow/SKILL.md +83 -0
  36. package/.codex/skills/learn-investigate/SKILL.md +83 -0
  37. package/.codex/skills/learn-retro/SKILL.md +83 -0
  38. package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
  39. package/.codex/skills/maestro/SKILL.md +151 -279
  40. package/.codex/skills/maestro-analyze/SKILL.md +59 -71
  41. package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
  42. package/.codex/skills/maestro-chain/SKILL.md +95 -110
  43. package/.codex/skills/maestro-coordinate/SKILL.md +68 -234
  44. package/.codex/skills/maestro-execute/SKILL.md +435 -446
  45. package/.codex/skills/maestro-fork/SKILL.md +98 -0
  46. package/.codex/skills/maestro-init/SKILL.md +172 -167
  47. package/.codex/skills/maestro-learn/SKILL.md +80 -0
  48. package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
  49. package/.codex/skills/maestro-merge/SKILL.md +69 -0
  50. package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
  51. package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
  52. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
  53. package/.codex/skills/maestro-overlay/SKILL.md +188 -185
  54. package/.codex/skills/maestro-plan/SKILL.md +58 -69
  55. package/.codex/skills/maestro-quick/SKILL.md +26 -23
  56. package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
  57. package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
  58. package/.codex/skills/maestro-ui-design/SKILL.md +35 -32
  59. package/.codex/skills/maestro-verify/SKILL.md +556 -566
  60. package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
  61. package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
  62. package/.codex/skills/manage-harvest/SKILL.md +82 -0
  63. package/.codex/skills/manage-issue/SKILL.md +80 -65
  64. package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
  65. package/.codex/skills/manage-learn/SKILL.md +190 -186
  66. package/.codex/skills/manage-memory/SKILL.md +95 -72
  67. package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
  68. package/.codex/skills/manage-status/SKILL.md +102 -89
  69. package/.codex/skills/quality-business-test/SKILL.md +228 -223
  70. package/.codex/skills/quality-debug/SKILL.md +54 -66
  71. package/.codex/skills/quality-integration-test/SKILL.md +532 -544
  72. package/.codex/skills/quality-refactor/SKILL.md +197 -191
  73. package/.codex/skills/quality-retrospective/SKILL.md +512 -505
  74. package/.codex/skills/quality-review/SKILL.md +95 -107
  75. package/.codex/skills/quality-sync/SKILL.md +101 -89
  76. package/.codex/skills/quality-test/SKILL.md +202 -198
  77. package/.codex/skills/quality-test-gen/SKILL.md +94 -105
  78. package/.codex/skills/spec-add/SKILL.md +58 -39
  79. package/.codex/skills/spec-load/SKILL.md +45 -40
  80. package/.codex/skills/spec-map/SKILL.md +180 -182
  81. package/.codex/skills/spec-setup/SKILL.md +94 -76
  82. package/.codex/skills/team-coordinate/SKILL.md +346 -357
  83. package/.codex/skills/team-executor/SKILL.md +70 -112
  84. package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
  85. package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
  86. package/.codex/skills/team-review/SKILL.md +232 -225
  87. package/.codex/skills/team-tech-debt/SKILL.md +78 -100
  88. package/.codex/skills/team-testing/SKILL.md +242 -235
  89. package/.codex/skills/wiki-connect/SKILL.md +75 -0
  90. package/.codex/skills/wiki-digest/SKILL.md +87 -0
  91. package/README.md +9 -4
  92. package/README.zh-CN.md +9 -4
  93. package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
  94. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
  95. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
  96. package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
  98. package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
  99. package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
  100. package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
  101. package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
  102. package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
  103. package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
  104. package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
  105. package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
  106. package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
  107. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
  108. package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
  109. package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
  110. package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
  111. package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
  112. package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
  113. package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
  114. package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
  115. package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
  116. package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
  117. package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
  118. package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
  119. package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
  120. package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
  121. package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
  122. package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
  123. package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
  124. package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
  125. package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
  126. package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
  127. package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
  128. package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
  129. package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
  130. package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
  131. package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
  132. package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
  133. package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
  134. package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
  135. package/dashboard/dist/index.html +2 -2
  136. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
  137. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
  139. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
  140. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
  141. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
  142. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
  143. package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
  144. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  145. package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
  146. package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
  148. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
  149. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  150. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
  151. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
  152. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  153. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
  154. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
  155. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
  156. package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
  157. package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
  158. package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
  159. package/dashboard/dist-server/dashboard/src/shared/constants.js +10 -0
  160. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  161. package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
  162. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
  163. package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
  164. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  165. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +22 -0
  166. package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
  167. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  168. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
  169. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +28 -2
  170. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  171. package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
  172. package/dashboard/dist-server/src/hooks/constants.d.ts +3 -1
  173. package/dashboard/dist-server/src/hooks/constants.js +4 -2
  174. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  175. package/dist/shared/agent-types.d.ts +4 -0
  176. package/dist/shared/agent-types.d.ts.map +1 -1
  177. package/dist/src/commands/collab.js +4 -4
  178. package/dist/src/commands/collab.js.map +1 -1
  179. package/dist/src/commands/hooks.d.ts.map +1 -1
  180. package/dist/src/commands/hooks.js +66 -1
  181. package/dist/src/commands/hooks.js.map +1 -1
  182. package/dist/src/commands/install-backend.d.ts.map +1 -1
  183. package/dist/src/commands/install-backend.js +29 -18
  184. package/dist/src/commands/install-backend.js.map +1 -1
  185. package/dist/src/commands/spec.d.ts.map +1 -1
  186. package/dist/src/commands/spec.js +7 -2
  187. package/dist/src/commands/spec.js.map +1 -1
  188. package/dist/src/hooks/__tests__/statusline-visual-test.js +23 -1
  189. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
  190. package/dist/src/hooks/constants.d.ts +3 -1
  191. package/dist/src/hooks/constants.d.ts.map +1 -1
  192. package/dist/src/hooks/constants.js +4 -2
  193. package/dist/src/hooks/constants.js.map +1 -1
  194. package/dist/src/hooks/guards/index.d.ts +1 -0
  195. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  196. package/dist/src/hooks/guards/index.js +1 -0
  197. package/dist/src/hooks/guards/index.js.map +1 -1
  198. package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
  199. package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
  200. package/dist/src/hooks/guards/spec-validator.js +66 -0
  201. package/dist/src/hooks/guards/spec-validator.js.map +1 -0
  202. package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
  203. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
  204. package/dist/src/hooks/keyword-spec-injector.js +96 -0
  205. package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
  206. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
  207. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  208. package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
  209. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  210. package/dist/src/hooks/skill-context.d.ts +3 -0
  211. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  212. package/dist/src/hooks/skill-context.js +95 -9
  213. package/dist/src/hooks/skill-context.js.map +1 -1
  214. package/dist/src/hooks/spec-bridge.d.ts +40 -0
  215. package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
  216. package/dist/src/hooks/spec-bridge.js +97 -0
  217. package/dist/src/hooks/spec-bridge.js.map +1 -0
  218. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  219. package/dist/src/hooks/spec-injector.js +18 -12
  220. package/dist/src/hooks/spec-injector.js.map +1 -1
  221. package/dist/src/hooks/statusline.d.ts.map +1 -1
  222. package/dist/src/hooks/statusline.js +6 -3
  223. package/dist/src/hooks/statusline.js.map +1 -1
  224. package/dist/src/team/phase-orchestrator.d.ts +52 -0
  225. package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
  226. package/dist/src/team/phase-orchestrator.js +165 -0
  227. package/dist/src/team/phase-orchestrator.js.map +1 -0
  228. package/dist/src/team/phase-types.d.ts +51 -0
  229. package/dist/src/team/phase-types.d.ts.map +1 -0
  230. package/dist/src/team/phase-types.js +41 -0
  231. package/dist/src/team/phase-types.js.map +1 -0
  232. package/dist/src/tools/index.d.ts.map +1 -1
  233. package/dist/src/tools/index.js +6 -0
  234. package/dist/src/tools/index.js.map +1 -1
  235. package/dist/src/tools/merge-validator.d.ts.map +1 -1
  236. package/dist/src/tools/merge-validator.js +114 -16
  237. package/dist/src/tools/merge-validator.js.map +1 -1
  238. package/dist/src/tools/spec-entry-parser.d.ts +56 -0
  239. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
  240. package/dist/src/tools/spec-entry-parser.js +196 -0
  241. package/dist/src/tools/spec-entry-parser.js.map +1 -0
  242. package/dist/src/tools/spec-init.d.ts.map +1 -1
  243. package/dist/src/tools/spec-init.js +66 -92
  244. package/dist/src/tools/spec-init.js.map +1 -1
  245. package/dist/src/tools/spec-keyword-index.d.ts +30 -0
  246. package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
  247. package/dist/src/tools/spec-keyword-index.js +101 -0
  248. package/dist/src/tools/spec-keyword-index.js.map +1 -0
  249. package/dist/src/tools/spec-loader.d.ts +3 -3
  250. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  251. package/dist/src/tools/spec-loader.js +49 -23
  252. package/dist/src/tools/spec-loader.js.map +1 -1
  253. package/dist/src/tools/team-agents.d.ts +27 -0
  254. package/dist/src/tools/team-agents.d.ts.map +1 -0
  255. package/dist/src/tools/team-agents.js +362 -0
  256. package/dist/src/tools/team-agents.js.map +1 -0
  257. package/dist/src/tools/team-mailbox.d.ts +40 -0
  258. package/dist/src/tools/team-mailbox.d.ts.map +1 -0
  259. package/dist/src/tools/team-mailbox.js +384 -0
  260. package/dist/src/tools/team-mailbox.js.map +1 -0
  261. package/dist/src/tools/team-msg.d.ts +17 -8
  262. package/dist/src/tools/team-msg.d.ts.map +1 -1
  263. package/dist/src/tools/team-msg.js +110 -13
  264. package/dist/src/tools/team-msg.js.map +1 -1
  265. package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
  266. package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
  267. package/dist/src/tools/team-tasks-mcp.js +408 -0
  268. package/dist/src/tools/team-tasks-mcp.js.map +1 -0
  269. package/package.json +2 -1
  270. package/shared/agent-types.ts +4 -0
  271. package/templates/worktree-scope.json +9 -10
  272. package/templates/worktrees.json +26 -27
  273. package/workflows/analyze.md +816 -816
  274. package/workflows/brainstorm.md +480 -471
  275. package/workflows/codebase-rebuild.md +332 -332
  276. package/workflows/codebase-refresh.md +240 -240
  277. package/workflows/debug.md +16 -6
  278. package/workflows/execute.md +1 -1
  279. package/workflows/fork.md +100 -36
  280. package/workflows/harvest.md +420 -420
  281. package/workflows/integration-test.md +355 -343
  282. package/workflows/issue-discover.md +414 -414
  283. package/workflows/issue.md +14 -4
  284. package/workflows/learn.md +19 -5
  285. package/workflows/maestro.md +1 -0
  286. package/workflows/map.md +111 -111
  287. package/workflows/merge.md +113 -55
  288. package/workflows/milestone-complete.md +176 -176
  289. package/workflows/plan.md +1 -1
  290. package/workflows/quick.md +497 -497
  291. package/workflows/refactor.md +300 -300
  292. package/workflows/retrospective.md +61 -22
  293. package/workflows/review.md +17 -4
  294. package/workflows/roadmap.md +335 -335
  295. package/workflows/spec-generate.md +640 -640
  296. package/workflows/specs-add.md +46 -81
  297. package/workflows/specs-load.md +15 -17
  298. package/workflows/specs-setup.md +40 -161
  299. package/workflows/test.md +12 -2
  300. package/workflows/ui-style.md +9 -2
  301. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
  302. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
  303. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
  304. package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
  305. package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
  306. package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
  307. package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
  308. package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
  309. package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
  310. package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
  311. package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
@@ -1,405 +1,397 @@
1
- ---
2
- name: manage-codebase-rebuild
3
- description: Full codebase documentation rebuild via CSV wave pipeline. Spawns 5 parallel doc generator agents to scan project and produce complete .workflow/codebase/ documentation set. Replaces manage-codebase-rebuild command.
4
- argument-hint: "[-y|--yes] [-c|--concurrency 5] [--continue] \"[--force] [--skip-commit]\""
5
- allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
- ---
7
-
8
- ## Auto Mode
9
-
10
- When `--yes` or `-y`: Auto-confirm rebuild (implies --force), skip all prompts.
11
-
12
- # Maestro Codebase Rebuild (CSV Wave)
13
-
14
- ## Usage
15
-
16
- ```bash
17
- $manage-codebase-rebuild ""
18
- $manage-codebase-rebuild -y "--force"
19
- $manage-codebase-rebuild -c 5 "--force --skip-commit"
20
- $manage-codebase-rebuild --continue "rebuild-full-20260318"
21
- ```
22
-
23
- **Flags**:
24
- - `-y, --yes`: Skip all confirmations (auto mode, implies --force)
25
- - `-c, --concurrency N`: Max concurrent agents (default: 5)
26
- - `--continue`: Resume existing session
27
-
28
- **Inner flags** (passed inside quotes):
29
- - `--force`: Clear existing .workflow/codebase/ and rebuild from scratch
30
- - `--skip-commit`: Do not auto-commit after rebuild
31
-
32
- **Output Directory**: `.workflow/.csv-wave/{session-id}/`
33
- **Core Output**: `tasks.csv` (master state) + `results.csv` (final) + `discoveries.ndjson` (shared exploration) + `context.md` (human-readable report)
34
- **Target**: `.workflow/codebase/` (doc-index.json, tech-registry/, feature-maps/)
35
-
36
- ---
37
-
38
- ## Overview
39
-
40
- Single-wave parallel execution -- 5 independent doc generator agents each analyze a different documentation dimension of the codebase. All agents run concurrently with no dependencies. This is a destructive operation that rebuilds the entire `.workflow/codebase/` directory from scratch.
41
-
42
- **Core workflow**: Prepare Directory -> Decompose Doc Dimensions -> Parallel Generation -> Assemble doc-index.json
43
-
44
- **Topology**: Independent Parallel (single wave)
45
-
46
- ```
47
- +---------------------------------------------------------------------------+
48
- | CODEBASE REBUILD CSV WAVE WORKFLOW |
49
- +---------------------------------------------------------------------------+
50
- | |
51
- | Phase 1: Setup -> CSV |
52
- | +-- Validate .workflow/ exists |
53
- | +-- Confirm rebuild (or --force / -y) |
54
- | +-- Clear .workflow/codebase/ directory |
55
- | +-- Detect source directories (src/, lib/, app/, packages/) |
56
- | +-- Generate tasks.csv with 5 doc generator tasks |
57
- | +-- All tasks wave 1 (no dependencies) |
58
- | |
59
- | Phase 2: Wave Execution (Single Wave) |
60
- | +-- Wave 1: All 5 generators run concurrently |
61
- | | +-- Component Scanner (TC-* entries) |
62
- | | +-- Feature Mapper (FT-* entries) |
63
- | | +-- Requirement Linker (REQ-* entries, if specs exist) |
64
- | | +-- Tech Registry Writer (tech-registry/*.md) |
65
- | | +-- Feature Map Writer (feature-maps/*.md) |
66
- | +-- discoveries.ndjson shared (append-only) |
67
- | |
68
- | Phase 3: Results -> .workflow/codebase/ |
69
- | +-- Assemble doc-index.json from agent findings |
70
- | +-- Validate all output files exist |
71
- | +-- Update state.json with rebuild timestamp |
72
- | +-- Generate context.md summary |
73
- | +-- Auto-commit (unless --skip-commit) |
74
- | +-- Display completion report |
75
- | |
76
- +---------------------------------------------------------------------------+
77
- ```
78
-
79
- ---
80
-
81
- ## CSV Schema
82
-
83
- ### tasks.csv (Master State)
84
-
85
- ```csv
86
- id,title,description,doc_dimension,output_path,deps,context_from,wave,status,findings,error
87
- "1","Component Scanner","Scan all source directories for components: models, services, controllers, utils, types, config, middleware, core modules. For each component extract exported symbols, determine type, record code locations. Output JSON array of component entries with id (TC-NNN), name, type, code_locations, symbols.","components",".workflow/codebase/doc-index.json#components","","","1","","",""
88
- "2","Feature Mapper","Group discovered components by domain/functional area using directory proximity, naming patterns, and import relationships. Map features to requirements if .workflow/task-specs/ exists. Output JSON array of feature entries with id (FT-NNN), name, status, component_ids, requirement_ids, phase.","features",".workflow/codebase/doc-index.json#features","","","1","","",""
89
- "3","Requirement Linker","If .workflow/task-specs/ exists, scan SPEC-*/requirements/REQ-*.md files. Parse requirement metadata (title, priority, acceptance_criteria). Match requirements to features by keyword analysis. Also scan for ADR-*.md architecture decisions. Output JSON arrays for requirements and architecture_decisions.","requirements",".workflow/codebase/doc-index.json#requirements","","","1","","",""
90
- "4","Tech Registry Writer","For each component discovered, generate a markdown documentation file in .workflow/codebase/tech-registry/{slug}.md with: ID, type, features, code locations, exported symbols, dependencies. Generate _index.md with component table. Output file count and paths.","tech-registry",".workflow/codebase/tech-registry/","","","1","","",""
91
- "5","Feature Map Writer","For each feature discovered, generate a markdown documentation file in .workflow/codebase/feature-maps/{slug}.md with: ID, status, phase, requirements, component table. Generate _index.md with feature table. Output file count and paths.","feature-maps",".workflow/codebase/feature-maps/","","","1","","",""
92
- ```
93
-
94
- **Columns**:
95
-
96
- | Column | Phase | Description |
97
- |--------|-------|-------------|
98
- | `id` | Input | Generator identifier |
99
- | `title` | Input | Doc generator dimension title |
100
- | `description` | Input | Detailed generation instructions |
101
- | `doc_dimension` | Input | Documentation dimension: components/features/requirements/tech-registry/feature-maps |
102
- | `output_path` | Input | Target output path in .workflow/codebase/ |
103
- | `deps` | Input | Empty (all independent) |
104
- | `context_from` | Input | Empty (no cross-task context needed) |
105
- | `wave` | Computed | Always 1 (single wave, independent parallel) |
106
- | `status` | Output | `pending` -> `completed` / `failed` / `skipped` |
107
- | `findings` | Output | Generation summary -- counts, paths, notes (max 500 chars) |
108
- | `error` | Output | Error message if failed |
109
-
110
- ### Per-Wave CSV (Temporary)
111
-
112
- Single wave generates `wave-1.csv`. No `prev_context` needed (all tasks independent).
113
-
114
- ---
115
-
116
- ## Output Artifacts
117
-
118
- | File | Purpose | Lifecycle |
119
- |------|---------|-----------|
120
- | `tasks.csv` | Master state -- all tasks with status/findings | Updated after wave |
121
- | `wave-1.csv` | Wave input (temporary) | Created before wave, deleted after |
122
- | `wave-1-results.csv` | Wave output | Created by spawn_agents_on_csv |
123
- | `results.csv` | Final export of all task results | Created in Phase 3 |
124
- | `discoveries.ndjson` | Shared exploration board | Append-only during wave |
125
- | `context.md` | Human-readable rebuild report | Created in Phase 3 |
126
-
127
- ### Target Output (in .workflow/codebase/)
128
-
129
- | File | Description |
130
- |------|-------------|
131
- | `doc-index.json` | Single source of truth: components, features, requirements, ADRs |
132
- | `tech-registry/_index.md` | Component index table |
133
- | `tech-registry/{slug}.md` | Per-component documentation |
134
- | `feature-maps/_index.md` | Feature index table |
135
- | `feature-maps/{slug}.md` | Per-feature documentation |
136
-
137
- ---
138
-
139
- ## Session Structure
140
-
141
- ```
142
- .workflow/.csv-wave/rebuild-{scope}-{date}/
143
- +-- tasks.csv
144
- +-- results.csv
145
- +-- discoveries.ndjson
146
- +-- context.md
147
- +-- config.json
148
- +-- wave-1.csv (temporary)
149
- +-- wave-1-results.csv (temporary)
150
- ```
151
-
152
- ---
153
-
154
- ## Implementation
155
-
156
- ### Session Initialization
157
-
158
- ```javascript
159
- const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
160
-
161
- // Parse flags
162
- const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
163
- const continueMode = $ARGUMENTS.includes('--continue')
164
- const concurrencyMatch = $ARGUMENTS.match(/(?:--concurrency|-c)\s+(\d+)/)
165
- const maxConcurrency = concurrencyMatch ? parseInt(concurrencyMatch[1]) : 5
166
-
167
- // Parse rebuild-specific flags
168
- const forceMode = $ARGUMENTS.includes('--force') || AUTO_YES
169
- const skipCommit = $ARGUMENTS.includes('--skip-commit')
170
-
171
- const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
172
- const sessionId = `rebuild-full-${dateStr}`
173
- const sessionFolder = `.workflow/.csv-wave/${sessionId}`
174
-
175
- Bash(`mkdir -p ${sessionFolder}`)
176
- ```
177
-
178
- ---
179
-
180
- ### Phase 1: Setup -> CSV
181
-
182
- **Objective**: Validate prerequisites, prepare directory, detect source dirs, generate tasks.csv.
183
-
184
- **Steps**:
185
-
186
- 1. **Validate .workflow/ exists**:
187
- - Check `.workflow/state.json` exists
188
- - If not: abort with "Run init first"
189
-
190
- 2. **Confirm rebuild**:
191
- - If `.workflow/codebase/` exists AND NOT forceMode:
192
- ```
193
- AskUserQuestion: "Codebase docs already exist. Rebuild will overwrite all files. Continue? [y/N]"
194
- If no: exit
195
- ```
196
- - If forceMode or confirmed: clear `.workflow/codebase/`
197
-
198
- 3. **Prepare directory structure**:
199
- ```bash
200
- mkdir -p .workflow/codebase/tech-registry
201
- mkdir -p .workflow/codebase/feature-maps
202
- mkdir -p .workflow/codebase/action-logs
203
- ```
204
-
205
- 4. **Detect source directories**:
206
- - Check for: `src/`, `lib/`, `app/`, `packages/`
207
- - Read `project-tech.json` if available for `source_dirs`
208
- - If no source directories found: abort with "No source files in project"
209
-
210
- 5. **Load project specs** (if available):
211
- - Read `.workflow/specs/` for architecture context
212
-
213
- 6. **Generate tasks.csv**: 5 rows, all wave 1, no dependencies.
214
-
215
- 7. **User validation**: Display doc generator breakdown. Skip if AUTO_YES.
216
-
217
- ---
218
-
219
- ### Phase 2: Wave Execution (Single Wave)
220
-
221
- **Objective**: Run all 5 doc generators concurrently via spawn_agents_on_csv.
222
-
223
- #### Wave 1: All Generators (Parallel)
224
-
225
- 1. Read master `tasks.csv`
226
- 2. Filter rows where `wave == 1` AND `status == pending`
227
- 3. No prev_context needed (single wave, all independent)
228
- 4. Write `wave-1.csv`
229
- 5. Execute:
230
-
231
- ```javascript
232
- spawn_agents_on_csv({
233
- csv_path: `${sessionFolder}/wave-1.csv`,
234
- id_column: "id",
235
- instruction: buildRebuildInstruction(sessionFolder, sourceDirs),
236
- max_concurrency: maxConcurrency,
237
- max_runtime_seconds: 900,
238
- output_csv_path: `${sessionFolder}/wave-1-results.csv`,
239
- output_schema: {
240
- type: "object",
241
- properties: {
242
- id: { type: "string" },
243
- status: { type: "string", enum: ["completed", "failed"] },
244
- findings: { type: "string" },
245
- error: { type: "string" }
246
- },
247
- required: ["id", "status", "findings"]
248
- }
249
- })
250
- ```
251
-
252
- 6. Read `wave-1-results.csv`, merge into master `tasks.csv`
253
- 7. Delete `wave-1.csv`
254
-
255
- ---
256
-
257
- ### Phase 3: Results -> .workflow/codebase/
258
-
259
- **Objective**: Assemble doc-index.json from agent findings, validate, update state.
260
-
261
- 1. Read final master `tasks.csv`
262
- 2. Export as `results.csv`
263
-
264
- 3. **Assemble doc-index.json**:
265
- - Read component findings from task 1 (Component Scanner)
266
- - Read feature findings from task 2 (Feature Mapper)
267
- - Read requirement/ADR findings from task 3 (Requirement Linker)
268
- - Merge into complete doc-index.json:
269
- ```json
270
- {
271
- "version": "1.0",
272
- "schema_version": "1.0",
273
- "project": "<project name>",
274
- "last_updated": "<ISO>",
275
- "features": [],
276
- "components": [],
277
- "requirements": [],
278
- "architecture_decisions": [],
279
- "actions": []
280
- }
281
- ```
282
- - Write to `.workflow/codebase/doc-index.json`
283
-
284
- 4. **Validate output files**:
285
- - Check doc-index.json exists and is valid JSON
286
- - Check tech-registry/_index.md exists (from task 4)
287
- - Check feature-maps/_index.md exists (from task 5)
288
- - Log warnings for any missing files
289
-
290
- 5. **Update state.json**: Set `codebase.last_rebuild` timestamp.
291
-
292
- 6. **Generate context.md**:
293
-
294
- ```markdown
295
- # Codebase Rebuild Report
296
-
297
- ## Summary
298
- - Components discovered: {count}
299
- - Features mapped: {count}
300
- - Requirements linked: {count}
301
- - ADRs recorded: {count}
302
- - Files generated: {count}
303
- - Generators: {completed}/{total} succeeded
304
-
305
- ## Generator Results
306
- | Generator | Status | Output | Findings |
307
- |-----------|--------|--------|----------|
308
- | Component Scanner | {status} | {count} components | {summary} |
309
- | Feature Mapper | {status} | {count} features | {summary} |
310
- | Requirement Linker | {status} | {count} requirements | {summary} |
311
- | Tech Registry Writer | {status} | {count} files | {summary} |
312
- | Feature Map Writer | {status} | {count} files | {summary} |
313
-
314
- ## Discovery Board Summary
315
- {aggregated discovery findings}
316
-
317
- ## Next Steps
318
- - Run manage-status to review
319
- - Run manage-codebase-refresh for future incremental updates
320
- ```
321
-
322
- 7. **Auto-commit** (unless --skip-commit):
323
- - Stage `.workflow/codebase/` files
324
- - Suggest commit: "docs(codebase): full rebuild of codebase documentation"
325
-
326
- 8. **Display completion report**:
327
-
328
- ```
329
- === CODEBASE REBUILD COMPLETE ===
330
- Components: {count}
331
- Features: {count}
332
- Requirements: {count}
333
- ADRs: {count}
334
- Files: {count} generated in .workflow/codebase/
335
-
336
- Generators: {completed}/{total} succeeded
337
- {if failures: "W001: {failed_generator} failed -- partial results available"}
338
-
339
- Next steps:
340
- Skill({ skill: "manage-status" })
341
- Skill({ skill: "manage-codebase-refresh" })
342
- ```
343
-
344
- ---
345
-
346
- ## Shared Discovery Board Protocol
347
-
348
- ### Standard Discovery Types
349
-
350
- | Type | Dedup Key | Data Schema | Description |
351
- |------|-----------|-------------|-------------|
352
- | `tech_stack` | singleton | `{framework, language, tools[]}` | Technology stack identified |
353
- | `code_pattern` | `data.name` | `{name, file, description}` | Reusable code pattern found |
354
- | `integration_point` | `data.file` | `{file, description, exports[]}` | Module connection point |
355
- | `convention` | singleton | `{naming, imports, formatting}` | Project coding conventions |
356
-
357
- ### Domain Discovery Types
358
-
359
- | Type | Dedup Key | Data Schema | Description |
360
- |------|-----------|-------------|-------------|
361
- | `component` | `data.id` | `{id, name, type, code_locations[]}` | Component discovered by scanner |
362
- | `feature_group` | `data.name` | `{name, component_ids[], directory}` | Feature grouping identified |
363
-
364
- ### Protocol
365
-
366
- 1. **Read** `{session_folder}/discoveries.ndjson` before own analysis
367
- 2. **Skip covered**: If discovery of same type + dedup key exists, skip
368
- 3. **Write immediately**: Append findings as discovered
369
- 4. **Append-only**: Never modify or delete
370
- 5. **Deduplicate**: Check before writing
371
-
372
- ```bash
373
- echo '{"ts":"<ISO>","worker":"1","type":"tech_stack","data":{"framework":"Express","language":"TypeScript","tools":["jest","eslint","prettier"]}}' >> {session_folder}/discoveries.ndjson
374
- ```
375
-
376
- Generators share discoveries so other generators can skip redundant scanning (e.g., Component Scanner discovers components, Feature Mapper and Tech Registry Writer can leverage those findings).
377
-
378
- ---
379
-
380
- ## Error Handling
381
-
382
- | Error | Resolution |
383
- |-------|------------|
384
- | .workflow/ not initialized | Abort: "Run init first" (E001) |
385
- | No source directories found | Abort: "No source files in project" |
386
- | .workflow/codebase/ exists without --force | Prompt user for confirmation |
387
- | Generator agent timeout | Mark as failed, continue with other generators |
388
- | Generator agent failed | Mark as failed, log W001, output partial results |
389
- | doc-index.json assembly fails | Use available generator outputs, log missing sections |
390
- | CSV parse error | Validate format, show line number |
391
- | discoveries.ndjson corrupt | Ignore malformed lines |
392
- | Continue mode: no session found | List available sessions |
393
-
394
- ---
395
-
396
- ## Core Rules
397
-
398
- 1. **Start Immediately**: First action is session initialization, then Phase 1
399
- 2. **CSV is Source of Truth**: tasks.csv holds all generator state
400
- 3. **Discovery Board is Append-Only**: Generators share findings via NDJSON
401
- 4. **Partial Results OK**: If 3/5 generators succeed, still assemble available docs
402
- 5. **Destructive by Design**: This is a full rebuild -- existing codebase/ is cleared
403
- 6. **Single Wave**: All generators are independent, no wave ordering needed
404
- 7. **Cleanup Temp Files**: Remove wave-1.csv after results are merged
405
- 8. **DO NOT STOP**: Execute until all generators complete or fail
1
+ ---
2
+ name: manage-codebase-rebuild
3
+ description: Full codebase documentation rebuild via CSV wave pipeline. Spawns 5 parallel doc generator agents to scan project and produce complete .workflow/codebase/ documentation set. Replaces manage-codebase-rebuild command.
4
+ argument-hint: "[-y|--yes] [-c|--concurrency 5] [--continue] \"[--force] [--skip-commit]\""
5
+ allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
+ ---
7
+
8
+ <purpose>
9
+ Single-wave parallel execution -- 5 independent doc generator agents each analyze a different documentation dimension of the codebase. All agents run concurrently with no dependencies. This is a destructive operation that rebuilds the entire `.workflow/codebase/` directory from scratch.
10
+
11
+ **Core workflow**: Prepare Directory -> Decompose Doc Dimensions -> Parallel Generation -> Assemble doc-index.json
12
+
13
+ **Topology**: Independent Parallel (single wave)
14
+
15
+ ```
16
+ +---------------------------------------------------------------------------+
17
+ | CODEBASE REBUILD CSV WAVE WORKFLOW |
18
+ +---------------------------------------------------------------------------+
19
+ | |
20
+ | Phase 1: Setup -> CSV |
21
+ | +-- Validate .workflow/ exists |
22
+ | +-- Confirm rebuild (or --force / -y) |
23
+ | +-- Clear .workflow/codebase/ directory |
24
+ | +-- Detect source directories (src/, lib/, app/, packages/) |
25
+ | +-- Generate tasks.csv with 5 doc generator tasks |
26
+ | +-- All tasks wave 1 (no dependencies) |
27
+ | |
28
+ | Phase 2: Wave Execution (Single Wave) |
29
+ | +-- Wave 1: All 5 generators run concurrently |
30
+ | | +-- Component Scanner (TC-* entries) |
31
+ | | +-- Feature Mapper (FT-* entries) |
32
+ | | +-- Requirement Linker (REQ-* entries, if specs exist) |
33
+ | | +-- Tech Registry Writer (tech-registry/*.md) |
34
+ | | +-- Feature Map Writer (feature-maps/*.md) |
35
+ | +-- discoveries.ndjson shared (append-only) |
36
+ | |
37
+ | Phase 3: Results -> .workflow/codebase/ |
38
+ | +-- Assemble doc-index.json from agent findings |
39
+ | +-- Validate all output files exist |
40
+ | +-- Update state.json with rebuild timestamp |
41
+ | +-- Generate context.md summary |
42
+ | +-- Auto-commit (unless --skip-commit) |
43
+ | +-- Display completion report |
44
+ | |
45
+ +---------------------------------------------------------------------------+
46
+ ```
47
+ </purpose>
48
+
49
+ <context>
50
+ $ARGUMENTS -- optional flags for rebuild control.
51
+
52
+ **Usage**:
53
+
54
+ ```bash
55
+ $manage-codebase-rebuild ""
56
+ $manage-codebase-rebuild -y "--force"
57
+ $manage-codebase-rebuild -c 5 "--force --skip-commit"
58
+ $manage-codebase-rebuild --continue "rebuild-full-20260318"
59
+ ```
60
+
61
+ **Flags**:
62
+ - `-y, --yes`: Skip all confirmations (auto mode, implies --force)
63
+ - `-c, --concurrency N`: Max concurrent agents (default: 5)
64
+ - `--continue`: Resume existing session
65
+
66
+ **Inner flags** (passed inside quotes):
67
+ - `--force`: Clear existing .workflow/codebase/ and rebuild from scratch
68
+ - `--skip-commit`: Do not auto-commit after rebuild
69
+
70
+ When `--yes` or `-y`: Auto-confirm rebuild (implies --force), skip all prompts.
71
+
72
+ **Output Directory**: `.workflow/.csv-wave/{session-id}/`
73
+ **Core Output**: `tasks.csv` (master state) + `results.csv` (final) + `discoveries.ndjson` (shared exploration) + `context.md` (human-readable report)
74
+ **Target**: `.workflow/codebase/` (doc-index.json, tech-registry/, feature-maps/)
75
+ </context>
76
+
77
+ <csv_schema>
78
+
79
+ ### tasks.csv (Master State)
80
+
81
+ ```csv
82
+ id,title,description,doc_dimension,output_path,deps,context_from,wave,status,findings,error
83
+ "1","Component Scanner","Scan all source directories for components: models, services, controllers, utils, types, config, middleware, core modules. For each component extract exported symbols, determine type, record code locations. Output JSON array of component entries with id (TC-NNN), name, type, code_locations, symbols.","components",".workflow/codebase/doc-index.json#components","","","1","","",""
84
+ "2","Feature Mapper","Group discovered components by domain/functional area using directory proximity, naming patterns, and import relationships. Map features to requirements if .workflow/task-specs/ exists. Output JSON array of feature entries with id (FT-NNN), name, status, component_ids, requirement_ids, phase.","features",".workflow/codebase/doc-index.json#features","","","1","","",""
85
+ "3","Requirement Linker","If .workflow/task-specs/ exists, scan SPEC-*/requirements/REQ-*.md files. Parse requirement metadata (title, priority, acceptance_criteria). Match requirements to features by keyword analysis. Also scan for ADR-*.md architecture decisions. Output JSON arrays for requirements and architecture_decisions.","requirements",".workflow/codebase/doc-index.json#requirements","","","1","","",""
86
+ "4","Tech Registry Writer","For each component discovered, generate a markdown documentation file in .workflow/codebase/tech-registry/{slug}.md with: ID, type, features, code locations, exported symbols, dependencies. Generate _index.md with component table. Output file count and paths.","tech-registry",".workflow/codebase/tech-registry/","","","1","","",""
87
+ "5","Feature Map Writer","For each feature discovered, generate a markdown documentation file in .workflow/codebase/feature-maps/{slug}.md with: ID, status, phase, requirements, component table. Generate _index.md with feature table. Output file count and paths.","feature-maps",".workflow/codebase/feature-maps/","","","1","","",""
88
+ ```
89
+
90
+ **Columns**:
91
+
92
+ | Column | Phase | Description |
93
+ |--------|-------|-------------|
94
+ | `id` | Input | Generator identifier |
95
+ | `title` | Input | Doc generator dimension title |
96
+ | `description` | Input | Detailed generation instructions |
97
+ | `doc_dimension` | Input | Documentation dimension: components/features/requirements/tech-registry/feature-maps |
98
+ | `output_path` | Input | Target output path in .workflow/codebase/ |
99
+ | `deps` | Input | Empty (all independent) |
100
+ | `context_from` | Input | Empty (no cross-task context needed) |
101
+ | `wave` | Computed | Always 1 (single wave, independent parallel) |
102
+ | `status` | Output | `pending` -> `completed` / `failed` / `skipped` |
103
+ | `findings` | Output | Generation summary -- counts, paths, notes (max 500 chars) |
104
+ | `error` | Output | Error message if failed |
105
+
106
+ ### Per-Wave CSV (Temporary)
107
+
108
+ Single wave generates `wave-1.csv`. No `prev_context` needed (all tasks independent).
109
+ </csv_schema>
110
+
111
+ <invariants>
112
+ 1. **Start Immediately**: First action is session initialization, then Phase 1
113
+ 2. **CSV is Source of Truth**: tasks.csv holds all generator state
114
+ 3. **Discovery Board is Append-Only**: Generators share findings via NDJSON
115
+ 4. **Partial Results OK**: If 3/5 generators succeed, still assemble available docs
116
+ 5. **Destructive by Design**: This is a full rebuild -- existing codebase/ is cleared
117
+ 6. **Single Wave**: All generators are independent, no wave ordering needed
118
+ 7. **Cleanup Temp Files**: Remove wave-1.csv after results are merged
119
+ 8. **DO NOT STOP**: Execute until all generators complete or fail
120
+ </invariants>
121
+
122
+ <execution>
123
+
124
+ ### Output Artifacts
125
+
126
+ | File | Purpose | Lifecycle |
127
+ |------|---------|-----------|
128
+ | `tasks.csv` | Master state -- all tasks with status/findings | Updated after wave |
129
+ | `wave-1.csv` | Wave input (temporary) | Created before wave, deleted after |
130
+ | `wave-1-results.csv` | Wave output | Created by spawn_agents_on_csv |
131
+ | `results.csv` | Final export of all task results | Created in Phase 3 |
132
+ | `discoveries.ndjson` | Shared exploration board | Append-only during wave |
133
+ | `context.md` | Human-readable rebuild report | Created in Phase 3 |
134
+
135
+ ### Target Output (in .workflow/codebase/)
136
+
137
+ | File | Description |
138
+ |------|-------------|
139
+ | `doc-index.json` | Single source of truth: components, features, requirements, ADRs |
140
+ | `tech-registry/_index.md` | Component index table |
141
+ | `tech-registry/{slug}.md` | Per-component documentation |
142
+ | `feature-maps/_index.md` | Feature index table |
143
+ | `feature-maps/{slug}.md` | Per-feature documentation |
144
+
145
+ ### Session Structure
146
+
147
+ ```
148
+ .workflow/.csv-wave/rebuild-{scope}-{date}/
149
+ +-- tasks.csv
150
+ +-- results.csv
151
+ +-- discoveries.ndjson
152
+ +-- context.md
153
+ +-- config.json
154
+ +-- wave-1.csv (temporary)
155
+ +-- wave-1-results.csv (temporary)
156
+ ```
157
+
158
+ ### Session Initialization
159
+
160
+ ```javascript
161
+ const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
162
+
163
+ // Parse flags
164
+ const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
165
+ const continueMode = $ARGUMENTS.includes('--continue')
166
+ const concurrencyMatch = $ARGUMENTS.match(/(?:--concurrency|-c)\s+(\d+)/)
167
+ const maxConcurrency = concurrencyMatch ? parseInt(concurrencyMatch[1]) : 5
168
+
169
+ // Parse rebuild-specific flags
170
+ const forceMode = $ARGUMENTS.includes('--force') || AUTO_YES
171
+ const skipCommit = $ARGUMENTS.includes('--skip-commit')
172
+
173
+ const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
174
+ const sessionId = `rebuild-full-${dateStr}`
175
+ const sessionFolder = `.workflow/.csv-wave/${sessionId}`
176
+
177
+ Bash(`mkdir -p ${sessionFolder}`)
178
+ ```
179
+
180
+ ### Phase 1: Setup -> CSV
181
+
182
+ **Objective**: Validate prerequisites, prepare directory, detect source dirs, generate tasks.csv.
183
+
184
+ **Steps**:
185
+
186
+ 1. **Validate .workflow/ exists**:
187
+ - Check `.workflow/state.json` exists
188
+ - If not: abort with "Run init first"
189
+
190
+ 2. **Confirm rebuild**:
191
+ - If `.workflow/codebase/` exists AND NOT forceMode:
192
+ ```
193
+ AskUserQuestion: "Codebase docs already exist. Rebuild will overwrite all files. Continue? [y/N]"
194
+ If no: exit
195
+ ```
196
+ - If forceMode or confirmed: clear `.workflow/codebase/`
197
+
198
+ 3. **Prepare directory structure**:
199
+ ```bash
200
+ mkdir -p .workflow/codebase/tech-registry
201
+ mkdir -p .workflow/codebase/feature-maps
202
+ mkdir -p .workflow/codebase/action-logs
203
+ ```
204
+
205
+ 4. **Detect source directories**:
206
+ - Check for: `src/`, `lib/`, `app/`, `packages/`
207
+ - Read `project-tech.json` if available for `source_dirs`
208
+ - If no source directories found: abort with "No source files in project"
209
+
210
+ 5. **Load project specs** (if available):
211
+ - Read `.workflow/specs/` for architecture context
212
+
213
+ 6. **Generate tasks.csv**: 5 rows, all wave 1, no dependencies.
214
+
215
+ 7. **User validation**: Display doc generator breakdown. Skip if AUTO_YES.
216
+
217
+ ### Phase 2: Wave Execution (Single Wave)
218
+
219
+ **Objective**: Run all 5 doc generators concurrently via spawn_agents_on_csv.
220
+
221
+ #### Wave 1: All Generators (Parallel)
222
+
223
+ 1. Read master `tasks.csv`
224
+ 2. Filter rows where `wave == 1` AND `status == pending`
225
+ 3. No prev_context needed (single wave, all independent)
226
+ 4. Write `wave-1.csv`
227
+ 5. Execute:
228
+
229
+ ```javascript
230
+ spawn_agents_on_csv({
231
+ csv_path: `${sessionFolder}/wave-1.csv`,
232
+ id_column: "id",
233
+ instruction: buildRebuildInstruction(sessionFolder, sourceDirs),
234
+ max_concurrency: maxConcurrency,
235
+ max_runtime_seconds: 900,
236
+ output_csv_path: `${sessionFolder}/wave-1-results.csv`,
237
+ output_schema: {
238
+ type: "object",
239
+ properties: {
240
+ id: { type: "string" },
241
+ status: { type: "string", enum: ["completed", "failed"] },
242
+ findings: { type: "string" },
243
+ error: { type: "string" }
244
+ },
245
+ required: ["id", "status", "findings"]
246
+ }
247
+ })
248
+ ```
249
+
250
+ 6. Read `wave-1-results.csv`, merge into master `tasks.csv`
251
+ 7. Delete `wave-1.csv`
252
+
253
+ ### Phase 3: Results -> .workflow/codebase/
254
+
255
+ **Objective**: Assemble doc-index.json from agent findings, validate, update state.
256
+
257
+ 1. Read final master `tasks.csv`
258
+ 2. Export as `results.csv`
259
+
260
+ 3. **Assemble doc-index.json**:
261
+ - Read component findings from task 1 (Component Scanner)
262
+ - Read feature findings from task 2 (Feature Mapper)
263
+ - Read requirement/ADR findings from task 3 (Requirement Linker)
264
+ - Merge into complete doc-index.json:
265
+ ```json
266
+ {
267
+ "version": "1.0",
268
+ "schema_version": "1.0",
269
+ "project": "<project name>",
270
+ "last_updated": "<ISO>",
271
+ "features": [],
272
+ "components": [],
273
+ "requirements": [],
274
+ "architecture_decisions": [],
275
+ "actions": []
276
+ }
277
+ ```
278
+ - Write to `.workflow/codebase/doc-index.json`
279
+
280
+ 4. **Validate output files**:
281
+ - Check doc-index.json exists and is valid JSON
282
+ - Check tech-registry/_index.md exists (from task 4)
283
+ - Check feature-maps/_index.md exists (from task 5)
284
+ - Log warnings for any missing files
285
+
286
+ 5. **Update state.json**: Set `codebase.last_rebuild` timestamp.
287
+
288
+ 6. **Generate context.md**:
289
+
290
+ ```markdown
291
+ # Codebase Rebuild Report
292
+
293
+ ## Summary
294
+ - Components discovered: {count}
295
+ - Features mapped: {count}
296
+ - Requirements linked: {count}
297
+ - ADRs recorded: {count}
298
+ - Files generated: {count}
299
+ - Generators: {completed}/{total} succeeded
300
+
301
+ ## Generator Results
302
+ | Generator | Status | Output | Findings |
303
+ |-----------|--------|--------|----------|
304
+ | Component Scanner | {status} | {count} components | {summary} |
305
+ | Feature Mapper | {status} | {count} features | {summary} |
306
+ | Requirement Linker | {status} | {count} requirements | {summary} |
307
+ | Tech Registry Writer | {status} | {count} files | {summary} |
308
+ | Feature Map Writer | {status} | {count} files | {summary} |
309
+
310
+ ## Discovery Board Summary
311
+ {aggregated discovery findings}
312
+
313
+ ## Next Steps
314
+ - Run manage-status to review
315
+ - Run manage-codebase-refresh for future incremental updates
316
+ ```
317
+
318
+ 7. **Auto-commit** (unless --skip-commit):
319
+ - Stage `.workflow/codebase/` files
320
+ - Suggest commit: "docs(codebase): full rebuild of codebase documentation"
321
+
322
+ 8. **Display completion report**:
323
+
324
+ ```
325
+ === CODEBASE REBUILD COMPLETE ===
326
+ Components: {count}
327
+ Features: {count}
328
+ Requirements: {count}
329
+ ADRs: {count}
330
+ Files: {count} generated in .workflow/codebase/
331
+
332
+ Generators: {completed}/{total} succeeded
333
+ {if failures: "W001: {failed_generator} failed -- partial results available"}
334
+
335
+ Next steps:
336
+ Skill({ skill: "manage-status" })
337
+ Skill({ skill: "manage-codebase-refresh" })
338
+ ```
339
+
340
+ ### Shared Discovery Board Protocol
341
+
342
+ #### Standard Discovery Types
343
+
344
+ | Type | Dedup Key | Data Schema | Description |
345
+ |------|-----------|-------------|-------------|
346
+ | `tech_stack` | singleton | `{framework, language, tools[]}` | Technology stack identified |
347
+ | `code_pattern` | `data.name` | `{name, file, description}` | Reusable code pattern found |
348
+ | `integration_point` | `data.file` | `{file, description, exports[]}` | Module connection point |
349
+ | `convention` | singleton | `{naming, imports, formatting}` | Project coding conventions |
350
+
351
+ #### Domain Discovery Types
352
+
353
+ | Type | Dedup Key | Data Schema | Description |
354
+ |------|-----------|-------------|-------------|
355
+ | `component` | `data.id` | `{id, name, type, code_locations[]}` | Component discovered by scanner |
356
+ | `feature_group` | `data.name` | `{name, component_ids[], directory}` | Feature grouping identified |
357
+
358
+ #### Protocol
359
+
360
+ 1. **Read** `{session_folder}/discoveries.ndjson` before own analysis
361
+ 2. **Skip covered**: If discovery of same type + dedup key exists, skip
362
+ 3. **Write immediately**: Append findings as discovered
363
+ 4. **Append-only**: Never modify or delete
364
+ 5. **Deduplicate**: Check before writing
365
+
366
+ ```bash
367
+ echo '{"ts":"<ISO>","worker":"1","type":"tech_stack","data":{"framework":"Express","language":"TypeScript","tools":["jest","eslint","prettier"]}}' >> {session_folder}/discoveries.ndjson
368
+ ```
369
+
370
+ Generators share discoveries so other generators can skip redundant scanning (e.g., Component Scanner discovers components, Feature Mapper and Tech Registry Writer can leverage those findings).
371
+ </execution>
372
+
373
+ <error_codes>
374
+ | Error | Resolution |
375
+ |-------|------------|
376
+ | .workflow/ not initialized | Abort: "Run init first" (E001) |
377
+ | No source directories found | Abort: "No source files in project" |
378
+ | .workflow/codebase/ exists without --force | Prompt user for confirmation |
379
+ | Generator agent timeout | Mark as failed, continue with other generators |
380
+ | Generator agent failed | Mark as failed, log W001, output partial results |
381
+ | doc-index.json assembly fails | Use available generator outputs, log missing sections |
382
+ | CSV parse error | Validate format, show line number |
383
+ | discoveries.ndjson corrupt | Ignore malformed lines |
384
+ | Continue mode: no session found | List available sessions |
385
+ </error_codes>
386
+
387
+ <success_criteria>
388
+ - [ ] Session initialized with tasks.csv
389
+ - [ ] .workflow/codebase/ cleared (if --force or confirmed)
390
+ - [ ] All 5 doc generators executed via spawn_agents_on_csv
391
+ - [ ] doc-index.json assembled from generator findings
392
+ - [ ] tech-registry/ and feature-maps/ populated with markdown docs
393
+ - [ ] state.json updated with rebuild timestamp
394
+ - [ ] context.md generated with rebuild report
395
+ - [ ] Auto-commit performed (unless --skip-commit)
396
+ - [ ] Completion report displayed with counts and next steps
397
+ </success_criteria>