@entelligentsia/forgecli 0.20.3 → 1.0.2

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 (303) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +31 -33
  3. package/dist/CHANGELOG-forge-plugin.md +118 -0
  4. package/dist/CHANGELOG-pi.md +24 -1
  5. package/dist/bin/forgecli.d.ts +2 -0
  6. package/dist/bin/forgecli.js +6 -0
  7. package/dist/bin/forgecli.js.map +1 -0
  8. package/dist/extensions/forgecli/add-pipeline.js +1 -1
  9. package/dist/extensions/forgecli/add-pipeline.js.map +1 -1
  10. package/dist/extensions/forgecli/add-task.js +1 -1
  11. package/dist/extensions/forgecli/add-task.js.map +1 -1
  12. package/dist/extensions/forgecli/approve.js +17 -2
  13. package/dist/extensions/forgecli/approve.js.map +1 -1
  14. package/dist/extensions/forgecli/calibrate.js +11 -8
  15. package/dist/extensions/forgecli/calibrate.js.map +1 -1
  16. package/dist/extensions/forgecli/collate.js +1 -1
  17. package/dist/extensions/forgecli/collate.js.map +1 -1
  18. package/dist/extensions/forgecli/commit.js +17 -2
  19. package/dist/extensions/forgecli/commit.js.map +1 -1
  20. package/dist/extensions/forgecli/enhance.js +1 -1
  21. package/dist/extensions/forgecli/enhance.js.map +1 -1
  22. package/dist/extensions/forgecli/fix-bug.d.ts +1 -1
  23. package/dist/extensions/forgecli/fix-bug.js +14 -6
  24. package/dist/extensions/forgecli/fix-bug.js.map +1 -1
  25. package/dist/extensions/forgecli/forge-artifact-tool.d.ts +6 -8
  26. package/dist/extensions/forgecli/forge-artifact-tool.js +80 -195
  27. package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -1
  28. package/dist/extensions/forgecli/forge-commands.js +57 -18
  29. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  30. package/dist/extensions/forgecli/forge-init/phase4-register.js +6 -7
  31. package/dist/extensions/forgecli/forge-init/phase4-register.js.map +1 -1
  32. package/dist/extensions/forgecli/forge-init/run-phases.d.ts +4 -0
  33. package/dist/extensions/forgecli/forge-init/run-phases.js +304 -0
  34. package/dist/extensions/forgecli/forge-init/run-phases.js.map +1 -0
  35. package/dist/extensions/forgecli/forge-init/verifiers.d.ts +14 -5
  36. package/dist/extensions/forgecli/forge-init/verifiers.js +79 -62
  37. package/dist/extensions/forgecli/forge-init/verifiers.js.map +1 -1
  38. package/dist/extensions/forgecli/forge-init.js +131 -76
  39. package/dist/extensions/forgecli/forge-init.js.map +1 -1
  40. package/dist/extensions/forgecli/forge-subagent.d.ts +9 -0
  41. package/dist/extensions/forgecli/forge-subagent.js +11 -6
  42. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  43. package/dist/extensions/forgecli/forge-tools.d.ts +28 -4
  44. package/dist/extensions/forgecli/forge-tools.js +122 -73
  45. package/dist/extensions/forgecli/forge-tools.js.map +1 -1
  46. package/dist/extensions/forgecli/health-check.js +3 -3
  47. package/dist/extensions/forgecli/health-check.js.map +1 -1
  48. package/dist/extensions/forgecli/hook-dispatcher.d.ts +1 -1
  49. package/dist/extensions/forgecli/hooks/check-update.d.ts +8 -0
  50. package/dist/extensions/forgecli/hooks/check-update.js +29 -1
  51. package/dist/extensions/forgecli/hooks/check-update.js.map +1 -1
  52. package/dist/extensions/forgecli/hooks/post-init-hook.js +6 -6
  53. package/dist/extensions/forgecli/hooks/post-init-hook.js.map +1 -1
  54. package/dist/extensions/forgecli/hooks/post-sprint-hook.js +6 -6
  55. package/dist/extensions/forgecli/hooks/post-sprint-hook.js.map +1 -1
  56. package/dist/extensions/forgecli/hooks/triage-error.js +1 -0
  57. package/dist/extensions/forgecli/hooks/triage-error.js.map +1 -1
  58. package/dist/extensions/forgecli/implement.js +20 -2
  59. package/dist/extensions/forgecli/implement.js.map +1 -1
  60. package/dist/extensions/forgecli/index.js +39 -32
  61. package/dist/extensions/forgecli/index.js.map +1 -1
  62. package/dist/extensions/forgecli/lib/pipeline-guard.d.ts +41 -0
  63. package/dist/extensions/forgecli/lib/pipeline-guard.js +100 -0
  64. package/dist/extensions/forgecli/lib/pipeline-guard.js.map +1 -0
  65. package/dist/extensions/forgecli/loaders/persona-skill-loader.js +2 -2
  66. package/dist/extensions/forgecli/loaders/persona-skill-loader.js.map +1 -1
  67. package/dist/extensions/forgecli/migrate.d.ts +3 -0
  68. package/dist/extensions/forgecli/migrate.js +4 -2
  69. package/dist/extensions/forgecli/migrate.js.map +1 -1
  70. package/dist/extensions/forgecli/plan.js +21 -2
  71. package/dist/extensions/forgecli/plan.js.map +1 -1
  72. package/dist/extensions/forgecli/quiz-agent.js +7 -7
  73. package/dist/extensions/forgecli/quiz-agent.js.map +1 -1
  74. package/dist/extensions/forgecli/regenerate.js +49 -18
  75. package/dist/extensions/forgecli/regenerate.js.map +1 -1
  76. package/dist/extensions/forgecli/remove-command.js +1 -1
  77. package/dist/extensions/forgecli/remove-command.js.map +1 -1
  78. package/dist/extensions/forgecli/report-bug.js +1 -1
  79. package/dist/extensions/forgecli/report-bug.js.map +1 -1
  80. package/dist/extensions/forgecli/retrospective.js +9 -9
  81. package/dist/extensions/forgecli/retrospective.js.map +1 -1
  82. package/dist/extensions/forgecli/review-code.d.ts +13 -0
  83. package/dist/extensions/forgecli/review-code.js +62 -3
  84. package/dist/extensions/forgecli/review-code.js.map +1 -1
  85. package/dist/extensions/forgecli/review-plan.d.ts +13 -0
  86. package/dist/extensions/forgecli/review-plan.js +65 -3
  87. package/dist/extensions/forgecli/review-plan.js.map +1 -1
  88. package/dist/extensions/forgecli/run-task.d.ts +2 -1
  89. package/dist/extensions/forgecli/run-task.js +48 -4
  90. package/dist/extensions/forgecli/run-task.js.map +1 -1
  91. package/dist/extensions/forgecli/skill-curator-subagent.d.ts +2 -1
  92. package/dist/extensions/forgecli/skill-curator-subagent.js +2 -1
  93. package/dist/extensions/forgecli/skill-curator-subagent.js.map +1 -1
  94. package/dist/extensions/forgecli/sprint-intake.js +6 -6
  95. package/dist/extensions/forgecli/sprint-intake.js.map +1 -1
  96. package/dist/extensions/forgecli/sprint-plan.js +9 -9
  97. package/dist/extensions/forgecli/sprint-plan.js.map +1 -1
  98. package/dist/extensions/forgecli/status-command.js +1 -1
  99. package/dist/extensions/forgecli/status-command.js.map +1 -1
  100. package/dist/extensions/forgecli/store-query.js +11 -11
  101. package/dist/extensions/forgecli/store-query.js.map +1 -1
  102. package/dist/extensions/forgecli/store-repair.js +7 -7
  103. package/dist/extensions/forgecli/store-repair.js.map +1 -1
  104. package/dist/extensions/forgecli/validate.js +17 -2
  105. package/dist/extensions/forgecli/validate.js.map +1 -1
  106. package/dist/forge-payload/.base-pack/commands/check-agent.md +22 -0
  107. package/dist/forge-payload/.base-pack/commands/new-sprint.md +22 -0
  108. package/dist/forge-payload/.base-pack/commands/plan-sprint.md +22 -0
  109. package/dist/forge-payload/.base-pack/commands/quiz-agent.md +2 -18
  110. package/dist/forge-payload/.base-pack/commands/retro.md +22 -0
  111. package/dist/forge-payload/.base-pack/commands/retrospective.md +2 -18
  112. package/dist/forge-payload/.base-pack/commands/sprint-intake.md +2 -18
  113. package/dist/forge-payload/.base-pack/commands/sprint-plan.md +2 -18
  114. package/dist/forge-payload/.base-pack/workflows/_fragments/friction-emit.md +2 -2
  115. package/dist/forge-payload/.base-pack/workflows/_fragments/generation-instructions.md +4 -4
  116. package/dist/forge-payload/.base-pack/workflows/_fragments/iron-laws.md +1 -1
  117. package/dist/forge-payload/.base-pack/workflows/architect_approve.md +13 -1
  118. package/dist/forge-payload/.base-pack/workflows/commit_task.md +12 -1
  119. package/dist/forge-payload/.base-pack/workflows/enhance.md +40 -10
  120. package/dist/forge-payload/.base-pack/workflows/fix_bug.md +1 -1
  121. package/dist/forge-payload/.base-pack/workflows/implement_plan.md +14 -2
  122. package/dist/forge-payload/.base-pack/workflows/migrate_structural.md +2 -2
  123. package/dist/forge-payload/.base-pack/workflows/orchestrate_task.md +20 -4
  124. package/dist/forge-payload/.base-pack/workflows/plan_task.md +14 -2
  125. package/dist/forge-payload/.base-pack/workflows/review_code.md +37 -7
  126. package/dist/forge-payload/.base-pack/workflows/review_plan.md +36 -6
  127. package/dist/forge-payload/.base-pack/workflows/run_sprint.md +2 -2
  128. package/dist/forge-payload/.base-pack/workflows/validate_task.md +37 -7
  129. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  130. package/dist/forge-payload/.schemas/config.schema.json +0 -5
  131. package/dist/forge-payload/.schemas/enum-catalog.json +9 -13
  132. package/dist/forge-payload/.schemas/migrations.json +65 -0
  133. package/dist/forge-payload/agents/tomoshibi.md +150 -6
  134. package/dist/forge-payload/commands/add-pipeline.md +1 -1
  135. package/dist/forge-payload/commands/add-task.md +1 -1
  136. package/dist/forge-payload/commands/calibrate.md +4 -350
  137. package/dist/forge-payload/commands/check-agent.md +38 -0
  138. package/dist/forge-payload/commands/config.md +3 -113
  139. package/dist/forge-payload/commands/enhance.md +5 -32
  140. package/dist/forge-payload/commands/health.md +155 -13
  141. package/dist/forge-payload/commands/init.md +25 -31
  142. package/dist/forge-payload/commands/migrate.md +6 -154
  143. package/dist/forge-payload/commands/quiz-agent.md +2 -34
  144. package/dist/forge-payload/commands/rebuild.md +664 -0
  145. package/dist/forge-payload/commands/regenerate.md +2 -774
  146. package/dist/forge-payload/commands/remove.md +10 -13
  147. package/dist/forge-payload/commands/repair.md +187 -0
  148. package/dist/forge-payload/commands/search.md +73 -0
  149. package/dist/forge-payload/commands/status.md +105 -0
  150. package/dist/forge-payload/commands/store-query.md +2 -69
  151. package/dist/forge-payload/commands/store-repair.md +2 -183
  152. package/dist/forge-payload/commands/update-tools.md +4 -50
  153. package/dist/forge-payload/commands/update.md +64 -58
  154. package/dist/forge-payload/hooks/check-update.cjs +1 -1
  155. package/dist/forge-payload/hooks/post-init.cjs +2 -2
  156. package/dist/forge-payload/hooks/post-sprint.cjs +2 -2
  157. package/dist/forge-payload/hooks/triage-error.cjs +11 -10
  158. package/dist/forge-payload/init/phases/phase-1-collect.md +138 -0
  159. package/dist/forge-payload/init/phases/phase-2-discover.md +127 -0
  160. package/dist/forge-payload/init/phases/phase-3-materialize.md +113 -0
  161. package/dist/forge-payload/init/phases/phase-4-register.md +159 -0
  162. package/dist/forge-payload/integrity.json +21 -24
  163. package/dist/forge-payload/meta/fragments/tool-discipline.md +22 -0
  164. package/dist/forge-payload/meta/templates/meta-retro.md +28 -0
  165. package/dist/forge-payload/meta/workflows/_fragments/friction-emit.md +2 -2
  166. package/dist/forge-payload/meta/workflows/_fragments/generation-instructions.md +4 -4
  167. package/dist/forge-payload/meta/workflows/_fragments/iron-laws.md +1 -1
  168. package/dist/forge-payload/meta/workflows/meta-approve.md +13 -1
  169. package/dist/forge-payload/meta/workflows/meta-check-agent.md +138 -0
  170. package/dist/forge-payload/meta/workflows/meta-commit.md +12 -1
  171. package/dist/forge-payload/meta/workflows/meta-enhance.md +39 -9
  172. package/dist/forge-payload/meta/workflows/meta-fix-bug.md +1 -1
  173. package/dist/forge-payload/meta/workflows/meta-implement.md +13 -1
  174. package/dist/forge-payload/meta/workflows/meta-migrate.md +3 -3
  175. package/dist/forge-payload/meta/workflows/meta-new-sprint.md +84 -0
  176. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +20 -4
  177. package/dist/forge-payload/meta/workflows/meta-plan-sprint.md +152 -0
  178. package/dist/forge-payload/meta/workflows/meta-plan-task.md +13 -1
  179. package/dist/forge-payload/meta/workflows/meta-retro.md +73 -0
  180. package/dist/forge-payload/meta/workflows/meta-review-implementation.md +37 -7
  181. package/dist/forge-payload/meta/workflows/meta-review-plan.md +36 -6
  182. package/dist/forge-payload/meta/workflows/meta-validate.md +37 -7
  183. package/dist/forge-payload/schemas/config.schema.json +0 -5
  184. package/dist/forge-payload/schemas/enum-catalog.json +9 -13
  185. package/dist/forge-payload/schemas/structure-manifest.json +6 -8
  186. package/dist/forge-payload/tools/artifact.cjs +295 -0
  187. package/dist/forge-payload/tools/banners.cjs +3 -4
  188. package/dist/forge-payload/tools/build-context-pack.cjs +1 -1
  189. package/dist/forge-payload/tools/check-structure.cjs +8 -3
  190. package/dist/forge-payload/tools/store-cli.cjs +67 -7
  191. package/dist/forge-payload/tools/substitute-placeholders.cjs +1 -1
  192. package/dist/forge-payload/tools/verify-apply.cjs +75 -0
  193. package/dist/forge-payload/tools/verify-phase.cjs +259 -0
  194. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  195. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +0 -17
  196. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  197. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +21 -38
  198. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  199. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  200. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +5 -4
  201. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  202. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +2 -1
  203. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  204. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +5 -2
  205. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  206. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  207. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +24 -1
  208. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.d.ts.map +1 -1
  209. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js +2 -3
  210. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js.map +1 -1
  211. package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.d.ts +1 -0
  212. package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.d.ts.map +1 -1
  213. package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.js +52 -22
  214. package/node_modules/@earendil-works/pi-coding-agent/dist/core/output-guard.js.map +1 -1
  215. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
  216. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +16 -4
  217. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
  218. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
  219. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +45 -50
  220. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
  221. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
  222. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +43 -81
  223. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
  224. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  225. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.js +27 -12
  226. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/file-mutation-queue.js.map +1 -1
  227. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  228. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js +2 -3
  229. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  230. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
  231. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js +3 -3
  232. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
  233. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
  234. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +5 -5
  235. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
  236. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.d.ts +2 -0
  237. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.d.ts.map +1 -1
  238. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js +37 -0
  239. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js.map +1 -1
  240. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
  241. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +9 -8
  242. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
  243. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
  244. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +20 -35
  245. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
  246. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts +3 -0
  247. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  248. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +64 -7
  249. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js.map +1 -1
  250. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  251. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +15 -3
  252. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  253. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.d.ts +3 -1
  254. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.d.ts.map +1 -1
  255. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.js +14 -8
  256. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-native.js.map +1 -1
  257. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.d.ts +30 -0
  258. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.d.ts.map +1 -0
  259. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.js +124 -0
  260. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-core.js.map +1 -0
  261. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.d.ts +2 -0
  262. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.d.ts.map +1 -0
  263. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.js +31 -0
  264. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize-worker.js.map +1 -0
  265. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.d.ts +7 -27
  266. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.d.ts.map +1 -1
  267. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.js +75 -115
  268. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.js.map +1 -1
  269. package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +6 -0
  270. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
  271. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  272. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
  273. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
  274. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +12 -14
  275. package/node_modules/@earendil-works/pi-coding-agent/package.json +5 -5
  276. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts +3 -0
  277. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts.map +1 -0
  278. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js +53 -0
  279. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +1 -0
  280. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  281. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +4 -1
  282. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  283. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +2 -0
  284. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  285. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +13 -1
  286. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  287. package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node +0 -0
  288. package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node +0 -0
  289. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  290. package/package.json +6 -6
  291. package/dist/extensions/forgecli/forge-init/phase-descriptors.d.ts +0 -72
  292. package/dist/extensions/forgecli/forge-init/phase-descriptors.js +0 -359
  293. package/dist/extensions/forgecli/forge-init/phase-descriptors.js.map +0 -1
  294. package/dist/extensions/forgecli/forge-init/prompts.d.ts +0 -10
  295. package/dist/extensions/forgecli/forge-init/prompts.js +0 -91
  296. package/dist/extensions/forgecli/forge-init/prompts.js.map +0 -1
  297. package/dist/extensions/forgecli/lib/store-error-remediation.d.ts +0 -65
  298. package/dist/extensions/forgecli/lib/store-error-remediation.js +0 -298
  299. package/dist/extensions/forgecli/lib/store-error-remediation.js.map +0 -1
  300. package/dist/forge-payload/hooks/check-update.js +0 -378
  301. package/dist/forge-payload/hooks/forge-permissions.js +0 -164
  302. package/dist/forge-payload/hooks/triage-error.js +0 -77
  303. package/dist/forge-payload/hooks/validate-write.js +0 -250
