maestro-flow 0.4.26 → 0.5.0

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 (380) hide show
  1. package/.agents/skills/learn-follow/SKILL.md +1 -1
  2. package/.agents/skills/learn-investigate/SKILL.md +2 -2
  3. package/.agents/skills/learn-second-opinion/SKILL.md +1 -1
  4. package/.agents/skills/maestro/SKILL.md +6 -3
  5. package/.agents/skills/maestro-analyze/SKILL.md +53 -2
  6. package/.agents/skills/maestro-blueprint/SKILL.md +36 -1
  7. package/.agents/skills/maestro-brainstorm/SKILL.md +40 -1
  8. package/.agents/skills/maestro-collab/SKILL.md +1 -1
  9. package/.agents/skills/maestro-companion/SKILL.md +4 -4
  10. package/.agents/skills/maestro-composer/SKILL.md +1 -1
  11. package/.agents/skills/maestro-execute/SKILL.md +29 -6
  12. package/.agents/skills/maestro-fork/SKILL.md +24 -0
  13. package/.agents/skills/maestro-grill/SKILL.md +38 -1
  14. package/.agents/skills/maestro-help/SKILL.md +5 -6
  15. package/.agents/skills/maestro-help/index/catalog.json +7 -9
  16. package/.agents/skills/maestro-help/phases/02-search-present.md +2 -4
  17. package/.agents/skills/maestro-help/phases/03-workflow-guide.md +7 -8
  18. package/.agents/skills/maestro-impeccable/SKILL.md +13 -0
  19. package/.agents/skills/maestro-init/SKILL.md +11 -0
  20. package/.agents/skills/maestro-merge/SKILL.md +17 -1
  21. package/.agents/skills/maestro-milestone-audit/SKILL.md +34 -2
  22. package/.agents/skills/maestro-milestone-complete/SKILL.md +19 -1
  23. package/.agents/skills/maestro-milestone-release/SKILL.md +18 -0
  24. package/.agents/skills/maestro-next/SKILL.md +8 -9
  25. package/.agents/skills/maestro-overlay/SKILL.md +3 -3
  26. package/.agents/skills/maestro-plan/SKILL.md +21 -3
  27. package/.agents/skills/maestro-quick/SKILL.md +13 -1
  28. package/.agents/skills/maestro-ralph/SKILL.md +18 -20
  29. package/.agents/skills/maestro-ralph-beta/SKILL.md +10 -16
  30. package/.agents/skills/maestro-ralph-execute/SKILL.md +1 -2
  31. package/.agents/skills/maestro-roadmap/SKILL.md +28 -2
  32. package/.agents/skills/maestro-swarm-workflow/SKILL.md +2 -2
  33. package/.agents/skills/maestro-tools-register/SKILL.md +2 -2
  34. package/.agents/skills/maestro-ui-codify/SKILL.md +20 -0
  35. package/.agents/skills/maestro-update/SKILL.md +59 -116
  36. package/.agents/skills/manage-codebase-rebuild/SKILL.md +3 -3
  37. package/.agents/skills/manage-harvest/SKILL.md +1 -1
  38. package/.agents/skills/manage-knowhow/SKILL.md +3 -1
  39. package/.agents/skills/manage-knowhow-capture/SKILL.md +3 -2
  40. package/.agents/skills/manage-wiki/SKILL.md +17 -8
  41. package/.agents/skills/quality-auto-test/SKILL.md +3 -3
  42. package/.agents/skills/quality-debug/SKILL.md +4 -4
  43. package/.agents/skills/quality-refactor/SKILL.md +2 -2
  44. package/.agents/skills/quality-retrospective/SKILL.md +5 -5
  45. package/.agents/skills/quality-review/SKILL.md +4 -4
  46. package/.agents/skills/quality-sync/SKILL.md +1 -0
  47. package/.agents/skills/quality-test/SKILL.md +4 -4
  48. package/.agents/skills/spec-add/SKILL.md +6 -4
  49. package/.agents/skills/spec-setup/SKILL.md +1 -1
  50. package/.agy/skills/learn-follow/SKILL.md +1 -1
  51. package/.agy/skills/learn-investigate/SKILL.md +2 -2
  52. package/.agy/skills/learn-second-opinion/SKILL.md +1 -1
  53. package/.agy/skills/maestro/SKILL.md +6 -3
  54. package/.agy/skills/maestro-analyze/SKILL.md +53 -2
  55. package/.agy/skills/maestro-blueprint/SKILL.md +36 -1
  56. package/.agy/skills/maestro-brainstorm/SKILL.md +40 -1
  57. package/.agy/skills/maestro-collab/SKILL.md +1 -1
  58. package/.agy/skills/maestro-companion/SKILL.md +4 -4
  59. package/.agy/skills/maestro-composer/SKILL.md +1 -1
  60. package/.agy/skills/maestro-execute/SKILL.md +29 -6
  61. package/.agy/skills/maestro-fork/SKILL.md +24 -0
  62. package/.agy/skills/maestro-grill/SKILL.md +38 -1
  63. package/.agy/skills/maestro-help/SKILL.md +5 -6
  64. package/.agy/skills/maestro-help/index/catalog.json +7 -9
  65. package/.agy/skills/maestro-help/phases/02-search-present.md +2 -4
  66. package/.agy/skills/maestro-help/phases/03-workflow-guide.md +7 -8
  67. package/.agy/skills/maestro-impeccable/SKILL.md +13 -0
  68. package/.agy/skills/maestro-init/SKILL.md +11 -0
  69. package/.agy/skills/maestro-merge/SKILL.md +17 -1
  70. package/.agy/skills/maestro-milestone-audit/SKILL.md +34 -2
  71. package/.agy/skills/maestro-milestone-complete/SKILL.md +19 -1
  72. package/.agy/skills/maestro-milestone-release/SKILL.md +18 -0
  73. package/.agy/skills/maestro-next/SKILL.md +8 -9
  74. package/.agy/skills/maestro-overlay/SKILL.md +3 -3
  75. package/.agy/skills/maestro-plan/SKILL.md +21 -3
  76. package/.agy/skills/maestro-quick/SKILL.md +13 -1
  77. package/.agy/skills/maestro-ralph/SKILL.md +18 -20
  78. package/.agy/skills/maestro-ralph-beta/SKILL.md +10 -16
  79. package/.agy/skills/maestro-ralph-execute/SKILL.md +1 -2
  80. package/.agy/skills/maestro-roadmap/SKILL.md +28 -2
  81. package/.agy/skills/maestro-swarm-workflow/SKILL.md +2 -2
  82. package/.agy/skills/maestro-tools-register/SKILL.md +2 -2
  83. package/.agy/skills/maestro-ui-codify/SKILL.md +20 -0
  84. package/.agy/skills/maestro-update/SKILL.md +59 -116
  85. package/.agy/skills/manage-codebase-rebuild/SKILL.md +3 -3
  86. package/.agy/skills/manage-harvest/SKILL.md +1 -1
  87. package/.agy/skills/manage-knowhow/SKILL.md +3 -1
  88. package/.agy/skills/manage-knowhow-capture/SKILL.md +3 -2
  89. package/.agy/skills/manage-wiki/SKILL.md +17 -8
  90. package/.agy/skills/quality-auto-test/SKILL.md +3 -3
  91. package/.agy/skills/quality-debug/SKILL.md +4 -4
  92. package/.agy/skills/quality-refactor/SKILL.md +2 -2
  93. package/.agy/skills/quality-retrospective/SKILL.md +5 -5
  94. package/.agy/skills/quality-review/SKILL.md +4 -4
  95. package/.agy/skills/quality-sync/SKILL.md +1 -0
  96. package/.agy/skills/quality-test/SKILL.md +4 -4
  97. package/.agy/skills/spec-add/SKILL.md +6 -4
  98. package/.agy/skills/spec-setup/SKILL.md +1 -1
  99. package/.claude/commands/learn-follow.md +1 -1
  100. package/.claude/commands/learn-investigate.md +2 -2
  101. package/.claude/commands/learn-second-opinion.md +1 -1
  102. package/.claude/commands/maestro-analyze.md +53 -2
  103. package/.claude/commands/maestro-blueprint.md +36 -1
  104. package/.claude/commands/maestro-brainstorm.md +40 -1
  105. package/.claude/commands/maestro-collab.md +1 -1
  106. package/.claude/commands/maestro-companion.md +4 -4
  107. package/.claude/commands/maestro-composer.md +1 -1
  108. package/.claude/commands/maestro-execute.md +29 -6
  109. package/.claude/commands/maestro-fork.md +24 -0
  110. package/.claude/commands/maestro-grill.md +38 -1
  111. package/.claude/commands/maestro-impeccable.md +13 -0
  112. package/.claude/commands/maestro-init.md +11 -0
  113. package/.claude/commands/maestro-merge.md +17 -1
  114. package/.claude/commands/maestro-milestone-audit.md +34 -2
  115. package/.claude/commands/maestro-milestone-complete.md +19 -1
  116. package/.claude/commands/maestro-milestone-release.md +18 -0
  117. package/.claude/commands/maestro-next.md +8 -9
  118. package/.claude/commands/maestro-overlay.md +3 -3
  119. package/.claude/commands/maestro-plan.md +21 -3
  120. package/.claude/commands/maestro-quick.md +13 -1
  121. package/.claude/commands/maestro-ralph-beta.md +8 -14
  122. package/.claude/commands/maestro-ralph-execute.md +1 -2
  123. package/.claude/commands/maestro-ralph.md +18 -20
  124. package/.claude/commands/maestro-roadmap.md +28 -2
  125. package/.claude/commands/maestro-swarm-workflow.md +2 -2
  126. package/.claude/commands/maestro-tools-register.md +2 -2
  127. package/.claude/commands/maestro-ui-codify.md +20 -0
  128. package/.claude/commands/maestro-update.md +59 -116
  129. package/.claude/commands/maestro.md +6 -3
  130. package/.claude/commands/manage-codebase-rebuild.md +3 -3
  131. package/.claude/commands/manage-harvest.md +1 -1
  132. package/.claude/commands/manage-knowhow-capture.md +3 -2
  133. package/.claude/commands/manage-knowhow.md +3 -1
  134. package/.claude/commands/manage-wiki.md +17 -8
  135. package/.claude/commands/quality-auto-test.md +3 -3
  136. package/.claude/commands/quality-debug.md +4 -4
  137. package/.claude/commands/quality-refactor.md +2 -2
  138. package/.claude/commands/quality-retrospective.md +5 -5
  139. package/.claude/commands/quality-review.md +4 -4
  140. package/.claude/commands/quality-sync.md +1 -0
  141. package/.claude/commands/quality-test.md +4 -4
  142. package/.claude/commands/spec-add.md +6 -4
  143. package/.claude/commands/spec-setup.md +1 -1
  144. package/.claude/skills/maestro-help/SKILL.md +5 -6
  145. package/.claude/skills/maestro-help/index/catalog.json +7 -9
  146. package/.claude/skills/maestro-help/phases/02-search-present.md +2 -4
  147. package/.claude/skills/maestro-help/phases/03-workflow-guide.md +7 -8
  148. package/.codex/skills/codify-to-knowhow/SKILL.md +5 -4
  149. package/.codex/skills/learn-decompose/SKILL.md +1 -1
  150. package/.codex/skills/learn-follow/SKILL.md +1 -1
  151. package/.codex/skills/learn-investigate/SKILL.md +1 -1
  152. package/.codex/skills/learn-second-opinion/SKILL.md +1 -1
  153. package/.codex/skills/maestro/SKILL.md +29 -31
  154. package/.codex/skills/maestro-analyze/SKILL.md +16 -3
  155. package/.codex/skills/maestro-blueprint/SKILL.md +8 -1
  156. package/.codex/skills/maestro-brainstorm/SKILL.md +8 -5
  157. package/.codex/skills/maestro-companion/SKILL.md +2 -2
  158. package/.codex/skills/maestro-composer/SKILL.md +0 -1
  159. package/.codex/skills/maestro-execute/SKILL.md +11 -8
  160. package/.codex/skills/maestro-fork/SKILL.md +4 -0
  161. package/.codex/skills/maestro-grill/SKILL.md +8 -2
  162. package/.codex/skills/maestro-help/SKILL.md +6 -9
  163. package/.codex/skills/maestro-help/catalog.json +6 -8
  164. package/.codex/skills/maestro-impeccable/SKILL.md +2 -0
  165. package/.codex/skills/maestro-init/SKILL.md +3 -0
  166. package/.codex/skills/maestro-merge/SKILL.md +5 -1
  167. package/.codex/skills/maestro-milestone-audit/SKILL.md +3 -0
  168. package/.codex/skills/maestro-milestone-complete/SKILL.md +6 -1
  169. package/.codex/skills/maestro-milestone-release/SKILL.md +4 -0
  170. package/.codex/skills/maestro-next/SKILL.md +3 -4
  171. package/.codex/skills/maestro-plan/SKILL.md +5 -2
  172. package/.codex/skills/maestro-quick/SKILL.md +4 -1
  173. package/.codex/skills/maestro-ralph/SKILL.md +14 -20
  174. package/.codex/skills/maestro-ralph-beta/SKILL.md +13 -21
  175. package/.codex/skills/maestro-ralph-execute/SKILL.md +2 -2
  176. package/.codex/skills/maestro-roadmap/SKILL.md +5 -2
  177. package/.codex/skills/maestro-tools-register/SKILL.md +1 -1
  178. package/.codex/skills/maestro-ui-codify/SKILL.md +4 -1
  179. package/.codex/skills/maestro-update/SKILL.md +35 -130
  180. package/.codex/skills/manage-codebase-rebuild/SKILL.md +2 -2
  181. package/.codex/skills/manage-harvest/SKILL.md +2 -2
  182. package/.codex/skills/manage-knowhow/SKILL.md +1 -1
  183. package/.codex/skills/manage-status/SKILL.md +1 -2
  184. package/.codex/skills/quality-auto-test/SKILL.md +2 -2
  185. package/.codex/skills/quality-debug/SKILL.md +2 -2
  186. package/.codex/skills/quality-refactor/SKILL.md +1 -1
  187. package/.codex/skills/quality-retrospective/SKILL.md +1 -1
  188. package/.codex/skills/quality-test/SKILL.md +3 -4
  189. package/.codex/skills/spec-add/SKILL.md +5 -3
  190. package/.codex/skills/spec-remove/SKILL.md +2 -2
  191. package/.codex/skills/team-coordinate/SKILL.md +1 -1
  192. package/.codex/skills/wiki-digest/SKILL.md +2 -2
  193. package/chains/brainstorm-driven.json +2 -34
  194. package/chains/full-lifecycle.json +2 -34
  195. package/chains/next-milestone.json +0 -7
  196. package/chains/quality-loop.json +3 -19
  197. package/chains/roadmap-driven.json +2 -34
  198. package/chains/spec-driven.json +2 -34
  199. package/chains/ui-craft-build.json +2 -23
  200. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +8 -11
  201. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  202. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +1 -0
  203. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +3 -1
  204. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
  205. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -0
  206. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  207. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +9 -0
  208. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  209. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +9 -4
  210. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  211. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +3 -0
  212. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +4 -0
  213. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +5 -3
  214. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  215. package/dashboard/dist-server/src/types/index.d.ts +2 -0
  216. package/dist/src/cli.js +1 -0
  217. package/dist/src/cli.js.map +1 -1
  218. package/dist/src/commands/hooks.d.ts.map +1 -1
  219. package/dist/src/commands/hooks.js +55 -5
  220. package/dist/src/commands/hooks.js.map +1 -1
  221. package/dist/src/commands/install-backend.d.ts.map +1 -1
  222. package/dist/src/commands/install-backend.js +2 -1
  223. package/dist/src/commands/install-backend.js.map +1 -1
  224. package/dist/src/commands/install.d.ts.map +1 -1
  225. package/dist/src/commands/install.js +16 -1
  226. package/dist/src/commands/install.js.map +1 -1
  227. package/dist/src/commands/kg.d.ts +1 -1
  228. package/dist/src/commands/kg.d.ts.map +1 -1
  229. package/dist/src/commands/kg.js +285 -112
  230. package/dist/src/commands/kg.js.map +1 -1
  231. package/dist/src/commands/knowhow.d.ts.map +1 -1
  232. package/dist/src/commands/knowhow.js +28 -37
  233. package/dist/src/commands/knowhow.js.map +1 -1
  234. package/dist/src/commands/ralph.js +1 -1
  235. package/dist/src/commands/ralph.js.map +1 -1
  236. package/dist/src/commands/search.d.ts +36 -0
  237. package/dist/src/commands/search.d.ts.map +1 -0
  238. package/dist/src/commands/search.js +120 -0
  239. package/dist/src/commands/search.js.map +1 -0
  240. package/dist/src/commands/spec.d.ts.map +1 -1
  241. package/dist/src/commands/spec.js +15 -59
  242. package/dist/src/commands/spec.js.map +1 -1
  243. package/dist/src/commands/update.d.ts.map +1 -1
  244. package/dist/src/commands/update.js +7 -0
  245. package/dist/src/commands/update.js.map +1 -1
  246. package/dist/src/commands/wiki.d.ts.map +1 -1
  247. package/dist/src/commands/wiki.js +6 -21
  248. package/dist/src/commands/wiki.js.map +1 -1
  249. package/dist/src/core/component-defs.d.ts +13 -0
  250. package/dist/src/core/component-defs.d.ts.map +1 -1
  251. package/dist/src/core/component-defs.js +37 -85
  252. package/dist/src/core/component-defs.js.map +1 -1
  253. package/dist/src/core/skill-converter.d.ts +25 -0
  254. package/dist/src/core/skill-converter.d.ts.map +1 -0
  255. package/dist/src/core/skill-converter.js +605 -0
  256. package/dist/src/core/skill-converter.js.map +1 -0
  257. package/dist/src/graph/codegraph-adapter.d.ts +147 -0
  258. package/dist/src/graph/codegraph-adapter.d.ts.map +1 -0
  259. package/dist/src/graph/codegraph-adapter.js +266 -0
  260. package/dist/src/graph/codegraph-adapter.js.map +1 -0
  261. package/dist/src/hooks/constants.d.ts +4 -0
  262. package/dist/src/hooks/constants.d.ts.map +1 -1
  263. package/dist/src/hooks/constants.js +14 -1
  264. package/dist/src/hooks/constants.js.map +1 -1
  265. package/dist/src/hooks/context-format.d.ts +46 -0
  266. package/dist/src/hooks/context-format.d.ts.map +1 -0
  267. package/dist/src/hooks/context-format.js +58 -0
  268. package/dist/src/hooks/context-format.js.map +1 -0
  269. package/dist/src/hooks/index.d.ts +2 -0
  270. package/dist/src/hooks/index.d.ts.map +1 -1
  271. package/dist/src/hooks/index.js +2 -0
  272. package/dist/src/hooks/index.js.map +1 -1
  273. package/dist/src/hooks/keyword-spec-injector.d.ts +1 -1
  274. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
  275. package/dist/src/hooks/keyword-spec-injector.js +92 -7
  276. package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
  277. package/dist/src/hooks/kg-context-injector.d.ts +19 -0
  278. package/dist/src/hooks/kg-context-injector.d.ts.map +1 -0
  279. package/dist/src/hooks/kg-context-injector.js +139 -0
  280. package/dist/src/hooks/kg-context-injector.js.map +1 -0
  281. package/dist/src/hooks/kg-sync-hook.d.ts +22 -0
  282. package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -0
  283. package/dist/src/hooks/kg-sync-hook.js +139 -0
  284. package/dist/src/hooks/kg-sync-hook.js.map +1 -0
  285. package/dist/src/hooks/plugins/spec-injection-plugin.js +2 -2
  286. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  287. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  288. package/dist/src/hooks/skill-context.js +0 -1
  289. package/dist/src/hooks/skill-context.js.map +1 -1
  290. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  291. package/dist/src/hooks/spec-injector.js +66 -13
  292. package/dist/src/hooks/spec-injector.js.map +1 -1
  293. package/dist/src/hooks/statusline.d.ts +8 -1
  294. package/dist/src/hooks/statusline.d.ts.map +1 -1
  295. package/dist/src/hooks/statusline.js +45 -29
  296. package/dist/src/hooks/statusline.js.map +1 -1
  297. package/dist/src/hooks/wiki-role-loader.js +1 -1
  298. package/dist/src/hooks/wiki-role-loader.js.map +1 -1
  299. package/dist/src/ralph/cmd-skills.d.ts.map +1 -1
  300. package/dist/src/ralph/cmd-skills.js +9 -2
  301. package/dist/src/ralph/cmd-skills.js.map +1 -1
  302. package/dist/src/ralph/skill-scanner.d.ts +1 -1
  303. package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
  304. package/dist/src/ralph/skill-scanner.js +14 -0
  305. package/dist/src/ralph/skill-scanner.js.map +1 -1
  306. package/dist/src/ralph/status-schema.d.ts +1 -1
  307. package/dist/src/ralph/status-schema.d.ts.map +1 -1
  308. package/dist/src/tools/spec-entry-parser.d.ts +2 -1
  309. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
  310. package/dist/src/tools/spec-entry-parser.js +7 -4
  311. package/dist/src/tools/spec-entry-parser.js.map +1 -1
  312. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  313. package/dist/src/tools/spec-loader.js +27 -3
  314. package/dist/src/tools/spec-loader.js.map +1 -1
  315. package/dist/src/tools/spec-writer.d.ts +10 -1
  316. package/dist/src/tools/spec-writer.d.ts.map +1 -1
  317. package/dist/src/tools/spec-writer.js +86 -7
  318. package/dist/src/tools/spec-writer.js.map +1 -1
  319. package/dist/src/tools/store-knowhow.d.ts.map +1 -1
  320. package/dist/src/tools/store-knowhow.js +27 -7
  321. package/dist/src/tools/store-knowhow.js.map +1 -1
  322. package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -1
  323. package/dist/src/tui/install-ui/ExecutionView.js +7 -1
  324. package/dist/src/tui/install-ui/ExecutionView.js.map +1 -1
  325. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  326. package/dist/src/tui/install-ui/InstallExecution.js +5 -1
  327. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  328. package/dist/src/types/index.d.ts +2 -0
  329. package/dist/src/types/index.d.ts.map +1 -1
  330. package/dist/src/utils/cli-format.d.ts +6 -0
  331. package/dist/src/utils/cli-format.d.ts.map +1 -1
  332. package/dist/src/utils/cli-format.js +25 -0
  333. package/dist/src/utils/cli-format.js.map +1 -1
  334. package/dist/src/utils/update-notices.js +19 -0
  335. package/dist/src/utils/update-notices.js.map +1 -1
  336. package/package.json +5 -2
  337. package/templates/workflows/specs/node-catalog.md +0 -2
  338. package/workflows/analyze.md +9 -4
  339. package/workflows/auto-test.md +2 -2
  340. package/workflows/business-test.md +1 -1
  341. package/workflows/claude-instructions.md +23 -11
  342. package/workflows/codex-instructions.md +2 -3
  343. package/workflows/execute.md +153 -7
  344. package/workflows/fork.md +1 -1
  345. package/workflows/integration-test.md +1 -1
  346. package/workflows/maestro-super.md +1 -1
  347. package/workflows/maestro.codex.md +18 -34
  348. package/workflows/maestro.md +34 -42
  349. package/workflows/review.md +1 -1
  350. package/workflows/status.md +2 -2
  351. package/workflows/swarm/wf-verify.js +1 -1
  352. package/workflows/test-gen.md +2 -2
  353. package/workflows/test.md +1 -1
  354. package/workflows/updates/README.md +41 -0
  355. package/workflows/updates/update-v3-setup.md +79 -0
  356. package/workflows/verify.md +7 -1
  357. package/.agents/skills/learn-retro/SKILL.md +0 -159
  358. package/.agents/skills/maestro-learn/SKILL.md +0 -142
  359. package/.agents/skills/maestro-verify/SKILL.md +0 -146
  360. package/.agents/skills/manage-codebase-refresh/SKILL.md +0 -62
  361. package/.agents/skills/manage-learn/SKILL.md +0 -67
  362. package/.agents/skills/wiki-connect/SKILL.md +0 -64
  363. package/.agents/skills/wiki-digest/SKILL.md +0 -70
  364. package/.agy/skills/learn-retro/SKILL.md +0 -159
  365. package/.agy/skills/maestro-learn/SKILL.md +0 -142
  366. package/.agy/skills/maestro-verify/SKILL.md +0 -146
  367. package/.agy/skills/manage-codebase-refresh/SKILL.md +0 -62
  368. package/.agy/skills/manage-learn/SKILL.md +0 -64
  369. package/.agy/skills/wiki-connect/SKILL.md +0 -64
  370. package/.agy/skills/wiki-digest/SKILL.md +0 -70
  371. package/.claude/commands/learn-retro.md +0 -157
  372. package/.claude/commands/maestro-learn.md +0 -140
  373. package/.claude/commands/maestro-verify.md +0 -144
  374. package/.claude/commands/manage-codebase-refresh.md +0 -60
  375. package/.claude/commands/manage-learn.md +0 -65
  376. package/.claude/commands/wiki-connect.md +0 -62
  377. package/.claude/commands/wiki-digest.md +0 -68
  378. package/.codex/skills/maestro-verify/SKILL.md +0 -254
  379. package/chains/execute-verify.json +0 -59
  380. package/chains/singles/verify.json +0 -26
