maestro-flow 0.3.15 → 0.3.17

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 (390) hide show
  1. package/.claude/agents/workflow-planner.md +24 -8
  2. package/.claude/commands/maestro-amend.md +300 -0
  3. package/.claude/commands/maestro-analyze.md +1 -49
  4. package/.claude/commands/maestro-execute.md +2 -56
  5. package/.claude/commands/maestro-fork.md +3 -50
  6. package/.claude/commands/maestro-merge.md +2 -26
  7. package/.claude/commands/maestro-milestone-audit.md +1 -5
  8. package/.claude/commands/maestro-milestone-complete.md +1 -7
  9. package/.claude/commands/maestro-plan.md +6 -127
  10. package/.claude/commands/maestro-roadmap.md +3 -101
  11. package/.claude/commands/maestro-spec-generate.md +1 -25
  12. package/.claude/commands/maestro-ui-design.md +14 -73
  13. package/.claude/commands/maestro-verify.md +1 -32
  14. package/.claude/commands/maestro.md +13 -30
  15. package/.claude/commands/manage-harvest.md +7 -44
  16. package/.claude/commands/manage-knowhow-capture.md +193 -0
  17. package/.claude/commands/{manage-memory.md → manage-knowhow.md} +77 -88
  18. package/.claude/commands/manage-learn.md +3 -28
  19. package/.claude/commands/manage-status.md +1 -20
  20. package/.claude/commands/manage-wiki.md +1 -1
  21. package/.claude/commands/quality-business-test.md +1 -1
  22. package/.claude/commands/quality-debug.md +3 -18
  23. package/.claude/commands/quality-integration-test.md +3 -23
  24. package/.claude/commands/quality-retrospective.md +1 -28
  25. package/.claude/commands/quality-review.md +3 -52
  26. package/.claude/commands/quality-test-gen.md +1 -10
  27. package/.claude/commands/quality-test.md +3 -25
  28. package/.claude/commands/spec-add.md +1 -21
  29. package/.claude/commands/spec-load.md +1 -16
  30. package/.claude/commands/wiki-connect.md +2 -112
  31. package/.claude/commands/wiki-digest.md +2 -141
  32. package/.codex/skills/learn-decompose/SKILL.md +2 -8
  33. package/.codex/skills/maestro/SKILL.md +60 -146
  34. package/.codex/skills/maestro-analyze/SKILL.md +52 -150
  35. package/.codex/skills/maestro-brainstorm/SKILL.md +36 -91
  36. package/.codex/skills/maestro-composer/SKILL.md +4 -76
  37. package/.codex/skills/maestro-execute/SKILL.md +46 -177
  38. package/.codex/skills/maestro-init/SKILL.md +7 -51
  39. package/.codex/skills/maestro-link-coordinate/SKILL.md +56 -229
  40. package/.codex/skills/maestro-milestone-audit/SKILL.md +7 -36
  41. package/.codex/skills/maestro-milestone-complete/SKILL.md +11 -93
  42. package/.codex/skills/maestro-overlay/SKILL.md +23 -92
  43. package/.codex/skills/maestro-plan/SKILL.md +70 -166
  44. package/.codex/skills/maestro-player/SKILL.md +24 -149
  45. package/.codex/skills/maestro-quick/SKILL.md +5 -48
  46. package/.codex/skills/maestro-roadmap/SKILL.md +21 -66
  47. package/.codex/skills/maestro-spec-generate/SKILL.md +20 -56
  48. package/.codex/skills/maestro-ui-design/SKILL.md +6 -53
  49. package/.codex/skills/maestro-verify/SKILL.md +39 -136
  50. package/.codex/skills/manage-codebase-rebuild/SKILL.md +25 -75
  51. package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -32
  52. package/.codex/skills/manage-issue/SKILL.md +1 -6
  53. package/.codex/skills/manage-issue-discover/SKILL.md +33 -93
  54. package/.codex/skills/{manage-memory → manage-knowhow}/SKILL.md +95 -95
  55. package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -0
  56. package/.codex/skills/manage-learn/SKILL.md +17 -71
  57. package/.codex/skills/manage-status/SKILL.md +4 -35
  58. package/.codex/skills/manage-wiki/SKILL.md +1 -1
  59. package/.codex/skills/quality-business-test/SKILL.md +2 -14
  60. package/.codex/skills/quality-debug/SKILL.md +41 -133
  61. package/.codex/skills/quality-integration-test/SKILL.md +36 -145
  62. package/.codex/skills/quality-refactor/SKILL.md +6 -59
  63. package/.codex/skills/quality-retrospective/SKILL.md +292 -531
  64. package/.codex/skills/quality-review/SKILL.md +30 -65
  65. package/.codex/skills/quality-sync/SKILL.md +2 -11
  66. package/.codex/skills/quality-test/SKILL.md +4 -45
  67. package/.codex/skills/quality-test-gen/SKILL.md +33 -121
  68. package/.codex/skills/spec-add/SKILL.md +2 -9
  69. package/.codex/skills/spec-load/SKILL.md +4 -14
  70. package/.codex/skills/spec-map/SKILL.md +4 -37
  71. package/.codex/skills/spec-remove/SKILL.md +3 -35
  72. package/.codex/skills/spec-setup/SKILL.md +2 -19
  73. package/.codex/skills/team-coordinate/SKILL.md +20 -132
  74. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +61 -215
  75. package/.codex/skills/team-executor/SKILL.md +7 -66
  76. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +60 -182
  77. package/.codex/skills/team-executor/specs/session-schema.md +22 -56
  78. package/.codex/skills/team-lifecycle-v4/SKILL.md +22 -143
  79. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +31 -223
  80. package/.codex/skills/team-quality-assurance/SKILL.md +14 -88
  81. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +46 -186
  82. package/.codex/skills/team-review/SKILL.md +12 -86
  83. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +49 -187
  84. package/.codex/skills/team-tech-debt/SKILL.md +11 -50
  85. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +50 -239
  86. package/.codex/skills/team-testing/SKILL.md +14 -99
  87. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +52 -228
  88. package/.codex/skills/wiki-connect/SKILL.md +2 -5
  89. package/README.md +6 -0
  90. package/README.zh-CN.md +6 -0
  91. package/chains/_intent-map.json +7 -7
  92. package/chains/singles/{memory-capture.json → knowhow-capture.json} +5 -5
  93. package/chains/singles/{memory.json → knowhow.json} +6 -6
  94. package/dashboard/dist/assets/{ArtifactsPage-CUrrDGgN.js → ArtifactsPage-iJZtYsmR.js} +6 -6
  95. package/dashboard/dist/assets/ChatInput-DNnDLdQF.js +6 -0
  96. package/dashboard/dist/assets/ChatPage-BjBibfE4.js +22 -0
  97. package/dashboard/dist/assets/{CollabPage-DIUXeazv.js → CollabPage-8lUMUol_.js} +1 -1
  98. package/dashboard/dist/assets/{ExecutionPanel-VmYeADFj.js → ExecutionPanel-BKV3GZ7Q.js} +1 -1
  99. package/dashboard/dist/assets/{KanbanPage-DLq8v7hg.js → KanbanPage-diY3QmGd.js} +2 -2
  100. package/dashboard/dist/assets/{MarkdownRenderer-D7AehrnR.js → MarkdownRenderer-cYFfe1uX.js} +1 -1
  101. package/dashboard/dist/assets/McpPage-COjuIf7U.js +21 -0
  102. package/dashboard/dist/assets/MeetingRoomPage-wnvT7wlB.js +85 -0
  103. package/dashboard/dist/assets/{OutputPanel-B-Rjwgmv.js → OutputPanel-DDL90Idy.js} +1 -1
  104. package/dashboard/dist/assets/{ProblemsPanel-GEpF-oi4.js → ProblemsPanel-zFN9IIs0.js} +1 -1
  105. package/dashboard/dist/assets/{RequirementBoardPage-xs8uDM7I.js → RequirementBoardPage-DOPJoT0I.js} +2 -2
  106. package/dashboard/dist/assets/{RequirementPage-BKDSFwjA.js → RequirementPage-CEVquRgM.js} +1 -1
  107. package/dashboard/dist/assets/RoomsPage-D5USEWDh.js +1 -0
  108. package/dashboard/dist/assets/{SpecsPage-DLFb9ZH0.js → SpecsPage-BOwBin_o.js} +1 -1
  109. package/dashboard/dist/assets/{SupervisorPage-SOki_kgz.js → SupervisorPage-5iRyMU5T.js} +1 -1
  110. package/dashboard/dist/assets/TeamsPage-DlcEmr_Q.js +1 -0
  111. package/dashboard/dist/assets/{TreeBrowser-B9DHdULE.js → TreeBrowser-Y48Wz-QY.js} +1 -1
  112. package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +6 -0
  113. package/dashboard/dist/assets/arrow-left-NCUOENvg.js +6 -0
  114. package/dashboard/dist/assets/{check-DJDk3A2a.js → check-o7nfGNHf.js} +1 -1
  115. package/dashboard/dist/assets/{chevron-right-C7bVDreZ.js → chevron-right-BXySK2fn.js} +1 -1
  116. package/dashboard/dist/assets/{circle-alert-Na1vf6qQ.js → circle-alert-DcSBokh4.js} +1 -1
  117. package/dashboard/dist/assets/{circle-check-CEGgy3NV.js → circle-check-Cd-jce4j.js} +1 -1
  118. package/dashboard/dist/assets/{circle-check-big-3JB8zRYj.js → circle-check-big-BN7Mdp4i.js} +1 -1
  119. package/dashboard/dist/assets/{circle-Qfgy4LB_.js → circle-cooAwnAR.js} +1 -1
  120. package/dashboard/dist/assets/{code-Ble63Idz.js → code-BQa9oL1n.js} +1 -1
  121. package/dashboard/dist/assets/{columns-3-BUcKlxve.js → columns-3-BzgxelGx.js} +1 -1
  122. package/dashboard/dist/assets/{download-CMqkfn8x.js → download-swRJnate.js} +1 -1
  123. package/dashboard/dist/assets/en-C_BD3UCD.js +1 -0
  124. package/dashboard/dist/assets/{folder-B9ewx9LL.js → folder-DbGbLNFN.js} +1 -1
  125. package/dashboard/dist/assets/index-BEUaOz_b.css +1 -0
  126. package/dashboard/dist/assets/{index-JTmGteaT.js → index-DIoMBMbv.js} +1 -1
  127. package/dashboard/dist/assets/index-DLBN_7fb.js +44 -0
  128. package/dashboard/dist/assets/index-uIqUCT8y.js +236 -0
  129. package/dashboard/dist/assets/{list-DI8Wn2aT.js → list-BTRAIvDq.js} +1 -1
  130. package/dashboard/dist/assets/loader-NHtB6Mdn.js +6 -0
  131. package/dashboard/dist/assets/{minus-Lp_BfctG.js → minus-BjMxRTET.js} +1 -1
  132. package/dashboard/dist/assets/{pen-line-Ch7sphzZ.js → pen-line-C4_O16H0.js} +1 -1
  133. package/dashboard/dist/assets/{pencil-_yRMHmGT.js → pencil-DTmKhyDY.js} +1 -1
  134. package/dashboard/dist/assets/{proxy-D72Y8a4Y.js → proxy-Dtx5p6IO.js} +1 -1
  135. package/dashboard/dist/assets/rows-2-GR1dZtRu.js +6 -0
  136. package/dashboard/dist/assets/{search-BS6fI6Bg.js → search-DVtgy2W7.js} +1 -1
  137. package/dashboard/dist/assets/{shallow-BXasQBvr.js → shallow-BOmvDNsv.js} +1 -1
  138. package/dashboard/dist/assets/{table-CeGlFjlP.js → table-DCzuJAFh.js} +1 -1
  139. package/dashboard/dist/assets/team-types-BPeOvVdA.js +6 -0
  140. package/dashboard/dist/assets/{terminal-BJic2yW-.js → terminal-CzogW4cl.js} +1 -1
  141. package/dashboard/dist/assets/{trash-2-Czz4X8Fb.js → trash-2-52LATVfW.js} +1 -1
  142. package/dashboard/dist/assets/users-DLFE2voE.js +6 -0
  143. package/dashboard/dist/assets/{zap-C3H0jVFA.js → zap-DhiYlgyZ.js} +1 -1
  144. package/dashboard/dist/assets/zh-CN-DvQKfow3.js +1 -0
  145. package/dashboard/dist/index.html +2 -2
  146. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +2 -0
  147. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +19 -11
  148. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -0
  150. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
  151. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +1 -0
  152. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +21 -4
  153. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +8 -0
  155. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -1
  156. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +6 -6
  157. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  158. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +2 -2
  159. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -1
  160. package/dashboard/dist-server/dashboard/src/server/index.js +14 -3
  161. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  162. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.d.ts +24 -0
  163. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js +220 -0
  164. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js.map +1 -0
  165. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.d.ts +1 -0
  166. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js +115 -0
  167. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js.map +1 -0
  168. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.d.ts +44 -0
  169. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js +260 -0
  170. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js.map +1 -0
  171. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.d.ts +1 -0
  172. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js +194 -0
  173. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js.map +1 -0
  174. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.d.ts +2 -0
  175. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js +279 -0
  176. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js.map +1 -0
  177. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.d.ts +14 -0
  178. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js +131 -0
  179. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js.map +1 -0
  180. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.d.ts +1 -0
  181. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js +134 -0
  182. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js.map +1 -0
  183. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.d.ts +51 -0
  184. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js +185 -0
  185. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js.map +1 -0
  186. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.d.ts +29 -0
  187. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js +125 -0
  188. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js.map +1 -0
  189. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.d.ts +18 -0
  190. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js +63 -0
  191. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js.map +1 -0
  192. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.d.ts +19 -0
  193. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js +45 -0
  194. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js.map +1 -0
  195. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.d.ts +25 -0
  196. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js +115 -0
  197. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js.map +1 -0
  198. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.d.ts +53 -0
  199. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js +5 -0
  200. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js.map +1 -0
  201. package/dashboard/dist-server/dashboard/src/server/routes/agents.js +6 -0
  202. package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -1
  203. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +20 -1
  204. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
  205. package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +2 -1
  206. package/dashboard/dist-server/dashboard/src/server/routes/index.js +8 -1
  207. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  208. package/dashboard/dist-server/dashboard/src/server/routes/install.js +1 -1
  209. package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
  210. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +2 -2
  211. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
  212. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.d.ts +3 -0
  213. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js +246 -0
  214. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js.map +1 -0
  215. package/dashboard/dist-server/dashboard/src/server/routes/rooms.d.ts +3 -0
  216. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js +38 -0
  217. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js.map +1 -0
  218. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +7 -7
  219. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  220. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -1
  221. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  222. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +39 -1
  223. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +12 -0
  224. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  225. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
  226. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  227. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -14
  228. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  229. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +6 -6
  230. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  231. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +1 -1
  232. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +17 -16
  233. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  234. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +1 -1
  235. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +18 -7
  236. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  237. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +3 -1
  238. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +75 -1
  239. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
  240. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.d.ts +17 -0
  241. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js +192 -0
  242. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js.map +1 -0
  243. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.d.ts +13 -0
  244. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js +37 -0
  245. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js.map +1 -0
  246. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +7 -1
  247. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +39 -2
  248. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -1
  249. package/dashboard/dist-server/dashboard/src/shared/constants.js +12 -0
  250. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  251. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.d.ts +1 -0
  252. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js +38 -0
  253. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js.map +1 -0
  254. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +66 -0
  255. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  256. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +24 -3
  257. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +76 -2
  258. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  259. package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
  260. package/dashboard/dist-server/src/commands/delegate.js +11 -8
  261. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  262. package/dist/shared/agent-types.d.ts +2 -0
  263. package/dist/shared/agent-types.d.ts.map +1 -1
  264. package/dist/src/cli.js +2 -2
  265. package/dist/src/cli.js.map +1 -1
  266. package/dist/src/commands/delegate.d.ts.map +1 -1
  267. package/dist/src/commands/delegate.js +11 -8
  268. package/dist/src/commands/delegate.js.map +1 -1
  269. package/dist/src/commands/install-backend.d.ts +1 -1
  270. package/dist/src/commands/install-backend.d.ts.map +1 -1
  271. package/dist/src/commands/install-backend.js +1 -1
  272. package/dist/src/commands/install-backend.js.map +1 -1
  273. package/dist/src/commands/install-ui/ExecutionView.d.ts.map +1 -1
  274. package/dist/src/commands/install-ui/ExecutionView.js +4 -1
  275. package/dist/src/commands/install-ui/ExecutionView.js.map +1 -1
  276. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  277. package/dist/src/commands/install-ui/InstallExecution.js +4 -1
  278. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  279. package/dist/src/commands/install.js +5 -5
  280. package/dist/src/commands/install.js.map +1 -1
  281. package/dist/src/commands/knowhow.d.ts +10 -0
  282. package/dist/src/commands/knowhow.d.ts.map +1 -0
  283. package/dist/src/commands/knowhow.js +217 -0
  284. package/dist/src/commands/knowhow.js.map +1 -0
  285. package/dist/src/commands/overlay-ui/OverlayList.d.ts +2 -0
  286. package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -1
  287. package/dist/src/commands/overlay-ui/OverlayList.js +6 -3
  288. package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -1
  289. package/dist/src/commands/overlay-ui/index.d.ts.map +1 -1
  290. package/dist/src/commands/overlay-ui/index.js +70 -44
  291. package/dist/src/commands/overlay-ui/index.js.map +1 -1
  292. package/dist/src/commands/overlay.d.ts.map +1 -1
  293. package/dist/src/commands/overlay.js +4 -3
  294. package/dist/src/commands/overlay.js.map +1 -1
  295. package/dist/src/commands/update.d.ts.map +1 -1
  296. package/dist/src/commands/update.js +31 -21
  297. package/dist/src/commands/update.js.map +1 -1
  298. package/dist/src/core/manifest.d.ts +8 -1
  299. package/dist/src/core/manifest.d.ts.map +1 -1
  300. package/dist/src/core/manifest.js +3 -1
  301. package/dist/src/core/manifest.js.map +1 -1
  302. package/dist/src/core/overlay/applier.d.ts +1 -1
  303. package/dist/src/core/overlay/applier.d.ts.map +1 -1
  304. package/dist/src/core/overlay/applier.js +40 -13
  305. package/dist/src/core/overlay/applier.js.map +1 -1
  306. package/dist/src/core/overlay/loader.d.ts.map +1 -1
  307. package/dist/src/core/overlay/loader.js +6 -0
  308. package/dist/src/core/overlay/loader.js.map +1 -1
  309. package/dist/src/core/overlay/types.d.ts +5 -1
  310. package/dist/src/core/overlay/types.d.ts.map +1 -1
  311. package/dist/src/core/overlay/types.js +1 -1
  312. package/dist/src/core/overlay/types.js.map +1 -1
  313. package/dist/src/hooks/context-monitor.js +1 -1
  314. package/dist/src/hooks/context-monitor.js.map +1 -1
  315. package/dist/src/hooks/skill-context.js +1 -1
  316. package/dist/src/hooks/skill-context.js.map +1 -1
  317. package/dist/src/mcp/delegate-channel-relay.d.ts +4 -0
  318. package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
  319. package/dist/src/mcp/delegate-channel-relay.js +73 -4
  320. package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
  321. package/dist/src/tools/index.js +2 -2
  322. package/dist/src/tools/index.js.map +1 -1
  323. package/dist/src/tools/store-knowhow.d.ts +21 -0
  324. package/dist/src/tools/store-knowhow.d.ts.map +1 -0
  325. package/dist/src/tools/store-knowhow.js +295 -0
  326. package/dist/src/tools/store-knowhow.js.map +1 -0
  327. package/package.json +1 -1
  328. package/shared/agent-types.ts +2 -0
  329. package/workflows/analyze.md +61 -185
  330. package/workflows/brainstorm.md +3 -23
  331. package/workflows/codebase-rebuild.md +79 -191
  332. package/workflows/codebase-refresh.md +26 -124
  333. package/workflows/debug.md +21 -141
  334. package/workflows/execute.md +183 -350
  335. package/workflows/fork.md +72 -230
  336. package/workflows/harvest.md +12 -79
  337. package/workflows/init.md +3 -17
  338. package/workflows/integration-test.md +21 -190
  339. package/workflows/issue-analyze.md +35 -153
  340. package/workflows/issue-discover.md +88 -263
  341. package/workflows/issue-execute.md +29 -208
  342. package/workflows/issue-plan.md +33 -154
  343. package/workflows/issue.md +44 -202
  344. package/workflows/knowhow.md +374 -0
  345. package/workflows/learn.md +30 -177
  346. package/workflows/maestro-coordinate.codex.md +77 -362
  347. package/workflows/maestro-link-coordinate.md +12 -61
  348. package/workflows/maestro.codex.md +124 -457
  349. package/workflows/maestro.md +562 -976
  350. package/workflows/map.md +16 -53
  351. package/workflows/merge.md +42 -197
  352. package/workflows/milestone-audit.md +5 -43
  353. package/workflows/milestone-complete.md +11 -60
  354. package/workflows/plan.md +188 -387
  355. package/workflows/quick.md +25 -174
  356. package/workflows/refactor.md +28 -221
  357. package/workflows/retrospective.md +104 -443
  358. package/workflows/review.md +87 -299
  359. package/workflows/roadmap.md +117 -97
  360. package/workflows/spec-generate.md +22 -118
  361. package/workflows/specs-add.md +5 -25
  362. package/workflows/specs-load.md +1 -5
  363. package/workflows/specs-remove.md +0 -11
  364. package/workflows/specs-setup.md +11 -47
  365. package/workflows/status.md +58 -200
  366. package/workflows/sync.md +28 -141
  367. package/workflows/test-gen.md +23 -100
  368. package/workflows/test.md +15 -125
  369. package/workflows/ui-design.md +139 -465
  370. package/workflows/ui-style.md +36 -228
  371. package/workflows/verify.md +52 -273
  372. package/workflows/wiki-connect.md +9 -46
  373. package/workflows/wiki-digest.md +7 -50
  374. package/workflows/wiki-manage.md +11 -108
  375. package/.claude/commands/maestro-coordinate.md +0 -63
  376. package/.claude/commands/manage-memory-capture.md +0 -59
  377. package/.codex/skills/maestro-coordinate/SKILL.md +0 -213
  378. package/.codex/skills/manage-memory-capture/SKILL.md +0 -93
  379. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +0 -49
  380. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +0 -27
  381. package/dashboard/dist/assets/McpPage-BY0SjTgw.js +0 -21
  382. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +0 -11
  383. package/dashboard/dist/assets/WorkflowPage-C8hWbYim.js +0 -6
  384. package/dashboard/dist/assets/en-ZbRpfzuP.js +0 -1
  385. package/dashboard/dist/assets/index-C2Mcb4TJ.js +0 -231
  386. package/dashboard/dist/assets/index-DyBbPc18.css +0 -1
  387. package/dashboard/dist/assets/loader-B5F6PzFT.js +0 -11
  388. package/dashboard/dist/assets/zh-CN-CoXBFuny.js +0 -1
  389. package/workflows/maestro-coordinate.md +0 -582
  390. package/workflows/memory.md +0 -451