@@ -1,22 +1,21 @@
1
1
  // forge-init.ts — /forge:init command handler — FORGE-S17-T02
2
2
  //
3
3
  // Full 4-phase init flow:
4
- // Phase 1 — Collect: 5 parallel discovery scans → .forge/config.json
5
- // Phase 2 — Discover: 7 parallel KB doc generation + project-context.json
4
+ // Phase 1 — Collect: multi-step discovery + config.json synthesis → .forge/config.json
5
+ // Phase 2 — Discover: phase gate + KB doc generation + index files → engineering/
6
6
  // Phase 3 — Materialize: substitute-placeholders → .forge/{personas,skills,workflows,templates}
7
7
  // Phase 4 — Register: 11 deterministic steps → versioning, packs, store, Tomoshibi
8
8
  //
9
9
  // Per INIT_PARITY_SPEC.md and PLAN.md (rev 2) phases A–G.
10
10
  //
11
- // ── Descriptor model (FORGE-S25-T24, B-5) ────────────────────────────────
11
+ // ── Phase model (FORGE-S26-T17) ──────────────────────────────────────────
12
12
  //
13
- // Phases 1–3 are driven by LlmPhaseDescriptor records (forge-init/phase-descriptors.ts).
14
- // The generic runLlmPhase() runner executes the shared skeleton:
15
- // banner [LLM dispatch + waitForIdle (Phases 12)] | [tool calls (Phase 3)]
16
- // verify → [retry steer (Phases 1–2)] [user confirm] postVerify → progress
13
+ // Phases 1–3 are standalone async functions in forge-init/run-phases.ts.
14
+ // Each reads its phase prompt from the bundled init/phases/phase-N-*.md file,
15
+ // dispatches via sendToAgent + waitForIdle (phases 1-2) or runs tools directly
16
+ // (phase 3), then verifies deliverables via verify-phase.cjs.
17
17
  //
