@entelligentsia/forgecli 1.0.2 → 1.0.10

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 (423) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +2 -1
  3. package/dist/CHANGELOG-forge-plugin.md +124 -0
  4. package/dist/CHANGELOG-pi.md +94 -0
  5. package/dist/extensions/forgecli/audience-gate.js +1 -1
  6. package/dist/extensions/forgecli/audience-gate.js.map +1 -1
  7. package/dist/extensions/forgecli/fix-bug.d.ts +1 -2
  8. package/dist/extensions/forgecli/fix-bug.js +678 -609
  9. package/dist/extensions/forgecli/fix-bug.js.map +1 -1
  10. package/dist/extensions/forgecli/forge-artifact-tool.js +42 -7
  11. package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -1
  12. package/dist/extensions/forgecli/forge-subagent.d.ts +17 -0
  13. package/dist/extensions/forgecli/forge-subagent.js +31 -12
  14. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  15. package/dist/extensions/forgecli/forge-tools.d.ts +6 -0
  16. package/dist/extensions/forgecli/forge-tools.js +71 -8
  17. package/dist/extensions/forgecli/forge-tools.js.map +1 -1
  18. package/dist/extensions/forgecli/run-task.js +461 -391
  19. package/dist/extensions/forgecli/run-task.js.map +1 -1
  20. package/dist/extensions/forgecli/session-registry.d.ts +12 -0
  21. package/dist/extensions/forgecli/session-registry.js +23 -0
  22. package/dist/extensions/forgecli/session-registry.js.map +1 -1
  23. package/dist/extensions/forgecli/subagent/caller-context.d.ts +35 -11
  24. package/dist/extensions/forgecli/subagent/caller-context.js +49 -21
  25. package/dist/extensions/forgecli/subagent/caller-context.js.map +1 -1
  26. package/dist/extensions/forgecli/subagent/orchestrator-transcript.d.ts +66 -0
  27. package/dist/extensions/forgecli/subagent/orchestrator-transcript.js +66 -0
  28. package/dist/extensions/forgecli/subagent/orchestrator-transcript.js.map +1 -0
  29. package/dist/extensions/forgecli/subagent/phase-guard.d.ts +34 -0
  30. package/dist/extensions/forgecli/subagent/phase-guard.js +149 -0
  31. package/dist/extensions/forgecli/subagent/phase-guard.js.map +1 -0
  32. package/dist/extensions/forgecli/subagent/phase-summary-map.d.ts +2 -0
  33. package/dist/extensions/forgecli/subagent/phase-summary-map.js +39 -0
  34. package/dist/extensions/forgecli/subagent/phase-summary-map.js.map +1 -0
  35. package/dist/extensions/forgecli/thread-switcher.js +2 -2
  36. package/dist/extensions/forgecli/thread-switcher.js.map +1 -1
  37. package/dist/extensions/forgecli/viewport-events.d.ts +4 -0
  38. package/dist/extensions/forgecli/viewport-events.js +18 -1
  39. package/dist/extensions/forgecli/viewport-events.js.map +1 -1
  40. package/dist/extensions/forgecli/viewport-renderer.d.ts +12 -2
  41. package/dist/extensions/forgecli/viewport-renderer.js +8 -6
  42. package/dist/extensions/forgecli/viewport-renderer.js.map +1 -1
  43. package/dist/forge-payload/.base-pack/workflows/_fragments/store-cli-verbs.md +18 -3
  44. package/dist/forge-payload/.base-pack/workflows/architect_approve.md +4 -5
  45. package/dist/forge-payload/.base-pack/workflows/collator_agent.md +1 -1
  46. package/dist/forge-payload/.base-pack/workflows/commit_task.md +2 -3
  47. package/dist/forge-payload/.base-pack/workflows/fix_bug.md +10 -28
  48. package/dist/forge-payload/.base-pack/workflows/implement_plan.md +3 -2
  49. package/dist/forge-payload/.base-pack/workflows/orchestrate_task.md +41 -47
  50. package/dist/forge-payload/.base-pack/workflows/triage.md +190 -0
  51. package/dist/forge-payload/.base-pack/workflows/validate_task.md +2 -3
  52. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  53. package/dist/forge-payload/.schemas/_defs/locator.schema.json +13 -0
  54. package/dist/forge-payload/.schemas/bug.schema.json +1 -0
  55. package/dist/forge-payload/.schemas/enum-catalog.json +2 -2
  56. package/dist/forge-payload/.schemas/migrations.json +72 -0
  57. package/dist/forge-payload/.schemas/sprint.schema.json +1 -0
  58. package/dist/forge-payload/.schemas/task.schema.json +1 -0
  59. package/dist/forge-payload/integrity.json +3 -3
  60. package/dist/forge-payload/meta/fragments/tool-discipline.md +21 -2
  61. package/dist/forge-payload/meta/workflows/_fragments/store-cli-verbs.md +18 -3
  62. package/dist/forge-payload/meta/workflows/meta-approve.md +4 -5
  63. package/dist/forge-payload/meta/workflows/meta-bug-triage.md +210 -0
  64. package/dist/forge-payload/meta/workflows/meta-collate.md +1 -1
  65. package/dist/forge-payload/meta/workflows/meta-commit.md +2 -3
  66. package/dist/forge-payload/meta/workflows/meta-fix-bug.md +10 -28
  67. package/dist/forge-payload/meta/workflows/meta-implement.md +3 -2
  68. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +41 -47
  69. package/dist/forge-payload/meta/workflows/meta-validate.md +2 -3
  70. package/dist/forge-payload/schemas/_defs/locator.schema.json +13 -0
  71. package/dist/forge-payload/schemas/bug.schema.json +1 -0
  72. package/dist/forge-payload/schemas/enum-catalog.json +2 -2
  73. package/dist/forge-payload/schemas/sprint.schema.json +1 -0
  74. package/dist/forge-payload/schemas/structure-manifest.json +22 -2
  75. package/dist/forge-payload/schemas/task.schema.json +1 -0
  76. package/dist/forge-payload/tools/artifact-store.cjs +242 -0
  77. package/dist/forge-payload/tools/artifact.cjs +69 -100
  78. package/dist/forge-payload/tools/lib/artifact-kinds.cjs +95 -0
  79. package/dist/forge-payload/tools/lib/store-nlp.cjs +6 -0
  80. package/dist/forge-payload/tools/lib/store-query-exec.cjs +39 -5
  81. package/dist/forge-payload/tools/lib/suggest.cjs +2 -1
  82. package/dist/forge-payload/tools/preflight-gate.cjs +55 -5
  83. package/dist/forge-payload/tools/store-cli.cjs +50 -15
  84. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +5 -2
  85. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  86. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +81 -18
  87. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  88. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  89. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +1 -0
  90. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  91. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  92. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +19 -24
  93. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  94. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +1 -0
  95. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  96. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +14 -1
  97. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  98. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +22 -8
  99. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  100. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  101. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  102. package/node_modules/@earendil-works/pi-ai/README.md +1 -1
  103. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +374 -122
  104. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  105. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +424 -232
  106. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  107. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts +1 -1
  108. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  109. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +38 -2
  110. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  111. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  112. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +21 -12
  113. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  114. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  115. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +6 -10
  116. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  117. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
  118. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js +1 -1
  119. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
  120. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -1
  121. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js +5 -3
  122. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -1
  123. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +1 -1
  124. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js +3 -4
  125. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +1 -1
  126. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -1
  127. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js +2 -3
  128. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -1
  129. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  130. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +159 -78
  131. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  132. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  133. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +16 -11
  134. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  135. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
  136. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js +4 -1
  137. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
  138. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  139. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +6 -10
  140. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  141. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -1
  142. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +1 -0
  143. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -1
  144. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -1
  145. package/node_modules/@earendil-works/pi-ai/dist/stream.js +14 -2
  146. package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -1
  147. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +14 -4
  148. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  149. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  150. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.d.ts +6 -0
  151. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.d.ts.map +1 -0
  152. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js +34 -0
  153. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js.map +1 -0
  154. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts +9 -7
  155. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts.map +1 -1
  156. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +8 -7
  157. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js.map +1 -1
  158. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  159. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +1 -1
  160. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  161. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts +1 -1
  162. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts.map +1 -1
  163. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js +1 -1
  164. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js.map +1 -1
  165. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts +10 -1
  166. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
  167. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +179 -79
  168. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
  169. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  170. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +94 -0
  171. package/node_modules/@earendil-works/pi-coding-agent/README.md +9 -0
  172. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts +3 -0
  173. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
  174. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js +27 -0
  175. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
  176. package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts.map +1 -1
  177. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +15 -2
  178. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js.map +1 -1
  179. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts +1 -0
  180. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts.map +1 -1
  181. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +1 -0
  182. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js.map +1 -1
  183. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +5 -1
  184. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  185. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +28 -4
  186. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  187. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
  188. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +18 -24
  189. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
  190. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +1 -1
  191. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  192. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +8 -2
  193. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  194. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +7 -5
  195. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  196. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  197. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
  198. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +65 -13
  199. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js.map +1 -1
  200. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  201. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +1 -1
  202. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  203. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.d.ts +9 -1
  204. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.d.ts.map +1 -1
  205. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.js +134 -11
  206. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.js.map +1 -1
  207. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts +2 -0
  208. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  209. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +10 -6
  210. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js.map +1 -1
  211. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts +6 -7
  212. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
  213. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +75 -28
  214. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
  215. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +2 -0
  216. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  217. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +14 -9
  218. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  219. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  220. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js +0 -3
  221. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  222. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
  223. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +7 -10
  224. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
  225. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  226. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  227. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
  228. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
  229. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
  230. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +5 -7
  231. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
  232. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
  233. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +6 -7
  234. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
  235. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.d.ts +5 -2
  236. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.d.ts.map +1 -1
  237. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.js +17 -1
  238. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.js.map +1 -1
  239. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
  240. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +5 -6
  241. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
  242. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +2 -0
  243. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
  244. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +2 -0
  245. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
  246. package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
  247. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +69 -16
  248. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
  249. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.d.ts.map +1 -1
  250. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js +118 -1
  251. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js.map +1 -1
  252. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts +1 -3
  253. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  254. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +2 -4
  255. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
  256. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  257. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js +1 -1
  258. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js.map +1 -1
  259. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +3 -0
  260. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  261. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +59 -6
  262. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  263. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  264. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +10 -0
  265. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  266. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  267. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +3 -1
  268. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  269. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts +1 -0
  270. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  271. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.js.map +1 -1
  272. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.d.ts +4 -0
  273. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.d.ts.map +1 -0
  274. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.js +13 -0
  275. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.js.map +1 -0
  276. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.d.ts +3 -0
  277. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.d.ts.map +1 -0
  278. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.js +7 -0
  279. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.js.map +1 -0
  280. package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +13 -10
  281. package/node_modules/@earendil-works/pi-coding-agent/docs/development.md +1 -1
  282. package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +12 -6
  283. package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +25 -12
  284. package/node_modules/@earendil-works/pi-coding-agent/docs/providers.md +13 -5
  285. package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +1 -0
  286. package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +2 -1
  287. package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +6 -0
  288. package/node_modules/@earendil-works/pi-coding-agent/docs/session-format.md +1 -1
  289. package/node_modules/@earendil-works/pi-coding-agent/docs/sessions.md +8 -0
  290. package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +7 -3
  291. package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +2 -0
  292. package/node_modules/@earendil-works/pi-coding-agent/docs/tui.md +2 -2
  293. package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +9 -0
  294. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/README.md +1 -0
  295. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/index.ts +1 -1
  296. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
  297. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/index.ts +54 -3
  298. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  299. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/git-merge-and-resolve.ts +115 -0
  300. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/input-transform-streaming.ts +39 -0
  301. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
  302. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
  303. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +443 -61
  304. package/node_modules/@earendil-works/pi-coding-agent/package.json +6 -6
  305. package/node_modules/@earendil-works/pi-tui/README.md +2 -2
  306. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  307. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +24 -83
  308. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  309. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -1
  310. package/node_modules/@earendil-works/pi-tui/dist/components/input.js +7 -55
  311. package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -1
  312. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +7 -1
  313. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  314. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +12 -2
  315. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  316. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
  317. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  318. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  319. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +1 -1
  320. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  321. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +34 -7
  322. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  323. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +33 -10
  324. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  325. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +172 -37
  326. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  327. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +6 -1
  328. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
  329. package/node_modules/@earendil-works/pi-tui/dist/utils.js +27 -15
  330. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
  331. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts +25 -0
  332. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts.map +1 -0
  333. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js +96 -0
  334. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js.map +1 -0
  335. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  336. package/node_modules/@entelligentsia/forge-compress/LICENSE +21 -0
  337. package/node_modules/@entelligentsia/forge-compress/README.md +85 -0
  338. package/node_modules/@entelligentsia/forge-compress/dist/compressor.d.ts +6 -0
  339. package/node_modules/@entelligentsia/forge-compress/dist/compressor.js +137 -0
  340. package/node_modules/@entelligentsia/forge-compress/dist/entropy.d.ts +3 -0
  341. package/node_modules/@entelligentsia/forge-compress/dist/entropy.js +99 -0
  342. package/node_modules/@entelligentsia/forge-compress/dist/forge/entity.d.ts +8 -0
  343. package/node_modules/@entelligentsia/forge-compress/dist/forge/entity.js +149 -0
  344. package/node_modules/@entelligentsia/forge-compress/dist/forge/index.d.ts +7 -0
  345. package/node_modules/@entelligentsia/forge-compress/dist/forge/index.js +4 -0
  346. package/node_modules/@entelligentsia/forge-compress/dist/forge/markdown.d.ts +5 -0
  347. package/node_modules/@entelligentsia/forge-compress/dist/forge/markdown.js +92 -0
  348. package/node_modules/@entelligentsia/forge-compress/dist/forge/query.d.ts +7 -0
  349. package/node_modules/@entelligentsia/forge-compress/dist/forge/query.js +60 -0
  350. package/node_modules/@entelligentsia/forge-compress/dist/forge/validate.d.ts +1 -0
  351. package/node_modules/@entelligentsia/forge-compress/dist/forge/validate.js +82 -0
  352. package/node_modules/@entelligentsia/forge-compress/dist/index.d.ts +6 -0
  353. package/node_modules/@entelligentsia/forge-compress/dist/index.js +5 -0
  354. package/node_modules/@entelligentsia/forge-compress/dist/progressive.d.ts +1 -0
  355. package/node_modules/@entelligentsia/forge-compress/dist/progressive.js +108 -0
  356. package/node_modules/@entelligentsia/forge-compress/dist/strip.d.ts +4 -0
  357. package/node_modules/@entelligentsia/forge-compress/dist/strip.js +55 -0
  358. package/node_modules/@entelligentsia/forge-compress/dist/tokens.d.ts +2 -0
  359. package/node_modules/@entelligentsia/forge-compress/dist/tokens.js +17 -0
  360. package/node_modules/@entelligentsia/forge-compress/package.json +45 -0
  361. package/node_modules/@entelligentsia/forge-compress/src/__tests__/compress.test.ts +409 -0
  362. package/node_modules/@entelligentsia/forge-compress/src/compressor.ts +147 -0
  363. package/node_modules/@entelligentsia/forge-compress/src/entropy.ts +105 -0
  364. package/node_modules/@entelligentsia/forge-compress/src/forge/entity.ts +184 -0
  365. package/node_modules/@entelligentsia/forge-compress/src/forge/index.ts +10 -0
  366. package/node_modules/@entelligentsia/forge-compress/src/forge/markdown.ts +122 -0
  367. package/node_modules/@entelligentsia/forge-compress/src/forge/query.ts +105 -0
  368. package/node_modules/@entelligentsia/forge-compress/src/forge/validate.ts +86 -0
  369. package/node_modules/@entelligentsia/forge-compress/src/index.ts +22 -0
  370. package/node_modules/@entelligentsia/forge-compress/src/progressive.ts +123 -0
  371. package/node_modules/@entelligentsia/forge-compress/src/strip.ts +58 -0
  372. package/node_modules/@entelligentsia/forge-compress/src/tokens.ts +19 -0
  373. package/node_modules/@mariozechner/clipboard/Cargo.toml +3 -3
  374. package/node_modules/@mariozechner/clipboard/index.d.ts +34 -20
  375. package/node_modules/@mariozechner/clipboard/index.js +546 -257
  376. package/node_modules/@mariozechner/clipboard/package.json +5 -6
  377. package/node_modules/@mariozechner/clipboard/package.json.prepack-backup +14 -14
  378. package/node_modules/@mariozechner/clipboard/src/lib.rs +4 -9
  379. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
  380. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/package.json +2 -2
  381. package/package.json +11 -16
  382. package/dist/forge-payload/.base-pack/commands/quiz-agent.md +0 -6
  383. package/dist/forge-payload/.base-pack/commands/retrospective.md +0 -6
  384. package/dist/forge-payload/.base-pack/commands/sprint-intake.md +0 -6
  385. package/dist/forge-payload/.base-pack/commands/sprint-plan.md +0 -6
  386. package/dist/forge-payload/commands/calibrate.md +0 -10
  387. package/dist/forge-payload/commands/materialize.md +0 -119
  388. package/dist/forge-payload/commands/migrate.md +0 -12
  389. package/dist/forge-payload/commands/quiz-agent.md +0 -6
  390. package/dist/forge-payload/commands/regenerate.md +0 -6
  391. package/dist/forge-payload/commands/store-query.md +0 -6
  392. package/dist/forge-payload/commands/store-repair.md +0 -6
  393. package/dist/forge-payload/commands/update-tools.md +0 -10
  394. package/dist/forge-payload/meta/templates/meta-retrospective.md +0 -28
  395. package/dist/forge-payload/tools/prompts/sprint-plan-prompt.md +0 -70
  396. package/dist/forge-payload/tools/schemas/task-list.schema.json +0 -53
  397. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts +0 -4
  398. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts.map +0 -1
  399. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js +0 -3
  400. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js.map +0 -1
  401. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts +0 -20
  402. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts.map +0 -1
  403. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js +0 -92
  404. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js.map +0 -1
  405. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts +0 -18
  406. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts.map +0 -1
  407. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js +0 -42
  408. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js.map +0 -1
  409. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts +0 -10
  410. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts.map +0 -1
  411. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js +0 -31
  412. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js.map +0 -1
  413. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts +0 -30
  414. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts.map +0 -1
  415. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js +0 -170
  416. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js.map +0 -1
  417. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts +0 -26
  418. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts.map +0 -1
  419. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js +0 -90
  420. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js.map +0 -1
  421. package/node_modules/@mariozechner/clipboard-linux-x64-musl/README.md +0 -3
  422. package/node_modules/@mariozechner/clipboard-linux-x64-musl/clipboard.linux-x64-musl.node +0 -0
  423. package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +0 -25