@@ -126,16 +126,7 @@ Parse $ARGUMENTS to determine execution mode:
126
126
  - None + single role mode → error E002
127
127
 
128
128
  **Output Directory Resolution**:
129
- - Phase mode (number):
130
- ```
131
- Read .workflow/state.json → state
132
- artifacts = state.artifacts ?? []
133
- art = artifacts.find(a => a.phase === phaseNum)
134
- IF art:
135
- output_dir = ".workflow/" + art.path + "/.brainstorming/"
136
- ELSE:
137
- ERROR "Phase {phaseNum} not found in artifact registry"
138
- ```
129
+ - Phase mode (number): resolve `state.json.artifacts[phase == phaseNum].path` → `.workflow/{path}/.brainstorming/` (ERROR if phase not found)
139
130
  - All output: `.workflow/scratch/brainstorm-{slug}-{date}/`
140
131
  - Existing session: use existing session directory
141
132
 
@@ -210,19 +201,8 @@ If research fails (W005): `designResearchContext = null`, continue without exter
210
201
 
211
202
  Load existing project history to ground brainstorming in what's already been built:
212
203
 
213
- ```
214
- IF .workflow/project.md exists:
215
- Read project.md:
216
- - "### Validated" → already_shipped (features already delivered)
217
- - "### Active" → current_scope
218
- - "## Context" → project_history (milestone summaries)
219
-
220
- IF .workflow/state.json exists:
221
- Read state.json.accumulated_context:
222
- - deferred[] → deferred_items (candidates for brainstorming focus)
223
- - key_decisions[] → existing_constraints
224
-
225
- ```
204
+ - From `.workflow/project.md`: `### Validated` → already_shipped, `### Active` → current_scope, `## Context` → project_history
205
+ - From `.workflow/state.json.accumulated_context`: `deferred[]` → deferred_items, `key_decisions[]` → existing_constraints
226
206
 
