maestro-flow 0.4.26 → 0.5.1

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 (415) hide show
  1. package/.agents/skills/codify-to-knowhow/phases/03-generate-specs.md +2 -1
  2. package/.agents/skills/learn-follow/SKILL.md +1 -1
  3. package/.agents/skills/learn-investigate/SKILL.md +2 -2
  4. package/.agents/skills/learn-second-opinion/SKILL.md +1 -1
  5. package/.agents/skills/maestro/SKILL.md +6 -3
  6. package/.agents/skills/maestro-analyze/SKILL.md +53 -2
  7. package/.agents/skills/maestro-blueprint/SKILL.md +36 -1
  8. package/.agents/skills/maestro-brainstorm/SKILL.md +40 -1
  9. package/.agents/skills/maestro-collab/SKILL.md +1 -1
  10. package/.agents/skills/maestro-companion/SKILL.md +4 -4
  11. package/.agents/skills/maestro-composer/SKILL.md +1 -1
  12. package/.agents/skills/maestro-execute/SKILL.md +29 -6
  13. package/.agents/skills/maestro-fork/SKILL.md +24 -0
  14. package/.agents/skills/maestro-grill/SKILL.md +38 -1
  15. package/.agents/skills/maestro-help/SKILL.md +5 -6
  16. package/.agents/skills/maestro-help/index/catalog.json +7 -9
  17. package/.agents/skills/maestro-help/phases/02-search-present.md +2 -4
  18. package/.agents/skills/maestro-help/phases/03-workflow-guide.md +7 -8
  19. package/.agents/skills/maestro-impeccable/SKILL.md +13 -0
  20. package/.agents/skills/maestro-init/SKILL.md +11 -0
  21. package/.agents/skills/maestro-merge/SKILL.md +17 -1
  22. package/.agents/skills/maestro-milestone-audit/SKILL.md +34 -2
  23. package/.agents/skills/maestro-milestone-complete/SKILL.md +19 -1
  24. package/.agents/skills/maestro-milestone-release/SKILL.md +18 -0
  25. package/.agents/skills/maestro-next/SKILL.md +8 -9
  26. package/.agents/skills/maestro-overlay/SKILL.md +3 -3
  27. package/.agents/skills/maestro-plan/SKILL.md +21 -3
  28. package/.agents/skills/maestro-quick/SKILL.md +13 -1
  29. package/.agents/skills/maestro-ralph/SKILL.md +18 -20
  30. package/.agents/skills/maestro-ralph-beta/SKILL.md +10 -16
  31. package/.agents/skills/maestro-ralph-execute/SKILL.md +1 -2
  32. package/.agents/skills/maestro-roadmap/SKILL.md +28 -2
  33. package/.agents/skills/maestro-swarm-workflow/SKILL.md +2 -2
  34. package/.agents/skills/maestro-tools-register/SKILL.md +2 -2
  35. package/.agents/skills/maestro-ui-codify/SKILL.md +20 -0
  36. package/.agents/skills/maestro-update/SKILL.md +59 -116
  37. package/.agents/skills/manage-codebase-rebuild/SKILL.md +3 -3
  38. package/.agents/skills/manage-harvest/SKILL.md +1 -1
  39. package/.agents/skills/manage-knowhow/SKILL.md +3 -1
  40. package/.agents/skills/manage-knowhow-capture/SKILL.md +7 -4
  41. package/.agents/skills/manage-wiki/SKILL.md +17 -8
  42. package/.agents/skills/quality-auto-test/SKILL.md +3 -3
  43. package/.agents/skills/quality-debug/SKILL.md +4 -4
  44. package/.agents/skills/quality-refactor/SKILL.md +2 -2
  45. package/.agents/skills/quality-retrospective/SKILL.md +5 -5
  46. package/.agents/skills/quality-review/SKILL.md +4 -4
  47. package/.agents/skills/quality-sync/SKILL.md +1 -0
  48. package/.agents/skills/quality-test/SKILL.md +4 -4
  49. package/.agents/skills/spec-add/SKILL.md +6 -4
  50. package/.agents/skills/spec-setup/SKILL.md +1 -1
  51. package/.agy/skills/codify-to-knowhow/phases/03-generate-specs.md +2 -1
  52. package/.agy/skills/learn-follow/SKILL.md +1 -1
  53. package/.agy/skills/learn-investigate/SKILL.md +2 -2
  54. package/.agy/skills/learn-second-opinion/SKILL.md +1 -1
  55. package/.agy/skills/maestro/SKILL.md +6 -3
  56. package/.agy/skills/maestro-analyze/SKILL.md +53 -2
  57. package/.agy/skills/maestro-blueprint/SKILL.md +36 -1
  58. package/.agy/skills/maestro-brainstorm/SKILL.md +40 -1
  59. package/.agy/skills/maestro-collab/SKILL.md +1 -1
  60. package/.agy/skills/maestro-companion/SKILL.md +4 -4
  61. package/.agy/skills/maestro-composer/SKILL.md +1 -1
  62. package/.agy/skills/maestro-execute/SKILL.md +29 -6
  63. package/.agy/skills/maestro-fork/SKILL.md +24 -0
  64. package/.agy/skills/maestro-grill/SKILL.md +38 -1
  65. package/.agy/skills/maestro-help/SKILL.md +5 -6
  66. package/.agy/skills/maestro-help/index/catalog.json +7 -9
  67. package/.agy/skills/maestro-help/phases/02-search-present.md +2 -4
  68. package/.agy/skills/maestro-help/phases/03-workflow-guide.md +7 -8
  69. package/.agy/skills/maestro-impeccable/SKILL.md +13 -0
  70. package/.agy/skills/maestro-init/SKILL.md +11 -0
  71. package/.agy/skills/maestro-merge/SKILL.md +17 -1
  72. package/.agy/skills/maestro-milestone-audit/SKILL.md +34 -2
  73. package/.agy/skills/maestro-milestone-complete/SKILL.md +19 -1
  74. package/.agy/skills/maestro-milestone-release/SKILL.md +18 -0
  75. package/.agy/skills/maestro-next/SKILL.md +8 -9
  76. package/.agy/skills/maestro-overlay/SKILL.md +3 -3
  77. package/.agy/skills/maestro-plan/SKILL.md +21 -3
  78. package/.agy/skills/maestro-quick/SKILL.md +13 -1
  79. package/.agy/skills/maestro-ralph/SKILL.md +18 -20
  80. package/.agy/skills/maestro-ralph-beta/SKILL.md +10 -16
  81. package/.agy/skills/maestro-ralph-execute/SKILL.md +1 -2
  82. package/.agy/skills/maestro-roadmap/SKILL.md +28 -2
  83. package/.agy/skills/maestro-swarm-workflow/SKILL.md +2 -2
  84. package/.agy/skills/maestro-tools-register/SKILL.md +2 -2
  85. package/.agy/skills/maestro-ui-codify/SKILL.md +20 -0
  86. package/.agy/skills/maestro-update/SKILL.md +59 -116
  87. package/.agy/skills/manage-codebase-rebuild/SKILL.md +3 -3
  88. package/.agy/skills/manage-harvest/SKILL.md +1 -1
  89. package/.agy/skills/manage-knowhow/SKILL.md +3 -1
  90. package/.agy/skills/manage-knowhow-capture/SKILL.md +7 -4
  91. package/.agy/skills/manage-wiki/SKILL.md +17 -8
  92. package/.agy/skills/quality-auto-test/SKILL.md +3 -3
  93. package/.agy/skills/quality-debug/SKILL.md +4 -4
  94. package/.agy/skills/quality-refactor/SKILL.md +2 -2
  95. package/.agy/skills/quality-retrospective/SKILL.md +5 -5
  96. package/.agy/skills/quality-review/SKILL.md +4 -4
  97. package/.agy/skills/quality-sync/SKILL.md +1 -0
  98. package/.agy/skills/quality-test/SKILL.md +4 -4
  99. package/.agy/skills/spec-add/SKILL.md +6 -4
  100. package/.agy/skills/spec-setup/SKILL.md +1 -1
  101. package/.claude/commands/learn-follow.md +1 -1
  102. package/.claude/commands/learn-investigate.md +2 -2
  103. package/.claude/commands/learn-second-opinion.md +1 -1
  104. package/.claude/commands/maestro-analyze.md +53 -2
  105. package/.claude/commands/maestro-blueprint.md +36 -1
  106. package/.claude/commands/maestro-brainstorm.md +40 -1
  107. package/.claude/commands/maestro-collab.md +1 -1
  108. package/.claude/commands/maestro-companion.md +4 -4
  109. package/.claude/commands/maestro-composer.md +1 -1
  110. package/.claude/commands/maestro-execute.md +29 -6
  111. package/.claude/commands/maestro-fork.md +24 -0
  112. package/.claude/commands/maestro-grill.md +38 -1
  113. package/.claude/commands/maestro-impeccable.md +13 -0
  114. package/.claude/commands/maestro-init.md +11 -0
  115. package/.claude/commands/maestro-merge.md +17 -1
  116. package/.claude/commands/maestro-milestone-audit.md +34 -2
  117. package/.claude/commands/maestro-milestone-complete.md +19 -1
  118. package/.claude/commands/maestro-milestone-release.md +18 -0
  119. package/.claude/commands/maestro-next.md +8 -9
  120. package/.claude/commands/maestro-overlay.md +3 -3
  121. package/.claude/commands/maestro-plan.md +21 -3
  122. package/.claude/commands/maestro-quick.md +13 -1
  123. package/.claude/commands/maestro-ralph-beta.md +8 -14
  124. package/.claude/commands/maestro-ralph-execute.md +1 -2
  125. package/.claude/commands/maestro-ralph.md +18 -20
  126. package/.claude/commands/maestro-roadmap.md +28 -2
  127. package/.claude/commands/maestro-swarm-workflow.md +2 -2
  128. package/.claude/commands/maestro-tools-register.md +2 -2
  129. package/.claude/commands/maestro-ui-codify.md +20 -0
  130. package/.claude/commands/maestro-update.md +59 -116
  131. package/.claude/commands/maestro.md +6 -3
  132. package/.claude/commands/manage-codebase-rebuild.md +3 -3
  133. package/.claude/commands/manage-harvest.md +1 -1
  134. package/.claude/commands/manage-knowhow-capture.md +7 -4
  135. package/.claude/commands/manage-knowhow.md +3 -1
  136. package/.claude/commands/manage-wiki.md +17 -8
  137. package/.claude/commands/quality-auto-test.md +3 -3
  138. package/.claude/commands/quality-debug.md +4 -4
  139. package/.claude/commands/quality-refactor.md +2 -2
  140. package/.claude/commands/quality-retrospective.md +5 -5
  141. package/.claude/commands/quality-review.md +4 -4
  142. package/.claude/commands/quality-sync.md +1 -0
  143. package/.claude/commands/quality-test.md +4 -4
  144. package/.claude/commands/spec-add.md +6 -4
  145. package/.claude/commands/spec-setup.md +1 -1
  146. package/.claude/skills/codify-to-knowhow/phases/03-generate-specs.md +2 -1
  147. package/.claude/skills/maestro-help/SKILL.md +5 -6
  148. package/.claude/skills/maestro-help/index/catalog.json +7 -9
  149. package/.claude/skills/maestro-help/phases/02-search-present.md +2 -4
  150. package/.claude/skills/maestro-help/phases/03-workflow-guide.md +7 -8
  151. package/.codex/skills/codify-to-knowhow/SKILL.md +6 -5
  152. package/.codex/skills/learn-decompose/SKILL.md +1 -1
  153. package/.codex/skills/learn-follow/SKILL.md +1 -1
  154. package/.codex/skills/learn-investigate/SKILL.md +1 -1
  155. package/.codex/skills/learn-second-opinion/SKILL.md +1 -1
  156. package/.codex/skills/maestro/SKILL.md +29 -31
  157. package/.codex/skills/maestro-analyze/SKILL.md +17 -4
  158. package/.codex/skills/maestro-blueprint/SKILL.md +8 -1
  159. package/.codex/skills/maestro-brainstorm/SKILL.md +8 -5
  160. package/.codex/skills/maestro-collab/SKILL.md +1 -1
  161. package/.codex/skills/maestro-companion/SKILL.md +2 -2
  162. package/.codex/skills/maestro-composer/SKILL.md +0 -1
  163. package/.codex/skills/maestro-execute/SKILL.md +11 -8
  164. package/.codex/skills/maestro-fork/SKILL.md +4 -0
  165. package/.codex/skills/maestro-grill/SKILL.md +8 -2
  166. package/.codex/skills/maestro-help/SKILL.md +6 -9
  167. package/.codex/skills/maestro-help/catalog.json +6 -8
  168. package/.codex/skills/maestro-impeccable/SKILL.md +2 -0
  169. package/.codex/skills/maestro-init/SKILL.md +3 -0
  170. package/.codex/skills/maestro-merge/SKILL.md +5 -1
  171. package/.codex/skills/maestro-milestone-audit/SKILL.md +3 -0
  172. package/.codex/skills/maestro-milestone-complete/SKILL.md +6 -1
  173. package/.codex/skills/maestro-milestone-release/SKILL.md +4 -0
  174. package/.codex/skills/maestro-next/SKILL.md +3 -4
  175. package/.codex/skills/maestro-plan/SKILL.md +5 -2
  176. package/.codex/skills/maestro-quick/SKILL.md +4 -1
  177. package/.codex/skills/maestro-ralph/SKILL.md +14 -20
  178. package/.codex/skills/maestro-ralph-beta/SKILL.md +13 -21
  179. package/.codex/skills/maestro-ralph-execute/SKILL.md +2 -2
  180. package/.codex/skills/maestro-roadmap/SKILL.md +5 -2
  181. package/.codex/skills/maestro-tools-register/SKILL.md +1 -1
  182. package/.codex/skills/maestro-ui-codify/SKILL.md +4 -1
  183. package/.codex/skills/maestro-update/SKILL.md +35 -130
  184. package/.codex/skills/manage-codebase-rebuild/SKILL.md +2 -2
  185. package/.codex/skills/manage-harvest/SKILL.md +2 -2
  186. package/.codex/skills/manage-knowhow/SKILL.md +1 -1
  187. package/.codex/skills/manage-knowhow-capture/SKILL.md +32 -20
  188. package/.codex/skills/manage-status/SKILL.md +1 -2
  189. package/.codex/skills/quality-auto-test/SKILL.md +2 -2
  190. package/.codex/skills/quality-debug/SKILL.md +2 -2
  191. package/.codex/skills/quality-refactor/SKILL.md +1 -1
  192. package/.codex/skills/quality-retrospective/SKILL.md +1 -1
  193. package/.codex/skills/quality-test/SKILL.md +3 -4
  194. package/.codex/skills/spec-add/SKILL.md +5 -3
  195. package/.codex/skills/spec-remove/SKILL.md +2 -2
  196. package/.codex/skills/team-coordinate/SKILL.md +1 -1
  197. package/.codex/skills/wiki-digest/SKILL.md +2 -2
  198. package/chains/brainstorm-driven.json +2 -34
  199. package/chains/full-lifecycle.json +2 -34
  200. package/chains/next-milestone.json +0 -7
  201. package/chains/quality-loop.json +3 -19
  202. package/chains/roadmap-driven.json +2 -34
  203. package/chains/spec-driven.json +2 -34
  204. package/chains/ui-craft-build.json +2 -23
  205. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +8 -11
  206. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  207. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +1 -0
  208. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +3 -1
  209. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
  210. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -0
  211. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  212. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +9 -0
  213. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  214. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +9 -4
  215. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  216. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +3 -0
  217. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +4 -0
  218. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +5 -3
  219. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  220. package/dashboard/dist-server/src/types/index.d.ts +2 -0
  221. package/dist/src/cli.js +1 -0
  222. package/dist/src/cli.js.map +1 -1
  223. package/dist/src/commands/hooks.d.ts.map +1 -1
  224. package/dist/src/commands/hooks.js +55 -5
  225. package/dist/src/commands/hooks.js.map +1 -1
  226. package/dist/src/commands/install-backend.d.ts.map +1 -1
  227. package/dist/src/commands/install-backend.js +2 -1
  228. package/dist/src/commands/install-backend.js.map +1 -1
  229. package/dist/src/commands/install.d.ts.map +1 -1
  230. package/dist/src/commands/install.js +48 -3
  231. package/dist/src/commands/install.js.map +1 -1
  232. package/dist/src/commands/kg.d.ts +1 -1
  233. package/dist/src/commands/kg.d.ts.map +1 -1
  234. package/dist/src/commands/kg.js +285 -112
  235. package/dist/src/commands/kg.js.map +1 -1
  236. package/dist/src/commands/knowhow.d.ts.map +1 -1
  237. package/dist/src/commands/knowhow.js +28 -37
  238. package/dist/src/commands/knowhow.js.map +1 -1
  239. package/dist/src/commands/ralph.js +1 -1
  240. package/dist/src/commands/ralph.js.map +1 -1
  241. package/dist/src/commands/search.d.ts +36 -0
  242. package/dist/src/commands/search.d.ts.map +1 -0
  243. package/dist/src/commands/search.js +120 -0
  244. package/dist/src/commands/search.js.map +1 -0
  245. package/dist/src/commands/spec.d.ts.map +1 -1
  246. package/dist/src/commands/spec.js +15 -59
  247. package/dist/src/commands/spec.js.map +1 -1
  248. package/dist/src/commands/update.d.ts.map +1 -1
  249. package/dist/src/commands/update.js +7 -0
  250. package/dist/src/commands/update.js.map +1 -1
  251. package/dist/src/commands/wiki.d.ts.map +1 -1
  252. package/dist/src/commands/wiki.js +6 -21
  253. package/dist/src/commands/wiki.js.map +1 -1
  254. package/dist/src/core/component-defs.d.ts +13 -0
  255. package/dist/src/core/component-defs.d.ts.map +1 -1
  256. package/dist/src/core/component-defs.js +37 -85
  257. package/dist/src/core/component-defs.js.map +1 -1
  258. package/dist/src/core/skill-converter.d.ts +25 -0
  259. package/dist/src/core/skill-converter.d.ts.map +1 -0
  260. package/dist/src/core/skill-converter.js +605 -0
  261. package/dist/src/core/skill-converter.js.map +1 -0
  262. package/dist/src/graph/codegraph-adapter.d.ts +147 -0
  263. package/dist/src/graph/codegraph-adapter.d.ts.map +1 -0
  264. package/dist/src/graph/codegraph-adapter.js +266 -0
  265. package/dist/src/graph/codegraph-adapter.js.map +1 -0
  266. package/dist/src/hooks/constants.d.ts +4 -0
  267. package/dist/src/hooks/constants.d.ts.map +1 -1
  268. package/dist/src/hooks/constants.js +14 -1
  269. package/dist/src/hooks/constants.js.map +1 -1
  270. package/dist/src/hooks/context-format.d.ts +46 -0
  271. package/dist/src/hooks/context-format.d.ts.map +1 -0
  272. package/dist/src/hooks/context-format.js +58 -0
  273. package/dist/src/hooks/context-format.js.map +1 -0
  274. package/dist/src/hooks/index.d.ts +2 -0
  275. package/dist/src/hooks/index.d.ts.map +1 -1
  276. package/dist/src/hooks/index.js +2 -0
  277. package/dist/src/hooks/index.js.map +1 -1
  278. package/dist/src/hooks/keyword-spec-injector.d.ts +1 -1
  279. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
  280. package/dist/src/hooks/keyword-spec-injector.js +92 -7
  281. package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
  282. package/dist/src/hooks/kg-context-injector.d.ts +19 -0
  283. package/dist/src/hooks/kg-context-injector.d.ts.map +1 -0
  284. package/dist/src/hooks/kg-context-injector.js +139 -0
  285. package/dist/src/hooks/kg-context-injector.js.map +1 -0
  286. package/dist/src/hooks/kg-sync-hook.d.ts +22 -0
  287. package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -0
  288. package/dist/src/hooks/kg-sync-hook.js +139 -0
  289. package/dist/src/hooks/kg-sync-hook.js.map +1 -0
  290. package/dist/src/hooks/plugins/spec-injection-plugin.js +2 -2
  291. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  292. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  293. package/dist/src/hooks/skill-context.js +0 -1
  294. package/dist/src/hooks/skill-context.js.map +1 -1
  295. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  296. package/dist/src/hooks/spec-injector.js +66 -13
  297. package/dist/src/hooks/spec-injector.js.map +1 -1
  298. package/dist/src/hooks/statusline.d.ts +8 -1
  299. package/dist/src/hooks/statusline.d.ts.map +1 -1
  300. package/dist/src/hooks/statusline.js +45 -29
  301. package/dist/src/hooks/statusline.js.map +1 -1
  302. package/dist/src/hooks/wiki-role-loader.js +1 -1
  303. package/dist/src/hooks/wiki-role-loader.js.map +1 -1
  304. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  305. package/dist/src/i18n/locales/en.js +4 -0
  306. package/dist/src/i18n/locales/en.js.map +1 -1
  307. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  308. package/dist/src/i18n/locales/zh.js +4 -0
  309. package/dist/src/i18n/locales/zh.js.map +1 -1
  310. package/dist/src/i18n/types.d.ts +4 -0
  311. package/dist/src/i18n/types.d.ts.map +1 -1
  312. package/dist/src/ralph/cmd-skills.d.ts.map +1 -1
  313. package/dist/src/ralph/cmd-skills.js +9 -2
  314. package/dist/src/ralph/cmd-skills.js.map +1 -1
  315. package/dist/src/ralph/skill-scanner.d.ts +1 -1
  316. package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
  317. package/dist/src/ralph/skill-scanner.js +14 -0
  318. package/dist/src/ralph/skill-scanner.js.map +1 -1
  319. package/dist/src/ralph/status-schema.d.ts +1 -1
  320. package/dist/src/ralph/status-schema.d.ts.map +1 -1
  321. package/dist/src/tools/spec-entry-parser.d.ts +2 -1
  322. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
  323. package/dist/src/tools/spec-entry-parser.js +7 -4
  324. package/dist/src/tools/spec-entry-parser.js.map +1 -1
  325. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  326. package/dist/src/tools/spec-loader.js +27 -3
  327. package/dist/src/tools/spec-loader.js.map +1 -1
  328. package/dist/src/tools/spec-writer.d.ts +10 -1
  329. package/dist/src/tools/spec-writer.d.ts.map +1 -1
  330. package/dist/src/tools/spec-writer.js +86 -7
  331. package/dist/src/tools/spec-writer.js.map +1 -1
  332. package/dist/src/tools/store-knowhow.d.ts.map +1 -1
  333. package/dist/src/tools/store-knowhow.js +27 -7
  334. package/dist/src/tools/store-knowhow.js.map +1 -1
  335. package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -1
  336. package/dist/src/tui/install-ui/ExecutionView.js +7 -1
  337. package/dist/src/tui/install-ui/ExecutionView.js.map +1 -1
  338. package/dist/src/tui/install-ui/InstallConfirm.d.ts +1 -0
  339. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  340. package/dist/src/tui/install-ui/InstallConfirm.js +3 -1
  341. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  342. package/dist/src/tui/install-ui/InstallExecution.d.ts +2 -0
  343. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  344. package/dist/src/tui/install-ui/InstallExecution.js +25 -1
  345. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  346. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  347. package/dist/src/tui/install-ui/InstallFlow.js +13 -5
  348. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  349. package/dist/src/tui/install-ui/InstallHub.d.ts +2 -0
  350. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  351. package/dist/src/tui/install-ui/InstallHub.js +10 -0
  352. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  353. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  354. package/dist/src/tui/install-ui/InstallResult.js +5 -1
  355. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  356. package/dist/src/types/index.d.ts +2 -0
  357. package/dist/src/types/index.d.ts.map +1 -1
  358. package/dist/src/utils/cli-format.d.ts +6 -0
  359. package/dist/src/utils/cli-format.d.ts.map +1 -1
  360. package/dist/src/utils/cli-format.js +25 -0
  361. package/dist/src/utils/cli-format.js.map +1 -1
  362. package/dist/src/utils/update-notices.js +25 -0
  363. package/dist/src/utils/update-notices.js.map +1 -1
  364. package/package.json +5 -2
  365. package/templates/workflows/specs/node-catalog.md +0 -2
  366. package/workflows/agy-instructions.md +1 -1
  367. package/workflows/analyze.md +9 -4
  368. package/workflows/auto-test.md +2 -2
  369. package/workflows/business-test.md +1 -1
  370. package/workflows/claude-instructions.md +23 -11
  371. package/workflows/codex-instructions.md +2 -3
  372. package/workflows/execute.md +153 -7
  373. package/workflows/finish-work.md +1 -1
  374. package/workflows/fork.md +1 -1
  375. package/workflows/impeccable/design.md +1 -0
  376. package/workflows/impeccable.md +1 -0
  377. package/workflows/integration-test.md +1 -1
  378. package/workflows/knowhow.md +14 -8
  379. package/workflows/maestro-super.md +1 -1
  380. package/workflows/maestro.codex.md +18 -34
  381. package/workflows/maestro.md +34 -42
  382. package/workflows/review.md +1 -1
  383. package/workflows/specs-add.md +1 -1
  384. package/workflows/specs-setup.md +2 -2
  385. package/workflows/status.md +2 -2
  386. package/workflows/swarm/wf-verify.js +1 -1
  387. package/workflows/test-gen.md +2 -2
  388. package/workflows/test.md +1 -1
  389. package/workflows/updates/README.md +41 -0
  390. package/workflows/updates/update-v3-setup.md +79 -0
  391. package/workflows/verify.md +7 -1
  392. package/.agents/skills/learn-retro/SKILL.md +0 -159
  393. package/.agents/skills/maestro-learn/SKILL.md +0 -142
  394. package/.agents/skills/maestro-verify/SKILL.md +0 -146
  395. package/.agents/skills/manage-codebase-refresh/SKILL.md +0 -62
  396. package/.agents/skills/manage-learn/SKILL.md +0 -67
  397. package/.agents/skills/wiki-connect/SKILL.md +0 -64
  398. package/.agents/skills/wiki-digest/SKILL.md +0 -70
  399. package/.agy/skills/learn-retro/SKILL.md +0 -159
  400. package/.agy/skills/maestro-learn/SKILL.md +0 -142
  401. package/.agy/skills/maestro-verify/SKILL.md +0 -146
  402. package/.agy/skills/manage-codebase-refresh/SKILL.md +0 -62
  403. package/.agy/skills/manage-learn/SKILL.md +0 -64
  404. package/.agy/skills/wiki-connect/SKILL.md +0 -64
  405. package/.agy/skills/wiki-digest/SKILL.md +0 -70
  406. package/.claude/commands/learn-retro.md +0 -157
  407. package/.claude/commands/maestro-learn.md +0 -140
  408. package/.claude/commands/maestro-verify.md +0 -144
  409. package/.claude/commands/manage-codebase-refresh.md +0 -60
  410. package/.claude/commands/manage-learn.md +0 -65
  411. package/.claude/commands/wiki-connect.md +0 -62
  412. package/.claude/commands/wiki-digest.md +0 -68
  413. package/.codex/skills/maestro-verify/SKILL.md +0 -254
  414. package/chains/execute-verify.json +0 -59
  415. package/chains/singles/verify.json +0 -26
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Adapter to use @colbymchenry/codegraph as the extraction engine.
3
+ *
4
+ * CodeGraph provides tree-sitter-based (WASM) code parsing with support for
5
+ * 19 languages and 21 framework resolvers. This adapter wraps its API for
6
+ * Maestro's use, translating between the two type systems.
7
+ *
8
+ * Falls back gracefully when the package is not installed: callers should
9
+ * check isAvailable() or isCodeGraphAvailable() before calling index/sync.
10
+ */
11
+ export interface CodeGraphIndexResult {
12
+ success: boolean;
13
+ filesIndexed: number;
14
+ filesSkipped: number;
15
+ filesErrored: number;
16
+ nodeCount: number;
17
+ edgeCount: number;
18
+ durationMs: number;
19
+ errors: Array<{
20
+ message: string;
21
+ filePath?: string;
22
+ severity: string;
23
+ }>;
24
+ }
25
+ export interface CodeGraphSyncResult {
26
+ filesChecked: number;
27
+ filesAdded: number;
28
+ filesModified: number;
29
+ filesRemoved: number;
30
+ nodesUpdated: number;
31
+ durationMs: number;
32
+ changedFilePaths?: string[];
33
+ }
34
+ export interface CodeGraphStatsResult {
35
+ nodeCount: number;
36
+ edgeCount: number;
37
+ fileCount: number;
38
+ nodesByKind: Record<string, number>;
39
+ edgesByKind: Record<string, number>;
40
+ filesByLanguage: Record<string, number>;
41
+ dbSizeBytes: number;
42
+ }
43
+ export interface CodeGraphProgress {
44
+ phase: 'scanning' | 'parsing' | 'storing' | 'resolving';
45
+ current: number;
46
+ total: number;
47
+ currentFile?: string;
48
+ }
49
+ export declare class CodeGraphAdapter {
50
+ private projectRoot;
51
+ private cgInstance;
52
+ private available;
53
+ constructor(projectRoot: string);
54
+ /**
55
+ * Check if the @colbymchenry/codegraph package can be loaded.
56
+ * Result is cached after the first successful probe.
57
+ */
58
+ isAvailable(): boolean;
59
+ /**
60
+ * Full project indexing with tree-sitter extraction.
61
+ *
62
+ * If the project has not been initialized with CodeGraph yet, this will
63
+ * call `CodeGraph.init()` (which creates the `.codegraph/` directory and
64
+ * database). Otherwise it opens the existing project and runs `indexAll()`.
65
+ */
66
+ index(options?: {
67
+ onProgress?: (progress: CodeGraphProgress) => void;
68
+ signal?: AbortSignal;
69
+ verbose?: boolean;
70
+ }): Promise<CodeGraphIndexResult>;
71
+ /**
72
+ * Incremental sync -- re-index only changed files.
73
+ */
74
+ sync(options?: {
75
+ onProgress?: (progress: CodeGraphProgress) => void;
76
+ }): Promise<CodeGraphSyncResult>;
77
+ /**
78
+ * Get graph statistics.
79
+ */
80
+ stats(): Promise<CodeGraphStatsResult>;
81
+ /**
82
+ * Get detected frameworks in the project (e.g. "express", "react", "nestjs").
83
+ */
84
+ getDetectedFrameworks(): Promise<string[]>;
85
+ /**
86
+ * Check whether this project has already been initialized by CodeGraph
87
+ * (i.e. `.codegraph/` directory and database exist).
88
+ */
89
+ isInitialized(): boolean;
90
+ /**
91
+ * Resolve a Maestro-style node ID (e.g. "function:tools/spec-loader.ts:loadSpecs")
92
+ * to a CodeGraph node. Also accepts CodeGraph hash-based IDs directly.
93
+ *
94
+ * Returns the full CodeGraph node object, or null if not found.
95
+ */
96
+ resolveNode(maestroId: string): Promise<any | null>;
97
+ /**
98
+ * Get callers of a node, accepting either CodeGraph or Maestro-style IDs.
99
+ */
100
+ getCallers(nodeId: string, maxDepth?: number): Promise<Array<{
101
+ node: any;
102
+ edge: any;
103
+ }>>;
104
+ /**
105
+ * Get callees of a node, accepting either CodeGraph or Maestro-style IDs.
106
+ */
107
+ getCallees(nodeId: string, maxDepth?: number): Promise<Array<{
108
+ node: any;
109
+ edge: any;
110
+ }>>;
111
+ /**
112
+ * Get full context for a node (CodeGraph's getContext).
113
+ */
114
+ getContext(nodeId: string): Promise<any | null>;
115
+ /**
116
+ * Search nodes in the CodeGraph index.
117
+ */
118
+ searchNodes(query: string, options?: {
119
+ limit?: number;
120
+ kinds?: string[];
121
+ }): Promise<Array<{
122
+ node: any;
123
+ score: number;
124
+ }>>;
125
+ /**
126
+ * Get nodes in a specific file.
127
+ */
128
+ getNodesInFile(filePath: string): Promise<any[]>;
129
+ /**
130
+ * Release the underlying CodeGraph instance and database connection.
131
+ */
132
+ close(): void;
133
+ /**
134
+ * Ensure we have a live CodeGraph instance.
135
+ *
136
+ * - If the project is already initialized, opens it.
137
+ * - If `forWrite` and not initialized, initializes a fresh project.
138
+ * - If `!forWrite` and not initialized, throws.
139
+ */
140
+ private ensureInstance;
141
+ }
142
+ /**
143
+ * Check if @colbymchenry/codegraph can be loaded in this environment.
144
+ * Useful for feature-gating without instantiating a full adapter.
145
+ */
146
+ export declare function isCodeGraphAvailable(): boolean;
147
+ //# sourceMappingURL=codegraph-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegraph-adapter.d.ts","sourceRoot":"","sources":["../../../src/graph/codegraph-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Adapter to use @colbymchenry/codegraph as the extraction engine.
3
+ *
4
+ * CodeGraph provides tree-sitter-based (WASM) code parsing with support for
5
+ * 19 languages and 21 framework resolvers. This adapter wraps its API for
6
+ * Maestro's use, translating between the two type systems.
7
+ *
8
+ * Falls back gracefully when the package is not installed: callers should
9
+ * check isAvailable() or isCodeGraphAvailable() before calling index/sync.
10
+ */
11
+ import { createRequire } from 'node:module';
12
+ const require = createRequire(import.meta.url);
13
+ // ---------------------------------------------------------------------------
14
+ // Adapter class
15
+ // ---------------------------------------------------------------------------
16
+ export class CodeGraphAdapter {
17
+ projectRoot;
18
+ cgInstance = null;
19
+ available = null;
20
+ constructor(projectRoot) {
21
+ this.projectRoot = projectRoot;
22
+ }
23
+ /**
24
+ * Check if the @colbymchenry/codegraph package can be loaded.
25
+ * Result is cached after the first successful probe.
26
+ */
27
+ isAvailable() {
28
+ if (this.available !== null)
29
+ return this.available;
30
+ try {
31
+ require('@colbymchenry/codegraph');
32
+ this.available = true;
33
+ }
34
+ catch {
35
+ this.available = false;
36
+ }
37
+ return this.available;
38
+ }
39
+ /**
40
+ * Full project indexing with tree-sitter extraction.
41
+ *
42
+ * If the project has not been initialized with CodeGraph yet, this will
43
+ * call `CodeGraph.init()` (which creates the `.codegraph/` directory and
44
+ * database). Otherwise it opens the existing project and runs `indexAll()`.
45
+ */
46
+ async index(options) {
47
+ const cg = await this.ensureInstance(/* forWrite */ true);
48
+ const result = await cg.indexAll({
49
+ onProgress: options?.onProgress,
50
+ signal: options?.signal,
51
+ verbose: options?.verbose,
52
+ });
53
+ // Run reference resolution after indexing for full edge coverage
54
+ cg.resolveReferences();
55
+ return {
56
+ success: result.success,
57
+ filesIndexed: result.filesIndexed,
58
+ filesSkipped: result.filesSkipped,
59
+ filesErrored: result.filesErrored,
60
+ nodeCount: result.nodesCreated,
61
+ edgeCount: result.edgesCreated,
62
+ durationMs: result.durationMs,
63
+ errors: result.errors.map((e) => ({
64
+ message: e.message,
65
+ filePath: e.filePath,
66
+ severity: e.severity,
67
+ })),
68
+ };
69
+ }
70
+ /**
71
+ * Incremental sync -- re-index only changed files.
72
+ */
73
+ async sync(options) {
74
+ const cg = await this.ensureInstance(/* forWrite */ true);
75
+ const result = await cg.sync({
76
+ onProgress: options?.onProgress,
77
+ });
78
+ return {
79
+ filesChecked: result.filesChecked,
80
+ filesAdded: result.filesAdded,
81
+ filesModified: result.filesModified,
82
+ filesRemoved: result.filesRemoved,
83
+ nodesUpdated: result.nodesUpdated,
84
+ durationMs: result.durationMs,
85
+ changedFilePaths: result.changedFilePaths,
86
+ };
87
+ }
88
+ /**
89
+ * Get graph statistics.
90
+ */
91
+ async stats() {
92
+ const cg = await this.ensureInstance(/* forWrite */ false);
93
+ const s = cg.getStats();
94
+ return {
95
+ nodeCount: s.nodeCount,
96
+ edgeCount: s.edgeCount,
97
+ fileCount: s.fileCount,
98
+ nodesByKind: s.nodesByKind,
99
+ edgesByKind: s.edgesByKind,
100
+ filesByLanguage: s.filesByLanguage,
101
+ dbSizeBytes: s.dbSizeBytes,
102
+ };
103
+ }
104
+ /**
105
+ * Get detected frameworks in the project (e.g. "express", "react", "nestjs").
106
+ */
107
+ async getDetectedFrameworks() {
108
+ const cg = await this.ensureInstance(/* forWrite */ false);
109
+ return cg.getDetectedFrameworks();
110
+ }
111
+ /**
112
+ * Check whether this project has already been initialized by CodeGraph
113
+ * (i.e. `.codegraph/` directory and database exist).
114
+ */
115
+ isInitialized() {
116
+ if (!this.isAvailable())
117
+ return false;
118
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
119
+ const { isInitialized } = require('@colbymchenry/codegraph');
120
+ return isInitialized(this.projectRoot);
121
+ }
122
+ /**
123
+ * Resolve a Maestro-style node ID (e.g. "function:tools/spec-loader.ts:loadSpecs")
124
+ * to a CodeGraph node. Also accepts CodeGraph hash-based IDs directly.
125
+ *
126
+ * Returns the full CodeGraph node object, or null if not found.
127
+ */
128
+ async resolveNode(maestroId) {
129
+ const cg = await this.ensureInstance(/* forWrite */ false);
130
+ // Try direct lookup first (handles CodeGraph native IDs)
131
+ const direct = cg.getNode(maestroId);
132
+ if (direct)
133
+ return direct;
134
+ // Parse Maestro-style ID: "kind:filePath:name"
135
+ const parts = maestroId.split(':');
136
+ if (parts.length < 3)
137
+ return null;
138
+ const kind = parts[0];
139
+ const name = parts[parts.length - 1];
140
+ const filePath = parts.slice(1, -1).join(':');
141
+ // Search by name and filter by kind + file path
142
+ const results = cg.searchNodes(name, { limit: 50 });
143
+ for (const r of results) {
144
+ const node = r.node ?? r;
145
+ if (node.name === name &&
146
+ node.kind === kind &&
147
+ node.filePath &&
148
+ (node.filePath === filePath || node.filePath.endsWith(filePath) || filePath.endsWith(node.filePath))) {
149
+ return node;
150
+ }
151
+ }
152
+ // Fallback: less strict match (name + kind only)
153
+ for (const r of results) {
154
+ const node = r.node ?? r;
155
+ if (node.name === name && node.kind === kind) {
156
+ return node;
157
+ }
158
+ }
159
+ return null;
160
+ }
161
+ /**
162
+ * Get callers of a node, accepting either CodeGraph or Maestro-style IDs.
163
+ */
164
+ async getCallers(nodeId, maxDepth = 2) {
165
+ const cg = await this.ensureInstance(/* forWrite */ false);
166
+ const resolved = await this.resolveNode(nodeId);
167
+ if (!resolved)
168
+ return [];
169
+ return cg.getCallers(resolved.id, maxDepth);
170
+ }
171
+ /**
172
+ * Get callees of a node, accepting either CodeGraph or Maestro-style IDs.
173
+ */
174
+ async getCallees(nodeId, maxDepth = 2) {
175
+ const cg = await this.ensureInstance(/* forWrite */ false);
176
+ const resolved = await this.resolveNode(nodeId);
177
+ if (!resolved)
178
+ return [];
179
+ return cg.getCallees(resolved.id, maxDepth);
180
+ }
181
+ /**
182
+ * Get full context for a node (CodeGraph's getContext).
183
+ */
184
+ async getContext(nodeId) {
185
+ const cg = await this.ensureInstance(/* forWrite */ false);
186
+ const resolved = await this.resolveNode(nodeId);
187
+ if (!resolved)
188
+ return null;
189
+ return cg.getContext(resolved.id);
190
+ }
191
+ /**
192
+ * Search nodes in the CodeGraph index.
193
+ */
194
+ async searchNodes(query, options) {
195
+ const cg = await this.ensureInstance(/* forWrite */ false);
196
+ return cg.searchNodes(query, options);
197
+ }
198
+ /**
199
+ * Get nodes in a specific file.
200
+ */
201
+ async getNodesInFile(filePath) {
202
+ const cg = await this.ensureInstance(/* forWrite */ false);
203
+ return cg.getNodesInFile(filePath);
204
+ }
205
+ /**
206
+ * Release the underlying CodeGraph instance and database connection.
207
+ */
208
+ close() {
209
+ if (this.cgInstance) {
210
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
211
+ this.cgInstance.close();
212
+ this.cgInstance = null;
213
+ }
214
+ }
215
+ // -----------------------------------------------------------------------
216
+ // Internal helpers
217
+ // -----------------------------------------------------------------------
218
+ /**
219
+ * Ensure we have a live CodeGraph instance.
220
+ *
221
+ * - If the project is already initialized, opens it.
222
+ * - If `forWrite` and not initialized, initializes a fresh project.
223
+ * - If `!forWrite` and not initialized, throws.
224
+ */
225
+ async ensureInstance(forWrite) {
226
+ if (this.cgInstance)
227
+ return this.cgInstance;
228
+ // Use createRequire (defined at module level) for consistent CJS interop.
229
+ // Dynamic `await import()` wraps CJS differently than `require()`.
230
+ const pkg = require('@colbymchenry/codegraph');
231
+ const CG = pkg.CodeGraph;
232
+ const initialized = pkg.isInitialized(this.projectRoot);
233
+ if (initialized) {
234
+ this.cgInstance = await CG.open(this.projectRoot);
235
+ }
236
+ else if (forWrite) {
237
+ this.cgInstance = await CG.init(this.projectRoot);
238
+ }
239
+ else {
240
+ throw new Error(`CodeGraph not initialized for ${this.projectRoot}. ` +
241
+ 'Run "maestro kg index" first to create the index.');
242
+ }
243
+ return this.cgInstance;
244
+ }
245
+ }
246
+ // ---------------------------------------------------------------------------
247
+ // Standalone availability check (no instance needed)
248
+ // ---------------------------------------------------------------------------
249
+ let _cachedAvailable = null;
250
+ /**
251
+ * Check if @colbymchenry/codegraph can be loaded in this environment.
252
+ * Useful for feature-gating without instantiating a full adapter.
253
+ */
254
+ export function isCodeGraphAvailable() {
255
+ if (_cachedAvailable !== null)
256
+ return _cachedAvailable;
257
+ try {
258
+ require('@colbymchenry/codegraph');
259
+ _cachedAvailable = true;
260
+ }
261
+ catch {
262
+ _cachedAvailable = false;
263
+ }
264
+ return _cachedAvailable;
265
+ }
266
+ //# sourceMappingURL=codegraph-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegraph-adapter.js","sourceRoot":"","sources":["../../../src/graph/codegraph-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ /** Active layout — 'compact' (default 2-line) or 'expanded' (3-line) */
2
+ export declare const STATUSLINE_LAYOUT: "compact" | "expanded";
1
3
  /** Ignore bridge metrics older than this (seconds) */
