maestro-flow 0.3.11 → 0.3.13

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 (339) hide show
  1. package/.claude/CLAUDE.md +7 -0
  2. package/.claude/agents/conceptual-planning-agent.md +1 -0
  3. package/.claude/agents/workflow-analyzer.md +113 -114
  4. package/.claude/agents/workflow-collab-planner.md +143 -144
  5. package/.claude/agents/workflow-debugger.md +101 -103
  6. package/.claude/agents/workflow-executor.md +127 -128
  7. package/.claude/agents/workflow-integration-checker.md +82 -82
  8. package/.claude/agents/workflow-nyquist-auditor.md +84 -84
  9. package/.claude/agents/workflow-phase-researcher.md +85 -85
  10. package/.claude/agents/workflow-plan-checker.md +90 -90
  11. package/.claude/agents/workflow-planner.md +177 -178
  12. package/.claude/agents/workflow-roadmapper.md +81 -83
  13. package/.claude/agents/workflow-verifier.md +118 -119
  14. package/.claude/commands/learn-retro.md +2 -2
  15. package/.claude/commands/learn-second-opinion.md +2 -2
  16. package/.claude/commands/maestro-analyze.md +10 -2
  17. package/.claude/commands/maestro-brainstorm.md +2 -1
  18. package/.claude/commands/maestro-execute.md +21 -4
  19. package/.claude/commands/maestro-fork.md +133 -111
  20. package/.claude/commands/maestro-merge.md +85 -77
  21. package/.claude/commands/maestro-milestone-complete.md +14 -0
  22. package/.claude/commands/maestro-plan.md +100 -8
  23. package/.claude/commands/maestro-roadmap.md +113 -2
  24. package/.claude/commands/maestro-ui-design.md +7 -7
  25. package/.claude/commands/maestro-update.md +176 -0
  26. package/.claude/commands/maestro-verify.md +18 -3
  27. package/.claude/commands/maestro.md +1 -0
  28. package/.claude/commands/manage-codebase-rebuild.md +0 -1
  29. package/.claude/commands/manage-harvest.md +1 -1
  30. package/.claude/commands/manage-learn.md +5 -5
  31. package/.claude/commands/manage-memory-capture.md +4 -4
  32. package/.claude/commands/manage-memory.md +1 -1
  33. package/.claude/commands/manage-wiki.md +62 -0
  34. package/.claude/commands/quality-business-test.md +5 -5
  35. package/.claude/commands/quality-debug.md +53 -6
  36. package/.claude/commands/quality-retrospective.md +9 -7
  37. package/.claude/commands/quality-review.md +39 -7
  38. package/.claude/commands/quality-sync.md +1 -1
  39. package/.claude/commands/quality-test-gen.md +5 -4
  40. package/.claude/commands/quality-test.md +45 -12
  41. package/.claude/commands/spec-remove.md +51 -0
  42. package/.claude/commands/spec-setup.md +1 -3
  43. package/.claude/commands/wiki-connect.md +9 -5
  44. package/.claude/commands/wiki-digest.md +6 -3
  45. package/.codex/skills/maestro/SKILL.md +2 -2
  46. package/.codex/skills/maestro-analyze/SKILL.md +4 -4
  47. package/.codex/skills/maestro-brainstorm/SKILL.md +4 -4
  48. package/.codex/skills/maestro-coordinate/SKILL.md +2 -2
  49. package/.codex/skills/maestro-execute/SKILL.md +15 -5
  50. package/.codex/skills/maestro-fork/SKILL.md +98 -68
  51. package/.codex/skills/maestro-init/SKILL.md +5 -4
  52. package/.codex/skills/maestro-merge/SKILL.md +69 -62
  53. package/.codex/skills/maestro-milestone-complete/SKILL.md +18 -1
  54. package/.codex/skills/maestro-plan/SKILL.md +6 -6
  55. package/.codex/skills/maestro-roadmap/SKILL.md +3 -4
  56. package/.codex/skills/maestro-spec-generate/SKILL.md +2 -2
  57. package/.codex/skills/maestro-ui-design/SKILL.md +6 -6
  58. package/.codex/skills/maestro-verify/SKILL.md +29 -20
  59. package/.codex/skills/manage-codebase-rebuild/SKILL.md +4 -4
  60. package/.codex/skills/manage-harvest/SKILL.md +10 -1
  61. package/.codex/skills/manage-issue-discover/SKILL.md +3 -3
  62. package/.codex/skills/manage-learn/SKILL.md +3 -2
  63. package/.codex/skills/manage-memory/SKILL.md +3 -3
  64. package/.codex/skills/manage-memory-capture/SKILL.md +8 -14
  65. package/.codex/skills/manage-status/SKILL.md +9 -4
  66. package/.codex/skills/manage-wiki/SKILL.md +55 -0
  67. package/.codex/skills/quality-business-test/SKILL.md +8 -6
  68. package/.codex/skills/quality-debug/SKILL.md +22 -9
  69. package/.codex/skills/quality-integration-test/SKILL.md +11 -7
  70. package/.codex/skills/quality-retrospective/SKILL.md +48 -29
  71. package/.codex/skills/quality-review/SKILL.md +10 -7
  72. package/.codex/skills/quality-test/SKILL.md +10 -5
  73. package/.codex/skills/quality-test-gen/SKILL.md +13 -9
  74. package/.codex/skills/spec-add/SKILL.md +11 -3
  75. package/.codex/skills/spec-load/SKILL.md +7 -0
  76. package/.codex/skills/spec-map/SKILL.md +2 -2
  77. package/.codex/skills/spec-remove/SKILL.md +101 -0
  78. package/.codex/skills/spec-setup/SKILL.md +4 -8
  79. package/.codex/skills/wiki-connect/SKILL.md +6 -5
  80. package/.codex/skills/wiki-digest/SKILL.md +2 -2
  81. package/README.md +2 -0
  82. package/README.zh-CN.md +2 -0
  83. package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
  84. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
  85. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
  86. package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
  87. package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
  88. package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
  89. package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
  90. package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
  91. package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
  92. package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
  93. package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
  94. package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
  95. package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
  96. package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
  97. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
  98. package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
  99. package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
  100. package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
  101. package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
  102. package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
  103. package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
  104. package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
  105. package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
  106. package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
  107. package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
  108. package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
  109. package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
  110. package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
  111. package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
  112. package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
  113. package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
  114. package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
  115. package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
  116. package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
  117. package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
  118. package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
  119. package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
  120. package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
  121. package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
  122. package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
  123. package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
  124. package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
  125. package/dashboard/dist/index.html +2 -2
  126. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
  127. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  128. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +9 -0
  129. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +109 -9
  130. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  131. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js +49 -0
  132. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js.map +1 -1
  133. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
  134. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
  135. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
  136. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
  137. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
  139. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  140. package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
  141. package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
  142. package/dashboard/dist-server/dashboard/src/server/routes/index.js +5 -4
  143. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  144. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +5 -13
  145. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +97 -155
  146. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/wiki.d.ts +11 -1
  148. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +27 -6
  149. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  150. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +25 -7
  151. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  152. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +8 -0
  153. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +1 -0
  155. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  156. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +29 -0
  157. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +148 -0
  158. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -0
  159. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +4 -2
  160. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  161. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +8 -2
  162. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  163. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +5 -0
  164. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +80 -38
  165. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  166. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +8 -6
  167. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  168. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +40 -5
  169. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +21 -23
  170. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  171. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +33 -3
  172. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +184 -12
  173. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  174. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
  175. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
  176. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
  177. package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
  178. package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
  179. package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
  180. package/dashboard/dist-server/dashboard/src/shared/constants.js +5 -0
  181. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  182. package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
  183. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
  184. package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
  185. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  186. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +1 -0
  187. package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
  188. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  189. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +27 -1
  190. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  191. package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
  192. package/dashboard/dist-server/src/commands/delegate.js +26 -0
  193. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  194. package/dashboard/dist-server/src/coordinator/graph-types.d.ts +11 -1
  195. package/dashboard/dist-server/src/coordinator/graph-walker.js +29 -2
  196. package/dashboard/dist-server/src/coordinator/graph-walker.js.map +1 -1
  197. package/dashboard/dist-server/src/coordinator/prompt-assembler.js +3 -2
  198. package/dashboard/dist-server/src/coordinator/prompt-assembler.js.map +1 -1
  199. package/dashboard/dist-server/src/hooks/constants.d.ts +29 -60
  200. package/dashboard/dist-server/src/hooks/constants.js +105 -82
  201. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  202. package/dashboard/dist-server/src/types/index.d.ts +2 -1
  203. package/dist/shared/agent-types.d.ts +4 -0
  204. package/dist/shared/agent-types.d.ts.map +1 -1
  205. package/dist/src/commands/delegate.d.ts.map +1 -1
  206. package/dist/src/commands/delegate.js +26 -0
  207. package/dist/src/commands/delegate.js.map +1 -1
  208. package/dist/src/commands/hooks.d.ts +2 -4
  209. package/dist/src/commands/hooks.d.ts.map +1 -1
  210. package/dist/src/commands/hooks.js +4 -7
  211. package/dist/src/commands/hooks.js.map +1 -1
  212. package/dist/src/commands/install-backend.d.ts.map +1 -1
  213. package/dist/src/commands/install-backend.js +29 -18
  214. package/dist/src/commands/install-backend.js.map +1 -1
  215. package/dist/src/commands/install-ui/InstallConfirm.d.ts +2 -3
  216. package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
  217. package/dist/src/commands/install-ui/InstallConfirm.js +1 -1
  218. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  219. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  220. package/dist/src/commands/install-ui/InstallExecution.js +1 -2
  221. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  222. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  223. package/dist/src/commands/install-ui/InstallFlow.js +5 -7
  224. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  225. package/dist/src/commands/install-ui/StatuslineConfig.d.ts +3 -6
  226. package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
  227. package/dist/src/commands/install-ui/StatuslineConfig.js +21 -17
  228. package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
  229. package/dist/src/commands/update.d.ts.map +1 -1
  230. package/dist/src/commands/update.js +95 -0
  231. package/dist/src/commands/update.js.map +1 -1
  232. package/dist/src/commands/wiki.d.ts.map +1 -1
  233. package/dist/src/commands/wiki.js +75 -11
  234. package/dist/src/commands/wiki.js.map +1 -1
  235. package/dist/src/coordinator/graph-types.d.ts +11 -1
  236. package/dist/src/coordinator/graph-types.d.ts.map +1 -1
  237. package/dist/src/coordinator/graph-walker.d.ts.map +1 -1
  238. package/dist/src/coordinator/graph-walker.js +29 -2
  239. package/dist/src/coordinator/graph-walker.js.map +1 -1
  240. package/dist/src/coordinator/prompt-assembler.d.ts.map +1 -1
  241. package/dist/src/coordinator/prompt-assembler.js +3 -2
  242. package/dist/src/coordinator/prompt-assembler.js.map +1 -1
  243. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +4 -1
  244. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -1
  245. package/dist/src/hooks/__tests__/statusline-visual-test.js +55 -152
  246. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
  247. package/dist/src/hooks/constants.d.ts +29 -60
  248. package/dist/src/hooks/constants.d.ts.map +1 -1
  249. package/dist/src/hooks/constants.js +105 -82
  250. package/dist/src/hooks/constants.js.map +1 -1
  251. package/dist/src/hooks/skill-context.d.ts +3 -0
  252. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  253. package/dist/src/hooks/skill-context.js +149 -15
  254. package/dist/src/hooks/skill-context.js.map +1 -1
  255. package/dist/src/hooks/statusline.d.ts +11 -8
  256. package/dist/src/hooks/statusline.d.ts.map +1 -1
  257. package/dist/src/hooks/statusline.js +284 -179
  258. package/dist/src/hooks/statusline.js.map +1 -1
  259. package/dist/src/hooks/workspace.d.ts.map +1 -1
  260. package/dist/src/hooks/workspace.js +2 -1
  261. package/dist/src/hooks/workspace.js.map +1 -1
  262. package/dist/src/migrations/_template.d.ts +12 -0
  263. package/dist/src/migrations/_template.d.ts.map +1 -0
  264. package/dist/src/migrations/_template.js +55 -0
  265. package/dist/src/migrations/_template.js.map +1 -0
  266. package/dist/src/migrations/index.d.ts +14 -0
  267. package/dist/src/migrations/index.d.ts.map +1 -0
  268. package/dist/src/migrations/index.js +20 -0
  269. package/dist/src/migrations/index.js.map +1 -0
  270. package/dist/src/migrations/run.d.ts +12 -0
  271. package/dist/src/migrations/run.d.ts.map +1 -0
  272. package/dist/src/migrations/run.js +119 -0
  273. package/dist/src/migrations/run.js.map +1 -0
  274. package/dist/src/migrations/v1-to-v2.d.ts +10 -0
  275. package/dist/src/migrations/v1-to-v2.d.ts.map +1 -0
  276. package/dist/src/migrations/v1-to-v2.js +71 -0
  277. package/dist/src/migrations/v1-to-v2.js.map +1 -0
  278. package/dist/src/tools/merge-validator.d.ts.map +1 -1
  279. package/dist/src/tools/merge-validator.js +114 -16
  280. package/dist/src/tools/merge-validator.js.map +1 -1
  281. package/dist/src/tools/team-activity.d.ts.map +1 -1
  282. package/dist/src/tools/team-activity.js +22 -0
  283. package/dist/src/tools/team-activity.js.map +1 -1
  284. package/dist/src/tools/transition-recorder.d.ts +2 -17
  285. package/dist/src/tools/transition-recorder.d.ts.map +1 -1
  286. package/dist/src/tools/transition-recorder.js +6 -3
  287. package/dist/src/tools/transition-recorder.js.map +1 -1
  288. package/dist/src/types/index.d.ts +2 -1
  289. package/dist/src/types/index.d.ts.map +1 -1
  290. package/dist/src/utils/migration-registry.d.ts +65 -0
  291. package/dist/src/utils/migration-registry.d.ts.map +1 -0
  292. package/dist/src/utils/migration-registry.js +117 -0
  293. package/dist/src/utils/migration-registry.js.map +1 -0
  294. package/dist/src/utils/state-schema.d.ts +153 -0
  295. package/dist/src/utils/state-schema.d.ts.map +1 -0
  296. package/dist/src/utils/state-schema.js +329 -0
  297. package/dist/src/utils/state-schema.js.map +1 -0
  298. package/package.json +1 -1
  299. package/shared/agent-types.ts +4 -0
  300. package/templates/state.json +17 -39
  301. package/templates/worktree-scope.json +9 -10
  302. package/templates/worktrees.json +26 -27
  303. package/workflows/brainstorm.md +10 -1
  304. package/workflows/codebase-rebuild.md +2 -12
  305. package/workflows/debug.md +17 -8
  306. package/workflows/execute.md +18 -4
  307. package/workflows/fork.md +52 -37
  308. package/workflows/init.md +1 -4
  309. package/workflows/integration-test.md +13 -2
  310. package/workflows/issue.md +8 -4
  311. package/workflows/learn.md +25 -10
  312. package/workflows/maestro.codex.md +8 -1
  313. package/workflows/maestro.md +13 -3
  314. package/workflows/memory.md +26 -71
  315. package/workflows/merge.md +48 -52
  316. package/workflows/milestone-complete.md +24 -7
  317. package/workflows/retrospective.md +87 -80
  318. package/workflows/review.md +11 -5
  319. package/workflows/specs-remove.md +115 -0
  320. package/workflows/specs-setup.md +10 -32
  321. package/workflows/status.md +291 -290
  322. package/workflows/sync.md +5 -5
  323. package/workflows/test.md +11 -2
  324. package/workflows/ui-style.md +8 -2
  325. package/workflows/verify.md +2 -2
  326. package/workflows/wiki-connect.md +188 -0
  327. package/workflows/wiki-digest.md +221 -0
  328. package/workflows/wiki-manage.md +204 -0
  329. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
  330. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
  331. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
  332. package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
  333. package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
  334. package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
  335. package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
  336. package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
  337. package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
  338. package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
  339. package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