227
207
  Pass `project_context` into Step 2 (terminology) and Step 3 (framework generation):
228
208
  - `already_shipped` informs what exists — brainstorm should explore extensions, not re-invent
@@ -27,58 +27,35 @@ Full rebuild of the `.workflow/codebase/` documentation system.
27
27
  ### Step 1: Prepare Directory Structure
28
28
 
29
29
  ```
30
- Create (or clear if --force) the codebase directory:
31
-
32
- .workflow/codebase/
33
- doc-index.json
34
- tech-registry/
35
- _index.md
36
- feature-maps/
37
- _index.md
38
- action-logs/
39
-
40
- If directories exist and --force not set:
41
- AskUserQuestion: "Codebase docs already exist. Rebuild will overwrite. Continue? [y/N]"
42
- If no: exit
30
+ Create (or clear if --force) .workflow/codebase/:
31
+ doc-index.json, tech-registry/_index.md, feature-maps/_index.md, action-logs/
32
+
33
+ If exists and not --force: confirm overwrite or exit.
43
34
  ```
44
35
 
45
36
  ### Step 2: Scan Project Structure — Components
46
37
 
47
38
  ```
48
- Scan src/ (and other source directories) for components:
49
-
50
- a. Identify source directories:
51
- - Check for: src/, lib/, app/, packages/
52
- - Read project.md Tech Stack section if available for context
53
-
54
- b. For each source directory, scan for component-forming files:
55
- - Directories that represent modules (contain index.ts/index.js or multiple files)
56
- - Key file patterns:
57
- - Models: *model*, *entity*, *schema* files
58
- - Services: *service*, *provider* files
59
- - Controllers: *controller*, *handler*, *route* files
60
- - Utils: *util*, *helper*, *common* files
61
- - Types: *type*, *interface*, *.d.ts files
62
- - Config: *config*, *constant* files
63
- - Middleware: *middleware*, *guard*, *interceptor* files
64
- - Core: *core*, *registry*, *loader* files
65
-
66
- c. For each identified component:
67
- - Read the file(s)
68
- - Extract exported symbols (classes, functions, interfaces, types, constants)
69
- - Determine component type (model, service, controller, util, config, middleware, core)
70
- - Build component entry:
71
- {
72
- "id": "TC-{NNN}", // Sequential, zero-padded 3 digits
73
- "name": "{PascalCase name}",
74
- "type": "{type}",
75
- "code_locations": ["{relative paths}"],
76
- "feature_ids": [], // Populated in Step 3
77
- "symbols": ["{exported symbol names}"],
78
- "last_updated": "{ISO timestamp}"
79
- }
80
-
81
- d. ID assignment: TC-001, TC-002, ... in discovery order
39
+ Scan source directories (src/, lib/, app/, packages/) for components.
40
+ Use project.md Tech Stack for context if available.
41
+
42
+ Classify files by naming pattern:
43
+ Models (*model*, *entity*, *schema*), Services (*service*, *provider*),
44
+ Controllers (*controller*, *handler*, *route*), Utils (*util*, *helper*),
45
+ Types (*type*, *interface*, *.d.ts), Config (*config*, *constant*),
46
+ Middleware (*middleware*, *guard*, *interceptor*), Core (*core*, *registry*, *loader*)
47
+
48
+ For each component: read files, extract exported symbols, determine type.
49
+ Build component entry:
50
+ {
51
+ "id": "TC-{NNN}", // Sequential TC-001, TC-002, ...
52
+ "name": "{PascalCase name}",
53
+ "type": "{type}",
54
+ "code_locations": ["{relative paths}"],
55
+ "feature_ids": [], // Populated in Step 3
56
+ "symbols": ["{exported symbol names}"],
57
+ "last_updated": "{ISO timestamp}"
58
+ }
82
59
  ```