2
4
  export declare const STALE_SECONDS = 60;
3
5
  /** Claude Code reserves ~16.5% for autocompact buffer */
@@ -10,6 +12,8 @@ export declare const NOTIFY_PREFIX = "maestro-notify-";
10
12
  export declare const COORD_BRIDGE_PREFIX = "maestro-coord-";
11
13
  /** Spec keyword injection dedup bridge file prefix in os.tmpdir() */
12
14
  export declare const SPEC_KW_BRIDGE_PREFIX = "maestro-spec-kw-";
15
+ /** KG sync cooldown bridge file prefix in os.tmpdir() */
16
+ export declare const KG_SYNC_BRIDGE_PREFIX = "maestro-kg-sync-";
13
17
  /** Max ms to wait for stdin before exiting (Windows pipe safety) */
14
18
  export declare const STDIN_TIMEOUT_MS = 3000;
15
19
  export declare const ICONS: {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"AA2CA,sDAAsD;AACtD,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,wCAAwC;AACxC,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAE5C,uDAAuD;AACvD,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AA8BrC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAErE,uBAAuB;AACvB,eAAO,MAAM,SAAS;;;;;;CAMZ,CAAC;AAMX,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAKrD;AAMD,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAErE;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAErE;AAED,eAAO,MAAM,UAAU,cAAY,CAAC;AACpC,eAAO,MAAM,QAAQ,cAAY,CAAC;AAClC,eAAO,MAAM,SAAS,cAAY,CAAC;AACnC,eAAO,MAAM,SAAS,eAAa,CAAC;AACpC,eAAO,MAAM,UAAU,cAAY,CAAC;AAMpC,KAAK,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7C,UAAU,WAAW;IACnB,KAAK,EAAM,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAM,GAAG,CAAC;IACf,KAAK,EAAM,GAAG,CAAC;IACf,IAAI,EAAO,GAAG,CAAC;IACf,IAAI,EAAO,GAAG,CAAC;IACf,GAAG,EAAQ,GAAG,CAAC;IACf,GAAG,EAAQ,GAAG,CAAC;IACf,KAAK,EAAM,GAAG,CAAC;IACf,OAAO,EAAI,GAAG,CAAC;IACf,QAAQ,EAAG,GAAG,CAAC;IACf,OAAO,EAAI,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,2BAA2B;AAC3B,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA4E9C,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,WAAW,EAA0B,MAAM,EAAE,CAAC;AAE3D,yEAAyE;AACzE,eAAO,MAAM,WAAW,EAAE,WAAsD,CAAC;AAEjF,eAAO,MAAM,KAAK;;;;;CAKR,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,KAAK,CAAC;AAE3C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAKvD;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAKjD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"AAmDA,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,wBAAmB,CAAC;AAElD,sDAAsD;AACtD,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,wCAAwC;AACxC,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAE5C,uDAAuD;AACvD,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,yDAAyD;AACzD,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AA8BrC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAErE,uBAAuB;AACvB,eAAO,MAAM,SAAS;;;;;;CAMZ,CAAC;AAMX,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAKrD;AAMD,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAErE;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAErE;AAED,eAAO,MAAM,UAAU,cAAY,CAAC;AACpC,eAAO,MAAM,QAAQ,cAAY,CAAC;AAClC,eAAO,MAAM,SAAS,cAAY,CAAC;AACnC,eAAO,MAAM,SAAS,eAAa,CAAC;AACpC,eAAO,MAAM,UAAU,cAAY,CAAC;AAMpC,KAAK,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7C,UAAU,WAAW;IACnB,KAAK,EAAM,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAM,GAAG,CAAC;IACf,KAAK,EAAM,GAAG,CAAC;IACf,IAAI,EAAO,GAAG,CAAC;IACf,IAAI,EAAO,GAAG,CAAC;IACf,GAAG,EAAQ,GAAG,CAAC;IACf,GAAG,EAAQ,GAAG,CAAC;IACf,KAAK,EAAM,GAAG,CAAC;IACf,OAAO,EAAI,GAAG,CAAC;IACf,QAAQ,EAAG,GAAG,CAAC;IACf,OAAO,EAAI,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,2BAA2B;AAC3B,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA4E9C,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,WAAW,EAA0B,MAAM,EAAE,CAAC;AAE3D,yEAAyE;AACzE,eAAO,MAAM,WAAW,EAAE,WAAsD,CAAC;AAEjF,eAAO,MAAM,KAAK;;;;;CAKR,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,KAAK,CAAC;AAE3C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAKvD;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAKjD,CAAC"}
@@ -5,6 +5,7 @@ import { homedir } from 'node:os';
5
5
  function readStatuslineConfig() {
6
6
  let nerdFont = false;
7
7
  let theme = 'notion';
8
+ let layout = 'compact';
8
9
  // Env overrides
9
10
  if (process.env.MAESTRO_NERD_FONT === '1')
10
11
  nerdFont = true;
@@ -12,6 +13,10 @@ function readStatuslineConfig() {
12
13
  nerdFont = false;
13
14
  if (process.env.MAESTRO_STATUSLINE_THEME)
14
15
  theme = process.env.MAESTRO_STATUSLINE_THEME;
16
+ if (process.env.MAESTRO_STATUSLINE_LAYOUT === 'expanded')
17
+ layout = 'expanded';
18
+ else if (process.env.MAESTRO_STATUSLINE_LAYOUT === 'compact')
19
+ layout = 'compact';
15
20
  // Config file
16
21
  try {
17
22
  const configPath = join(process.env.MAESTRO_HOME || join(homedir(), '.maestro'), 'config.json');
@@ -23,12 +28,18 @@ function readStatuslineConfig() {
23
28
  nerdFont = false;
24
29
  if (cfg.statusline?.theme && !process.env.MAESTRO_STATUSLINE_THEME)
25
30
  theme = cfg.statusline.theme;
31
+ if (!process.env.MAESTRO_STATUSLINE_LAYOUT &&
32
+ (cfg.statusline?.layout === 'expanded' || cfg.statusline?.layout === 'compact')) {
33
+ layout = cfg.statusline.layout;
34
+ }
26
35
  }
27
36
  }
28
37
  catch { /* ignore */ }
29
- return { nerdFont, theme };
38
+ return { nerdFont, theme, layout };
30
39
  }
31
40
  const _slConfig = readStatuslineConfig();
41
+ /** Active layout — 'compact' (default 2-line) or 'expanded' (3-line) */
42
+ export const STATUSLINE_LAYOUT = _slConfig.layout;
32
43
  /** Ignore bridge metrics older than this (seconds) */
33
44
  export const STALE_SECONDS = 60;
34
45
  /** Claude Code reserves ~16.5% for autocompact buffer */
@@ -41,6 +52,8 @@ export const NOTIFY_PREFIX = 'maestro-notify-';
41
52
  export const COORD_BRIDGE_PREFIX = 'maestro-coord-';
42
53
  /** Spec keyword injection dedup bridge file prefix in os.tmpdir() */
43
54
  export const SPEC_KW_BRIDGE_PREFIX = 'maestro-spec-kw-';
55
+ /** KG sync cooldown bridge file prefix in os.tmpdir() */
56
+ export const KG_SYNC_BRIDGE_PREFIX = 'maestro-kg-sync-';
44
57
  /** Max ms to wait for stdin before exiting (Windows pipe safety) */
45
58
  export const STDIN_TIMEOUT_MS = 3000;
46
59
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Context Format — unified <maestro-context> container
3
+ *
4
+ * Single source of truth for the shape of injected context across all hook
5
+ * injectors (spec-injector, keyword-spec-injector, kg-context-injector).
6
+ *
7
+ * Before this module each injector emitted its own wrapper tag
8
+ * (<spec-keyword-match>, <kg-symbol-context>, <kg-context>, or none).
9
+ * Now every injector builds `ContextSection[]` and calls `wrapMaestroContext`
10
+ * to produce one consistent, compact block:
11
+ *
12
+ * <maestro-context budget="used/max">
13
+ * ## label1
14
+ * - line
15
+ * - line
16
+ * ## label2
17
+ * - line
18
+ * </maestro-context>
19
+ *
20
+ * FUTURE WORK: budget coordination is still per-injector — each injector calls
21
+ * evaluateContextBudget independently and reports its own used/max here. A
22
+ * cross-injector budget pool (shared token accounting across all hooks in one
23
+ * turn) is intentionally NOT implemented yet to avoid behavioral risk; this
24
+ * change unifies the FORMAT only.
25
+ */
26
+ export interface ContextSection {
27
+ /** Section heading shown after `## ` (e.g. 'specs', 'kg-symbols'). */
28
+ label: string;
29
+ /** Content lines; each rendered as a `- ` bullet. Empty lines are dropped. */
30
+ lines: string[];
31
+ }
32
+ export interface ContextBudgetInfo {
33
+ used: number;
34
+ max: number;
35
+ }
36
+ /**
37
+ * Wrap context sections in a single compact <maestro-context> block.
38
+ *
39
+ * - Skips sections that have no non-empty lines.
40
+ * - Renders each line as a `- ` bullet, no blank lines between items.
41
+ * - Emits a `budget="used/max"` attribute on the opening tag.
42
+ *
43
+ * Returns an empty string when there is nothing to inject.
44
+ */
45
+ export declare function wrapMaestroContext(sections: ContextSection[], budget: ContextBudgetInfo): string;
46
+ //# sourceMappingURL=context-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-format.d.ts","sourceRoot":"","sources":["../../../src/hooks/context-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EAAE,EAC1B,MAAM,EAAE,iBAAiB,GACxB,MAAM,CAsBR"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Context Format — unified <maestro-context> container
3
+ *
4
+ * Single source of truth for the shape of injected context across all hook
5
+ * injectors (spec-injector, keyword-spec-injector, kg-context-injector).
6
+ *
7
+ * Before this module each injector emitted its own wrapper tag
8
+ * (<spec-keyword-match>, <kg-symbol-context>, <kg-context>, or none).
9
+ * Now every injector builds `ContextSection[]` and calls `wrapMaestroContext`
10
+ * to produce one consistent, compact block:
11
+ *
12
+ * <maestro-context budget="used/max">
13
+ * ## label1
14
+ * - line
15
+ * - line
16
+ * ## label2
17
+ * - line
18
+ * </maestro-context>
19
+ *
20
+ * FUTURE WORK: budget coordination is still per-injector — each injector calls
21
+ * evaluateContextBudget independently and reports its own used/max here. A
22
+ * cross-injector budget pool (shared token accounting across all hooks in one
23
+ * turn) is intentionally NOT implemented yet to avoid behavioral risk; this
24
+ * change unifies the FORMAT only.
25
+ */
26
+ // ---------------------------------------------------------------------------
27
+ // Public API
28
+ // ---------------------------------------------------------------------------
29
+ /**
30
+ * Wrap context sections in a single compact <maestro-context> block.
31
+ *
32
+ * - Skips sections that have no non-empty lines.
33
+ * - Renders each line as a `- ` bullet, no blank lines between items.
34
+ * - Emits a `budget="used/max"` attribute on the opening tag.
35
+ *
36
+ * Returns an empty string when there is nothing to inject.
37
+ */
38
+ export function wrapMaestroContext(sections, budget) {
39
+ const body = [];
40
+ for (const section of sections) {
41
+ const lines = section.lines
42
+ .map(l => l.trim())
43
+ .filter(l => l.length > 0);
44
+ if (lines.length === 0)
45
+ continue;
46
+ body.push(`## ${section.label}`);
47
+ for (const line of lines) {
48
+ // Avoid double-bulleting lines that already start with a marker.
49
+ body.push(line.startsWith('- ') ? line : `- ${line}`);
50
+ }
51
+ }
52
+ if (body.length === 0)
53
+ return '';
54
+ const used = Number.isFinite(budget.used) ? budget.used : 0;
55
+ const max = Number.isFinite(budget.max) ? budget.max : 0;
56
+ return `<maestro-context budget="${used}/${max}">\n${body.join('\n')}\n</maestro-context>`;
57
+ }
58
+ //# sourceMappingURL=context-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-format.js","sourceRoot":"","sources":["../../../src/hooks/context-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAkBH,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA0B,EAC1B,MAAyB;IAEzB,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEjC,IAAI,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,OAAO,4BAA4B,IAAI,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;AAC7F,CAAC"}