@@ -8,7 +8,7 @@ Two memory stores with different purposes:
8
8
 
9
9
  | Store | Path | Format | Index |
10
10
  |-------|------|--------|-------|
11
- | `workflow` | `.workflow/memory/` | `MEM-*.md`, `TIP-*.md` | `memory-index.json` |
11
+ | `workflow` | `.workflow/memory/` | `MEM-*.md`, `TIP-*.md` | `.workflow/wiki-index.json` (unified, auto-managed by WikiIndexer) |
12
12
  | `system` | `~/.claude/projects/{project}/memory/` | `MEMORY.md` + topic `.md` files | None (flat files) |
13
13
 
14
14
  **System memory path detection:**
@@ -30,7 +30,7 @@ Detect both memory store paths:
30
30
  ```bash
31
31
  # Workflow memory
32
32
  WF_MEMORY_DIR=".workflow/memory"
33
- WF_INDEX_FILE="$WF_MEMORY_DIR/memory-index.json"
33
+ WF_INDEX_FILE=".workflow/wiki-index.json" # unified index (auto-managed by WikiIndexer)
34
34
 
35
35
  # System memory — derive from project git root or cwd
36
36
  PROJECT_ROOT=$(pwd)
@@ -40,7 +40,7 @@ SYS_MEMORY_DIR="$HOME/.claude/projects/$(echo "$PROJECT_ROOT" | sed 's|[/\\:]|-|
40
40
  ```