83
60
 
84
61
  ### Step 2.5: Load Project Specs
@@ -94,71 +71,54 @@ Used in Step 2-4 to produce architecture-aware documentation.
94
71
  ### Step 3: Scan Project Structure — Features
95
72
 
96
73
  ```
97
- Group components by domain/functional area:
98
-
99
- a. Heuristics for grouping:
100
- - Directory proximity (components in same directory = likely same feature)
101
- - Naming patterns (auth.service + auth.controller + auth.model = "Authentication")
102
- - Import relationships (files that import each other = related)
103
- - task-specs/ requirements mapping (if available)
104
-
105
- b. For each identified feature group:
106
- - Determine feature name from common prefix or directory name
107
- - Collect component IDs
108
- - Map to requirements if task-specs/ REQ-* files exist
109
- - Determine phase association from roadmap.md if available
110
- - Build feature entry:
111
- {
112
- "id": "FT-{NNN}",
113
- "name": "{Feature Name}",
114
- "status": "active",
115
- "requirement_ids": [], // From task-specs mapping
116
- "component_ids": ["TC-001", "TC-002"],
117
- "phase": null // From roadmap mapping
118
- }
119
-
120
- c. Back-fill component.feature_ids with the feature IDs
74
+ Group components into features by:
75
+ directory proximity, naming patterns, import relationships, task-specs/ mapping.
76
+
77
+ For each feature group: derive name, collect component IDs, map requirements and phase.
78
+ Build feature entry:
79
+ {
80
+ "id": "FT-{NNN}",
81
+ "name": "{Feature Name}",
82
+ "status": "active",
83
+ "requirement_ids": [], // From task-specs mapping
84
+ "component_ids": ["TC-001", "TC-002"],
85
+ "phase": null // From roadmap mapping
86
+ }
87
+
88
+ Back-fill component.feature_ids with assigned feature IDs.
121
89
  ```