@@ -4,5 +4,7 @@ export { SyncHook, AsyncSeriesHook, AsyncSeriesBailHook, AsyncSeriesWaterfallHoo
4
4
  export { WorkflowHookRegistry } from './workflow-hooks.js';
5
5
  export { HookManager } from './hook-manager.js';
6
6
  export { runPreflight, type PreflightResult, type PreflightDeps } from './preflight-core.js';
7
+ export { evaluateKgSync } from './kg-sync-hook.js';
8
+ export { evaluateKgContextInjection } from './kg-context-injector.js';
7
9
  export type { RunContext, NodeContext, CommandContext, CommandResultContext, ErrorContext, DecisionContext, } from './workflow-hooks.js';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7F,YAAY,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,YAAY,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
@@ -4,4 +4,6 @@ export { SyncHook, AsyncSeriesHook, AsyncSeriesBailHook, AsyncSeriesWaterfallHoo
4
4
  export { WorkflowHookRegistry } from './workflow-hooks.js';
5
5
  export { HookManager } from './hook-manager.js';
6
6
  export { runPreflight } from './preflight-core.js';
7
+ export { evaluateKgSync } from './kg-sync-hook.js';
8
+ export { evaluateKgContextInjection } from './kg-context-injector.js';
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAA4C,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAA4C,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC"}
@@ -17,5 +17,5 @@ export interface KeywordInjectionResult {
17
17
  * @param projectPath Working directory for spec file resolution
18
18
  * @param sessionId Session ID for dedup bridge
19
19
  */
20
- export declare function evaluateKeywordInjection(prompt: string, projectPath: string, sessionId: string): KeywordInjectionResult;
20
+ export declare function evaluateKeywordInjection(prompt: string, projectPath: string, sessionId: string): Promise<KeywordInjectionResult>;
21
21
  //# sourceMappingURL=keyword-spec-injector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-spec-injector.d.ts","sourceRoot":"","sources":["../../../src/hooks/keyword-spec-injector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA2CD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,sBAAsB,CAoGxB"}
1
+ {"version":3,"file":"keyword-spec-injector.d.ts","sourceRoot":"","sources":["../../../src/hooks/keyword-spec-injector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA2CD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC,CAsHjC"}
@@ -7,6 +7,7 @@
7
7
  import { buildKeywordIndex, lookupKeywords } from '../tools/spec-keyword-index.js';
8
8
  import { markInjected, filterUnjected } from './spec-bridge.js';
9
9
  import { logInjectionEvent } from './spec-analytics.js';
10
+ import { wrapMaestroContext } from './context-format.js';
10
11
  // ============================================================================
11
12
  // Config
12
13
  // ============================================================================
@@ -49,7 +50,7 @@ const MAX_ENTRIES_PER_INJECTION = 5;
49
50
  * @param projectPath Working directory for spec file resolution
50
51
  * @param sessionId Session ID for dedup bridge
51
52
  */
52
- export function evaluateKeywordInjection(prompt, projectPath, sessionId) {
53
+ export async function evaluateKeywordInjection(prompt, projectPath, sessionId) {
53
54
  // 1. Tokenize prompt into candidate keywords
54
55
  const promptKeywords = tokenizePrompt(prompt);
55
56
  if (promptKeywords.length === 0) {
@@ -113,8 +114,22 @@ export function evaluateKeywordInjection(prompt, projectPath, sessionId) {
113
114
  }
114
115
  // 5. Limit to avoid context bloat
115
116
  const toInject = unjected.slice(0, MAX_ENTRIES_PER_INJECTION);
116
- // 6. Build injection content
117
- const content = formatInjectionContent(toInject);
117
+ // 6. Build injection sections — keyword matches + (optional) KG symbols,
118
+ // merged into ONE <maestro-context> block.
119
+ const sections = [buildKeywordSection(toInject)];
120
+ // 6b. KG symbol lookup — append code graph context if available
121
+ try {
122
+ const symbolSection = await evaluateKgSymbolLookup(prompt, projectPath);
123
+ if (symbolSection) {
124
+ sections.push(symbolSection);
125
+ }
126
+ }
127
+ catch {
128
+ // KG lookup is best-effort — silently skip on any failure
129
+ }
130
+ // Per-injector budget reporting (format-only; no cross-injector pooling yet).
131
+ const usedChars = sections.reduce((sum, s) => sum + s.lines.reduce((acc, l) => acc + l.length, 0), 0);
132
+ const content = wrapMaestroContext(sections, { used: usedChars, max: usedChars });
118
133
  // 7. Mark as injected
119
134
  const injectedKeywords = [...new Set(toInject.flatMap(e => e.keywords))];
120
135
  const injectedIds = toInject.map(e => e.id);
@@ -183,10 +198,80 @@ function extractCjkTokens(text) {
183
198
  return tokens;
184
199
  }
185
200
  /**
186
- * Format matched entries for injection as context.
201
+ * Build a keyword-match section for the unified <maestro-context> block.
202
+ *
203
+ * Section label: `keyword[kw1,kw2]` listing the distinct keywords matched.
204
+ * Each line is compact: `<category> · <keywords> · <title>: <oneline body>`.
205
+ */
206
+ function buildKeywordSection(entries) {
207
+ const allKeywords = [...new Set(entries.flatMap(e => e.keywords))];
208
+ const label = `keyword[${allKeywords.join(',')}]`;
209
+ const lines = entries.map(e => {
210
+ const body = e.content
211
+ .replace(/^#{1,6}\s+.*$/gm, '') // strip markdown headings (title is added separately)
212
+ .replace(/\s+/g, ' ')
213
+ .trim();
214
+ const kws = e.keywords.join(',');
215
+ const titlePrefix = e.title ? `${e.title}: ` : '';
216
+ return `${e.category} · ${kws} · ${titlePrefix}${body}`;
217
+ });
218
+ return { label, lines };
219
+ }
220
+ // ============================================================================
221
+ // KG Symbol Lookup
222
+ // ============================================================================
223
+ const KG_SYMBOL_PATTERN = /\b[a-z]+[A-Z][a-zA-Z0-9]*\b|\b[a-z]+_[a-z0-9_]+\b/g;
224
+ const KG_MAX_SYMBOLS = 3;
225
+ const KG_MAX_RESULTS_PER_SYMBOL = 2;
226
+ const KG_MAX_CONTENT_LENGTH = 512;
227
+ /**
228
+ * Extract camelCase/snake_case symbols from prompt and look up in KG.
229
+ * Returns a `kg-symbols` ContextSection or null if nothing found.
230
+ * Entire function is best-effort — returns null on any failure.
187
231
  */
188
- function formatInjectionContent(entries) {
189
- const sections = entries.map(e => `--- ${e.file} [${e.keywords.join(', ')}] ---\n\n${e.content}`);
190
- return `<spec-keyword-match count="${entries.length}">\n\n${sections.join('\n\n---\n\n')}\n\n</spec-keyword-match>`;
232
+ async function evaluateKgSymbolLookup(prompt, projectPath) {
233
+ const matches = prompt.match(KG_SYMBOL_PATTERN);
234
+ if (!matches || matches.length === 0)
235
+ return null;
236
+ const symbols = [...new Set(matches)].slice(0, KG_MAX_SYMBOLS);
237
+ try {
238
+ const { isCodeGraphAvailable, CodeGraphAdapter } = require('../graph/codegraph-adapter.js');
239
+ if (!isCodeGraphAvailable())
240
+ return null;
241
+ const adapter = new CodeGraphAdapter(projectPath);
242
+ try {
243
+ if (!adapter.isInitialized())
244
+ return null;
245
+ const lines = [];
246
+ let totalLen = 0;
247
+ for (const sym of symbols) {
248
+ if (totalLen >= KG_MAX_CONTENT_LENGTH)
249
+ break;
250
+ const results = await adapter.searchNodes(sym, { limit: KG_MAX_RESULTS_PER_SYMBOL });
251
+ for (const r of results) {
252
+ const node = r.node ?? r;
253
+ const line = `[${node.kind}] ${node.name}` +
254
+ (node.filePath ? ` (${node.filePath}:${node.startLine})` : '') +
255
+ (node.signature ? ` — ${node.signature}` : '');
256
+ if (totalLen + line.length > KG_MAX_CONTENT_LENGTH)
257
+ break;
258
+ lines.push(line);
259
+ totalLen += line.length;
260
+ }
261
+ }
262
+ if (lines.length === 0)
263
+ return null;
264
+ return { label: 'kg-symbols', lines };
265
+ }
266
+ finally {
267
+ try {
268
+ adapter.close();
269
+ }
270
+ catch { /* best-effort */ }
271
+ }
272
+ }
273
+ catch {
274
+ return null;
275
+ }
191
276
  }
192
277
  //# sourceMappingURL=keyword-spec-injector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-spec-injector.js","sourceRoot":"","sources":["../../../src/hooks/keyword-spec-injector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyword-spec-injector.js","sourceRoot":"","sources":["../../../src/hooks/keyword-spec-injector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * KG Context Injector — PreToolUse:Agent Hook
3
+ *
4
+ * Injects Knowledge Graph code structure context (callers, callees, exported
5
+ * symbols) into subagent prompts using CodeGraph as the sole data source.
6
+ *
7
+ * Requires @colbymchenry/codegraph — gracefully returns no-inject when unavailable.
8
+ */
9
+ export interface KgInjectionResult {
10
+ inject: boolean;
11
+ content?: string;
12
+ reason?: string;
13
+ }
14
+ /**
15
+ * Evaluate whether to inject KG code structure context for a given prompt.
16
+ * Uses CodeGraph as the sole data source.
17
+ */
18
+ export declare function evaluateKgContextInjection(_agentType: string, prompt: string, projectPath: string): Promise<KgInjectionResult>;
19
+ //# sourceMappingURL=kg-context-injector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kg-context-injector.d.ts","sourceRoot":"","sources":["../../../src/hooks/kg-context-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8ED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAkE5B"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * KG Context Injector — PreToolUse:Agent Hook
3
+ *
4
+ * Injects Knowledge Graph code structure context (callers, callees, exported
5
+ * symbols) into subagent prompts using CodeGraph as the sole data source.
6
+ *
7
+ * Requires @colbymchenry/codegraph — gracefully returns no-inject when unavailable.
8
+ */
9
+ import { createRequire } from 'node:module';
10
+ import { wrapMaestroContext } from './context-format.js';
11
+ const require = createRequire(import.meta.url);
12
+ // ---------------------------------------------------------------------------
13
+ // Extraction helpers
14
+ // ---------------------------------------------------------------------------
15
+ const FILE_RE = /([\w\/\\.-]+\.(ts|tsx|js|jsx|py|go|rs|java))/g;
16
+ const SYMBOL_RE = /`(\w+)`/g;
17
+ function extractFilePaths(text) {
18
+ const seen = new Set();
19
+ for (const m of text.matchAll(FILE_RE)) {
20
+ const p = m[1].replace(/\\/g, '/');
21
+ if (!seen.has(p))
22
+ seen.add(p);
23
+ }
24
+ return [...seen];
25
+ }
26
+ function extractSymbols(text) {
27
+ const seen = new Set();
28
+ for (const m of text.matchAll(SYMBOL_RE)) {
29
+ const s = m[1];
30
+ if (s.length >= 3 && !/^(the|and|for|not|but|has|get|set|new|var|let|use)$/i.test(s)) {
31
+ if (!seen.has(s))
32
+ seen.add(s);
33
+ }
34
+ }
35
+ return [...seen];
36
+ }
37
+ // ---------------------------------------------------------------------------
38
+ // Formatting helpers
39
+ // ---------------------------------------------------------------------------
40
+ function formatCaller(c) {
41
+ const loc = c.node.filePath ? `${c.node.filePath}:${c.node.startLine}` : '';
42
+ const name = c.node.name;
43
+ return loc ? `${name} (${loc}) --${c.edge.kind}-->` : `${name} --${c.edge.kind}-->`;
44
+ }
45
+ function formatCallee(c) {
46
+ const loc = c.node.filePath ? `${c.node.filePath}:${c.node.startLine}` : '';
47
+ const name = c.node.name;
48
+ return loc ? `--> ${name} (${loc})` : `--> ${name}`;
49
+ }
50
+ function buildRichSymbolSection(node, callers, callees) {
51
+ const lines = [];
52
+ const loc = node.filePath ? ` ${node.filePath}:${node.startLine}` : '';
53
+ const sig = node.signature ? ` — ${node.signature}` : '';
54
+ lines.push(`${node.name} (${node.kind})${loc}${sig}`);
55
+ if (callers.length > 0) {
56
+ const shown = callers.slice(0, 5).map(formatCaller).join('; ');
57
+ const more = callers.length > 5 ? ` (+${callers.length - 5} more)` : '';
58
+ lines.push(`callers: ${shown}${more}`);
59
+ }
60
+ if (callees.length > 0) {
61
+ const shown = callees.slice(0, 5).map(formatCallee).join('; ');
62
+ const more = callees.length > 5 ? ` (+${callees.length - 5} more)` : '';
63
+ lines.push(`callees: ${shown}${more}`);
64
+ }
65
+ return { label: `kg-calls[${node.name}]`, lines };
66
+ }
67
+ // ---------------------------------------------------------------------------
68
+ // Public API
69
+ // ---------------------------------------------------------------------------
70
+ const MAX_CONTENT = 3072;
71
+ const MAX_SYMBOLS = 3;
72
+ const MAX_FILES = 2;
73
+ /**
74
+ * Evaluate whether to inject KG code structure context for a given prompt.
75
+ * Uses CodeGraph as the sole data source.
76
+ */
77
+ export async function evaluateKgContextInjection(_agentType, prompt, projectPath) {
78
+ const symbols = extractSymbols(prompt).slice(0, MAX_SYMBOLS);
79
+ const files = extractFilePaths(prompt).slice(0, MAX_FILES);
80
+ if (symbols.length === 0 && files.length === 0) {
81
+ return { inject: false, reason: 'no-references' };
82
+ }
83
+ try {
84
+ const { isCodeGraphAvailable, CodeGraphAdapter } = require('../graph/codegraph-adapter.js');
85
+ if (!isCodeGraphAvailable()) {
86
+ return { inject: false, reason: 'codegraph-unavailable' };
87
+ }
88
+ const adapter = new CodeGraphAdapter(projectPath);
89
+ try {
90
+ if (!adapter.isInitialized()) {
91
+ return { inject: false, reason: 'codegraph-not-initialized' };
92
+ }
93
+ const sections = [];
94
+ for (const sym of symbols) {
95
+ const results = await adapter.searchNodes(sym, { limit: 1 });
96
+ if (results.length === 0)
97
+ continue;
98
+ const node = results[0].node ?? results[0];
99
+ const callers = await adapter.getCallers(node.id, 1);
100
+ const callees = await adapter.getCallees(node.id, 1);
101
+ sections.push(buildRichSymbolSection(node, callers, callees));
102
+ }
103
+ for (const fp of files) {
104
+ const fileNodes = await adapter.getNodesInFile(fp);
105
+ if (fileNodes.length === 0)
106
+ continue;
107
+ const exported = fileNodes
108
+ .filter((n) => n.isExported)
109
+ .slice(0, 8)
110
+ .map((n) => `${n.kind}:${n.name}`);
111
+ if (exported.length > 0) {
112
+ sections.push({
113
+ label: `kg-file[${fp}]`,
114
+ lines: [`exports: ${exported.join(', ')}`],
115
+ });
116
+ }
117
+ }
118
+ if (sections.length === 0) {
119
+ return { inject: false, reason: 'no-matches' };
120
+ }
121
+ const usedChars = sections.reduce((sum, s) => sum + s.lines.reduce((acc, l) => acc + l.length, 0), 0);
122
+ let content = wrapMaestroContext(sections, { used: usedChars, max: MAX_CONTENT });
123
+ if (content.length > MAX_CONTENT) {
124
+ content = content.slice(0, MAX_CONTENT - 20) + '...\n</maestro-context>';
125
+ }
126
+ return { inject: true, content };
127
+ }
128
+ finally {
129
+ try {
130
+ adapter.close();
131
+ }
132
+ catch { /* best-effort */ }
133
+ }
134
+ }
135
+ catch {
136
+ return { inject: false, reason: 'codegraph-unavailable' };
137
+ }
138
+ }
139
+ //# sourceMappingURL=kg-context-injector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kg-context-injector.js","sourceRoot":"","sources":["../../../src/hooks/kg-context-injector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * KG Sync Hook — UserPromptSubmit
3
+ *
4
+ * Silently syncs the Knowledge Graph when source files have changed.
5
+ * Uses CodeGraph as the sole sync engine. Gracefully degrades when
6
+ * CodeGraph is unavailable.
7
+ *
8
+ * Design: Pure evaluateXxx function + thin runner in hooks.ts.
9
+ * Bridge file in os.tmpdir() for cooldown dedup across invocations.
10
+ */
11
+ export interface KgSyncResult {
12
+ synced: boolean;
13
+ reason?: string;
14
+ filesChanged?: number;
15
+ durationMs?: number;
16
+ }
17
+ /**
18
+ * Evaluate whether a KG sync is needed and perform it if so.
19
+ * Uses CodeGraph as the sole sync engine.
20
+ */
21
+ export declare function evaluateKgSync(projectPath: string, sessionId: string): Promise<KgSyncResult>;
22
+ //# sourceMappingURL=kg-sync-hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kg-sync-hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/kg-sync-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAuBH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAWD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CA8CvB"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * KG Sync Hook — UserPromptSubmit
3
+ *
4
+ * Silently syncs the Knowledge Graph when source files have changed.
5
+ * Uses CodeGraph as the sole sync engine. Gracefully degrades when
6
+ * CodeGraph is unavailable.
7
+ *
8
+ * Design: Pure evaluateXxx function + thin runner in hooks.ts.
9
+ * Bridge file in os.tmpdir() for cooldown dedup across invocations.
10
+ */
11
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
12
+ import { execSync } from 'node:child_process';
13
+ import { join } from 'node:path';
14
+ import { tmpdir } from 'node:os';
15
+ import { createRequire } from 'node:module';
16
+ import { KG_SYNC_BRIDGE_PREFIX } from './constants.js';
17
+ const require = createRequire(import.meta.url);
18
+ /** Minimum seconds between sync attempts */
19
+ const COOLDOWN_SECONDS = 30;
20
+ /** Source extensions that trigger a sync */
21
+ const SOURCE_EXTENSIONS = new Set([
22
+ '.ts', '.tsx', '.js', '.jsx', '.py', '.go', '.rs', '.java',
23
+ ]);
24
+ // ---------------------------------------------------------------------------
25
+ // Public API
26
+ // ---------------------------------------------------------------------------
27
+ /**
28
+ * Evaluate whether a KG sync is needed and perform it if so.
29
+ * Uses CodeGraph as the sole sync engine.
30
+ */
31
+ export async function evaluateKgSync(projectPath, sessionId) {
32
+ // Step 1: Check if CodeGraph is available and initialized
33
+ let cgMod;
34
+ try {
35
+ cgMod = require('../graph/codegraph-adapter.js');
36
+ if (!cgMod.isCodeGraphAvailable()) {
37
+ return { synced: false, reason: 'codegraph-unavailable' };
38
+ }
39
+ }
40
+ catch {
41
+ return { synced: false, reason: 'codegraph-unavailable' };
42
+ }
43
+ const adapter = new cgMod.CodeGraphAdapter(projectPath);
44
+ try {
45
+ if (!adapter.isInitialized()) {
46
+ return { synced: false, reason: 'codegraph-not-initialized' };
47
+ }
48
+ // Step 2: Cooldown check via bridge file
49
+ const bridge = readBridge(sessionId);
50
+ if (bridge) {
51
+ const elapsed = Math.floor(Date.now() / 1000) - bridge.last_sync;
52
+ if (elapsed < COOLDOWN_SECONDS) {
53
+ return { synced: false, reason: 'cooldown' };
54
+ }
55
+ }
56
+ // Step 3: Git quick check — any source files changed?
57
+ if (!detectSourceChanges(projectPath)) {
58
+ writeBridge(sessionId);
59
+ return { synced: false, reason: 'no-changes' };
60
+ }
61
+ // Step 4: Perform incremental sync via CodeGraph
62
+ const start = Date.now();
63
+ try {
64
+ const result = await adapter.sync();
65
+ const filesChanged = result.filesAdded + result.filesModified + result.filesRemoved;
66
+ writeBridge(sessionId);
67
+ return { synced: true, filesChanged, durationMs: Date.now() - start };
68
+ }
69
+ catch {
70
+ return { synced: false, reason: 'sync-error' };
71
+ }
72
+ }
73
+ finally {
74
+ try {
75
+ adapter.close();
76
+ }
77
+ catch { /* best-effort */ }
78
+ }
79
+ }
80
+ // ---------------------------------------------------------------------------
81
+ // Internal helpers
82
+ // ---------------------------------------------------------------------------
83
+ function detectSourceChanges(projectPath) {
84
+ try {
85
+ const output = execSync('git status --porcelain', {
86
+ cwd: projectPath,
87
+ encoding: 'utf-8',
88
+ timeout: 5000,
89
+ stdio: ['pipe', 'pipe', 'pipe'],
90
+ });
91
+ if (!output.trim())
92
+ return false;
93
+ const lines = output.trim().split('\n');
94
+ for (const line of lines) {
95
+ const filePath = line.slice(3).trim();
96
+ const actualPath = filePath.includes(' -> ')
97
+ ? filePath.split(' -> ')[1]
98
+ : filePath;
99
+ const dotIdx = actualPath.lastIndexOf('.');
100
+ if (dotIdx >= 0) {
101
+ const ext = actualPath.slice(dotIdx).toLowerCase();
102
+ if (SOURCE_EXTENSIONS.has(ext))
103
+ return true;
104
+ }
105
+ }
106
+ return false;
107
+ }
108
+ catch {
109
+ return false;
110
+ }
111
+ }
112
+ function bridgePath(sessionId) {
113
+ return join(tmpdir(), `${KG_SYNC_BRIDGE_PREFIX}${sessionId}.json`);
114
+ }
115
+ function readBridge(sessionId) {
116
+ const path = bridgePath(sessionId);
117
+ if (!existsSync(path))
118
+ return null;
119
+ try {
120
+ const raw = readFileSync(path, 'utf-8');
121
+ return JSON.parse(raw);
122
+ }
123
+ catch {
124
+ return null;
125
+ }
126
+ }
127
+ function writeBridge(sessionId) {
128
+ try {
129
+ const data = {
130
+ last_sync: Math.floor(Date.now() / 1000),
131
+ session_id: sessionId,
132
+ };
133
+ writeFileSync(bridgePath(sessionId), JSON.stringify(data), 'utf-8');
134
+ }
135
+ catch {
136
+ // Best-effort
137
+ }
138
+ }
139
+ //# sourceMappingURL=kg-sync-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kg-sync-hook.js","sourceRoot":"","sources":["../../../src/hooks/kg-sync-hook.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export class SpecInjectionPlugin {
22
22
  this.sessionId = sessionId;
23
23
  }
24
24
  apply(registry) {
25
- registry.transformPrompt.tap(this.name, (prompt) => {
25
+ registry.transformPrompt.tap(this.name, async (prompt) => {
26
26
  const parts = [prompt];
27
27
  const config = loadSpecInjectionConfig(this.projectPath);
28
28
  // Category-based injection with keyword filters
@@ -71,7 +71,7 @@ export class SpecInjectionPlugin {
71
71
  }
72
72
  // Keyword-based injection (with session dedup)
73
73
  if (this.sessionId) {
74
- const kwResult = evaluateKeywordInjection(prompt, this.projectPath, this.sessionId);
74
+ const kwResult = await evaluateKeywordInjection(prompt, this.projectPath, this.sessionId);
75
75
  if (kwResult.inject && kwResult.content) {
76
76
  parts.push(kwResult.content);
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spec-injection-plugin.js","sourceRoot":"","sources":["../../../../src/hooks/plugins/spec-injection-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-injection-plugin.js","sourceRoot":"","sources":["../../../../src/hooks/plugins/spec-injection-plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-context.d.ts","sourceRoot":"","sources":["../../../src/hooks/skill-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,UAAU;IAClB,kBAAkB,EAAE;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AA6CD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAuBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAStE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrE;AAqFD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,GAAG,IAAI,CA4D/E"}
1
+ {"version":3,"file":"skill-context.d.ts","sourceRoot":"","sources":["../../../src/hooks/skill-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,UAAU;IAClB,kBAAkB,EAAE;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AA6CD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAsBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAStE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrE;AAqFD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,GAAG,IAAI,CA4D/E"}
@@ -22,7 +22,6 @@ import { readCoordBridge, buildNextStepHint } from './coordinator-tracker.js';
22
22
  const SKILL_PATTERNS = [
23
23
  { pattern: /\/maestro-execute\s+(\d+)/, skill: 'maestro-execute' },
24
24
  { pattern: /\/maestro-plan\s+(\d+)/, skill: 'maestro-plan' },
25
- { pattern: /\/maestro-verify\s+(\d+)/, skill: 'maestro-verify' },
26
25
  { pattern: /\/maestro-analyze\s+(\d+)/, skill: 'maestro-analyze' },
27
26
  { pattern: /\/maestro-milestone-audit(?:\s+(\d+))?/, skill: 'maestro-milestone-audit' },
28
27
  { pattern: /\/quality-review\s+(\d+)/, skill: 'quality-review' },