41
41
 
42
42
  Verify which stores exist:
43
- - Workflow: check `$WF_INDEX_FILE` exists
43
+ - Workflow: check `.workflow/memory/` directory exists (index is auto-managed)
44
44
  - System: check `$SYS_MEMORY_DIR/MEMORY.md` exists
45
45
 
46
46
  If neither exists, report E001.
@@ -69,7 +69,7 @@ Parse arguments and detect subcommand:
69
69
  List entries from targeted stores.
70
70
 
71
71
  **Workflow store** (if exists):
72
- 1. Read `memory-index.json`
72
+ 1. Use `maestro wiki list --type memory --json` (reads unified `.workflow/wiki-index.json`)
73
73
  2. Apply filters (--tag, --type, --before, --after)
74
74
  3. Sort by timestamp descending
75
75
 
@@ -108,7 +108,7 @@ Hints:
108
108
  Full-text search across both stores.
109
109
 
110
110
  **Workflow store:**
111
- 1. Search `memory-index.json` fields: `summary`, `tags`, `id`
111
+ 1. Use `maestro wiki search "<query>" --json` or filter `.workflow/wiki-index.json` fields: `summary`, `tags`, `id`
112
112
  2. For deeper matches, read individual `.md` files and search content
113
113
 
114
114
  **System store:**