122
90
 
123
91
  ### Step 4: Map Requirements (if task-specs exist)
124
92
 
125
93
  ```
126
- If .workflow/task-specs/ directories exist:
127
- For each SPEC-*/requirements/REQ-*.md:
128
- - Parse requirement metadata (title, priority, acceptance_criteria)
129
- - Match to features by keyword/domain analysis
130
- - Build requirement entry:
131
- {
132
- "id": "REQ-{NNN}",
133
- "title": "{requirement title}",
134
- "priority": "must|should|could|wont",
135
- "feature_id": "FT-{NNN}",
136
- "status": "pending|in_progress|completed",
137
- "acceptance_criteria": ["{criteria}"]
138
- }
139
-
140
- If no task-specs exist:
141
- requirements = [] (empty, populated later by spec-generate)
94
+ If .workflow/task-specs/ exist: parse each SPEC-*/requirements/REQ-*.md,
95
+ match to features by keyword analysis. Build requirement entry:
96
+ {
97
+ "id": "REQ-{NNN}",
98
+ "title": "{requirement title}",
99
+ "priority": "must|should|could|wont",
100
+ "feature_id": "FT-{NNN}",
101
+ "status": "pending|in_progress|completed",
102
+ "acceptance_criteria": ["{criteria}"]
103
+ }
104
+
105
+ If no task-specs: requirements = [] (populated later by spec-generate).
142
106
  ```