18
- // Phase 4 (11 deterministic steps) is too heterogeneous for the generic runner and is
19
- // extracted into forge-init/phase4-register.ts → runPhase4().
18
+ // Phase 4 is in forge-init/phase4-register.ts runPhase4().
20
19
  //
21
20
  // This file is the orchestrator: flag parsing, resume detection, configCache population
22
21
  // (between Phase 1 and Phase 2), phase loop, post-init report.
@@ -33,21 +32,28 @@
33
32
  // #5: Tomoshibi — runRefreshKbLinks() native TS port; no shell-out
34
33
  // #9: Health check — runHealthCheck() direct call; NOT via sendUserMessage
35
34
  //
36
- // ── Async/sync contract (N-B-C) ─────────────────────────────────────────────
35
+ // ── Async/sync contract (N-B-C, revised 2026-05-26) ──────────────────────────
37
36
  //
38
- // `sendToAgent(text)` is SYNCHRONOUS it wraps `pi.sendUserMessage(text, { deliverAs: "steer" })`
39
- // which enqueues the steer message and returns immediately. The agent does NOT start running
40
- // until the current handler yields (awaits).
37
+ // `await sendToAgent(text)` sends a prompt to the agent and resolves when the agent
38
+ // has finished processing it. It wraps `pi.sendUserMessage(text, { deliverAs: "steer" })`.
41
39
  //