@@ -0,0 +1,34 @@
1
+ import type { PhaseRole } from "./caller-context.js";
2
+ export declare class PhaseOwnershipError extends Error {
3
+ readonly toolName: string;
4
+ readonly callerPhase: PhaseRole | "orchestrator";
5
+ readonly attemptedPhase: string;
6
+ readonly hint: string;
7
+ constructor(toolName: string, callerPhase: PhaseRole | "orchestrator", attemptedPhase: string, hint?: string);
8
+ }
9
+ /**
10
+ * Assert that the calling subagent's phase context matches the phase
11
+ * named in the tool's arguments. From an orchestrator caller, this is
12
+ * a no-op. From a subagent caller with a mismatched phase, throws
13
+ * `PhaseOwnershipError`.
14
+ *
15
+ * @param toolName Display name of the tool / subcommand for the error message.
16
+ * @param namedPhase The phase string passed to the tool (e.g. `--phase commit`
17
+ * or the `phase` positional arg of `set-bug-summary`).
18
+ */
19
+ export declare function assertPhaseOwnership(toolName: string, namedPhase: string): void;
20
+ /**
21
+ * Assert that a `forge_store update-status bug X status <statusValue>`
22
+ * call is permitted from the current caller context. Status transitions
23
+ * are owned by specific phases or by the orchestrator; calling outside
24
+ * the allowed set is rejected.
25
+ */
26
+ export declare function assertBugStatusOwnership(toolName: string, statusValue: string): void;
27
+ /**
28
+ * Phase-event emissions (`forge_store emit` with a phase token in the
29
+ * payload) are always orchestrator-owned per `meta-fix-bug.md § Iron
30
+ * Laws`. The orchestrator composes the canonical event from runtime
31
+ * telemetry plus the subagent's SUMMARY and emits it; subagents that
32
+ * call emit themselves hallucinate runtime facts.
33
+ */
34
+ export declare function assertOrchestratorOnlyEmit(toolName: string): void;
@@ -0,0 +1,149 @@
1
+ // phase-guard.ts — Defense-in-depth tool-layer enforcement that a
2
+ // subagent only acts within its own phase (FORGE-BUG-040).
3
+ //
4
+ // Background: prior to the fix landed for FORGE-BUG-040, the triage
5
+ // subagent received `fix_bug.md` (the orchestrator-only algorithm) as
6
+ // its workflow body and silently executed the full lifecycle — preflight
7
+ // for every phase, set-bug-summary for every phase, update-status bug
8
+ // X status fixed. The root cause (forge-cli BUG_PHASES wiring + meta
9
+ // source orchestrator-only-body) is fixed at those layers; this guard
10
+ // catches future regressions of the same shape at the tool boundary
11
+ // so they fail loudly with a structured error rather than silently
12
+ // corrupting state.
13
+ //
14
+ // Rule (per BUG_FIX_PLAN.md § Per-tool guard rule):
15
+ // For any tool that names a phase (explicitly or implicitly), the
16
+ // tool's *named phase parameter* MUST equal the caller's `phase`
17
+ // tag when called from a subagent context. From an orchestrator
18
+ // context, the guard is a no-op.
19
+ //
20
+ // Phase ↔ summary-key mapping for set-bug-summary / set-summary is
21
+ // imported from the canonical phase-summary-map.ts. The guard does NOT
22
+ // duplicate the mapping inline — a divergence between the runtime guard
23
+ // and the dispatcher's summary writes would be undetectable otherwise.
24
+ //
25
+ // Iron Laws:
26
+ // IL1 — code only under forge-cli/src/extensions/forgecli/.
27
+ // IL7 — every refusal path throws PhaseOwnershipError (no silent
28
+ // continuation past a guard failure).
29
+ import { CallerContextStore } from "./caller-context.js";
30
+ import { BUG_SUMMARY_KEY_BY_ROLE, TASK_SUMMARY_KEY_BY_ROLE } from "./phase-summary-map.js";
31
+ /**
32
+ * Bug-status transitions that may only be written by a specific phase
33
+ * (subagent caller) or by the orchestrator. Used by the guard for
34
+ * `forge_store update-status bug X status ...` calls.
35
+ */
36
+ const BUG_STATUS_OWNERSHIP = {
37
+ // commit phase makes the git commit then transitions bug.status to fixed
38
+ fixed: { allowedSubagentPhases: ["commit"], orchestratorAllowed: true },
39
+ // triaged and in-progress are orchestrator-only transitions
40
+ triaged: { allowedSubagentPhases: [], orchestratorAllowed: true },
41
+ "in-progress": { allowedSubagentPhases: [], orchestratorAllowed: true },
42
+ // escalation paths — allowed from orchestrator OR the current phase
43
+ // (the calling subagent is in some phase; escalation is in-band)
44
+ escalated: { allowedSubagentPhases: [], orchestratorAllowed: true, anySubagent: true },
45
+ blocked: { allowedSubagentPhases: [], orchestratorAllowed: true, anySubagent: true },
46
+ abandoned: { allowedSubagentPhases: [], orchestratorAllowed: true, anySubagent: true },
47
+ };
48
+ export class PhaseOwnershipError extends Error {
49
+ toolName;
50
+ callerPhase;
51
+ attemptedPhase;
52
+ hint;
53
+ constructor(toolName, callerPhase, attemptedPhase, hint = "") {
54
+ super(`phase-ownership: subagent in phase '${callerPhase}' attempted ${toolName} for phase '${attemptedPhase}'` +
55
+ (hint ? ` — ${hint}` : ""));
56
+ this.name = "PhaseOwnershipError";
57
+ this.toolName = toolName;
58
+ this.callerPhase = callerPhase;
59
+ this.attemptedPhase = attemptedPhase;
60
+ this.hint = hint;
61
+ }
62
+ }
63
+ /**
64
+ * Assert that the calling subagent's phase context matches the phase
65
+ * named in the tool's arguments. From an orchestrator caller, this is
66
+ * a no-op. From a subagent caller with a mismatched phase, throws
67
+ * `PhaseOwnershipError`.
68
+ *
69
+ * @param toolName Display name of the tool / subcommand for the error message.
70
+ * @param namedPhase The phase string passed to the tool (e.g. `--phase commit`
71
+ * or the `phase` positional arg of `set-bug-summary`).
72
+ */
73
+ export function assertPhaseOwnership(toolName, namedPhase) {
74
+ const caller = CallerContextStore.get();
75
+ if (caller.kind === "orchestrator")
76
+ return;
77
+ // set-bug-summary / set-summary callers pass the legacy summary-key
78
+ // (e.g. "implementation") rather than the PhaseRole (e.g. "implement").
79
+ // Always route through the summary-key path for these tools — a
80
+ // direct-name match (caller.phase === namedPhase) would falsely allow
81
+ // a commit-phase caller to call `set-bug-summary <bug> commit ...` even
82
+ // though commit writes no summary at all.
83
+ // set-bug-summary (bug mode) and set-summary (task mode) carry the summary
84
+ // KEY (e.g. "implementation") in namedPhase, not the PhaseRole. They must be
85
+ // resolved through the mode-appropriate map: the bug map for set-bug-summary,
86
+ // the task map for set-summary. Using the bug map for task summaries wrongly
87
+ // rejects the task-only roles `plan`/`validate` (bug A). `set-bug-summary`
88
+ // must be matched first — "set-summary" is NOT a substring of it.
89
+ const isBugSummaryTool = toolName.includes("set-bug-summary");
90
+ const isTaskSummaryTool = !isBugSummaryTool && toolName.includes("set-summary");
91
+ const isSummaryTool = isBugSummaryTool || isTaskSummaryTool;
92
+ if (!isSummaryTool && caller.phase === namedPhase)
93
+ return;
94
+ if (isSummaryTool) {
95
+ const keyMap = isBugSummaryTool ? BUG_SUMMARY_KEY_BY_ROLE : TASK_SUMMARY_KEY_BY_ROLE;
96
+ const modeLabel = isBugSummaryTool ? "bug" : "task";
97
+ const expectedKey = keyMap[caller.phase];
98
+ if (expectedKey === null) {
99
+ throw new PhaseOwnershipError(toolName, caller.phase, namedPhase, `phase '${caller.phase}' writes no summary — ${toolName} is forbidden from this phase`);
100
+ }
101
+ if (expectedKey === undefined) {
102
+ throw new PhaseOwnershipError(toolName, caller.phase, namedPhase, `phase '${caller.phase}' is not a recognised ${modeLabel}-mode phase`);
103
+ }
104
+ if (expectedKey !== namedPhase) {
105
+ throw new PhaseOwnershipError(toolName, caller.phase, namedPhase, `expected summary key '${expectedKey}' for caller phase`);
106
+ }
107
+ return;
108
+ }
109
+ throw new PhaseOwnershipError(toolName, caller.phase, namedPhase);
110
+ }
111
+ /**
112
+ * Assert that a `forge_store update-status bug X status <statusValue>`
113
+ * call is permitted from the current caller context. Status transitions
114
+ * are owned by specific phases or by the orchestrator; calling outside
115
+ * the allowed set is rejected.
116
+ */
117
+ export function assertBugStatusOwnership(toolName, statusValue) {
118
+ const caller = CallerContextStore.get();
119
+ const rule = BUG_STATUS_OWNERSHIP[statusValue];
120
+ if (!rule) {
121
+ // Unknown status — let downstream schema validation reject it
122
+ // with its own (more informative) error.
123
+ return;
124
+ }
125
+ if (caller.kind === "orchestrator") {
126
+ if (rule.orchestratorAllowed)
127
+ return;
128
+ throw new PhaseOwnershipError(toolName, "orchestrator", `update-status bug ${statusValue}`, "this status transition is not orchestrator-allowed");
129
+ }
130
+ if (rule.anySubagent)
131
+ return;
132
+ if (rule.allowedSubagentPhases.includes(caller.phase))
133
+ return;
134
+ throw new PhaseOwnershipError(toolName, caller.phase, `update-status bug ${statusValue}`, `status '${statusValue}' may only be written from phase(s): ${rule.allowedSubagentPhases.join(", ") || "(orchestrator only)"}`);
135
+ }
136
+ /**
137
+ * Phase-event emissions (`forge_store emit` with a phase token in the
138
+ * payload) are always orchestrator-owned per `meta-fix-bug.md § Iron
139
+ * Laws`. The orchestrator composes the canonical event from runtime
140
+ * telemetry plus the subagent's SUMMARY and emits it; subagents that
141
+ * call emit themselves hallucinate runtime facts.
142
+ */
143
+ export function assertOrchestratorOnlyEmit(toolName) {
144
+ const caller = CallerContextStore.get();
145
+ if (caller.kind === "orchestrator")
146
+ return;
147
+ throw new PhaseOwnershipError(toolName, caller.phase, "emit (phase event)", "phase event emission is orchestrator-only — subagents write SUMMARY files and return");
148
+ }
149
+ //# sourceMappingURL=phase-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-guard.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/subagent/phase-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const BUG_SUMMARY_KEY_BY_ROLE: Record<string, string | null>;
2
+ export declare const TASK_SUMMARY_KEY_BY_ROLE: Record<string, string | null>;
@@ -0,0 +1,39 @@
1
+ // phase-summary-map.ts — Single source of truth mapping bug-mode
2
+ // PhaseRole values to the canonical summary key written by the
3
+ // base-pack workflows. Hoisted out of fix-bug.ts (FORGE-BUG-040) so
4
+ // the new phase-guard.ts can compare a subagent's phase context
5
+ // against the `phase` argument passed to forge_store
6
+ // set-bug-summary / set-summary without inducing a circular import
7
+ // (fix-bug.ts → forge-tools.ts → phase-guard.ts → fix-bug.ts).
8
+ //
9
+ // Phases mapped to null use update-status bug instead of
10
+ // set-bug-summary for verdict tracking (Option B). Adding a new
11
+ // bug-mode phase requires extending this map AND PhaseRole in
12
+ // caller-context.ts.
13
+ export const BUG_SUMMARY_KEY_BY_ROLE = {
14
+ triage: "triage",
15
+ "plan-fix": "plan",
16
+ "review-plan": "review_plan",
17
+ implement: "implementation",
18
+ "review-code": "code_review",
19
+ approve: "approve", // read from bug.summaries.approve (set-bug-summary)
20
+ commit: null, // commit transitions bug.status → fixed (terminal), no summaries entry
21
+ };
22
+ // Task-mode counterpart, keyed by TASK PhaseRole → store summaries key written
23
+ // by `set-summary` (mirrors the plugin's PHASE_TO_KIND / VALID_SUMMARY_PHASES).
24
+ // The phase-guard MUST pick this map for `set-summary` and BUG_SUMMARY_KEY_BY_ROLE
25
+ // for `set-bug-summary` — the task-only roles `plan` and `validate` are absent
26
+ // from the bug map, so using the bug map for task summaries wrongly rejects them
27
+ // (forge-cli phase-guard bug A, cartographer CART-S01-T02). A null value means
28
+ // the phase writes no summary (set-summary forbidden from it).
29
+ export const TASK_SUMMARY_KEY_BY_ROLE = {
30
+ plan: "plan",
31
+ "review-plan": "review_plan",
32
+ implement: "implementation",
33
+ "review-code": "code_review",
34
+ validate: "validation",
35
+ approve: "approve",
36
+ writeback: null, // collator writes WRITEBACK-SUMMARY.json to disk, never via set-summary (Iron Law 1)
37
+ commit: null, // commit writes no summary
38
+ };
39
+ //# sourceMappingURL=phase-summary-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-summary-map.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/subagent/phase-summary-map.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,+DAA+D;AAC/D,oEAAoE;AACpE,gEAAgE;AAChE,qDAAqD;AACrD,mEAAmE;AACnE,+DAA+D;AAC/D,EAAE;AACF,yDAAyD;AACzD,gEAAgE;AAChE,8DAA8D;AAC9D,qBAAqB;AAErB,MAAM,CAAC,MAAM,uBAAuB,GAAkC;IACrE,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,aAAa;IAC5B,SAAS,EAAE,gBAAgB;IAC3B,aAAa,EAAE,aAAa;IAC5B,OAAO,EAAE,SAAS,EAAE,oDAAoD;IACxE,MAAM,EAAE,IAAI,EAAE,uEAAuE;CACrF,CAAC;AAEF,+EAA+E;AAC/E,gFAAgF;AAChF,mFAAmF;AACnF,+EAA+E;AAC/E,iFAAiF;AACjF,+EAA+E;AAC/E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,wBAAwB,GAAkC;IACtE,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,aAAa;IAC5B,SAAS,EAAE,gBAAgB;IAC3B,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,IAAI,EAAE,qFAAqF;IACtG,MAAM,EAAE,IAAI,EAAE,2BAA2B;CACzC,CAAC"}
@@ -73,7 +73,7 @@ class TailViewComponent {
73
73
  const lines = this.registry.getTailLines(this.taskId, this.phaseRole);
74
74
  const session = this.registry.getSession(this.taskId);
75
75
  const phase = session?.phases.find((p) => p.role === this.phaseRole);
76
- const footerText = fmtModelAndTokenFooter(phase ? { provider: phase.provider, model: phase.model } : undefined, phase?.usage);
76
+ const footerText = fmtModelAndTokenFooter(phase ? { provider: phase.provider, model: phase.model } : undefined, phase?.usage, phase?.compression);
77
77
  const bodyLines = lines.length === 0
78
78
  ? [truncateToWidth(`(no output yet for ${this.phaseRole})`, width)]
79
79
  : lines.map((line) => {
@@ -138,7 +138,7 @@ class ViewportFooterComponent {
138
138
  const hasActive = sessions.some((s) => s.status === "running" || s.status === "cancelling");
139
139
  if (!hasActive)
140
140
  return [];
141
- const tokens = fmtTokenFooter(this.registry.getAggregateUsage());
141
+ const tokens = fmtTokenFooter(this.registry.getAggregateUsage(), this.registry.getAggregateCompression());
142
142
  const orchModel = fmtModelLabel(this.getOrchestratorModel?.());
143
143
  if (!tokens && !orchModel)
144
144
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"thread-switcher.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/thread-switcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread-switcher.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/thread-switcher.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,10 @@ export interface AttachedObserver {
68
68
  errCount: number;
69
69
  lastTool: string;
70
70
  cumUsage: UsageDelta;
71
+ cumCompression: {
72
+ calls: number;
73
+ tokensSaved: number;
74
+ };
71
75
  };
72
76
  }
73
77
  export declare function attachViewportObserver(opts: ViewportObserverOpts): AttachedObserver;
@@ -13,6 +13,15 @@
13
13
  // "bubbles" usage up the same way. Top-level viewports read aggregate usage
14
14
  // via SessionRegistry.getAggregateUsage().
15
15
  import { extractThinkingOneLiner, extractTurnPreview, argHint as fmtArgHint, RISKY_TAG, readUsage, resultShape, toolGlyph, } from "./viewport-renderer.js";
16
+ function extractCompression(result) {
17
+ if (!result || typeof result !== "object")
18
+ return undefined;
19
+ const r = result;
20
+ const c = r.details?.compression;
21
+ if (!c || typeof c.before !== "number" || typeof c.after !== "number")
22
+ return undefined;
23
+ return { tool: c.tool ?? "", before: c.before, after: c.after, saved: c.saved ?? 0 };
24
+ }
16
25
  export function attachViewportObserver(opts) {
17
26
  const { registry, sessionId, phaseRole, displayRole, beginHeader, writeDebug, setStatusVerbose, notify, verboseKeys, afterEach, } = opts;
18
27
  const role = displayRole ?? phaseRole;
@@ -22,6 +31,7 @@ export function attachViewportObserver(opts) {
22
31
  errCount: 0,
23
32
  lastTool: "",
24
33
  cumUsage: { input: 0, output: 0, cacheRead: 0 },
34
+ cumCompression: { calls: 0, tokensSaved: 0 },
25
35
  };
26
36
  // Per-turn tree-connector state.
27
37
  let toolsThisTurn = 0;
@@ -169,7 +179,14 @@ export function attachViewportObserver(opts) {
169
179
  }
170
180
  else {
171
181
  const shape = resultShape(e.toolName, e.result);
172
- emitTurnLine(`← ${e.toolName} ok${shape ? ` ${shape}` : ""}`);
182
+ const comp = extractCompression(e.result);
183
+ const compHint = comp ? ` ⇌${comp.saved}%` : "";
184
+ emitTurnLine(`← ${e.toolName} ok${shape ? ` ${shape}` : ""}${compHint}`);
185
+ if (comp) {
186
+ state.cumCompression.calls++;
187
+ state.cumCompression.tokensSaved += comp.before - comp.after;
188
+ registry.setPhaseCompression(sessionId, phaseRole, state.cumCompression);
189
+ }
173
190
  }
174
191
  break;
175
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"viewport-events.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/viewport-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewport-events.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/viewport-events.ts"],"names":[],"mappings":"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"}
@@ -46,13 +46,20 @@ export declare function fmtPhaseSummary(opts: {
46
46
  usage: UsageDelta;
47
47
  model?: string;
48
48
  provider?: string;
49
+ compression?: {
50
+ calls: number;
51
+ tokensSaved: number;
52
+ };
49
53
  }): string;
50
54
  /**
51
55
  * Build the sticky footer line shown at the bottom of the tail view.
52
56
  * Includes cacheRead only when nonzero — most non-Anthropic providers (ollama,
53
57
  * glm, etc.) return 0 for cache fields and we don't want the noise.
54
58
  */
55
- export declare function fmtTokenFooter(usage: UsageDelta | undefined): string;
59
+ export declare function fmtTokenFooter(usage: UsageDelta | undefined, compression?: {
60
+ calls: number;
61
+ tokensSaved: number;
62
+ }): string;
56
63
  /**
57
64
  * Compact `(provider) model` label used to annotate token footers so users
58
65
  * can see which model a phase ran with. Returns "" when neither field is
@@ -70,4 +77,7 @@ export declare function fmtModelLabel(info: {
70
77
  export declare function fmtModelAndTokenFooter(info: {
71
78
  provider?: string;
72
79
  model?: string;
73
- } | undefined, usage: UsageDelta | undefined): string;
80
+ } | undefined, usage: UsageDelta | undefined, compression?: {
81
+ calls: number;
82
+ tokensSaved: number;
83
+ }): string;
@@ -178,21 +178,23 @@ function humanTokens(n) {
178
178
  }
179
179
  /** Format a one-shot phase-completion line for the tail buffer. */
180
180
  export function fmtPhaseSummary(opts) {
181
- const { role, turns, tools, errors, wallSeconds, usage, model, provider } = opts;
181
+ const { role, turns, tools, errors, wallSeconds, usage, model, provider, compression } = opts;
182
182
  const errPart = errors > 0 ? ` err=${errors}` : "";
183
183
  const modelPart = model ? ` model=${model}${provider ? `/${provider}` : ""}` : "";
184
- return `▣ ${role}: turns=${turns} tools=${tools}${errPart} ${fmtTokenMeter(usage)} wall=${fmtWall(wallSeconds)}${modelPart}`;
184
+ const compPart = compression && compression.tokensSaved > 0 ? ` ⇌${humanTokens(compression.tokensSaved)}` : "";
185
+ return `▣ ${role}: turns=${turns} tools=${tools}${errPart} ${fmtTokenMeter(usage)}${compPart} wall=${fmtWall(wallSeconds)}${modelPart}`;
185
186
  }
186
187
  /**
187
188
  * Build the sticky footer line shown at the bottom of the tail view.
188
189
  * Includes cacheRead only when nonzero — most non-Anthropic providers (ollama,
189
190
  * glm, etc.) return 0 for cache fields and we don't want the noise.
190
191
  */
191
- export function fmtTokenFooter(usage) {
192
+ export function fmtTokenFooter(usage, compression) {
192
193
  if (!usage)
193
194
  return "";
194
195
  const cache = usage.cacheRead > 0 ? ` ⇪${humanTokens(usage.cacheRead)}` : "";
195
- return `↑${humanTokens(usage.input)} ↓${humanTokens(usage.output)}${cache}`;
196
+ const comp = compression && compression.tokensSaved > 0 ? ` ⇌${humanTokens(compression.tokensSaved)}` : "";
197
+ return `↑${humanTokens(usage.input)} ↓${humanTokens(usage.output)}${cache}${comp}`;
196
198
  }
197
199
  /**
198
200
  * Compact `(provider) model` label used to annotate token footers so users
@@ -214,9 +216,9 @@ export function fmtModelLabel(info) {
214
216
  * half may be empty — the separator is only inserted when both halves are
215
217
  * present. Returns "" when both are empty.
216
218
  */
217
- export function fmtModelAndTokenFooter(info, usage) {
219
+ export function fmtModelAndTokenFooter(info, usage, compression) {
218
220
  const left = fmtModelLabel(info);
219
- const right = fmtTokenFooter(usage);
221
+ const right = fmtTokenFooter(usage, compression);
220
222
  if (left && right)
221
223
  return `${left} · ${right}`;
222
224
  return left || right;
@@ -1 +1 @@
1
- {"version":3,"file":"viewport-renderer.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/viewport-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewport-renderer.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/viewport-renderer.ts"],"names":[],"mappings":"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"}