143
107
 
144
108
  ### Step 5: Record Architecture Decisions (if ADRs exist)
145
109
 
146
110
  ```
147
- If .workflow/task-specs/*/architecture/ADR-*.md exist:
148
- For each ADR file:
149
- - Parse ADR metadata (title, decision, rationale)
150
- - Map to components by keyword analysis
151
- - Build ADR entry:
152
- {
153
- "id": "ADR-{NNN}",
154
- "title": "{ADR title}",
155
- "component_ids": ["TC-{NNN}"],
156
- "decision": "{decision summary}",
157
- "rationale": "{rationale summary}"
158
- }
159
-
160
- If no ADRs exist:
161
- architecture_decisions = []
111
+ If .workflow/task-specs/*/architecture/ADR-*.md exist: parse each ADR,
112
+ map to components by keyword analysis. Build ADR entry:
113
+ {
114
+ "id": "ADR-{NNN}",
115
+ "title": "{ADR title}",
116
+ "component_ids": ["TC-{NNN}"],
117
+ "decision": "{decision summary}",
118
+ "rationale": "{rationale summary}"
119
+ }
120
+
121
+ If no ADRs: architecture_decisions = [].
162
122
  ```
163
123
 
164
124
  ### Step 6: Write doc-index.json
@@ -184,118 +144,46 @@ Write to: .workflow/codebase/doc-index.json
184
144
  ### Step 7: Generate Tech Registry Docs
185
145
 
186
146
  ```
187
- For each component in doc-index.json:
188
- Compute slug: lowercase(name), replace spaces with hyphens
189
-
190
- Write .workflow/codebase/tech-registry/{slug}.md:
191
-
192
- # {component.name}
193
-
194
- | Field | Value |
195
- |-------|-------|
196
- | **ID** | {id} |
197
- | **Type** | {type} |
198
- | **Features** | {feature_ids joined with ", "} |
199
-
200
- ## Code Locations
201
- {bullet list of code_locations}
147
+ For each component (slug = lowercase-hyphenated name):
202
148
 
203
- ## Exported Symbols
204
- {bullet list of symbols}
205
-
206
- ## Dependencies
207
- {extracted from import statements in code_locations}
208
-
209
- ---
210
- *Auto-generated by codebase-rebuild at {timestamp}*
149
+ Write .workflow/codebase/tech-registry/{slug}.md:
150
+ Header table (ID, Type, Features) + sections: Code Locations, Exported Symbols, Dependencies.
151
+ Footer: *Auto-generated by codebase-rebuild at {timestamp}*
211
152
 
212
153
  Write .workflow/codebase/tech-registry/_index.md:
213
- # Tech Registry
214
-
215
- | ID | Name | Type | Locations |
216
- |----|------|------|-----------|
217
- {table row per component}
218
-
219
- ---
220
- *{count} components registered*
154
+ Summary table (ID, Name, Type, Locations) + component count footer.
221
155
  ```