@@ -138,7 +138,7 @@ View: /manage-memory view <ID|filename>
138
138
  Display full content of a memory entry.
139
139
 
140
140
  **Workflow entry** (ID matches `MEM-*` or `TIP-*`):
141
- 1. Validate ID exists in `memory-index.json`
141
+ 1. Validate ID exists via `maestro wiki get <id>` or in `.workflow/wiki-index.json`
142
142
  2. Read the corresponding `.md` file
143
143
  3. Display with metadata header
144
144
 
@@ -188,9 +188,9 @@ Changes: {summary of edits}
188
188
  Remove a memory entry or file.
189
189
 
190
190
  **Workflow entry:**
191
- 1. Validate ID in `memory-index.json`
191
+ 1. Validate ID via `maestro wiki get <id>` or in `.workflow/wiki-index.json`
192
192
  2. Show summary, confirm with AskUserQuestion (unless --confirm)
193
- 3. Remove `.md` file + index entry
193
+ 3. Remove `.md` file (WikiIndexer auto-updates index on next access)
194
194
 
195
195
  **System file:**
196
196
  1. Validate file exists (NEVER allow deleting MEMORY.md — only topic files)
@@ -213,7 +213,7 @@ Bulk cleanup — workflow store only.
213
213
 
214
214
  At least one filter required: --tag, --type, --before, --after.