42
- // `await ctx.waitForIdle()` is the SOLE synchronisation primitive. It suspends the handler
43
- // until the agent has finished processing all pending steer messages and has reached an
44
- // idle state. All reads of phase deliverables (e.g. `.forge/config.json` for Phase 1,
45
- // KB docs for Phase 2, `.forge/workflows/` for Phase 3) MUST occur AFTER a `waitForIdle`.
40
+ // When the agent is IDLE (the common case at init start): sendUserMessage calls
41
+ // session.prompt(), which starts a full agent turn via agent.prompt(). Awaiting it
42
+ // blocks until that turn completes, including all tool calls and follow-ups.
43
+ //
44
+ // When the agent is STREAMING (mid-turn): sendUserMessage enqueues a steer message
45
+ // and resolves quickly — the steer is picked up by the running turn's steering poll.
46
+ // In this case `await ctx.waitForIdle()` IS needed afterwards to wait for the turn
47
+ // (including the steer) to finish.
48
+ //
49
+ // Both awaits are always issued: `await sendToAgent` covers the idle-agent path;
50
+ // `await waitForIdle` covers the streaming-agent path and is a harmless no-op when
51
+ // the agent already completed its turn via sendToAgent.
46
52
  //
47
53
  // Pattern for every phase:
48
- // sendToAgent(promptText); // enqueue synchronous
49
- // await ctx.waitForIdle(); // suspend until agent completes asynchronous
50
- // const result = verifyPhaseN(); // read deliverable — synchronous
54
+ // await sendToAgent(promptText); // dispatch + wait for completion when idle
55
+ // await waitForIdle(); // wait for current turn when streaming; no-op when idle
56
+ // const result = verifyPhaseN(); // read deliverable — agent is done
51
57
  //
52
58
  // ── Config cache boundary (B-4, N-B-A) ──────────────────────────────────────
53
59
  //
@@ -62,14 +68,17 @@
62
68
  import * as fs from "node:fs";
63
69
  import * as path from "node:path";
64
70
  import { fileURLToPath } from "node:url";
65
- import { PHASE_1, PHASE_2, PHASE_3, runLlmPhase } from "./forge-init/phase-descriptors.js";
66
71
  import { runPhase4 } from "./forge-init/phase4-register.js";
72
+ import { runPhase1, runPhase2, runPhase3 } from "./forge-init/run-phases.js";
67
73
  import { verifyPhase1, verifyPhase3 } from "./forge-init/verifiers.js";
68
74
  import { runHealthCheck } from "./health-check.js";
69
75
  import { emitSyntheticEvent } from "./hook-dispatcher.js";
70
76
  import { discoverProjectName } from "./init-context.js";
71
77
  import { deleteInitProgress, readInitProgress } from "./init-progress.js";