222
156
 
223
157
  ### Step 8: Generate Feature Map Docs
224
158
 
225
159
  ```
226
- For each feature in doc-index.json:
227
- Compute slug: lowercase(name), replace spaces with hyphens
228
-
229
- Write .workflow/codebase/feature-maps/{slug}.md:
230
-
231
- # {feature.name}
160
+ For each feature (slug = lowercase-hyphenated name):
232
161
 
233
- | Field | Value |
234
- |-------|-------|
235
- | **ID** | {id} |
236
- | **Status** | {status} |
237
- | **Phase** | {phase or "unassigned"} |
238
-
239
- ## Requirements
240
- {bullet list of requirement_ids with titles}
241
-
242
- ## Components
243
- | ID | Name | Type |
244
- |----|------|------|
245
- {table row per component in component_ids}
246
-
247
- ---
248
- *Auto-generated by codebase-rebuild at {timestamp}*
162
+ Write .workflow/codebase/feature-maps/{slug}.md:
163
+ Header table (ID, Status, Phase) + sections: Requirements, Components table.
164
+ Footer: *Auto-generated by codebase-rebuild at {timestamp}*
249
165
 
250
166
  Write .workflow/codebase/feature-maps/_index.md:
251
- # Feature Maps
252
-
253
- | ID | Name | Status | Components | Requirements |
254
- |----|------|--------|------------|--------------|
255
- {table row per feature}
256
-
257
- ---
258
- *{count} features mapped*
167
+ Summary table (ID, Name, Status, Components, Requirements) + feature count footer.
259
168
  ```
260
169
 
261
170
  ### Step 8.5: Update State and Project Artifacts
262
171
 
263
172
  ```
264
- a. Update state.json:
265
- Read .workflow/state.json
266
- Set last_codebase_rebuild: "{ISO timestamp}"
267
- Set last_updated: "{ISO timestamp}"
268
- Write updated state.json
173
+ a. Update state.json: set last_codebase_rebuild and last_updated timestamps.
269
174
 
270
175
  b. Update project.md Tech Stack (if exists):
271
- Read .workflow/project.md
272
- Compare "## Tech Stack" section against detected stack from Step 2
273
- If new entries or changes detected:
274
- Update the Tech Stack section with current values
275
- Update the "Last updated" footer timestamp
276
- Write updated project.md
277
- Display: "project.md: Tech Stack section refreshed"
176
+ Compare "## Tech Stack" against detected stack from Step 2.
177
+ If changes detected: update section + footer timestamp.
278
178
  ```
279
179
 
280
180
  ### Step 9: Report and Commit
281
181
 
282
182
  ```
283
- Display summary:
284
- Codebase rebuild complete:
285
- Components: {count}
286
- Features: {count}
287
- Requirements: {count}
288
- ADRs: {count}
289
- Files generated: {count}
290
-
291
- If any mapper agents failed: log W001 with the failed mapper name.
292
-
293
- If not --skip-commit:
294
- Suggest committing the generated docs
295
-
296
- Suggest next:
297
- - Skill({ skill: "manage-status" }) to review
298
- - Skill({ skill: "manage-codebase-refresh" }) for future incremental updates
183
+ Display summary: component/feature/requirement/ADR/file counts.
184
+ If mapper agents failed: log W001.
185
+ If not --skip-commit: suggest committing generated docs.
186
+ Suggest next: manage-status (review) or manage-codebase-refresh (incremental updates).
299
187
  ```
300
188
 
301
189
  ---
@@ -28,40 +28,25 @@ Detects which files have changed (via git diff), identifies which codebase docs
28
28
  ### Step 1: Parse Input and Validate
29
29
 
30
30
  ```
31
- Parse $ARGUMENTS for --since and --deep flags.
32
-
33
- Verify .workflow/ directory exists and is initialized (project.md, state.json present).
34
- If not initialized: abort with E001.
35
-
36
- Verify .workflow/codebase/doc-index.json exists.
37
- If not: abort with E002 (suggest using codebase-rebuild instead).
31
+ Parse --since and --deep flags from $ARGUMENTS.
32
+ Verify .workflow/ initialized (E001 if not) and doc-index.json exists (E002 if not).
38
33
  ```
39
34
 
40
35
  ### Step 2: Detect Changes
41
36
 
42
37
  ```
43
- Determine the change detection window:
44
- If --since provided: use that date/ref
45
- Otherwise: use codebase_last_rebuilt or codebase_last_refreshed from state.json
46
-
47
- Run git diff --name-only since the determined date to get list of changed files.
48
-
49
- If no changes detected: emit W001 and exit gracefully ("No changes detected since last refresh").
38
+ Change window: --since value, else codebase_last_rebuilt/codebase_last_refreshed from state.json.
39
+ Run git diff --name-only to get changed files.
40
+ If no changes: emit W001 and exit.
50
41
  ```
51
42
 
52
43
  ### Step 3: Identify Affected Documentation
53
44
 
54
45
  ```
55
- Read .workflow/codebase/doc-index.json to map changed files to documentation entries.
56
-
57
- For each changed file, identify which doc-index entries reference it:
58
- - Which tech-registry components are affected (via code_locations matching)
59
- - Which feature-map entries need updating (via component -> feature chain)
60
- - Which requirements or ADRs reference changed code
61
-
62
- Build a list of affected documentation sections:
63
- affected_components = [component entries whose code_locations include changed files]
64
- affected_features = [features whose component_ids include affected components]
46
+ Map changed files to doc-index.json entries via code_locations matching.
47
+ Build affected sets:
48
+ affected_components = components whose code_locations include changed files
49
+ affected_features = features whose component_ids include affected components
65
50
  ```