215
215
 
216
- 1. Read `memory-index.json`, apply filters
216
+ 1. Read `.workflow/wiki-index.json`, apply filters
217
217
  2. Display candidates table
218
218
  3. If `--dry-run`, stop after display
219
219
  4. Confirm with AskUserQuestion
@@ -232,9 +232,9 @@ Post-operation integrity check.
232
232
 
233
233
  **Workflow store:**
234
234
  1. Scan `.workflow/memory/` for `.md` files
235
- 2. Compare with `memory-index.json` entries
235
+ 2. Compare with `.workflow/wiki-index.json` entries (type=memory)
236
236
  3. Report orphaned files or dangling references
237
- 4. Offer to fix inconsistencies
237
+ 4. Offer to fix inconsistencies (WikiIndexer re-indexes on next write)
238
238
 
239
239
  **System store:**
240
240
  1. Check MEMORY.md links to topic files
@@ -260,13 +260,9 @@ Parse arguments and detect execution mode:
260
260
 
261
261
  ```bash
262
262
  MEMORY_DIR=".workflow/memory"
263
- INDEX_FILE="$MEMORY_DIR/memory-index.json"
264
263
  mkdir -p "$MEMORY_DIR"
265
-
266
- # Initialize index if not exists
267
- if [ ! -f "$INDEX_FILE" ]; then
268
- echo '{"entries":[],"_metadata":{"created":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","version":"1.0"}}' > "$INDEX_FILE"
269
- fi
264
+ # Note: wiki-index.json is auto-managed by WikiIndexer at .workflow/wiki-index.json
265
+ # No manual index initialization needed
270
266
  ```
