@stigmer/runner 3.15.0 → 3.15.2-dev.20260913223433

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 (518) hide show
  1. package/README.md +2 -4
  2. package/dist/.build-fingerprint +1 -1
  3. package/dist/__test-utils__/execution-record-fixture.d.ts +14 -0
  4. package/dist/__test-utils__/execution-record-fixture.js +4 -0
  5. package/dist/__test-utils__/execution-record-fixture.js.map +1 -1
  6. package/dist/__test-utils__/file-review-projection.d.ts +40 -0
  7. package/dist/__test-utils__/file-review-projection.js +136 -0
  8. package/dist/__test-utils__/file-review-projection.js.map +1 -0
  9. package/dist/__test-utils__/harness-contract/types.d.ts +23 -1
  10. package/dist/__test-utils__/harness-contract/types.js +15 -0
  11. package/dist/__test-utils__/harness-contract/types.js.map +1 -1
  12. package/dist/__test-utils__/hermetic-activity.d.ts +44 -12
  13. package/dist/__test-utils__/hermetic-activity.js +52 -14
  14. package/dist/__test-utils__/hermetic-activity.js.map +1 -1
  15. package/dist/__test-utils__/model-registry-fixture.d.ts +32 -7
  16. package/dist/__test-utils__/model-registry-fixture.js +31 -7
  17. package/dist/__test-utils__/model-registry-fixture.js.map +1 -1
  18. package/dist/__test-utils__/turn-input-fixture.d.ts +1 -1
  19. package/dist/__test-utils__/turn-input-fixture.js +1 -1
  20. package/dist/__test-utils__/turn-input-fixture.js.map +1 -1
  21. package/dist/activities/call-agent.js +2 -2
  22. package/dist/activities/call-agent.js.map +1 -1
  23. package/dist/activities/execute-cursor/__test-utils__/contract-subject.js +45 -3
  24. package/dist/activities/execute-cursor/__test-utils__/contract-subject.js.map +1 -1
  25. package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.d.ts +0 -9
  26. package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js +2 -41
  27. package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js.map +1 -1
  28. package/dist/activities/execute-cursor/adapter.d.ts +7 -5
  29. package/dist/activities/execute-cursor/adapter.js +7 -5
  30. package/dist/activities/execute-cursor/adapter.js.map +1 -1
  31. package/dist/activities/execute-cursor/approval-policy.d.ts +5 -2
  32. package/dist/activities/execute-cursor/approval-policy.js +5 -2
  33. package/dist/activities/execute-cursor/approval-policy.js.map +1 -1
  34. package/dist/activities/execute-cursor/approval-state.d.ts +16 -8
  35. package/dist/activities/execute-cursor/approval-state.js +6 -3
  36. package/dist/activities/execute-cursor/approval-state.js.map +1 -1
  37. package/dist/activities/execute-cursor/cas-observations.d.ts +14 -2
  38. package/dist/activities/execute-cursor/cas-observations.js +19 -2
  39. package/dist/activities/execute-cursor/cas-observations.js.map +1 -1
  40. package/dist/activities/execute-cursor/cursor-capabilities.d.ts +8 -4
  41. package/dist/activities/execute-cursor/cursor-capabilities.js +21 -4
  42. package/dist/activities/execute-cursor/cursor-capabilities.js.map +1 -1
  43. package/dist/activities/execute-cursor/message-translator.d.ts +12 -20
  44. package/dist/activities/execute-cursor/message-translator.js +19 -32
  45. package/dist/activities/execute-cursor/message-translator.js.map +1 -1
  46. package/dist/activities/execute-cursor/prompt-builder.d.ts +48 -58
  47. package/dist/activities/execute-cursor/prompt-builder.js +76 -95
  48. package/dist/activities/execute-cursor/prompt-builder.js.map +1 -1
  49. package/dist/activities/execute-cursor/turn-boundary.d.ts +27 -55
  50. package/dist/activities/execute-cursor/turn-boundary.js +30 -90
  51. package/dist/activities/execute-cursor/turn-boundary.js.map +1 -1
  52. package/dist/activities/execute-cursor/turn-settle.d.ts +11 -7
  53. package/dist/activities/execute-cursor/turn-settle.js +37 -49
  54. package/dist/activities/execute-cursor/turn-settle.js.map +1 -1
  55. package/dist/activities/execute-cursor/turn-setup.d.ts +16 -24
  56. package/dist/activities/execute-cursor/turn-setup.js +29 -59
  57. package/dist/activities/execute-cursor/turn-setup.js.map +1 -1
  58. package/dist/activities/execute-cursor/turn-stream.d.ts +3 -8
  59. package/dist/activities/execute-cursor/turn-stream.js +9 -22
  60. package/dist/activities/execute-cursor/turn-stream.js.map +1 -1
  61. package/dist/activities/execute-cursor/turn.js +5 -1
  62. package/dist/activities/execute-cursor/turn.js.map +1 -1
  63. package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.d.ts +93 -0
  64. package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.js +348 -0
  65. package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.js.map +1 -0
  66. package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.d.ts +170 -0
  67. package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js +225 -0
  68. package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js.map +1 -0
  69. package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.d.ts +24 -0
  70. package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js +41 -0
  71. package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js.map +1 -0
  72. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.d.ts +54 -0
  73. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js +72 -0
  74. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js.map +1 -0
  75. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.d.ts +187 -23
  76. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js +238 -27
  77. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js.map +1 -1
  78. package/dist/activities/execute-deep-agent/adapter.d.ts +41 -0
  79. package/dist/activities/execute-deep-agent/adapter.js +78 -0
  80. package/dist/activities/execute-deep-agent/adapter.js.map +1 -0
  81. package/dist/activities/execute-deep-agent/cas-capture-observer.d.ts +8 -0
  82. package/dist/activities/execute-deep-agent/cas-capture-observer.js +9 -0
  83. package/dist/activities/execute-deep-agent/cas-capture-observer.js.map +1 -1
  84. package/dist/activities/execute-deep-agent/deep-agent-capabilities.d.ts +31 -0
  85. package/dist/activities/execute-deep-agent/deep-agent-capabilities.js +40 -0
  86. package/dist/activities/execute-deep-agent/deep-agent-capabilities.js.map +1 -0
  87. package/dist/activities/execute-deep-agent/execution-state.d.ts +4 -11
  88. package/dist/activities/execute-deep-agent/execution-state.js +4 -12
  89. package/dist/activities/execute-deep-agent/execution-state.js.map +1 -1
  90. package/dist/activities/execute-deep-agent/hitl.d.ts +49 -47
  91. package/dist/activities/execute-deep-agent/hitl.js +77 -103
  92. package/dist/activities/execute-deep-agent/hitl.js.map +1 -1
  93. package/dist/activities/execute-deep-agent/prompt-builder.d.ts +51 -23
  94. package/dist/activities/execute-deep-agent/prompt-builder.js +115 -76
  95. package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -1
  96. package/dist/activities/execute-deep-agent/status-builder-shared.d.ts +18 -32
  97. package/dist/activities/execute-deep-agent/status-builder-shared.js +10 -65
  98. package/dist/activities/execute-deep-agent/status-builder-shared.js.map +1 -1
  99. package/dist/activities/execute-deep-agent/streaming-side-effects.d.ts +10 -8
  100. package/dist/activities/execute-deep-agent/streaming-side-effects.js +12 -14
  101. package/dist/activities/execute-deep-agent/streaming-side-effects.js.map +1 -1
  102. package/dist/activities/execute-deep-agent/subagent-tracker.d.ts +36 -13
  103. package/dist/activities/execute-deep-agent/subagent-tracker.js +76 -39
  104. package/dist/activities/execute-deep-agent/subagent-tracker.js.map +1 -1
  105. package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +25 -28
  106. package/dist/activities/execute-deep-agent/subagent-transformer.js +29 -82
  107. package/dist/activities/execute-deep-agent/subagent-transformer.js.map +1 -1
  108. package/dist/activities/execute-deep-agent/subagent-wiring.d.ts +3 -2
  109. package/dist/activities/execute-deep-agent/subagent-wiring.js +2 -2
  110. package/dist/activities/execute-deep-agent/subagent-wiring.js.map +1 -1
  111. package/dist/activities/execute-deep-agent/turn-settle.d.ts +42 -0
  112. package/dist/activities/execute-deep-agent/turn-settle.js +146 -0
  113. package/dist/activities/execute-deep-agent/turn-settle.js.map +1 -0
  114. package/dist/activities/execute-deep-agent/turn-setup.d.ts +212 -0
  115. package/dist/activities/execute-deep-agent/turn-setup.js +430 -0
  116. package/dist/activities/execute-deep-agent/turn-setup.js.map +1 -0
  117. package/dist/activities/execute-deep-agent/turn-stream.d.ts +97 -0
  118. package/dist/activities/execute-deep-agent/turn-stream.js +242 -0
  119. package/dist/activities/execute-deep-agent/turn-stream.js.map +1 -0
  120. package/dist/activities/execute-deep-agent/turn.d.ts +42 -0
  121. package/dist/activities/execute-deep-agent/turn.js +116 -0
  122. package/dist/activities/execute-deep-agent/turn.js.map +1 -0
  123. package/dist/activities/execute-deep-agent/v3-event-recorder.d.ts +6 -5
  124. package/dist/activities/execute-deep-agent/v3-event-recorder.js +6 -5
  125. package/dist/activities/execute-deep-agent/v3-event-recorder.js.map +1 -1
  126. package/dist/activities/execute-deep-agent/v3-events.d.ts +1 -1
  127. package/dist/activities/execute-deep-agent/v3-events.js +1 -1
  128. package/dist/activities/execute-deep-agent/v3-status-builder.d.ts +60 -17
  129. package/dist/activities/execute-deep-agent/v3-status-builder.js +72 -57
  130. package/dist/activities/execute-deep-agent/v3-status-builder.js.map +1 -1
  131. package/dist/harness/approval-decisions.d.ts +61 -0
  132. package/dist/harness/approval-decisions.js +102 -0
  133. package/dist/harness/approval-decisions.js.map +1 -0
  134. package/dist/harness/capabilities.d.ts +16 -5
  135. package/dist/harness/capabilities.js +9 -0
  136. package/dist/harness/capabilities.js.map +1 -1
  137. package/dist/harness/capture.d.ts +144 -0
  138. package/dist/harness/capture.js +219 -0
  139. package/dist/harness/capture.js.map +1 -0
  140. package/dist/harness/persist-chokepoint.d.ts +19 -4
  141. package/dist/harness/persist-chokepoint.js +17 -4
  142. package/dist/harness/persist-chokepoint.js.map +1 -1
  143. package/dist/harness/run-turn.js +115 -29
  144. package/dist/harness/run-turn.js.map +1 -1
  145. package/dist/harness/terminal-table.d.ts +40 -11
  146. package/dist/harness/terminal-table.js +58 -19
  147. package/dist/harness/terminal-table.js.map +1 -1
  148. package/dist/harness/turn-context.d.ts +141 -76
  149. package/dist/harness/turn-context.js +194 -99
  150. package/dist/harness/turn-context.js.map +1 -1
  151. package/dist/harness/types.d.ts +65 -12
  152. package/dist/harness/types.js +8 -2
  153. package/dist/harness/types.js.map +1 -1
  154. package/dist/harness-adapters.d.ts +12 -8
  155. package/dist/harness-adapters.js +17 -9
  156. package/dist/harness-adapters.js.map +1 -1
  157. package/dist/middleware/approval-gate.d.ts +1 -1
  158. package/dist/middleware/approval-gate.js +1 -1
  159. package/dist/middleware/approval-gate.js.map +1 -1
  160. package/dist/middleware/cost-advisory.d.ts +39 -0
  161. package/dist/middleware/{cost-cap.js → cost-advisory.js} +37 -55
  162. package/dist/middleware/cost-advisory.js.map +1 -0
  163. package/dist/middleware/index.d.ts +23 -12
  164. package/dist/middleware/index.js +26 -18
  165. package/dist/middleware/index.js.map +1 -1
  166. package/dist/middleware/types.d.ts +3 -2
  167. package/dist/runner-manager.js +1 -5
  168. package/dist/runner-manager.js.map +1 -1
  169. package/dist/runner.js +1 -5
  170. package/dist/runner.js.map +1 -1
  171. package/dist/shared/attachment-resolver.d.ts +41 -18
  172. package/dist/shared/attachment-resolver.js +178 -46
  173. package/dist/shared/attachment-resolver.js.map +1 -1
  174. package/dist/shared/attachment-zip.d.ts +85 -0
  175. package/dist/shared/attachment-zip.js +185 -0
  176. package/dist/shared/attachment-zip.js.map +1 -0
  177. package/dist/shared/connect-backfill.js +5 -4
  178. package/dist/shared/connect-backfill.js.map +1 -1
  179. package/dist/shared/cost-guard.d.ts +3 -3
  180. package/dist/shared/cost-guard.js +3 -3
  181. package/dist/shared/execution-status-writer.d.ts +5 -5
  182. package/dist/shared/execution-status-writer.js +5 -5
  183. package/dist/shared/extract-structured-output.d.ts +8 -7
  184. package/dist/shared/extract-structured-output.js +8 -7
  185. package/dist/shared/extract-structured-output.js.map +1 -1
  186. package/dist/shared/filereview/cas-progress.d.ts +1 -18
  187. package/dist/shared/filereview/cas-progress.js +4 -0
  188. package/dist/shared/filereview/cas-progress.js.map +1 -1
  189. package/dist/shared/filereview/cas-touched.d.ts +56 -0
  190. package/dist/shared/filereview/cas-touched.js +63 -0
  191. package/dist/shared/filereview/cas-touched.js.map +1 -0
  192. package/dist/shared/filereview/index.d.ts +2 -1
  193. package/dist/shared/filereview/index.js +2 -1
  194. package/dist/shared/filereview/index.js.map +1 -1
  195. package/dist/shared/mcp-resolver.d.ts +4 -5
  196. package/dist/shared/mcp-resolver.js +4 -5
  197. package/dist/shared/mcp-resolver.js.map +1 -1
  198. package/dist/shared/persist-decision.d.ts +3 -4
  199. package/dist/shared/persist-decision.js +3 -4
  200. package/dist/shared/persist-decision.js.map +1 -1
  201. package/dist/shared/plan-mode-permissions.d.ts +2 -2
  202. package/dist/shared/plan-mode-permissions.js +2 -2
  203. package/dist/shared/plan-mode-prompt.d.ts +1 -1
  204. package/dist/shared/plan-mode-prompt.js +1 -1
  205. package/dist/shared/prompt-sections.d.ts +163 -0
  206. package/dist/shared/prompt-sections.js +164 -0
  207. package/dist/shared/prompt-sections.js.map +1 -0
  208. package/dist/shared/skill-resolver.d.ts +4 -2
  209. package/dist/shared/skill-resolver.js +4 -2
  210. package/dist/shared/skill-resolver.js.map +1 -1
  211. package/dist/shared/tool-rounds.d.ts +32 -0
  212. package/dist/shared/tool-rounds.js +43 -0
  213. package/dist/shared/tool-rounds.js.map +1 -1
  214. package/dist/shared/tool-row.d.ts +34 -0
  215. package/dist/shared/tool-row.js +52 -0
  216. package/dist/shared/tool-row.js.map +1 -1
  217. package/dist/shared/workspace/session-provision.d.ts +3 -3
  218. package/dist/shared/workspace/session-provision.js +3 -3
  219. package/dist/shared/workspace/stigmer-link.d.ts +3 -3
  220. package/dist/shared/workspace/stigmer-link.js +3 -3
  221. package/dist/shared/workspace/writeback-coordinator.d.ts +15 -22
  222. package/dist/shared/workspace/writeback-coordinator.js +16 -53
  223. package/dist/shared/workspace/writeback-coordinator.js.map +1 -1
  224. package/dist/tools/index.d.ts +1 -1
  225. package/dist/tools/index.js +1 -1
  226. package/package.json +4 -4
  227. package/src/__test-utils__/__tests__/harness-contract-self-check.test.ts +1 -0
  228. package/src/__test-utils__/execution-record-fixture.ts +18 -2
  229. package/src/__test-utils__/file-review-projection.ts +156 -0
  230. package/src/__test-utils__/git-workspace-fixture.ts +58 -0
  231. package/src/__test-utils__/harness-boot-order-child.ts +7 -2
  232. package/src/__test-utils__/harness-contract/contract.ts +33 -20
  233. package/src/__test-utils__/harness-contract/recording-sink.ts +11 -1
  234. package/src/__test-utils__/harness-contract/runtime-contract.ts +328 -10
  235. package/src/__test-utils__/harness-contract/scripted-adapter.ts +38 -6
  236. package/src/__test-utils__/harness-contract/types.ts +27 -3
  237. package/src/__test-utils__/hermetic-activity.ts +52 -14
  238. package/src/__test-utils__/model-registry-fixture.ts +32 -7
  239. package/src/__test-utils__/module-specifiers.ts +24 -0
  240. package/src/__test-utils__/turn-input-fixture.ts +2 -2
  241. package/src/__tests__/harness-boot-order.test.ts +9 -2
  242. package/src/activities/call-agent.ts +2 -2
  243. package/src/activities/execute-cursor/__test-utils__/contract-subject.ts +47 -3
  244. package/src/activities/execute-cursor/__test-utils__/hermetic-cursor.ts +2 -48
  245. package/src/activities/execute-cursor/__tests__/approval-decisions-agree.test.ts +1 -1
  246. package/src/activities/execute-cursor/__tests__/approval-gate.test.ts +6 -1
  247. package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +52 -27
  248. package/src/activities/execute-cursor/__tests__/cas-observations.test.ts +25 -0
  249. package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.everything.prompt.md +166 -0
  250. package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.plan-mode.prompt.md +186 -0
  251. package/src/activities/execute-cursor/__tests__/goldens/prompt.hitl.recovery.prompt.md +191 -0
  252. package/src/activities/execute-cursor/__tests__/goldens/prompt.hitl.reinvocation.prompt.md +13 -0
  253. package/src/activities/execute-cursor/__tests__/goldens/prompt.resumed.prefixed.prompt.md +32 -0
  254. package/src/activities/execute-cursor/__tests__/goldens/prompt.resumed.raw.prompt.md +1 -0
  255. package/src/activities/execute-cursor/__tests__/hermetic/file-review-capture.test.ts +1 -2
  256. package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-error-at-create.status.json +4 -0
  257. package/src/activities/execute-cursor/__tests__/hermetic/harness-contract.test.ts +24 -4
  258. package/src/activities/execute-cursor/__tests__/hermetic/stream-self-stop-arms.test.ts +6 -5
  259. package/src/activities/execute-cursor/__tests__/hermetic/thrown-error-arms.test.ts +9 -0
  260. package/src/activities/execute-cursor/__tests__/hitl-resume-history.test.ts +11 -8
  261. package/src/activities/execute-cursor/__tests__/prompt-goldens.test.ts +229 -0
  262. package/src/activities/execute-cursor/__tests__/same-identity-reproposal.test.ts +3 -3
  263. package/src/activities/execute-cursor/__tests__/sequential-gate-resume.test.ts +2 -2
  264. package/src/activities/execute-cursor/__tests__/turn-boundary.test.ts +78 -234
  265. package/src/activities/execute-cursor/__tests__/turn-stream.test.ts +1 -26
  266. package/src/activities/execute-cursor/adapter.ts +7 -5
  267. package/src/activities/execute-cursor/approval-policy.ts +5 -2
  268. package/src/activities/execute-cursor/approval-state.ts +16 -8
  269. package/src/activities/execute-cursor/cas-observations.ts +20 -2
  270. package/src/activities/execute-cursor/cursor-capabilities.ts +24 -5
  271. package/src/activities/execute-cursor/message-translator.ts +29 -41
  272. package/src/activities/execute-cursor/prompt-builder.ts +99 -157
  273. package/src/activities/execute-cursor/turn-boundary.ts +34 -140
  274. package/src/activities/execute-cursor/turn-settle.ts +37 -51
  275. package/src/activities/execute-cursor/turn-setup.ts +30 -70
  276. package/src/activities/execute-cursor/turn-stream.ts +8 -31
  277. package/src/activities/execute-cursor/turn.ts +5 -1
  278. package/src/activities/execute-deep-agent/__test-utils__/contract-subject.ts +391 -0
  279. package/src/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.ts +313 -0
  280. package/src/activities/execute-deep-agent/__test-utils__/hitl-script.ts +48 -0
  281. package/src/activities/execute-deep-agent/__test-utils__/scripted-model-module.ts +85 -0
  282. package/src/activities/execute-deep-agent/__test-utils__/scripted-model.ts +383 -36
  283. package/src/activities/execute-deep-agent/__tests__/adapter-graph-is-sdk-free.test.ts +76 -0
  284. package/src/activities/execute-deep-agent/__tests__/adapter-is-temporal-free.test.ts +47 -0
  285. package/src/activities/execute-deep-agent/__tests__/adapter.test.ts +80 -0
  286. package/src/activities/execute-deep-agent/__tests__/cas-capture-backend.test.ts +1 -1
  287. package/src/activities/execute-deep-agent/__tests__/execution-state-extended.test.ts +0 -2
  288. package/src/activities/execute-deep-agent/__tests__/execution-state.test.ts +0 -3
  289. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.build-from-plan.prompt.md +172 -0
  290. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.everything.prompt.md +167 -0
  291. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.minimal.prompt.md +36 -0
  292. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.plan-mode.prompt.md +178 -0
  293. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.skills-below-threshold.prompt.md +158 -0
  294. package/src/activities/execute-deep-agent/__tests__/hermetic/file-review-capture.test.ts +210 -0
  295. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn1.status.json +74 -0
  296. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn2.status.json +104 -0
  297. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve.turn2.status.json +78 -0
  298. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-capture.status.json +138 -0
  299. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/gate.turn1.status.json +68 -0
  300. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn1.status.json +154 -0
  301. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn2.status.json +116 -0
  302. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.after-tool.status.json +69 -0
  303. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.mid-tool.status.json +67 -0
  304. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/plain-turn.status.json +47 -0
  305. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/platform-stop.status.json +68 -0
  306. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/recursion-limit.persisted.status.json +280 -0
  307. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/reject.turn2.status.json +77 -0
  308. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/resolution-error.status.json +18 -0
  309. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn2.status.json +99 -0
  310. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn3.status.json +109 -0
  311. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/skip.turn2.status.json +76 -0
  312. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.text-fallback.status.json +51 -0
  313. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.tier2.status.json +51 -0
  314. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.tool-strategy.status.json +56 -0
  315. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sub-agent-delegation.status.json +90 -0
  316. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/tool-call.status.json +70 -0
  317. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/worker-shutdown.status.json +71 -0
  318. package/src/activities/execute-deep-agent/__tests__/hermetic/harness-contract.test.ts +144 -0
  319. package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-approve-all-lease.test.ts +184 -0
  320. package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-round-trips.test.ts +203 -0
  321. package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-sequential-gates.test.ts +170 -0
  322. package/src/activities/execute-deep-agent/__tests__/hermetic/inline-artifact-across-gate.test.ts +175 -0
  323. package/src/activities/execute-deep-agent/__tests__/hermetic/pause-vs-shutdown.test.ts +206 -0
  324. package/src/activities/execute-deep-agent/__tests__/hermetic/plain-turn.test.ts +142 -0
  325. package/src/activities/execute-deep-agent/__tests__/hermetic/platform-stop.test.ts +126 -0
  326. package/src/activities/execute-deep-agent/__tests__/hermetic/recursion-limit.test.ts +139 -0
  327. package/src/activities/execute-deep-agent/__tests__/hermetic/resolution-error.test.ts +122 -0
  328. package/src/activities/execute-deep-agent/__tests__/hermetic/structured-output.test.ts +236 -0
  329. package/src/activities/execute-deep-agent/__tests__/hermetic/sub-agent-delegation.test.ts +161 -0
  330. package/src/activities/execute-deep-agent/__tests__/hermetic/tool-call.test.ts +157 -0
  331. package/src/activities/execute-deep-agent/__tests__/hermetic/workspace-lock-timeout.test.ts +152 -0
  332. package/src/activities/execute-deep-agent/__tests__/hitl.test.ts +50 -122
  333. package/src/activities/execute-deep-agent/__tests__/inline-publisher.test.ts +8 -6
  334. package/src/activities/execute-deep-agent/__tests__/plan-mode-path-normalization.test.ts +2 -2
  335. package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +35 -35
  336. package/src/activities/execute-deep-agent/__tests__/prompt-goldens.test.ts +247 -0
  337. package/src/activities/execute-deep-agent/__tests__/scripted-model.test.ts +329 -0
  338. package/src/activities/execute-deep-agent/__tests__/status-builder-shared.test.ts +1 -20
  339. package/src/activities/execute-deep-agent/__tests__/streaming-side-effects.test.ts +78 -0
  340. package/src/activities/execute-deep-agent/__tests__/subagent-gitignored-capture.test.ts +1 -1
  341. package/src/activities/execute-deep-agent/__tests__/subagent-plan-mode-permissions.test.ts +2 -2
  342. package/src/activities/execute-deep-agent/__tests__/subagent-tracker.test.ts +57 -31
  343. package/src/activities/execute-deep-agent/__tests__/subagent-transformer.test.ts +19 -79
  344. package/src/activities/execute-deep-agent/__tests__/subagent-wiring.test.ts +15 -15
  345. package/src/activities/execute-deep-agent/__tests__/summarization-verification.test.ts +1 -1
  346. package/src/activities/execute-deep-agent/__tests__/turn-stream.test.ts +391 -0
  347. package/src/activities/execute-deep-agent/__tests__/v3-status-builder.test.ts +343 -38
  348. package/src/activities/execute-deep-agent/__tests__/vision-input.test.ts +5 -5
  349. package/src/activities/execute-deep-agent/adapter.ts +94 -0
  350. package/src/activities/execute-deep-agent/cas-capture-observer.ts +11 -0
  351. package/src/activities/execute-deep-agent/deep-agent-capabilities.ts +43 -0
  352. package/src/activities/execute-deep-agent/execution-state.ts +4 -13
  353. package/src/activities/execute-deep-agent/hitl.ts +100 -123
  354. package/src/activities/execute-deep-agent/prompt-builder.ts +141 -115
  355. package/src/activities/execute-deep-agent/status-builder-shared.ts +21 -84
  356. package/src/activities/execute-deep-agent/streaming-side-effects.ts +13 -19
  357. package/src/activities/execute-deep-agent/subagent-tracker.ts +77 -42
  358. package/src/activities/execute-deep-agent/subagent-transformer.ts +46 -105
  359. package/src/activities/execute-deep-agent/subagent-wiring.ts +5 -4
  360. package/src/activities/execute-deep-agent/turn-settle.ts +164 -0
  361. package/src/activities/execute-deep-agent/turn-setup.ts +541 -0
  362. package/src/activities/execute-deep-agent/turn-stream.ts +313 -0
  363. package/src/activities/execute-deep-agent/turn.ts +131 -0
  364. package/src/activities/execute-deep-agent/v3-event-recorder.ts +6 -5
  365. package/src/activities/execute-deep-agent/v3-events.ts +1 -1
  366. package/src/activities/execute-deep-agent/v3-status-builder.ts +84 -63
  367. package/src/harness/__tests__/approval-decisions.test.ts +116 -0
  368. package/src/harness/__tests__/capture.test.ts +268 -0
  369. package/src/harness/__tests__/mount-skills.test.ts +169 -0
  370. package/src/harness/__tests__/persist-chokepoint.test.ts +38 -2
  371. package/src/harness/__tests__/run-turn-deterministic.test.ts +94 -0
  372. package/src/harness/__tests__/run-turn.test.ts +39 -23
  373. package/src/harness/__tests__/turn-attachments-vision.test.ts +80 -0
  374. package/src/harness/__tests__/turn-context.test.ts +73 -26
  375. package/src/harness/approval-decisions.ts +104 -0
  376. package/src/harness/capabilities.ts +16 -5
  377. package/src/harness/capture.ts +301 -0
  378. package/src/harness/persist-chokepoint.ts +24 -4
  379. package/src/harness/run-turn.ts +120 -29
  380. package/src/harness/terminal-table.ts +61 -20
  381. package/src/harness/turn-context.ts +208 -111
  382. package/src/harness/types.ts +66 -12
  383. package/src/harness-adapters.ts +17 -9
  384. package/src/middleware/__tests__/approval-gate.test.ts +1 -1
  385. package/src/middleware/__tests__/cost-advisory.test.ts +113 -0
  386. package/src/middleware/approval-gate.ts +2 -2
  387. package/src/middleware/{cost-cap.ts → cost-advisory.ts} +40 -70
  388. package/src/middleware/index.ts +29 -29
  389. package/src/middleware/types.ts +3 -2
  390. package/src/runner-manager.ts +0 -8
  391. package/src/runner.ts +0 -8
  392. package/src/shared/__tests__/attachment-naming.test.ts +6 -19
  393. package/src/shared/__tests__/attachment-resolver.test.ts +158 -8
  394. package/src/shared/__tests__/attachment-zip.test.ts +236 -0
  395. package/src/shared/__tests__/bedrock-adapter.test.ts +1 -1
  396. package/src/shared/__tests__/blueprint-resolver.test.ts +43 -0
  397. package/src/shared/__tests__/cost-guard.test.ts +3 -3
  398. package/src/shared/__tests__/prompt-sections.test.ts +167 -0
  399. package/src/shared/__tests__/secret-leak-scan.test.ts +2 -2
  400. package/src/{activities/execute-deep-agent → shared}/__tests__/stamp-flowed-rows.test.ts +33 -10
  401. package/src/shared/__tests__/vertex-adapter.test.ts +1 -1
  402. package/src/shared/attachment-resolver.ts +218 -55
  403. package/src/shared/attachment-zip.ts +281 -0
  404. package/src/shared/connect-backfill.ts +9 -11
  405. package/src/shared/cost-guard.ts +3 -3
  406. package/src/shared/execution-status-writer.ts +5 -5
  407. package/src/shared/extract-structured-output.ts +8 -7
  408. package/src/shared/filereview/__tests__/capture.test.ts +86 -4
  409. package/src/shared/filereview/__tests__/cas-progress.test.ts +2 -1
  410. package/src/shared/filereview/cas-progress.ts +5 -19
  411. package/src/shared/filereview/cas-touched.ts +89 -0
  412. package/src/shared/filereview/index.ts +4 -2
  413. package/src/shared/mcp-resolver.ts +4 -5
  414. package/src/shared/persist-decision.ts +3 -4
  415. package/src/shared/plan-mode-permissions.ts +2 -2
  416. package/src/shared/plan-mode-prompt.ts +1 -1
  417. package/src/shared/prompt-sections.ts +256 -0
  418. package/src/shared/skill-resolver.ts +4 -2
  419. package/src/shared/tool-rounds.ts +48 -0
  420. package/src/shared/tool-row.ts +61 -0
  421. package/src/shared/workspace/__tests__/stigmer-link.test.ts +7 -22
  422. package/src/shared/workspace/__tests__/writeback-coordinator.test.ts +20 -61
  423. package/src/shared/workspace/session-provision.ts +3 -3
  424. package/src/shared/workspace/stigmer-link.ts +3 -3
  425. package/src/shared/workspace/writeback-coordinator.ts +16 -64
  426. package/src/tools/index.ts +1 -1
  427. package/dist/activities/execute-cursor/capture-flow.d.ts +0 -142
  428. package/dist/activities/execute-cursor/capture-flow.js +0 -285
  429. package/dist/activities/execute-cursor/capture-flow.js.map +0 -1
  430. package/dist/activities/execute-cursor/command-provenance.d.ts +0 -48
  431. package/dist/activities/execute-cursor/command-provenance.js +0 -38
  432. package/dist/activities/execute-cursor/command-provenance.js.map +0 -1
  433. package/dist/activities/execute-deep-agent/attachment-injector.d.ts +0 -134
  434. package/dist/activities/execute-deep-agent/attachment-injector.js +0 -386
  435. package/dist/activities/execute-deep-agent/attachment-injector.js.map +0 -1
  436. package/dist/activities/execute-deep-agent/command-provenance.d.ts +0 -61
  437. package/dist/activities/execute-deep-agent/command-provenance.js +0 -72
  438. package/dist/activities/execute-deep-agent/command-provenance.js.map +0 -1
  439. package/dist/activities/execute-deep-agent/environment.d.ts +0 -24
  440. package/dist/activities/execute-deep-agent/environment.js +0 -58
  441. package/dist/activities/execute-deep-agent/environment.js.map +0 -1
  442. package/dist/activities/execute-deep-agent/event-recorder.d.ts +0 -21
  443. package/dist/activities/execute-deep-agent/event-recorder.js +0 -67
  444. package/dist/activities/execute-deep-agent/event-recorder.js.map +0 -1
  445. package/dist/activities/execute-deep-agent/index.d.ts +0 -15
  446. package/dist/activities/execute-deep-agent/index.js +0 -918
  447. package/dist/activities/execute-deep-agent/index.js.map +0 -1
  448. package/dist/activities/execute-deep-agent/mcp-gate.d.ts +0 -28
  449. package/dist/activities/execute-deep-agent/mcp-gate.js +0 -22
  450. package/dist/activities/execute-deep-agent/mcp-gate.js.map +0 -1
  451. package/dist/activities/execute-deep-agent/post-stream.d.ts +0 -23
  452. package/dist/activities/execute-deep-agent/post-stream.js +0 -71
  453. package/dist/activities/execute-deep-agent/post-stream.js.map +0 -1
  454. package/dist/activities/execute-deep-agent/setup.d.ts +0 -136
  455. package/dist/activities/execute-deep-agent/setup.js +0 -767
  456. package/dist/activities/execute-deep-agent/setup.js.map +0 -1
  457. package/dist/activities/execute-deep-agent/stamp-flowed-rows.d.ts +0 -36
  458. package/dist/activities/execute-deep-agent/stamp-flowed-rows.js +0 -56
  459. package/dist/activities/execute-deep-agent/stamp-flowed-rows.js.map +0 -1
  460. package/dist/activities/execute-deep-agent/status-builder.d.ts +0 -93
  461. package/dist/activities/execute-deep-agent/status-builder.js +0 -365
  462. package/dist/activities/execute-deep-agent/status-builder.js.map +0 -1
  463. package/dist/activities/execute-deep-agent/streaming-terminal.d.ts +0 -21
  464. package/dist/activities/execute-deep-agent/streaming-terminal.js +0 -80
  465. package/dist/activities/execute-deep-agent/streaming-terminal.js.map +0 -1
  466. package/dist/activities/execute-deep-agent/streaming-v3.d.ts +0 -13
  467. package/dist/activities/execute-deep-agent/streaming-v3.js +0 -174
  468. package/dist/activities/execute-deep-agent/streaming-v3.js.map +0 -1
  469. package/dist/activities/execute-deep-agent/streaming.d.ts +0 -81
  470. package/dist/activities/execute-deep-agent/streaming.js +0 -160
  471. package/dist/activities/execute-deep-agent/streaming.js.map +0 -1
  472. package/dist/middleware/cost-cap.d.ts +0 -22
  473. package/dist/middleware/cost-cap.js.map +0 -1
  474. package/dist/middleware/graceful-stop.d.ts +0 -17
  475. package/dist/middleware/graceful-stop.js +0 -63
  476. package/dist/middleware/graceful-stop.js.map +0 -1
  477. package/dist/shared/skill-writer.d.ts +0 -75
  478. package/dist/shared/skill-writer.js +0 -207
  479. package/dist/shared/skill-writer.js.map +0 -1
  480. package/src/activities/execute-cursor/__tests__/capture-flow.test.ts +0 -1032
  481. package/src/activities/execute-cursor/__tests__/command-provenance.test.ts +0 -240
  482. package/src/activities/execute-cursor/__tests__/progress-substrate.test.ts +0 -169
  483. package/src/activities/execute-cursor/capture-flow.ts +0 -379
  484. package/src/activities/execute-cursor/command-provenance.ts +0 -73
  485. package/src/activities/execute-deep-agent/__tests__/attachment-injector.test.ts +0 -1161
  486. package/src/activities/execute-deep-agent/__tests__/command-provenance.test.ts +0 -252
  487. package/src/activities/execute-deep-agent/__tests__/environment.test.ts +0 -108
  488. package/src/activities/execute-deep-agent/__tests__/event-recorder.test.ts +0 -150
  489. package/src/activities/execute-deep-agent/__tests__/hitl-integration.test.ts +0 -226
  490. package/src/activities/execute-deep-agent/__tests__/hitl-reject.test.ts +0 -318
  491. package/src/activities/execute-deep-agent/__tests__/hitl-resume-approve-all.test.ts +0 -351
  492. package/src/activities/execute-deep-agent/__tests__/hitl-resume-history.test.ts +0 -293
  493. package/src/activities/execute-deep-agent/__tests__/index.test.ts +0 -99
  494. package/src/activities/execute-deep-agent/__tests__/mcp-gate.test.ts +0 -44
  495. package/src/activities/execute-deep-agent/__tests__/post-stream.test.ts +0 -112
  496. package/src/activities/execute-deep-agent/__tests__/sequential-gate-resume.test.ts +0 -358
  497. package/src/activities/execute-deep-agent/__tests__/status-builder.test.ts +0 -1933
  498. package/src/activities/execute-deep-agent/__tests__/streaming-terminal.test.ts +0 -40
  499. package/src/activities/execute-deep-agent/__tests__/streaming-v3.test.ts +0 -597
  500. package/src/activities/execute-deep-agent/__tests__/streaming.test.ts +0 -508
  501. package/src/activities/execute-deep-agent/attachment-injector.ts +0 -627
  502. package/src/activities/execute-deep-agent/command-provenance.ts +0 -102
  503. package/src/activities/execute-deep-agent/environment.ts +0 -76
  504. package/src/activities/execute-deep-agent/event-recorder.ts +0 -95
  505. package/src/activities/execute-deep-agent/index.ts +0 -1072
  506. package/src/activities/execute-deep-agent/mcp-gate.ts +0 -37
  507. package/src/activities/execute-deep-agent/post-stream.ts +0 -109
  508. package/src/activities/execute-deep-agent/setup.ts +0 -1081
  509. package/src/activities/execute-deep-agent/stamp-flowed-rows.ts +0 -64
  510. package/src/activities/execute-deep-agent/status-builder.ts +0 -481
  511. package/src/activities/execute-deep-agent/streaming-terminal.ts +0 -106
  512. package/src/activities/execute-deep-agent/streaming-v3.ts +0 -277
  513. package/src/activities/execute-deep-agent/streaming.ts +0 -313
  514. package/src/middleware/__tests__/cost-cap.test.ts +0 -192
  515. package/src/middleware/__tests__/graceful-stop.test.ts +0 -105
  516. package/src/middleware/graceful-stop.ts +0 -86
  517. package/src/shared/__tests__/skill-writer.test.ts +0 -372
  518. package/src/shared/skill-writer.ts +0 -266