66
51
 
67
52
  ### Step 3.5: Load Project Specs
@@ -77,138 +62,55 @@ Used in Step 4-5 to validate refreshed docs against architectural expectations.
77
62
  ### Step 4: Re-scan Affected Components
78
63
 
79
64
  ```
80
- For each component in affected_components:
81
- For each file_path in component.code_locations:
82
- a. Check if file still exists
83
- If not: mark for removal from code_locations, log warning
65
+ For each affected component:
66
+ - Verify code_locations still exist (remove missing, log warning)
67
+ - Re-extract exported symbols (ESM export + CJS module.exports patterns)
68
+ - Update symbols[] and last_updated timestamp
84
69
 
85
- b. Read file content
86
- Extract exported symbols:
87
- - export class {Name}
88
- - export function {name}
89
- - export interface {Name}
90
- - export type {Name}
91
- - export const {NAME}
92
- - export default {name/class}
93
- - module.exports patterns (for CJS)
70
+ If --deep: follow reverse dependency chain to find additional affected components.
94
71
 
95
- c. Update component entry:
96
- - symbols = [newly extracted symbols]
97
- - last_updated = current ISO timestamp
98
-
99
- If --deep is set, also re-scan files that import/require the changed files
100
- (follow reverse dependency chain to find additional affected components).
101
-
102
- Check for new files that should belong to this component:
103
- - Scan same directory as existing code_locations
104
- - If new files match the component's naming pattern:
105
- Log: "Potential new file for {component.id}: {file}"
106
- (Do not auto-add; report for manual review)
72
+ Report new files matching component naming patterns (do not auto-add).
107
73
  ```
108
74
 
109
75
  ### Step 5: Check Relationship Changes
110
76
 
111
77
  ```
112
78
  For each refreshed component:
113
- Read import statements from code_locations files
114
- Identify imported modules that map to other components
115
-
116
- Compare with current feature_ids:
117
- If a component imports from a different feature's components:
118
- Log: "Cross-feature dependency detected: {component.id} -> {other_component.id}"
79
+ Analyze imports to detect cross-feature dependencies (log if found).
119
80
 
120
81
  For each refreshed feature:
121
- Verify all component_ids still exist in components[]
122
- Remove any stale component_ids
123
- Check if new components should be added (by directory proximity)
82
+ Remove stale component_ids, check for new components by directory proximity.
124
83
  ```
125
84
 
126
85
  ### Step 6: Update Doc Index
127
86
 
128
87
  ```
129
- Write updated entries back to doc-index.json:
130
- - Updated component entries (symbols, code_locations, last_updated)
131
- - Updated feature entries (component_ids, last_updated)
132
- - Update top-level last_updated timestamp
133
- - Update global last_refreshed timestamp
134
-
135
- Write: .workflow/codebase/doc-index.json
88
+ Write updated component/feature entries + timestamps to .workflow/codebase/doc-index.json.
136
89
  ```
137
90
 
138
91
  ### Step 7: Regenerate Affected Docs
139
92
 
140
93
  ```
141
- For each refreshed component:
142
- Compute slug from component.name
143
- Regenerate: .workflow/codebase/tech-registry/{slug}.md
144
-
145
- # {component.name}
94
+ For each refreshed component: regenerate tech-registry/{slug}.md
95
+ (header table + Code Locations + Exported Symbols + refresh timestamp).
146
96
 
147
- | Field | Value |
148
- |-------|-------|
149
- | **ID** | {id} |
150
- | **Type** | {type} |
151
- | **Features** | {feature_ids joined} |
97
+ For each refreshed feature: regenerate feature-maps/{slug}.md
98
+ (header table + Components table + Requirements + refresh timestamp).
152
99
 
153
- ## Code Locations
154
- {bullet list of code_locations}
155
-
156
- ## Exported Symbols
157
- {bullet list of symbols}
158
-
159
- ---
160
- *Refreshed at {timestamp}*
161
-
162
- For each refreshed feature:
163
- Compute slug from feature.name
164
- Regenerate: .workflow/codebase/feature-maps/{slug}.md
165
-
166
- # {feature.name}
167
-
168
- | Field | Value |
169
- |-------|-------|
170
- | **ID** | {id} |
171
- | **Status** | {status} |
172
- | **Phase** | {phase or "unassigned"} |
173
-
174
- ## Components
175
- | ID | Name | Type |
176
- |----|------|------|
177
- {table row per component}
178
-
179
- ## Requirements
180
- {bullet list of requirement_ids with titles}
181
-
182
- ---
183
- *Refreshed at {timestamp}*
184
-
185
- Update _index.md files if any entries changed:
186
- Regenerate tech-registry/_index.md
187
- Regenerate feature-maps/_index.md
100
+ If entries changed: regenerate tech-registry/_index.md and feature-maps/_index.md.
188
101
  ```
189
102
 
190
103
  ### Step 8: Update Timestamps
191
104
 
192
105
  ```
193
- Update .workflow/state.json:
194
- - Set codebase_last_refreshed timestamp
195
- - Update last_updated timestamp
106
+ Update .workflow/state.json: set codebase_last_refreshed and last_updated timestamps.
196
107
  ```
197
108
 
198
109
  ### Step 9: Report
199
110
 
200
111
  ```
201
- Display summary:
202
- Refresh complete:
203
- Changed files detected: {count}
204
- Components refreshed: {count} ({IDs})
205
- Features refreshed: {count} ({IDs})
206
- Symbols updated: {count new} added, {count removed} removed
207
- Files updated in .workflow/codebase/: {list}
208
- Warnings: {any warnings from Steps 4-5}
209
- If W001: "No changes detected since last refresh"
210
-
211
- Suggest next: Skill({ skill: "manage-status" }) to review
112
+ Display summary: changed files, components/features refreshed, symbols added/removed, warnings.
113
+ Suggest next: manage-status to review.
212
114
  ```
213
115
 
214
116
  ---