271
267
 
272
268
  When ambiguous, use AskUserQuestion:
@@ -355,36 +351,14 @@ Write entry file with sections:
355
351
  - Tags (from --tag flag)
356
352
  - Context (auto-detected from recent conversation files)
357
353
 
358
- ### Step 4: Update Index
359
-
360
- Append entry metadata to memory-index.json.
361
-
362
- Read `memory-index.json`, append new entry to `entries[]`:
354
+ ### Step 4: Wiki Index (Auto-managed)
363
355
 
364
- ```json
365
- {
366
- "id": "MEM-20260315-143022",
367
- "type": "compact",
368
- "timestamp": "2026-03-15T14:30:22Z",
369
- "file": "MEM-20260315-143022.md",
370
- "summary": "Session objective in one line",
371
- "tags": [],
372
- "project_root": "/path/to/project",
373
- "session_id": "WFS-001"
374
- }
375
- ```
356
+ Memory files are automatically indexed by WikiIndexer into the unified `.workflow/wiki-index.json`. No manual index update is needed — the persistent index is regenerated on next `maestro wiki` access or any write operation.
376
357
 
377
- For tips:
378
- ```json
379
- {
380
- "id": "TIP-20260315-143022",
381
- "type": "tip",
382
- "timestamp": "2026-03-15T14:30:22Z",
383
- "file": "TIP-20260315-143022.md",
384
- "summary": "First 80 chars of note content",
385
- "tags": ["config", "redis"],
386
- "project_root": "/path/to/project"
387
- }
358
+ For immediate visibility after capture:
359
+ ```bash
360
+ maestro wiki get memory-{slug} # verify entry exists in wiki
361
+ maestro wiki list --type memory # list all memory entries
388
362
  ```
389
363
 
390
364
  ### Step 5: Report
@@ -400,7 +374,7 @@ Type: compact
400
374
  Plan: {plan_source} ({plan_line_count} lines preserved)
401
375
 
402
376
  To restore: Read .workflow/memory/{ENTRY_ID}.md
403
- To search: Read .workflow/memory/memory-index.json
377
+ To search: maestro wiki list --type memory
404
378
  ```
405
379
 
406
380
  **Tip mode:**
@@ -410,33 +384,14 @@ Entry: {ENTRY_ID}
410
384
  File: .workflow/memory/{ENTRY_ID}.md
411
385
  Tags: {tags}
412
386
 