72
78
  import { execFileAsync } from "./lib/exec-helpers.js";
79
+ import { clearForgeConfigCache } from "./lib/forge-config.js";
80
+ // FORGE-S26-T11: registerMigrate imported to power `forge:init --migrate`
81
+ import { registerMigrate } from "./migrate.js";
73
82
  // ── Bundle path resolution ─────────────────────────────────────────────────
74
83
  const _EXTENSION_DIR = path.dirname(fileURLToPath(import.meta.url));
75
84
  // dist/extensions/forgecli/ → dist/ → <pkg-root>/
@@ -149,12 +158,13 @@ function parseInitFlags(args) {
149
158
  const parts = args.trim().split(/\s+/).filter(Boolean);
150
159
  const hasFast = parts.includes("--fast");
151
160
  const hasFull = parts.includes("--full");
161
+ const hasMigrate = parts.includes("--migrate");
152
162
  // Find trailing numeric phase arg
153
163
  let startPhase = null;
154
164
  let invalidPhase = false;
155
165
  for (let i = 0; i < parts.length; i++) {
156
166
  const p = parts[i];
157
- if (p === "--fast" || p === "--full")
167
+ if (p === "--fast" || p === "--full" || p === "--migrate")
158
168
  continue;
159
169
  const n = parseInt(p, 10);
160
170
  if (!Number.isNaN(n)) {
@@ -169,6 +179,7 @@ function parseInitFlags(args) {
169
179
  return {
170
180
  fast: hasFast,
171
181
  full: hasFull,
182
+ migrate: hasMigrate,
172
183
  startPhase,
173
184
  conflict: hasFast && hasFull,
174
185
  invalidPhase,
@@ -179,11 +190,19 @@ export function registerForgeInit(pi) {
179
190
  // Capture pi.sendUserMessage in closure — ExtensionCommandContext does not
180
191
  // have sendUserMessage; it is on ExtensionAPI per pi types.ts:1187.
181
192
  //
182
- // FIX BUG-017 / BUG-023: all sendUserMessage calls during a command handler
183
- // execution (which is itself an active agent turn) MUST carry deliverAs: "steer"
184
- // to avoid the "Agent is already processing" runtime error. The command handler
185
- // runs inside a turn boundary; raw sendUserMessage() without deliverAs throws.
186
- const sendToAgent = (text) => pi.sendUserMessage(text, { deliverAs: "steer" });
193
+ // sendToAgent MUST be awaited. When the agent is idle (the typical case for
194
+ // /forge:init), sendUserMessage starts a full agent turn and resolves when it
195
+ // completes. When the agent is streaming, sendUserMessage enqueues a steer and
196
+ // resolves quickly waitForIdle is then needed to wait for the turn to finish.
197
+ //
198
+ // Previous bug (BUG-017/BUG-023 workaround was incomplete): sendToAgent was
199
+ // fire-and-forget (no await), and waitForIdle was the sole sync primitive.
200
+ // But waitForIdle() returns Promise.resolve() when agent.activeRun is null
201
+ // (no active turn), which is the state at init start — the steer hadn't been
202
+ // picked up yet, so everything after waitForIdle fired instantly.
203
+ const sendToAgent = async (text) => {
204
+ await pi.sendUserMessage(text, { deliverAs: "steer" });
205
+ };
187
206
  pi.registerCommand("forge:init", {
188
207
  description: "Bootstrap a new Forge SDLC project at the current working directory",
189
208
  async handler(args, ctx) {
@@ -196,6 +215,28 @@ export function registerForgeInit(pi) {
196
215
  let kbPathFinal = "engineering";
197
216
  // ── 1. Flag parsing ────────────────────────────────────────────────
198
217
  const flags = parseInitFlags(args);
218
+ // FORGE-S26-T11: --migrate flag dispatches to store migration instead of init.
219
+ if (flags.migrate) {
220
+ // Strip --migrate, pass remaining args to migrate handler.
221
+ const migrateParts = (args ?? "").trim().split(/\s+/).filter((p) => p !== "--migrate");
222
+ const migrateArgs = migrateParts.join(" ");
223
+ let migrateHandler;
224
+ const syntheticPi = {
225
+ ...pi,
226
+ registerCommand: (name, def) => {
227
+ if (name === "forge:migrate")
228
+ migrateHandler = def.handler;
229
+ },
230
+ };
231
+ registerMigrate(syntheticPi);
232
+ if (migrateHandler) {
233
+ await migrateHandler(migrateArgs, ctx);
234
+ }
235
+ else {
236
+ ctx.ui.notify("× forge:init --migrate — migrate handler unavailable", "error");
237
+ }
238
+ return;
239
+ }
199
240
  if (flags.conflict) {
200
241
  ctx.ui.notify("× Conflicting flags: --fast and --full cannot be combined.", "error");
201
242
  return;
@@ -262,13 +303,12 @@ export function registerForgeInit(pi) {
262
303
  if (flags.startPhase === null || flags.invalidPhase) {
263
304
  const preflightSummary = `Forge Init — ${projectName}\n\n` +
264
305
  `4 phases will run in this session (~45 seconds non-interactive):\n\n` +
265
- ` 1 Collect — 5 parallel discovery scans → config.json\n` +
306
+ ` 1 Collect — codebase discovery → config.json\n` +
266
307
  ` KB folder prompt (interactive)\n` +
267
- ` 2 Discover — KB doc generation (LLM fan-out) + project-context.json\n` +
308
+ ` 2 Discover — KB doc generation + project-context.json\n` +
268
309
  ` 3 Materialize — substitute-placeholders.cjs → fully functional workflows\n` +
269
310
  ` 4 Register — versioning, manifest, cache, store entries, Tomoshibi\n\n` +
270
- `Phase 1 is interactive (KB folder name prompt). Phases 2–4 are non-interactive\n` +
271
- `and complete in under 45 seconds.`;
311
+ `Phase 1 is interactive (KB folder name prompt). Phases 2–4 are non-interactive.`;
272
312
  // G2: skip pre-flight confirm in non-interactive mode (proceed directly to Phase 1)
273
313
  if (!isNonInteractive()) {
274
314
  const proceed = await ctx.ui.confirm("Start /forge:init?", preflightSummary);
@@ -292,32 +332,50 @@ export function registerForgeInit(pi) {
292
332
  catch {
293
333
  // File not yet present — Phase 1 will create it
294
334
  }
295
- // ── Phases 1–3: descriptor-driven loop ──────────────────────────────
296
- // Each phase is described by an LlmPhaseDescriptor (forge-init/phase-descriptors.ts).
297
- // The generic runLlmPhase() runner handles: banner, LLM dispatch / deterministic
298
- // tool execution, verify, retry steer, user confirm, postVerify, writeInitProgress.
299
- const PHASES = [PHASE_1, PHASE_2, PHASE_3];
300
- for (const desc of PHASES) {
301
- if (startPhase > desc.phaseNum) {
302
- // Resume path: skip phases already completed
303
- continue;
304
- }
305
- const phaseResult = await runLlmPhase(desc, ctx, cwd, bundleRoot, toolsRoot, projectName, configCache, sendToAgent, () => ctx.waitForIdle(), isNonInteractive);
306
- if (phaseResult === "abort") {
335
+ // ── Phases 1–3: linear phase calls ──────────────────────────────────
336
+ // Each phase is a standalone async function in forge-init/run-phases.ts.
337
+ // (FORGE-S26-T17: replaced descriptor-driven loop with explicit calls.)
338
+ // Phase 1 Collect
339
+ if (startPhase <= 1) {
340
+ const phase1Result = await runPhase1(cwd, bundleRoot, toolsRoot, configCache, ctx, sendToAgent, () => ctx.waitForIdle(), isNonInteractive);
341
+ if (phase1Result === "abort")
307
342
  return;
308
- }
309
- // Refresh configCache after Phase 1 writes .forge/config.json so
310
- // Phase 2, Phase 4, and the post-init report see the values the
311
- // Phase-1 agent just produced.
312
- if (desc.phaseNum === 1) {
313
- try {
314
- configCache = JSON.parse(fs.readFileSync(path.join(cwd, ".forge", "config.json"), "utf8"));
343
+ // Inter-phase gate: let user review before Phase 2
344
+ if (!isNonInteractive()) {
345
+ const proceed = await ctx.ui.confirm("Phase 1 complete — proceed?", "Phase 1 deliverables verified. Continue to Phase 2: Discover (KB generation)?");
346
+ if (!proceed) {
347
+ ctx.ui.notify("〇 /forge:init paused after Phase 1. Re-run /forge:init to resume.", "info");
348
+ return;
315
349
  }
316
- catch {
317
- // Fall back to existing cache all downstream reads have their own defaults
350
+ }
351
+ // Refresh configCache after Phase 1 writes .forge/config.json
352
+ try {
353
+ configCache = JSON.parse(fs.readFileSync(path.join(cwd, ".forge", "config.json"), "utf8"));
354
+ }
355
+ catch {
356
+ // Fall back to existing cache — all downstream reads have their own defaults
357
+ }
358
+ }
359
+ // Phase 2 — Discover
360
+ if (startPhase <= 2) {
361
+ const phase2Result = await runPhase2(cwd, bundleRoot, toolsRoot, projectName, configCache, ctx, sendToAgent, () => ctx.waitForIdle(), isNonInteractive);
362
+ if (phase2Result === "abort")
363
+ return;
364
+ // Inter-phase gate: let user review before Phase 3
365
+ if (!isNonInteractive()) {
366
+ const proceed = await ctx.ui.confirm("Phase 2 complete — proceed?", "Phase 2 deliverables verified. Continue to Phase 3: Materialize (workflow generation)?");
367
+ if (!proceed) {
368
+ ctx.ui.notify("〇 /forge:init paused after Phase 2. Re-run /forge:init to resume.", "info");
369
+ return;
318
370
  }
319
371
  }
320
372
  }
373
+ // Phase 3 — Materialize
374
+ if (startPhase <= 3) {
375
+ const phase3Result = await runPhase3(cwd, bundleRoot, toolsRoot, ctx);
376
+ if (phase3Result === "abort")
377
+ return;
378
+ }
321
379
  // ── Phase 4 — Register (runPhase4) ────────────────────────────────
322
380
  if (startPhase <= 4) {
323
381
  const phase4Result = await runPhase4({
@@ -336,6 +394,8 @@ export function registerForgeInit(pi) {
336
394
  // phase4Result.kbPathFinal is used in the post-init report below
337
395
  kbPathFinal = phase4Result.kbPathFinal;
338
396
  }
397
+ // ── Invalidate forge-config cache so same-session commands find the new project
398
+ clearForgeConfigCache();
339
399
  // ── Post-Phase-4: health check ────────────────────────────────────
340
400
  ctx.ui.setStatus?.("forge:init", "Post-init: health check");
341
401
  const healthResult = await runHealthCheck(cwd, bundleRoot);
@@ -348,23 +408,6 @@ export function registerForgeInit(pi) {
348
408
  ctx.ui.notify(` · ${gap.check}: ${gap.message}`, "info");
349
409
  }
350
410
  }
351
- // ── post-init: emit synthetic event for registered hooks (FORGE-S21-T04) ──
352
- // Replaces the old sentinel-writing stub. The init-complete event is
353
- // consumed by hooks/post-init-hook.ts which handles idempotency,
354
- // materialization-marker checks, audience gates, and dispatch.
355
- // Errors inside hooks are caught by emitSyntheticEvent — fail-open.
356
- {
357
- // Use configCache — valid for both full-run and resumed-init paths.
358
- // configCache is populated once (after Phase 1 completes or from pre-existing
359
- // config.json for resumed inits). Non-fatal if cache is empty (empty prefix
360
- // causes hook to write sentinel under post-init-fired-.json).
361
- let projectPrefixForHook = "";
362
- const projForHook = configCache.project;
363
- if (projForHook && typeof projForHook.prefix === "string") {
364
- projectPrefixForHook = projForHook.prefix;
365
- }
366
- await emitSyntheticEvent({ type: "init-complete", projectPrefix: projectPrefixForHook, cwd }, ctx);
367
- }
368
411
  // ── Report ────────────────────────────────────────────────────────
369
412
  // FIX BUG-020: use configCache here (populated from config.json after Phase 1
370
413
  // or from pre-existing config.json for resumed inits starting at Phase 2+).
@@ -404,8 +447,8 @@ export function registerForgeInit(pi) {
404
447
  ctx.ui.notify(`× /forge:init: ${criticalGaps.length} critical gap(s) require attention — see Report.`, "error");
405
448
  }
406
449
  // Final cross-phase verification — banner reflects real disk state.
407
- const finalP1 = verifyPhase1(cwd);
408
- const finalP3 = verifyPhase3(cwd);
450
+ const finalP1 = await verifyPhase1(cwd);
451
+ const finalP3 = await verifyPhase3(cwd);
409
452
  const fullyComplete = finalP1.ok && finalP3.ok;
410
453
  const bannerLabel = fullyComplete
411
454
  ? `║ /forge:init complete ║`
@@ -416,7 +459,7 @@ export function registerForgeInit(pi) {
416
459
  }
417
460
  if (!finalP3.ok) {
418
461
  incompleteDetail.push(`× Phase 3: ${finalP3.missing.join(", ")} (materialization missing)`);
419
- incompleteDetail.push(` → Recover: \`/forge:regenerate\` (re-runs substitute-placeholders against current config), or delete .forge/init-progress.json and re-run /forge:init.`);
462
+ incompleteDetail.push(` → Recover: \`/forge:rebuild\` (re-runs substitute-placeholders against current config), or delete .forge/init-progress.json and re-run /forge:init.`);
420
463
  }
421
464
  const report = [
422
465
  ``,
@@ -437,9 +480,9 @@ export function registerForgeInit(pi) {
437
480
  healthSection,
438
481
  ``,
439
482
  `Next steps:`,
440
- ` 1. Run /forge:sprint-intake to start your first sprint`,
441
- ` 2. Run /forge:health anytime to check project health`,
442
- ` 3. Run /forge:refresh-kb-links to update agent instruction file links`,
483
+ ` 1. Run /forge:new-sprint to start your first sprint`,
484
+ ` 2. Run /forge:status to see sprint and task summary`,
485
+ ` 3. Run /forge:health anytime to check project health`,
443
486
  ``,
444
487
  `Note: Marketplace skills auto-recommendation is Claude-Code-only.`,
445
488
  `Pi users install extensions manually.`,
@@ -452,7 +495,19 @@ export function registerForgeInit(pi) {
452
495
  ]
453
496
  : []),
454
497
  ].join("\n");
455
- sendToAgent(report);
498
+ await sendToAgent(report);
499
+ // ── post-init: emit synthetic event for registered hooks (FORGE-S21-T04) ──
500
+ // Fires AFTER the report so the user sees the summary before enhancement
501
+ // or other hook-triggered workflows begin.
502
+ // Errors inside hooks are caught by emitSyntheticEvent — fail-open.
503
+ {
504
+ let projectPrefixForHook = "";
505
+ const projForHook = configCache.project;
506
+ if (projForHook && typeof projForHook.prefix === "string") {
507
+ projectPrefixForHook = projForHook.prefix;
508
+ }
509
+ await emitSyntheticEvent({ type: "init-complete", projectPrefix: projectPrefixForHook, cwd }, ctx);
510
+ }
456
511
  },
457
512
  });
458
513
  }
@@ -1 +1 @@
1
- {"version":3,"file":"forge-init.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/forge-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forge-init.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/forge-init.ts"],"names":[],"mappings":"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"}
@@ -112,6 +112,15 @@ export interface RunSubagentOptions {
112
112
  * to build the appropriate subset for each persona.
113
113
  */
114
114
  customTools?: ToolDefinition[];
115
+ /**
116
+ * When true, suppress extension and skill discovery in the subagent session.
117
+ * Default false — subagents inherit the parent's extensions (lean-ctx,
118
+ * ollama-cloud, etc.) so they get the same tool surface.
119
+ *
120
+ * Test harnesses should set this to true to avoid loading globally-installed
121
+ * extensions (which adds latency and creates environment-dependent behavior).
122
+ */
123
+ noExtensions?: boolean;
115
124
  }
116
125
  /**
117
126
  * Load a Forge persona from `.forge/personas/<name>.md`.
@@ -88,13 +88,18 @@ export async function runForgeSubagent(opts) {
88
88
  cwd: cwdAbs,
89
89
  agentDir: getAgentDir(),
90
90
  systemPromptOverride: () => {
91
- const discipline = opts.customTools?.length ? FORGE_TOOL_DISCIPLINE : "";
92
- return `${orientation}\n${persona.systemPrompt}${discipline}`;
91
+ return `${orientation}\n${persona.systemPrompt}${FORGE_TOOL_DISCIPLINE}`;
93
92
  },
94
- // Persona-only suppress global pi extensions/skills/prompts to keep
95
- // subagent context lean and deterministic.
96
- noExtensions: true,
97
- noSkills: true,
93
+ // By default, inherit the parent's extensions (lean-ctx, ollama-cloud,
94
+ // web-search, etc.) so subagents get the same tool surface. Extensions
95
+ // activate in-process — no heavy subprocess spawning. Context files and
96
+ // prompt templates are suppressed to avoid injecting CLAUDE.md /
97
+ // post-init tour bloat into phase prompts where persona + orientation
98
+ // suffice. When streamFn is set (test-only seam) or noExtensions is
99
+ // explicitly true, suppress discovery to avoid loading globally-installed
100
+ // extensions (latency + environment-dependence in test harnesses).
101
+ noExtensions: opts.noExtensions ?? !!opts.streamFn,
102
+ noSkills: opts.noExtensions ?? !!opts.streamFn,
98
103
  noPromptTemplates: true,
99
104
  noContextFiles: true,
100
105
  });
@@ -1 +1 @@
1
- {"version":3,"file":"forge-subagent.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/forge-subagent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forge-subagent.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/forge-subagent.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,23 @@
1
1
  import type { ExtensionAPI, ToolDefinition } from "@earendil-works/pi-coding-agent";
2
+ /**
3
+ * runCjs — shared execFileAsync wrapper for all four .cjs tool invocations.
4
+ *
5
+ * Implements DRY: AbortSignal propagation, timeout, cwd binding, and
6
+ * stdout/stderr capture are applied consistently across all tools.
7
+ *
8
+ * Timeout guidance: collate 30s (large stores); store/validate 10s; config 5s.
9
+ *
10
+ * @param toolPath Absolute path to the .cjs tool.
11
+ * @param argv Arguments to pass after "node <toolPath>".
12
+ * @param signal AbortSignal from tool execute — propagated to subprocess.
13
+ * @param timeoutMs Subprocess timeout in milliseconds.
14
+ * @param projectRoot Directory containing .forge/ — cwd for the subprocess so
15
+ * findProjectRoot() in the .cjs tool resolves correctly.
16
+ */
17
+ export declare function runCjs(toolPath: string, argv: string[], signal: AbortSignal | undefined, timeoutMs: number, projectRoot: string): Promise<{
18
+ stdout: string;
19
+ stderr: string;
20
+ }>;
2
21
  export interface ForgeToolDefs {
3
22
  store: ToolDefinition;
4
23
  collate: ToolDefinition;
@@ -9,18 +28,23 @@ export interface ForgeToolDefs {
9
28
  storeQuery: ToolDefinition;
10
29
  verifyApply: ToolDefinition;
11
30
  artifact: ToolDefinition;
31
+ preflight: ToolDefinition;
32
+ banner: ToolDefinition;
12
33
  }
13
34
  /**
14
- * Return the subset of forge tool definitions suitable for subagent injection.
15
- * Core store tools go to every persona; forge_collate only to the collator.
35
+ * Return all forge tool definitions for subagent injection.
36
+ *
37
+ * Every subagent gets the full tool surface (~2K tokens, <4% of session cost).
38
+ * Transcript analysis showed per-persona filtering provided no benefit — models
39
+ * never picked the wrong tool, and withholding tools forced bash workarounds.
16
40
  */
17
- export declare function getSubagentTools(defs: ForgeToolDefs, personaName?: string): ToolDefinition[];
41
+ export declare function getSubagentTools(defs: ForgeToolDefs, _personaName?: string): ToolDefinition[];
18
42
  /**
19
43
  * The tool-discipline system prompt block appended to subagent prompts when
20
44
  * forge tools are injected. Exported so forge-subagent.ts can include it
21
45
  * without duplicating the text.
22
46
  */
23
- export declare const FORGE_TOOL_DISCIPLINE = "\n## Forge Tool Discipline\n\nAll forge_* tools wrap local .cjs scripts via direct exec \u2014 deterministic, no LLM,\nno agent loop. Prefer them over shelling out.\n\n- Store CRUD: call `forge_store` (named tool). Canonical write is 2-positional:\n `{command:\"write\", args:[\"<entity>\",\"<json>\"]}`. The id lives INSIDE the json\n (e.g. `{\"sprintId\":\"X-S01\",\"title\":\"...\",\"status\":\"planning\",\"taskIds\":[],\"createdAt\":\"...\"}`).\n DO NOT pass id as a separate arg \u2014 `[\"sprint\",\"X-S01\",\"<json>\"]` (3-arg) FAILS.\n- Before writing any record, call `forge_store_template` for the canonical shape and\n `forge_store_describe` for required fields, status enums, and FK constraints.\n- Use `forge_store_query` (nlp/query/schema) for lookups instead of grepping `.forge/store/`.\n- Use `forge_collate` to refresh the KB; `forge_validate_store` for integrity checks;\n `forge_config` for project config reads/writes.\n- Never `bash node \"$FORGE_ROOT/tools/store-cli.cjs\" ...` \u2014 use the named MCP tool instead.\n The tool is schema-validated and shorter.\n- Workflow text saying `forge_store write sprint '<json>'` means: call the MCP tool\n `forge_store` with that 2-positional shape. Not a shell command.\n";
47
+ export declare const FORGE_TOOL_DISCIPLINE = "\n## Forge Tool Discipline\n\nAll forge_* tools wrap local .cjs scripts via direct exec \u2014 deterministic, no LLM,\nno agent loop. Prefer them over shelling out.\n\n- Store CRUD: call `forge_store` (named tool). Canonical write is 2-positional:\n `{command:\"write\", args:[\"<entity>\",\"<json>\"]}`. The id lives INSIDE the json\n (e.g. `{\"sprintId\":\"X-S01\",\"title\":\"...\",\"status\":\"planning\",\"taskIds\":[],\"createdAt\":\"...\"}`).\n DO NOT pass id as a separate arg \u2014 `[\"sprint\",\"X-S01\",\"<json>\"]` (3-arg) FAILS.\n- Before writing any record, call `forge_store_template` for the canonical shape and\n `forge_store_describe` for required fields, status enums, and FK constraints.\n- Use `forge_store_query` (nlp/query/schema) for lookups instead of grepping `.forge/store/`.\n- Use `forge_collate` to refresh the KB; `forge_validate_store` for integrity checks;\n `forge_config` for project config reads/writes.\n- Use `forge_artifact` to read/write/list phase artifacts (PLAN.md, PROGRESS.md, *-SUMMARY.json).\n Never construct artifact paths manually \u2014 the tool resolves them from entity IDs.\n- Use `forge_verify_apply` after applying edits to confirm changes landed on disk.\n If `unchanged` is non-empty, re-apply those edits.\n- Use `forge_preflight` for pre-flight gate checks \u2014 do NOT shell out to preflight-gate.cjs.\n- Use `forge_banner` for phase banners \u2014 do NOT shell out to banners.cjs.\n- `$FORGE_ROOT` is already set in your environment. If you must use bash, reference\n `$FORGE_ROOT` directly \u2014 do NOT resolve it via `node -e \"console.log(require(...)...)\"`.\n- Never `bash node \"$FORGE_ROOT/tools/store-cli.cjs\" ...` \u2014 use the named MCP tool instead.\n The tool is schema-validated and shorter.\n- Workflow text saying `forge_store write sprint '<json>'` means: call the MCP tool\n `forge_store` with that 2-positional shape. Not a shell command.\n";
24
48
  /**
25
49
  * Build all Forge .cjs tool definitions, register them with pi, and return
26
50
  * the definitions so callers can inject them into subagent sessions via