@@ -16,9 +16,9 @@
16
16
  * sequences them, and the adapter runs its own harness-specific steps after
17
17
  * the whole record exists.
18
18
  *
19
- * Shape, chosen against `execute-deep-agent/setup.ts`: a typed record built
20
- * from small functions (the `SetupResult` mold), never one 775-line
21
- * `performSetup`. The record is the adapter contract's `TurnInput`
19
+ * Shape, chosen against the native orchestrator's `setup.ts` (deleted at S3
20
+ * M2b): a typed record built from small functions (the `SetupResult` mold),
21
+ * never one 775-line `performSetup`. The record is the adapter contract's `TurnInput`
22
22
  * (`types.ts`): every phase returns a named slice of it, and
23
23
  * {@link resolveTurnContext} composes the whole. There is no wider
24
24
  * "runtime-private" record beside it — the lock release and the write-back
@@ -65,8 +65,9 @@
65
65
  */
66
66
  import { CancelledFailure } from "@temporalio/activity";
67
67
  import { clone } from "@bufbuild/protobuf";
68
- import { AgentMessageSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
69
- import { ApprovalAction, FileChangeSetStatus, ToolCallStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
68
+ import { AgentExecutionStatusSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
69
+ import { FileChangeSetStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
70
+ import { approvalDecisionsOf } from "./approval-decisions.js";
70
71
  import { resolveBlueprint } from "../shared/blueprint-resolver.js";
71
72
  import { resolveExecutionEnv } from "../shared/env-resolver.js";
72
73
  import { provisionSessionWorkspace } from "../shared/workspace/session-provision.js";
@@ -89,7 +90,7 @@ import { deriveActiveLeases, mergeApprovalPolicies } from "../shared/approval-po
89
90
  import { resolveAttachments } from "../shared/attachment-resolver.js";
90
91
  import { resolveSkills } from "../shared/skill-resolver.js";
91
92
  import { VisionBudget } from "../shared/attachment-vision.js";
92
- import { getModelVisionCapability } from "../shared/model-registry.js";
93
+ import { getDefaultModel, getModelVisionCapability } from "../shared/model-registry.js";
93
94
  import { applyApprovedWholeFileWrites } from "../shared/exact-apply.js";
94
95
  import { resolveEffectiveServiceTier } from "../shared/service-tier.js";
95
96
  import { resolveEffectiveThinkingMode } from "../shared/thinking-mode.js";
@@ -113,16 +114,28 @@ import { selectRecalledFacts } from "../shared/memory-retrieval.js";
113
114
  * and the legacy positional wire shape yields 0, so `turnSeq` cannot be
114
115
  * the signal (`index.ts` L402-407).
115
116
  * - `deterministic` (native: the runtime-minted thread id): the id exists
116
- * on the FIRST turn too, so the evidence is the persisted transcript
117
- * (pending approvals, DECIDED sets). That arm lands in S3 with the native
118
- * adapter; until then this function refuses rather than guess.
117
+ * on the FIRST turn too, so the evidence is the persisted transcript.
118
+ * Whether the execution already has committed history is the ONE signal
119
+ * that behaves identically across the engine's checkpointer backends:
120
+ * a durable saver (sqlite locally, http in cloud) keeps the checkpoint
121
+ * and resumes from it, while the test-only memory saver recreates it
122
+ * empty and replays from scratch — so the live checkpoint cannot be the
123
+ * signal (native's `shouldSeedFromPersistedTranscript`, retired with its
124
+ * orchestrator). A first run has no persisted messages and starts from
125
+ * empty, as it always did.
126
+ *
127
+ * This is the runtime's own reading, for its phases (the seed, the reconcile,
128
+ * the exact-apply). An adapter that needs create-vs-resume for its ENGINE
129
+ * reads `input.threadId` itself — for an engine-minted harness that is the
130
+ * same bit, for a deterministic one the engine's checkpoint is the adapter's
131
+ * to consult — so the contract carries no flag with two meanings (Q-M1-7).
119
132
  */
120
- export function isReinvocation(stateIdSource, input) {
133
+ export function isReinvocation(stateIdSource, input, execution) {
121
134
  switch (stateIdSource) {
122
135
  case "engine-minted":
123
136
  return input.threadId !== "";
124
137
  case "deterministic":
125
- throw new Error("isReinvocation: the deterministic arm lands with the native adapter (S3); no S2 harness mints its state id deterministically");
138
+ return (execution.status?.messages.length ?? 0) > 0;
126
139
  default: {
127
140
  const exhaustive = stateIdSource;
128
141
  throw new Error(`isReinvocation: unknown state id source ${String(exhaustive)}`);
@@ -130,41 +143,22 @@ export function isReinvocation(stateIdSource, input) {
130
143
  }
131
144
  }
132
145
  /**
133
- * The runtime's one reader of approval decisions: every top-level tool-call
134
- * row still WAITING_APPROVAL whose `approvalAction` the server has set,
135
- * keyed by tool-call id. Derived from the status on every invocation, never
136
- * stored, so it cannot drift from the rows. The same rows, in the same
137
- * order, that the Cursor adapter's `reconstructAdjudicatedApprovals` reads
138
- * for its own facts (the pending-approval protos and content digests); a
139
- * test pins the two readers' agreement.
140
- */
141
- export function approvalDecisionsOf(status) {
142
- const decisions = new Map();
143
- for (const message of status.messages) {
144
- for (const row of message.toolCalls) {
145
- if (row.status !== ToolCallStatus.TOOL_CALL_WAITING_APPROVAL)
146
- continue;
147
- if (row.approvalAction === ApprovalAction.UNSPECIFIED)
148
- continue;
149
- decisions.set(row.id, row.approvalAction);
150
- }
151
- }
152
- return decisions;
153
- }
154
- /**
155
- * How a reinvocation proceeds, decided once from the facts (`index.ts`
156
- * L547-618): a REJECT of an irreversible action fails the turn; any other
157
- * adjudicated decision runs the agent (the approved shell/MCP proceeds and
158
- * may produce further edits); a resume that reconciled file review and
159
- * decided nothing else is complete, because keeping or discarding a file
160
- * never re-prompts the agent (Cursor-like). `undefined` means "run the
161
- * agent".
146
+ * How a reinvocation proceeds, decided once from the facts: any adjudicated
147
+ * decision runs the agent an approved shell/MCP proceeds and may produce
148
+ * further edits; a SKIP or REJECT denies its tool and the run continues
149
+ * without it (the row is settled SKIPPED after the turn,
150
+ * `approval-decisions.ts`); a resume that reconciled file review and decided
151
+ * nothing else is complete, because keeping or discarding a file never
152
+ * re-prompts the agent (Cursor-like). `undefined` means "run the agent".
153
+ *
154
+ * Until S3 M1 a REJECT failed the turn here with its own FAILED arm, Cursor's
155
+ * legacy; the proto (`APPROVAL_ACTION_REJECT`: "does NOT fail the run"), the
156
+ * conformance suite and the native harness said otherwise since stigmer#197,
157
+ * and the runtime now agrees (S2 M4 finding F1; Q-S3-2).
162
158
  */
163
159
  export function decideReinvocation(facts) {
164
- if (facts.approvalDecisions.size > 0) {
165
- const hasReject = [...facts.approvalDecisions.values()].some((a) => a === ApprovalAction.REJECT);
166
- return hasReject ? { kind: "rejected-by-user" } : undefined;
167
- }
160
+ if (facts.approvalDecisions.size > 0)
161
+ return undefined;
168
162
  if (facts.reconciledFileReview) {
169
163
  return {
170
164
  kind: "file-review-resolved",
@@ -176,39 +170,71 @@ export function decideReinvocation(facts) {
176
170
  return undefined;
177
171
  }
178
172
  /**
179
- * Seed an in-progress status from the persisted execution on a durable
180
- * resume (HITL approval, pause/resume, transient recovery) so the upcoming
181
- * turn APPENDS onto prior history instead of replacing it.
182
- *
183
- * Why it is required: a resumed engine re-issues the previously gated tool
184
- * calls with brand-new call ids. Without seeding, the harness's accumulator
185
- * would rebuild the transcript from empty and emit a status that drops the
186
- * already-committed tool-call ids. The backend's append-only-at-identity
187
- * guard rejects any non-terminal update that drops a committed tool-call id,
188
- * so the resumed progress would never persist: the run stalls in
189
- * WAITING_FOR_APPROVAL with no pending approvals and the workflow watchdog
190
- * fails it. Seeding makes the resume status a strict superset; the re-runs
191
- * are then reconciled in place onto these seeded calls by canonical identity
192
- * inside the accumulator.
193
- *
194
- * The persisted protos are cloned so the input execution stays immutable.
195
- * Messages are pushed into `status.messages` (which the accumulator wraps by
196
- * reference) BEFORE the accumulator is constructed. Sub-agent executions are
197
- * NOT seeded here: the Cursor accumulator owns `status.subAgentExecutions`
198
- * and overwrites it on every flush, so the adapter clones them itself from
199
- * `input.execution.status` under the same "left a transcript" test.
173
+ * Seed an in-progress status from the persisted execution on a resume (HITL
174
+ * approval, pause/resume, transient recovery) so the upcoming turn APPENDS
175
+ * onto prior history instead of replacing it.
176
+ *
177
+ * Why the transcript must be seeded: a resumed engine re-issues the
178
+ * previously gated tool calls with brand-new call ids. Without seeding, the
179
+ * harness's accumulator would rebuild the transcript from empty and emit a
180
+ * status that drops the already-committed tool-call ids. The backend's
181
+ * append-only-at-identity guard rejects any non-terminal update that drops a
182
+ * committed tool-call id, so the resumed progress would never persist: the
183
+ * run stalls in WAITING_FOR_APPROVAL with no pending approvals and the
184
+ * workflow watchdog fails it. Seeding makes the resume status a strict
185
+ * superset; the re-runs are then reconciled in place onto these seeded calls
186
+ * by canonical identity inside the accumulator.
187
+ *
188
+ * Why the OTHER collections must be seeded too — the server's merge rule
189
+ * (`stigmer-server/src/domain/agentexecution/update-status.ts`): every list
190
+ * and singleton the runner owns is PRESENCE-GUARDED and then REPLACED
191
+ * wholesale `subAgentExecutions`, `todos`, `artifacts`,
192
+ * `workspaceWriteBacks` when non-empty (L327-345); `streamingUsage`,
193
+ * `recalledMemoriesReport`, `structuredOutput` when defined (L492-526). So
194
+ * the loss an unseeded resume suffers is not "empty replaces full" (the
195
+ * guard covers that) but "PARTIAL replaces full": a resumed turn that
196
+ * publishes one artifact, delegates one sub-agent, or touches one to-do
197
+ * sends a list holding only that, and the server replaces the prior turn's
198
+ * whole list with it. Seeding every one makes each write a superset again.
199
+ *
200
+ * What is NOT seeded, and why: `fileChangeSets` and `pendingApprovals` are
201
+ * DERIVED by the server from its own ledgers on every write;
202
+ * `fileReviewEventStream` and `approvalEventStream` are server-owned ledgers
203
+ * the runner only APPENDS its own events to; `fileChangeProgress`,
204
+ * `setupProgress` and `contextInfo` are one turn's own or the server's; and
205
+ * `phase`, `startedAt`, `completedAt`, `error` are this turn's fresh
206
+ * terminal, written by the runtime.
207
+ *
208
+ * Every collection is mutated IN PLACE (pushed into, assigned into), never
209
+ * reassigned: the write-back coordinator already wraps this status through
210
+ * `statusProtoWriter`, and the harness's accumulator wraps `messages` and
211
+ * `subAgentExecutions` by reference after this runs, so a reassigned array
212
+ * would leave a wrapper holding the old one. The persisted protos are
213
+ * cloned so the input execution stays immutable.
200
214
  *
201
215
  * Moved from `execute-cursor/index.ts` `seedCursorTranscriptFromExecution`
202
- * (L2468-2478); the native twin is `execute-deep-agent/index.ts`
203
- * `seedStatusFromExecution` (S3 retires it).
216
+ * (messages only) and widened at S3 M1 to what native's whole-status clone
217
+ * (`execute-deep-agent/index.ts` `seedStatusFromExecution`, retired with its
218
+ * orchestrator) always carried, minus the fields above that it carried by
219
+ * accident (Q-S3-16).
204
220
  */
205
- export function seedTranscriptFromExecution(status, execution) {
221
+ export function seedFromPersistedStatus(status, execution) {
206
222
  const persisted = execution.status;
207
223
  if (!persisted || persisted.messages.length === 0)
208
224
  return;
209
- for (const message of persisted.messages) {
210
- status.messages.push(clone(AgentMessageSchema, message));
211
- }
225
+ const seed = clone(AgentExecutionStatusSchema, persisted);
226
+ status.messages.push(...seed.messages);
227
+ status.subAgentExecutions.push(...seed.subAgentExecutions);
228
+ status.artifacts.push(...seed.artifacts);
229
+ status.workspaceWriteBacks.push(...seed.workspaceWriteBacks);
230
+ for (const [id, todo] of Object.entries(seed.todos))
231
+ status.todos[id] = todo;
232
+ if (seed.streamingUsage !== undefined)
233
+ status.streamingUsage = seed.streamingUsage;
234
+ if (seed.recalledMemoriesReport !== undefined)
235
+ status.recalledMemoriesReport = seed.recalledMemoriesReport;
236
+ if (seed.structuredOutput !== undefined)
237
+ status.structuredOutput = seed.structuredOutput;
212
238
  }
213
239
  // ---------------------------------------------------------------------------
214
240
  // The phases, in the order the turn runs them
@@ -352,7 +378,7 @@ export async function bindTelemetryBaggage(deps, args) {
352
378
  * whether this one runs the agent at all.
353
379
  *
354
380
  * On a reinvocation, first seed the in-progress status from the persisted
355
- * execution ({@link seedTranscriptFromExecution}), BEFORE the harness's
381
+ * execution ({@link seedFromPersistedStatus}), BEFORE the harness's
356
382
  * accumulator wraps `status.messages`. Then the file-review reconcile (the
357
383
  * dual-source half): every change set the server projected as DECIDED is
358
384
  * reconciled from the ledger decisions and the pinned git refs (approved
@@ -370,14 +396,14 @@ export async function bindTelemetryBaggage(deps, args) {
370
396
  */
371
397
  export async function reconcileReinvocation(deps, args) {
372
398
  deps.enterPhase("reconcile_reinvocation");
373
- const reinvoked = isReinvocation(args.stateIdSource, deps.input);
399
+ const reinvoked = isReinvocation(args.stateIdSource, deps.input, args.execution);
374
400
  let reconciledFileReview = false;
375
401
  let fileReviewFailed = false;
376
402
  let fileReviewFailureDetail = "";
377
403
  const discardedPaths = [];
378
404
  if (reinvoked) {
379
405
  const existingStatus = args.execution.status;
380
- seedTranscriptFromExecution(deps.status, args.execution);
406
+ seedFromPersistedStatus(deps.status, args.execution);
381
407
  if (args.workspace.captureMode && args.workspace.primaryDir) {
382
408
  const decidedSets = (existingStatus?.fileChangeSets ?? []).filter((cs) => cs.status === FileChangeSetStatus.DECIDED);
383
409
  for (const changeSet of decidedSets) {
@@ -517,23 +543,45 @@ export async function resolveMcpServersAndPolicies(deps, args) {
517
543
  }
518
544
  /**
519
545
  * Phase 5 (`index.ts` L493-501, the orchestrator's position between the
520
- * tool surface and the attachments): mount the merged skills under the
521
- * session's platform dir, reachable from the workspace through its
522
- * `.stigmer` link, and return what a prompt renders (`shared/skill-
523
- * resolver.ts`). Reads the control plane, which is why it is the runtime's
524
- * and not a harness's; each harness places the returned metadata in its own
525
- * prompt shape. The `.stigmer` link this and the attachment phase create is
526
- * removed in the runtime's finally, after the harness's own teardown.
546
+ * tool surface and the attachments): mount the skills under the session's
547
+ * platform dir, reachable from the workspace through its `.stigmer` link,
548
+ * and return what a prompt renders, per owner (`shared/skill-resolver.ts`).
549
+ * Reads the control plane, which is why it is the runtime's and not a
550
+ * harness's; each harness places the returned metadata in its own prompt
551
+ * shapes the root's in its system prompt, a sub-agent's in that
552
+ * sub-agent's, client-free.
553
+ *
554
+ * The root's refs are the blueprint's merged set (agent plus session); a
555
+ * sub-agent's are its own `skillRefs`. Each ref resolves through the same
556
+ * resolver, so a skill the root and a sub-agent share is fetched per owner
557
+ * but MOUNTED once (the hash-keyed mount marker turns the second write into
558
+ * a no-op), and a ref that fails resolves to nothing for that owner alone,
559
+ * warned and never thrown, as the root's always did. Sub-agent refs are
560
+ * resolved only for a harness whose `capabilities.subAgents` is true: the
561
+ * blueprint's sub-agents are that harness's to compile, so their skills are
562
+ * its to render. One progress label for the whole phase, as before.
563
+ *
564
+ * The `.stigmer` link this and the attachment phase create is removed in
565
+ * the runtime's finally, after the harness's own teardown. Until S3 M1 the
566
+ * native orchestrator fetched and mounted sub-agent skills itself
567
+ * (`subagent-transformer.ts` with a client); this phase is where that read
568
+ * lives now (Q-S3-5).
527
569
  */
528
570
  export async function mountSkills(deps, args) {
529
571
  deps.enterPhase("resolve_skills");
530
572
  await deps.reportProgress("Resolving skills");
531
- const skills = await resolveSkills(deps.client, args.blueprint.mergedSkillRefs, {
532
- sessionId: args.sessionId,
533
- primaryWorkspaceDir: args.primaryDir,
534
- });
573
+ const options = { sessionId: args.sessionId, primaryWorkspaceDir: args.primaryDir };
574
+ const root = await resolveSkills(deps.client, args.blueprint.mergedSkillRefs, options);
575
+ const bySubAgent = new Map();
576
+ if (args.subAgents) {
577
+ for (const subAgent of args.blueprint.subAgents) {
578
+ if (subAgent.skillRefs.length === 0)
579
+ continue;
580
+ bySubAgent.set(subAgent.name, await resolveSkills(deps.client, subAgent.skillRefs, options));
581
+ }
582
+ }
535
583
  deps.timing.mark("resolve_skills");
536
- return skills;
584
+ return { root, bySubAgent };
537
585
  }
538
586
  /**
539
587
  * Phase 5b (`index.ts` L803-838): resolve the turn's attachments, fail-hard
@@ -541,17 +589,23 @@ export async function mountSkills(deps, args) {
541
589
  * Downloads by storage key through the same artifact storage resolved for
542
590
  * status offload. The vision budget rides along so image attachments are
543
591
  * selected for inline delivery while their bytes are already in hand
544
- * (`shared/attachment-vision.ts` owns all policy); it carries the requested
545
- * model's registry vision capability, looked up from the raw
546
- * executionConfig name, because full model validation isn't needed for
547
- * this and ""/"default" (the Auto pool) resolves to unknown, which the
548
- * policy treats as sighted. The vision profile is the harness's (each
549
- * engine accepts different image shapes), so it arrives as an argument.
592
+ * (`shared/attachment-vision.ts` owns all policy); it carries the vision
593
+ * capability of the model the turn will run on: the one the execution named,
594
+ * or the registry's default when it named none — the model the native
595
+ * harness builds in that case, so the budget asks about the model that will
596
+ * actually see the image. Full model validation is not needed for this. The
597
+ * Cursor harness with no model named builds its own catalog default instead
598
+ * (`resolveModelId("default")`), so for it this is an approximation: today
599
+ * both answers read as sighted, and the exact per-harness default is S4's
600
+ * to declare (S3 M1 finding F-M1-4). The vision profile is the harness's
601
+ * (each engine accepts different image shapes), so it arrives as an
602
+ * argument.
550
603
  */
551
604
  export async function resolveTurnAttachments(deps, args) {
552
605
  deps.enterPhase("resolve_attachments");
606
+ const modelName = args.spec.executionConfig?.modelName || (await getDefaultModel());
553
607
  const visionBudget = new VisionBudget(args.visionProfile, {
554
- modelVision: await getModelVisionCapability(args.spec.executionConfig?.modelName ?? ""),
608
+ modelVision: await getModelVisionCapability(modelName),
555
609
  });
556
610
  const results = await resolveAttachments(args.spec.attachments, {
557
611
  sessionId: args.sessionId,
@@ -573,6 +627,34 @@ export async function resolveTurnAttachments(deps, args) {
573
627
  deps.timing.mark("resolve_attachments");
574
628
  return { results, visionImages, visionNotViewable };
575
629
  }
630
+ /**
631
+ * Whether a harness performs an approved call by RE-RUNNING the model, so
632
+ * the bytes an approved whole-file write lands can differ from the bytes the
633
+ * user approved unless the runner pins them itself
634
+ * ({@link applyApprovedWrites}). Keyed on the pause primitive
635
+ * (`capabilities.ts`): `deny-and-retry` denies the call and re-prompts the
636
+ * model with grants; `callback` answers "deny, stop" and the resumed session
637
+ * re-attempts the call — both regenerate. An `interrupt` engine checkpoints
638
+ * AT the call and applies its exact args on `approve`, so a runner-side
639
+ * write would land the same bytes twice and pre-empt a row the engine is
640
+ * about to execute; `none` gates nothing. Until S3 M2a the phase ran for
641
+ * every harness — a deny-and-retry mechanism the native harness would have
642
+ * met on its first deny-gated file approval (F-M2a-2, Q-M2a-3).
643
+ */
644
+ export function regeneratesApprovedWrites(pausePrimitive) {
645
+ switch (pausePrimitive) {
646
+ case "deny-and-retry":
647
+ case "callback":
648
+ return true;
649
+ case "interrupt":
650
+ case "none":
651
+ return false;
652
+ default: {
653
+ const exhaustive = pausePrimitive;
654
+ throw new Error(`regeneratesApprovedWrites: unknown pause primitive ${String(exhaustive)}`);
655
+ }
656
+ }
657
+ }
576
658
  /**
577
659
  * Phase 5b3 (`index.ts` L849-867): exact-apply approved whole-file writes
578
660
  * (HITL "what you approve is what gets applied"). A deny-only harness
@@ -585,16 +667,20 @@ export async function resolveTurnAttachments(deps, args) {
585
667
  * uncertain case degrades to that path, so this can never corrupt a file
586
668
  * (see `shared/exact-apply.ts`).
587
669
  *
588
- * Scoped OUT of capture mode, which does not reinvoke the model for file
589
- * edits: it applies the exact captured bytes itself in the reconcile.
670
+ * Scoped to the harnesses that regenerate ({@link regeneratesApprovedWrites})
671
+ * and OUT of capture mode, which does not reinvoke the model for file edits:
672
+ * it applies the exact captured bytes itself in the reconcile.
590
673
  *
591
674
  * The caller persists when the returned set is non-empty (the applied state
592
675
  * must be durable before the continuation runs, and the UI reflects it at
593
676
  * once); this phase, like every phase, never persists.
594
677
  */
595
678
  export async function applyApprovedWrites(deps, args) {
596
- const { workspace, reinvocation } = args;
597
- if (workspace.captureMode || !reinvocation.isReinvocation || reinvocation.approvalDecisions.size === 0) {
679
+ const { pausePrimitive, workspace, reinvocation } = args;
680
+ if (!regeneratesApprovedWrites(pausePrimitive) ||
681
+ workspace.captureMode ||
682
+ !reinvocation.isReinvocation ||
683
+ reinvocation.approvalDecisions.size === 0) {
598
684
  return new Set();
599
685
  }
600
686
  deps.enterPhase("apply_approved_writes");
@@ -698,14 +784,23 @@ export async function resolveTurnContext(deps, capabilities, frame, persist) {
698
784
  if (reinvoked.kind === "settled")
699
785
  return { kind: "settled", settlement: reinvoked.settlement };
700
786
  const mcp = await resolveMcpServersAndPolicies(deps, { execution, session, sessionId, blueprint, environment });
701
- const skills = await mountSkills(deps, { blueprint, sessionId, primaryDir: workspace.primaryDir });
787
+ const skills = await mountSkills(deps, {
788
+ blueprint,
789
+ sessionId,
790
+ primaryDir: workspace.primaryDir,
791
+ subAgents: capabilities.subAgents,
792
+ });
702
793
  const attachments = await resolveTurnAttachments(deps, {
703
794
  spec,
704
795
  sessionId,
705
796
  primaryDir: workspace.primaryDir,
706
797
  visionProfile: capabilities.visionProfile,
707
798
  });
708
- const appliedToolCallIds = await applyApprovedWrites(deps, { workspace, reinvocation: reinvoked.reinvocation });
799
+ const appliedToolCallIds = await applyApprovedWrites(deps, {
800
+ pausePrimitive: capabilities.pausePrimitive,
801
+ workspace,
802
+ reinvocation: reinvoked.reinvocation,
803
+ });
709
804
  if (appliedToolCallIds.size > 0) {
710
805
  // Persist the applied writes (tool calls now COMPLETED with the approved
711
806
  // diff) before reinvocation, so the applied state is durable even if the
@@ -1 +1 @@
1
- {"version":3,"file":"turn-context.js","sourceRoot":"","sources":["../../src/harness/turn-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-context.js","sourceRoot":"","sources":["../../src/harness/turn-context.ts"],"names":[],"mappings":"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"}