413
- To search: Read .workflow/memory/memory-index.json
387
+ To search: maestro wiki list --type memory --tag {tags}
414
388
  ```
415
389
 
416
390
  ---
417
391
 
418
- ## Index Schema
419
-
420
- ```json
421
- {
422
- "entries": [
423
- {
424
- "id": "MEM-20260315-143022",
425
- "type": "compact | tip",
426
- "timestamp": "2026-03-15T14:30:22Z",
427
- "file": "MEM-20260315-143022.md",
428
- "summary": "One-line description",
429
- "tags": [],
430
- "project_root": "D:\\project",
431
- "session_id": "WFS-001 | null"
432
- }
433
- ],
434
- "_metadata": {
435
- "created": "2026-03-15T00:00:00Z",
436
- "version": "1.0"
437
- }
438
- }
439
- ```
392
+ ## Index
393
+
394
+ Memory entries are indexed in the unified `.workflow/wiki-index.json` by WikiIndexer. Each memory file becomes a wiki entry of type `memory` with fields derived from frontmatter (id, title, tags, summary). Use `maestro wiki list --type memory --json` to query the index programmatically.
440
395
 
441
396
  ## Compact Entry Structure
442
397
 
@@ -492,5 +447,5 @@ Quick note for ideas, snippets, reminders.
492
447
 
493
448
  ## Retrieval
494
449
 
495
- Read `.workflow/memory/memory-index.json` to find entries by type, tags, or date.
496
- Read individual `.md` files for full content.
450
+ Use `maestro wiki list --type memory` to find entries by type, tags, or date.
451
+ Use `maestro wiki get <id>` or read individual `.md` files for full content.
@@ -103,15 +103,18 @@ IF NOT target:
103
103
  completedPhases = []
104
104
  incompletePhases = []
105
105
 
106
- for (phaseNum of target.owned_phases):
107
- NN = String(phaseNum).padStart(2, '0')
108
- Glob: {target.path}/.workflow/phases/{NN}-*/index.json
109
- Read → wtIndex
106
+ // Read worktree state for artifact registry check
107
+ Read {target.path}/.workflow/state.json → wtState (if exists)
108
+ wtArtifacts = wtState?.artifacts ?? []
110
109
 
111
- IF wtIndex.status === "completed":
112
- completedPhases.push({ phase: phaseNum, index: wtIndex })
110
+ // Check phase completeness via artifact registry
111
+ for (phaseNum of target.owned_phases):
112
+ execArtifacts = wtArtifacts.filter(a => a.type === 'execute' && a.phase === phaseNum)
113
+ IF execArtifacts.some(a => a.status === 'completed'):
114
+ completedPhases.push({ phase: phaseNum })
113
115
  ELSE:
114
- incompletePhases.push({ phase: phaseNum, status: wtIndex.status })
116
+ status = execArtifacts.length > 0 ? execArtifacts[0].status : 'no_execute_artifact'
117
+ incompletePhases.push({ phase: phaseNum, status })
115
118
 
116
119
  IF incompletePhases.length > 0 AND NOT force:
117
120
  WARN W002: "M{target.milestone_num} ({target.milestone}) has incomplete phases:"
@@ -181,51 +184,44 @@ Step_7:
181
184
 
182
185
  Display "Syncing workflow artifacts for M{target.milestone_num} ({target.milestone})..."
183
186
 
184
- // 7a: Copy all owned phase directories from worktree to main
185
- for (phaseNum of target.owned_phases):
186
- NN = String(phaseNum).padStart(2, '0')
187
- Glob: {target.path}/.workflow/phases/{NN}-*/
188
- phaseDir = matched directory name
189
-
190
- srcDir = target.path + "/.workflow/phases/" + phaseDir + "/"
191
- dstDir = ".workflow/phases/" + phaseDir + "/"
192
-
193
- Bash("cp -r {srcDir}* {dstDir}")
194
-
195
- // 7b: Atomic state reconciliation
196
187
  Read .workflow/state.json → mainState
197
188
 
198
- for (phaseNum of target.owned_phases):
199
- NN = String(phaseNum).padStart(2, '0')
200
- Glob: .workflow/phases/{NN}-*/index.json
201
- Read phaseIndex
202
-
203
- IF phaseIndex.status === "completed":
204
- mainState.phases_summary.completed += 1
205
- mainState.phases_summary.pending -= 1
206
- IF mainState.phases_summary.pending < 0:
207
- mainState.phases_summary.pending = 0
208
-
209
- mainState.transition_history = mainState.transition_history ?? []
210
- mainState.transition_history.push({
211
- milestone_num: target.milestone_num,
212
- milestone: target.milestone,
213
- phase: phaseNum,
214
- action: "worktree_merge",
215
- completed_at: phaseIndex.completed_at ?? getUtc8ISOString(),
216
- branch: target.branch
217
- })
218
- ELSE IF phaseIndex.status !== "forked":
219
- mainState.phases_summary.in_progress += 1
220
- mainState.phases_summary.pending -= 1
221
- IF mainState.phases_summary.pending < 0:
222
- mainState.phases_summary.pending = 0
223
-
224
- phaseIndex.updated_at = getUtc8ISOString()
225
- Write .workflow/phases/{NN}-{slug}/index.json: phaseIndex
189
+ // 7a: Copy scratch dirs from worktree to main
190
+ Read {target.path}/.workflow/state.json → wtState
191
+ wtArtifacts = wtState?.artifacts ?? []
192
+ milestoneArtifacts = wtArtifacts.filter(a =>
193
+ a.path && (a.milestone === target.milestone || target.owned_phases.includes(a.phase))
194
+ )
195
+ for (art of milestoneArtifacts):
196
+ srcDir = target.path + "/.workflow/" + art.path
197
+ dstDir = ".workflow/" + art.path
198
+ IF directory_exists(srcDir):
199
+ Bash("mkdir -p {dstDir} && cp -r {srcDir}/* {dstDir}/")
200
+
201
+ // 7b: Merge artifact registries
202
+ mainArtifacts = mainState.artifacts ?? []
203
+ existingIds = new Set(mainArtifacts.map(a => a.id))
204
+ for (art of wtArtifacts):
205
+ IF existingIds.has(art.id):
206
+ // Update existing artifact status
207
+ idx = mainArtifacts.findIndex(a => a.id === art.id)
208
+ mainArtifacts[idx] = art
209
+ ELSE:
210
+ mainArtifacts.push(art)
211
+ mainState.artifacts = mainArtifacts
212
+
213
+ // Record merge in transition history
214
+ mainState.transition_history = mainState.transition_history ?? []
215
+ mainState.transition_history.push({
216
+ milestone_num: target.milestone_num,
217
+ milestone: target.milestone,
218
+ action: "worktree_merge",
219
+ completed_at: getUtc8ISOString(),
220
+ branch: target.branch,
221
+ phases: target.owned_phases
222
+ })
226
223
 
227
224
  // Merge accumulated context from worktree
228
- Read target.path + "/.workflow/state.json" → wtState (if exists)
229
225
  IF wtState?.accumulated_context:
230
226
  for (decision of (wtState.accumulated_context.key_decisions ?? [])):
231
227
  IF NOT mainState.accumulated_context.key_decisions.includes(decision):
@@ -236,12 +232,12 @@ IF wtState?.accumulated_context:
236
232
  mainState.last_updated = getUtc8ISOString()
237
233
  Write .workflow/state.json: mainState
238
234
 
239
- // 7c: Update roadmap.md
235
+ // 7c: Update roadmap.md (mark completed phases)
240
236
  Read .workflow/roadmap.md → roadmap
241
237
  for (phaseNum of target.owned_phases):
242
- Read phase index check if completed
243
- IF completed:
244
- Append " ✅ COMPLETED" to phase title line
238
+ isCompleted = completedPhases.some(p => p.phase === phaseNum)
239
+ IF isCompleted:
240
+ Append " ✅ COMPLETED" to phase title line in roadmap
245
241
  Write .workflow/roadmap.md: roadmap
246
242
  ```
247
243
 
@@ -66,24 +66,41 @@ Check existing entries to avoid duplicates when appending in Step 3.
66
66
  - Extract patterns discovered
67
67
  - Extract pitfalls encountered
68
68
 
69
- 2. Aggregate learnings and append to `.workflow/specs/learnings.md`:
69
+ 2. Aggregate learnings and append to `.workflow/specs/learnings.md` using `<spec-entry>` closed-tag format:
70
70
  ```
71
71
  For each strategy adjustment:
72
- ### [YYYY-MM-DD HH:mm] decision: {summary}
72
+ <spec-entry category="learning" keywords="{auto-extracted}" date="{YYYY-MM-DD}" source="milestone-complete">
73
+
74
+ ### {summary}
75
+
73
76
  {content}
74
- Milestone: {milestone} | Source: milestone-complete
77
+ Milestone: {milestone}
78
+
79
+ </spec-entry>
75
80
 
76
81
  For each pattern:
77
- ### [YYYY-MM-DD HH:mm] pattern: {summary}
82
+ <spec-entry category="learning" keywords="{auto-extracted}" date="{YYYY-MM-DD}" source="milestone-complete">
83
+
84
+ ### {summary}
85
+
78
86
  {content}
79
- Milestone: {milestone} | Source: milestone-complete
87
+ Milestone: {milestone}
88
+
89
+ </spec-entry>
80
90
 
81
91
  For each pitfall:
82
- ### [YYYY-MM-DD HH:mm] bug: {summary}
92
+ <spec-entry category="learning" keywords="{auto-extracted}" date="{YYYY-MM-DD}" source="milestone-complete">
93
+
94
+ ### {summary}
95
+
83
96
  {content}
84
- Milestone: {milestone} | Source: milestone-complete
97
+ Milestone: {milestone}
98
+
99
+ </spec-entry>
85
100
  ```
86
101
 
102
+ **Keyword extraction**: Extract 3-5 domain-specific terms from the content (same rules as `spec-add`).
103
+
87
104
  ---
88
105
 
89
106
  ## Step 4: Update State