@bastani/atomic 0.9.18 → 0.9.19-alpha.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 (876) hide show
  1. package/CHANGELOG.md +206 -0
  2. package/README.md +2 -2
  3. package/dist/builtin/intercom/CHANGELOG.md +51 -0
  4. package/dist/builtin/intercom/README.md +28 -18
  5. package/dist/builtin/intercom/broker/broker.ts +81 -9
  6. package/dist/builtin/intercom/broker/client.ts +45 -1
  7. package/dist/builtin/intercom/broker/framing.ts +5 -2
  8. package/dist/builtin/intercom/broker/group-membership.ts +4 -2
  9. package/dist/builtin/intercom/broker/presence-handler.ts +14 -0
  10. package/dist/builtin/intercom/broker/send-handler.ts +61 -6
  11. package/dist/builtin/intercom/broker/terminal-questions.ts +29 -0
  12. package/dist/builtin/intercom/index.bundle.mjs +1120 -783
  13. package/dist/builtin/intercom/package.json +2 -2
  14. package/dist/builtin/intercom/recipient-purpose.ts +9 -0
  15. package/dist/builtin/intercom/recoverable-disconnect.ts +2 -3
  16. package/dist/builtin/intercom/retry-policy.ts +4 -2
  17. package/dist/builtin/intercom/skills/intercom/SKILL.md +8 -7
  18. package/dist/builtin/intercom/types.ts +18 -3
  19. package/dist/builtin/mcp/CHANGELOG.md +6 -0
  20. package/dist/builtin/mcp/README.md +2 -0
  21. package/dist/builtin/mcp/index.bundle.mjs +2201 -12000
  22. package/dist/builtin/mcp/package.json +2 -2
  23. package/dist/builtin/subagents/CHANGELOG.md +57 -0
  24. package/dist/builtin/subagents/README.md +46 -23
  25. package/dist/builtin/subagents/agents/code-simplifier.md +1 -1
  26. package/dist/builtin/subagents/agents/codebase-analyzer.md +1 -1
  27. package/dist/builtin/subagents/agents/codebase-locator.md +2 -2
  28. package/dist/builtin/subagents/agents/codebase-online-researcher.md +8 -8
  29. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -2
  30. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +1 -1
  31. package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -2
  32. package/dist/builtin/subagents/agents/debugger.md +2 -2
  33. package/dist/builtin/subagents/agents/worker.md +1 -1
  34. package/dist/builtin/subagents/package.json +2 -2
  35. package/dist/builtin/subagents/skills/herdr/LICENSE +201 -0
  36. package/dist/builtin/subagents/skills/herdr/SKILL.md +202 -0
  37. package/dist/builtin/subagents/skills/subagent/SKILL.md +41 -35
  38. package/dist/builtin/subagents/skills/tmux/SKILL.md +1 -1
  39. package/dist/builtin/subagents/src/extension/index.bundle.mjs +1414 -656
  40. package/dist/builtin/web-access/CHANGELOG.md +19 -0
  41. package/dist/builtin/web-access/README.md +31 -24
  42. package/dist/builtin/web-access/index.bundle.mjs +42723 -26674
  43. package/dist/builtin/web-access/package.json +3 -2
  44. package/dist/builtin/workflows/CHANGELOG.md +131 -0
  45. package/dist/builtin/workflows/README.md +15 -16
  46. package/dist/builtin/workflows/builtin/adversarial-verification.js +5 -7
  47. package/dist/builtin/workflows/builtin/{chunk-hqpe2cyx.js → chunk-1jth021m.js} +85 -85
  48. package/dist/builtin/workflows/builtin/{chunk-7430zyas.js → chunk-2377r57g.js} +5 -3
  49. package/dist/builtin/workflows/builtin/{chunk-79fjkcvh.js → chunk-31j2gs7h.js} +18 -18
  50. package/dist/builtin/workflows/builtin/{chunk-wgccch41.js → chunk-6w6cvk6b.js} +16 -16
  51. package/dist/builtin/workflows/builtin/{chunk-zbekjqew.js → chunk-a2kdsqn8.js} +4 -4
  52. package/dist/builtin/workflows/builtin/{chunk-ze5x3d1r.js → chunk-fg9esgkj.js} +7 -7
  53. package/dist/builtin/workflows/builtin/{chunk-n8h4yyew.js → chunk-g0csgs7w.js} +11 -11
  54. package/dist/builtin/workflows/builtin/{chunk-b0v2xab1.js → chunk-ngkqkzej.js} +221 -23
  55. package/dist/builtin/workflows/builtin/{chunk-ed4jfn5t.js → chunk-nkrafh9s.js} +61 -61
  56. package/dist/builtin/workflows/builtin/{chunk-reqr3sr3.js → chunk-wf741bv3.js} +22 -22
  57. package/dist/builtin/workflows/builtin/{chunk-42s7sw0b.js → chunk-yeee2jrc.js} +19 -19
  58. package/dist/builtin/workflows/builtin/{chunk-6fqs7c01.js → chunk-z0d03ktm.js} +1 -1
  59. package/dist/builtin/workflows/builtin/{chunk-k3w87x8y.js → chunk-z29qbehr.js} +10 -10
  60. package/dist/builtin/workflows/builtin/classify-and-act.js +5 -6
  61. package/dist/builtin/workflows/builtin/fan-out-and-synthesize.js +3 -4
  62. package/dist/builtin/workflows/builtin/generate-and-filter.js +5 -6
  63. package/dist/builtin/workflows/builtin/goal.js +7 -8
  64. package/dist/builtin/workflows/builtin/index.js +20 -22
  65. package/dist/builtin/workflows/builtin/loop-until-done.js +5 -6
  66. package/dist/builtin/workflows/builtin/open-claude-design.js +3 -3
  67. package/dist/builtin/workflows/builtin/ralph.js +7 -8
  68. package/dist/builtin/workflows/builtin/steering-context.js +3 -3
  69. package/dist/builtin/workflows/builtin/tournament.js +5 -7
  70. package/dist/builtin/workflows/package.json +6 -6
  71. package/dist/builtin/workflows/src/extension/index.bundle.mjs +57318 -25709
  72. package/dist/builtin/workflows/src/index.js +1413 -589
  73. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +4 -1
  74. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +1 -1
  75. package/dist/cli/config-selector.js.map +1 -1
  76. package/dist/cli/startup-ui.d.ts +1 -1
  77. package/dist/cli/startup-ui.js.map +1 -1
  78. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  79. package/dist/core/agent-session-auto-compaction.js +6 -5
  80. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  81. package/dist/core/agent-session-bash.d.ts +1 -1
  82. package/dist/core/agent-session-bash.d.ts.map +1 -1
  83. package/dist/core/agent-session-bash.js +5 -1
  84. package/dist/core/agent-session-bash.js.map +1 -1
  85. package/dist/core/agent-session-compaction.d.ts +1 -1
  86. package/dist/core/agent-session-compaction.js +1 -1
  87. package/dist/core/agent-session-compaction.js.map +1 -1
  88. package/dist/core/agent-session-custom-message-commit.d.ts +1 -1
  89. package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -1
  90. package/dist/core/agent-session-custom-message-commit.js +33 -2
  91. package/dist/core/agent-session-custom-message-commit.js.map +1 -1
  92. package/dist/core/agent-session-delivery-forwarding.d.ts +1 -1
  93. package/dist/core/agent-session-delivery-forwarding.js.map +1 -1
  94. package/dist/core/agent-session-events.d.ts.map +1 -1
  95. package/dist/core/agent-session-events.js +5 -0
  96. package/dist/core/agent-session-events.js.map +1 -1
  97. package/dist/core/agent-session-export.d.ts +1 -1
  98. package/dist/core/agent-session-export.js.map +1 -1
  99. package/dist/core/agent-session-extension-bindings.d.ts +8 -1
  100. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  101. package/dist/core/agent-session-extension-bindings.js +45 -3
  102. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  103. package/dist/core/agent-session-message-queue.d.ts +2 -2
  104. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  105. package/dist/core/agent-session-message-queue.js +22 -8
  106. package/dist/core/agent-session-message-queue.js.map +1 -1
  107. package/dist/core/agent-session-methods.d.ts +21 -8
  108. package/dist/core/agent-session-methods.d.ts.map +1 -1
  109. package/dist/core/agent-session-methods.js.map +1 -1
  110. package/dist/core/agent-session-persistent-custom-messages.d.ts +1 -1
  111. package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -1
  112. package/dist/core/agent-session-persistent-custom-messages.js +13 -3
  113. package/dist/core/agent-session-persistent-custom-messages.js.map +1 -1
  114. package/dist/core/agent-session-post-tool-compaction.js +1 -1
  115. package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
  116. package/dist/core/agent-session-prompt.d.ts +2 -2
  117. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  118. package/dist/core/agent-session-prompt.js +105 -18
  119. package/dist/core/agent-session-prompt.js.map +1 -1
  120. package/dist/core/agent-session-queue-pause.d.ts.map +1 -1
  121. package/dist/core/agent-session-queue-pause.js +11 -0
  122. package/dist/core/agent-session-queue-pause.js.map +1 -1
  123. package/dist/core/agent-session-runtime-auth.d.ts +1 -1
  124. package/dist/core/agent-session-runtime-auth.js.map +1 -1
  125. package/dist/core/agent-session-runtime.d.ts +13 -4
  126. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  127. package/dist/core/agent-session-runtime.js +27 -4
  128. package/dist/core/agent-session-runtime.js.map +1 -1
  129. package/dist/core/agent-session-services.d.ts +5 -1
  130. package/dist/core/agent-session-services.d.ts.map +1 -1
  131. package/dist/core/agent-session-services.js +44 -34
  132. package/dist/core/agent-session-services.js.map +1 -1
  133. package/dist/core/agent-session-state.d.ts +1 -1
  134. package/dist/core/agent-session-state.js.map +1 -1
  135. package/dist/core/agent-session-tasks.d.ts +14 -0
  136. package/dist/core/agent-session-tasks.d.ts.map +1 -0
  137. package/dist/core/agent-session-tasks.js +120 -0
  138. package/dist/core/agent-session-tasks.js.map +1 -0
  139. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  140. package/dist/core/agent-session-tool-hooks.js +2 -0
  141. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  142. package/dist/core/agent-session-tool-registry.d.ts +1 -0
  143. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  144. package/dist/core/agent-session-tool-registry.js +52 -5
  145. package/dist/core/agent-session-tool-registry.js.map +1 -1
  146. package/dist/core/agent-session-transfer.d.ts.map +1 -1
  147. package/dist/core/agent-session-transfer.js +7 -0
  148. package/dist/core/agent-session-transfer.js.map +1 -1
  149. package/dist/core/agent-session-tree.d.ts.map +1 -1
  150. package/dist/core/agent-session-tree.js +3 -0
  151. package/dist/core/agent-session-tree.js.map +1 -1
  152. package/dist/core/agent-session-types.d.ts +4 -2
  153. package/dist/core/agent-session-types.d.ts.map +1 -1
  154. package/dist/core/agent-session-types.js +2 -0
  155. package/dist/core/agent-session-types.js.map +1 -1
  156. package/dist/core/agent-session.d.ts +8 -1
  157. package/dist/core/agent-session.d.ts.map +1 -1
  158. package/dist/core/agent-session.js +29 -1
  159. package/dist/core/agent-session.js.map +1 -1
  160. package/dist/core/bash-executor.d.ts +1 -1
  161. package/dist/core/bash-executor.js.map +1 -1
  162. package/dist/core/export-html/index.js.map +1 -1
  163. package/dist/core/export-html/tool-renderer.d.ts +1 -1
  164. package/dist/core/export-html/tool-renderer.js.map +1 -1
  165. package/dist/core/extension-session-state.js.map +1 -1
  166. package/dist/core/extensions/agent-events.d.ts +4 -4
  167. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  168. package/dist/core/extensions/agent-events.js.map +1 -1
  169. package/dist/core/extensions/api-types.d.ts +10 -2
  170. package/dist/core/extensions/api-types.d.ts.map +1 -1
  171. package/dist/core/extensions/api-types.js.map +1 -1
  172. package/dist/core/extensions/context-types.d.ts +15 -0
  173. package/dist/core/extensions/context-types.d.ts.map +1 -1
  174. package/dist/core/extensions/context-types.js.map +1 -1
  175. package/dist/core/extensions/event-results.d.ts +1 -1
  176. package/dist/core/extensions/event-results.js.map +1 -1
  177. package/dist/core/extensions/event-types.d.ts +2 -1
  178. package/dist/core/extensions/event-types.d.ts.map +1 -1
  179. package/dist/core/extensions/event-types.js.map +1 -1
  180. package/dist/core/extensions/index.d.ts +3 -2
  181. package/dist/core/extensions/index.d.ts.map +1 -1
  182. package/dist/core/extensions/index.js.map +1 -1
  183. package/dist/core/extensions/loader-api.d.ts +1 -1
  184. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  185. package/dist/core/extensions/loader-api.js +10 -0
  186. package/dist/core/extensions/loader-api.js.map +1 -1
  187. package/dist/core/extensions/loader-core.d.ts +1 -1
  188. package/dist/core/extensions/loader-core.js.map +1 -1
  189. package/dist/core/extensions/loader-discovery.d.ts +1 -1
  190. package/dist/core/extensions/loader-discovery.js.map +1 -1
  191. package/dist/core/extensions/loader-host-modules.d.ts +1 -1
  192. package/dist/core/extensions/loader-host-modules.d.ts.map +1 -1
  193. package/dist/core/extensions/loader-host-modules.js +5 -2
  194. package/dist/core/extensions/loader-host-modules.js.map +1 -1
  195. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  196. package/dist/core/extensions/loader-runtime.js +3 -0
  197. package/dist/core/extensions/loader-runtime.js.map +1 -1
  198. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  199. package/dist/core/extensions/loader-virtual-modules.js +6 -1
  200. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  201. package/dist/core/extensions/loader.d.ts +1 -1
  202. package/dist/core/extensions/loader.js.map +1 -1
  203. package/dist/core/extensions/message-types.d.ts +1 -1
  204. package/dist/core/extensions/message-types.js.map +1 -1
  205. package/dist/core/extensions/reactive-widget.d.ts +6 -0
  206. package/dist/core/extensions/reactive-widget.d.ts.map +1 -1
  207. package/dist/core/extensions/reactive-widget.js +7 -1
  208. package/dist/core/extensions/reactive-widget.js.map +1 -1
  209. package/dist/core/extensions/runner-context.d.ts +12 -2
  210. package/dist/core/extensions/runner-context.d.ts.map +1 -1
  211. package/dist/core/extensions/runner-context.js +49 -4
  212. package/dist/core/extensions/runner-context.js.map +1 -1
  213. package/dist/core/extensions/runner-events.d.ts +1 -1
  214. package/dist/core/extensions/runner-events.d.ts.map +1 -1
  215. package/dist/core/extensions/runner-events.js +17 -2
  216. package/dist/core/extensions/runner-events.js.map +1 -1
  217. package/dist/core/extensions/runner-shortcuts.d.ts.map +1 -1
  218. package/dist/core/extensions/runner-shortcuts.js +32 -3
  219. package/dist/core/extensions/runner-shortcuts.js.map +1 -1
  220. package/dist/core/extensions/runner-ui.js.map +1 -1
  221. package/dist/core/extensions/runner.d.ts +17 -2
  222. package/dist/core/extensions/runner.d.ts.map +1 -1
  223. package/dist/core/extensions/runner.js +69 -19
  224. package/dist/core/extensions/runner.js.map +1 -1
  225. package/dist/core/extensions/runtime-types.d.ts +8 -1
  226. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  227. package/dist/core/extensions/runtime-types.js.map +1 -1
  228. package/dist/core/extensions/tool-types.d.ts +1 -1
  229. package/dist/core/extensions/tool-types.js.map +1 -1
  230. package/dist/core/extensions/types.d.ts +1 -0
  231. package/dist/core/extensions/types.d.ts.map +1 -1
  232. package/dist/core/extensions/types.js.map +1 -1
  233. package/dist/core/extensions/ui-types.d.ts +25 -1
  234. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  235. package/dist/core/extensions/ui-types.js.map +1 -1
  236. package/dist/core/extensions/workflow-activity-hub.d.ts +25 -0
  237. package/dist/core/extensions/workflow-activity-hub.d.ts.map +1 -0
  238. package/dist/core/extensions/workflow-activity-hub.js +183 -0
  239. package/dist/core/extensions/workflow-activity-hub.js.map +1 -0
  240. package/dist/core/extensions/workflow-events.d.ts +118 -0
  241. package/dist/core/extensions/workflow-events.d.ts.map +1 -0
  242. package/dist/core/extensions/workflow-events.js +2 -0
  243. package/dist/core/extensions/workflow-events.js.map +1 -0
  244. package/dist/core/footer-data-provider.d.ts +8 -4
  245. package/dist/core/footer-data-provider.d.ts.map +1 -1
  246. package/dist/core/footer-data-provider.js +97 -11
  247. package/dist/core/footer-data-provider.js.map +1 -1
  248. package/dist/core/index.d.ts +3 -3
  249. package/dist/core/index.js.map +1 -1
  250. package/dist/core/keybinding-identity.d.ts +4 -0
  251. package/dist/core/keybinding-identity.d.ts.map +1 -0
  252. package/dist/core/keybinding-identity.js +10 -0
  253. package/dist/core/keybinding-identity.js.map +1 -0
  254. package/dist/core/keybindings.d.ts +37 -2
  255. package/dist/core/keybindings.d.ts.map +1 -1
  256. package/dist/core/keybindings.js +9 -2
  257. package/dist/core/keybindings.js.map +1 -1
  258. package/dist/core/mandatory-runtime-tools.d.ts +1 -1
  259. package/dist/core/mandatory-runtime-tools.js.map +1 -1
  260. package/dist/core/model-fallback-failures.js +2 -2
  261. package/dist/core/model-fallback-failures.js.map +1 -1
  262. package/dist/core/model-registry.d.ts +5 -1
  263. package/dist/core/model-registry.d.ts.map +1 -1
  264. package/dist/core/model-registry.js +8 -0
  265. package/dist/core/model-registry.js.map +1 -1
  266. package/dist/core/model-resolver-defaults.js +1 -1
  267. package/dist/core/model-resolver-defaults.js.map +1 -1
  268. package/dist/core/resource-loader-assets.js.map +1 -1
  269. package/dist/core/resource-loader-core.d.ts +1 -1
  270. package/dist/core/resource-loader-core.js.map +1 -1
  271. package/dist/core/resource-loader-internals.d.ts +2 -2
  272. package/dist/core/resource-loader-internals.js.map +1 -1
  273. package/dist/core/resource-loader-reload.d.ts +2 -0
  274. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  275. package/dist/core/resource-loader-reload.js +231 -191
  276. package/dist/core/resource-loader-reload.js.map +1 -1
  277. package/dist/core/resource-loader-types.d.ts +4 -2
  278. package/dist/core/resource-loader-types.d.ts.map +1 -1
  279. package/dist/core/resource-loader-types.js.map +1 -1
  280. package/dist/core/retry-policy.d.ts +1 -0
  281. package/dist/core/retry-policy.d.ts.map +1 -1
  282. package/dist/core/retry-policy.js +2 -1
  283. package/dist/core/retry-policy.js.map +1 -1
  284. package/dist/core/sdk-exports.d.ts +3 -3
  285. package/dist/core/sdk-exports.d.ts.map +1 -1
  286. package/dist/core/sdk-exports.js +1 -1
  287. package/dist/core/sdk-exports.js.map +1 -1
  288. package/dist/core/sdk-types.d.ts +2 -2
  289. package/dist/core/sdk-types.js.map +1 -1
  290. package/dist/core/sdk.js.map +1 -1
  291. package/dist/core/settings-manager-basic-accessors.d.ts +6 -3
  292. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  293. package/dist/core/settings-manager-basic-accessors.js +25 -8
  294. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  295. package/dist/core/settings-manager-core.d.ts.map +1 -1
  296. package/dist/core/settings-manager-core.js +10 -4
  297. package/dist/core/settings-manager-core.js.map +1 -1
  298. package/dist/core/settings-manager.d.ts +1 -1
  299. package/dist/core/settings-manager.d.ts.map +1 -1
  300. package/dist/core/settings-manager.js.map +1 -1
  301. package/dist/core/settings-storage.d.ts +1 -0
  302. package/dist/core/settings-storage.d.ts.map +1 -1
  303. package/dist/core/settings-storage.js +18 -0
  304. package/dist/core/settings-storage.js.map +1 -1
  305. package/dist/core/settings-types.d.ts +17 -0
  306. package/dist/core/settings-types.d.ts.map +1 -1
  307. package/dist/core/settings-types.js.map +1 -1
  308. package/dist/core/slash-commands.d.ts.map +1 -1
  309. package/dist/core/slash-commands.js +6 -5
  310. package/dist/core/slash-commands.js.map +1 -1
  311. package/dist/core/system-prompt.d.ts.map +1 -1
  312. package/dist/core/system-prompt.js +5 -6
  313. package/dist/core/system-prompt.js.map +1 -1
  314. package/dist/core/tasks/agent-adapter.d.ts +44 -0
  315. package/dist/core/tasks/agent-adapter.d.ts.map +1 -0
  316. package/dist/core/tasks/agent-adapter.js +112 -0
  317. package/dist/core/tasks/agent-adapter.js.map +1 -0
  318. package/dist/core/tasks/command-output.d.ts +15 -0
  319. package/dist/core/tasks/command-output.d.ts.map +1 -0
  320. package/dist/core/tasks/command-output.js +29 -0
  321. package/dist/core/tasks/command-output.js.map +1 -0
  322. package/dist/core/tasks/completion-ordering.d.ts +11 -0
  323. package/dist/core/tasks/completion-ordering.d.ts.map +1 -0
  324. package/dist/core/tasks/completion-ordering.js +19 -0
  325. package/dist/core/tasks/completion-ordering.js.map +1 -0
  326. package/dist/core/tasks/completion.d.ts +36 -0
  327. package/dist/core/tasks/completion.d.ts.map +1 -0
  328. package/dist/core/tasks/completion.js +119 -0
  329. package/dist/core/tasks/completion.js.map +1 -0
  330. package/dist/core/tasks/contracts.d.ts +404 -0
  331. package/dist/core/tasks/contracts.d.ts.map +1 -0
  332. package/dist/core/tasks/contracts.js +2 -0
  333. package/dist/core/tasks/contracts.js.map +1 -0
  334. package/dist/core/tasks/execution-scope.d.ts +10 -0
  335. package/dist/core/tasks/execution-scope.d.ts.map +1 -0
  336. package/dist/core/tasks/execution-scope.js +27 -0
  337. package/dist/core/tasks/execution-scope.js.map +1 -0
  338. package/dist/core/tasks/owner-store.d.ts +53 -0
  339. package/dist/core/tasks/owner-store.d.ts.map +1 -0
  340. package/dist/core/tasks/owner-store.js +155 -0
  341. package/dist/core/tasks/owner-store.js.map +1 -0
  342. package/dist/core/tasks/pause.d.ts +4 -0
  343. package/dist/core/tasks/pause.d.ts.map +1 -0
  344. package/dist/core/tasks/pause.js +49 -0
  345. package/dist/core/tasks/pause.js.map +1 -0
  346. package/dist/core/tasks/supervisor.d.ts +123 -0
  347. package/dist/core/tasks/supervisor.d.ts.map +1 -0
  348. package/dist/core/tasks/supervisor.js +942 -0
  349. package/dist/core/tasks/supervisor.js.map +1 -0
  350. package/dist/core/tasks/transcript.d.ts +23 -0
  351. package/dist/core/tasks/transcript.d.ts.map +1 -0
  352. package/dist/core/tasks/transcript.js +74 -0
  353. package/dist/core/tasks/transcript.js.map +1 -0
  354. package/dist/core/tools/ask-user-question/ask-user-question.d.ts +2 -2
  355. package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
  356. package/dist/core/tools/ask-user-question/ask-user-question.js +8 -4
  357. package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
  358. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts +1 -1
  359. package/dist/core/tools/ask-user-question/state/build-questionnaire.js.map +1 -1
  360. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +1 -1
  361. package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
  362. package/dist/core/tools/ask-user-question/view/components/multi-select-view.d.ts +1 -1
  363. package/dist/core/tools/ask-user-question/view/components/multi-select-view.js.map +1 -1
  364. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts +1 -1
  365. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.js.map +1 -1
  366. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts +1 -1
  367. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js.map +1 -1
  368. package/dist/core/tools/ask-user-question/view/components/submit-picker.d.ts +1 -1
  369. package/dist/core/tools/ask-user-question/view/components/submit-picker.js.map +1 -1
  370. package/dist/core/tools/ask-user-question/view/components/tab-bar.d.ts +1 -1
  371. package/dist/core/tools/ask-user-question/view/components/tab-bar.js.map +1 -1
  372. package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts +1 -1
  373. package/dist/core/tools/ask-user-question/view/dialog-builder.js.map +1 -1
  374. package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts +1 -1
  375. package/dist/core/tools/ask-user-question/view/tab-content-strategy.js.map +1 -1
  376. package/dist/core/tools/bash-pty-native.d.ts +32 -3
  377. package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
  378. package/dist/core/tools/bash-pty-native.js +198 -1
  379. package/dist/core/tools/bash-pty-native.js.map +1 -1
  380. package/dist/core/tools/bash.d.ts +25 -5
  381. package/dist/core/tools/bash.d.ts.map +1 -1
  382. package/dist/core/tools/bash.js +100 -10
  383. package/dist/core/tools/bash.js.map +1 -1
  384. package/dist/core/tools/edit.d.ts +3 -0
  385. package/dist/core/tools/edit.d.ts.map +1 -1
  386. package/dist/core/tools/edit.js +92 -14
  387. package/dist/core/tools/edit.js.map +1 -1
  388. package/dist/core/tools/file-mutation-coordinator.d.ts +255 -0
  389. package/dist/core/tools/file-mutation-coordinator.d.ts.map +1 -0
  390. package/dist/core/tools/file-mutation-coordinator.js +300 -0
  391. package/dist/core/tools/file-mutation-coordinator.js.map +1 -0
  392. package/dist/core/tools/file-mutation-queue.d.ts +14 -1
  393. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  394. package/dist/core/tools/file-mutation-queue.js +15 -3
  395. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  396. package/dist/core/tools/find.js.map +1 -1
  397. package/dist/core/tools/grep.js.map +1 -1
  398. package/dist/core/tools/hashline.d.ts +9 -0
  399. package/dist/core/tools/hashline.d.ts.map +1 -1
  400. package/dist/core/tools/hashline.js +12 -1
  401. package/dist/core/tools/hashline.js.map +1 -1
  402. package/dist/core/tools/index.d.ts +15 -4
  403. package/dist/core/tools/index.d.ts.map +1 -1
  404. package/dist/core/tools/index.js +79 -12
  405. package/dist/core/tools/index.js.map +1 -1
  406. package/dist/core/tools/kill.d.ts +17 -0
  407. package/dist/core/tools/kill.d.ts.map +1 -0
  408. package/dist/core/tools/kill.js +49 -0
  409. package/dist/core/tools/kill.js.map +1 -0
  410. package/dist/core/tools/ls.js.map +1 -1
  411. package/dist/core/tools/non-minting-snapshot-store.d.ts +49 -0
  412. package/dist/core/tools/non-minting-snapshot-store.d.ts.map +1 -0
  413. package/dist/core/tools/non-minting-snapshot-store.js +64 -0
  414. package/dist/core/tools/non-minting-snapshot-store.js.map +1 -0
  415. package/dist/core/tools/powershell.d.ts +100 -34
  416. package/dist/core/tools/powershell.d.ts.map +1 -1
  417. package/dist/core/tools/powershell.js +41 -11
  418. package/dist/core/tools/powershell.js.map +1 -1
  419. package/dist/core/tools/read-document-extract.js.map +1 -1
  420. package/dist/core/tools/read.d.ts.map +1 -1
  421. package/dist/core/tools/read.js +1 -2
  422. package/dist/core/tools/read.js.map +1 -1
  423. package/dist/core/tools/render-utils.d.ts +1 -1
  424. package/dist/core/tools/render-utils.js.map +1 -1
  425. package/dist/core/tools/resource-selectors.d.ts +1 -1
  426. package/dist/core/tools/resource-selectors.d.ts.map +1 -1
  427. package/dist/core/tools/resource-selectors.js +21 -10
  428. package/dist/core/tools/resource-selectors.js.map +1 -1
  429. package/dist/core/tools/search.js.map +1 -1
  430. package/dist/core/tools/todos-render.d.ts +1 -1
  431. package/dist/core/tools/todos-render.js.map +1 -1
  432. package/dist/core/tools/write.d.ts +30 -1
  433. package/dist/core/tools/write.d.ts.map +1 -1
  434. package/dist/core/tools/write.js +98 -10
  435. package/dist/core/tools/write.js.map +1 -1
  436. package/dist/core/workflow-stage-admission.d.ts +24 -0
  437. package/dist/core/workflow-stage-admission.d.ts.map +1 -1
  438. package/dist/core/workflow-stage-admission.js +87 -3
  439. package/dist/core/workflow-stage-admission.js.map +1 -1
  440. package/dist/extensions/herdr/activity.d.ts +15 -0
  441. package/dist/extensions/herdr/activity.d.ts.map +1 -0
  442. package/dist/extensions/herdr/activity.js +24 -0
  443. package/dist/extensions/herdr/activity.js.map +1 -0
  444. package/dist/extensions/herdr/environment.d.ts +7 -0
  445. package/dist/extensions/herdr/environment.d.ts.map +1 -0
  446. package/dist/extensions/herdr/environment.js +6 -0
  447. package/dist/extensions/herdr/environment.js.map +1 -0
  448. package/dist/extensions/herdr/index.d.ts +9 -0
  449. package/dist/extensions/herdr/index.d.ts.map +1 -0
  450. package/dist/extensions/herdr/index.js +225 -0
  451. package/dist/extensions/herdr/index.js.map +1 -0
  452. package/dist/extensions/herdr/pane-owner.d.ts +30 -0
  453. package/dist/extensions/herdr/pane-owner.d.ts.map +1 -0
  454. package/dist/extensions/herdr/pane-owner.js +111 -0
  455. package/dist/extensions/herdr/pane-owner.js.map +1 -0
  456. package/dist/extensions/herdr/transport.d.ts +8 -0
  457. package/dist/extensions/herdr/transport.d.ts.map +1 -0
  458. package/dist/extensions/herdr/transport.js +28 -0
  459. package/dist/extensions/herdr/transport.js.map +1 -0
  460. package/dist/extensions/index.d.ts.map +1 -1
  461. package/dist/extensions/index.js +2 -0
  462. package/dist/extensions/index.js.map +1 -1
  463. package/dist/extensions/llama/huggingface-ui.d.ts +1 -1
  464. package/dist/extensions/llama/huggingface-ui.js.map +1 -1
  465. package/dist/extensions/llama/ui.js.map +1 -1
  466. package/dist/index-extensions.d.ts +3 -2
  467. package/dist/index-extensions.d.ts.map +1 -1
  468. package/dist/index-extensions.js.map +1 -1
  469. package/dist/index.d.ts +14 -5
  470. package/dist/index.d.ts.map +1 -1
  471. package/dist/index.js +10 -1
  472. package/dist/index.js.map +1 -1
  473. package/dist/main-session.js.map +1 -1
  474. package/dist/main.d.ts.map +1 -1
  475. package/dist/main.js +149 -69
  476. package/dist/main.js.map +1 -1
  477. package/dist/modes/interactive/components/armin.js.map +1 -1
  478. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  479. package/dist/modes/interactive/components/atomic-banner.d.ts +1 -1
  480. package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
  481. package/dist/modes/interactive/components/atomic-working-status.js.map +1 -1
  482. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  483. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
  484. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  485. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  486. package/dist/modes/interactive/components/chat-message-renderer.d.ts +12 -0
  487. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  488. package/dist/modes/interactive/components/chat-message-renderer.js +44 -0
  489. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  490. package/dist/modes/interactive/components/chat-session-host-actions.d.ts +1 -1
  491. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  492. package/dist/modes/interactive/components/chat-session-host-actions.js +43 -8
  493. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  494. package/dist/modes/interactive/components/chat-session-host-editor.d.ts +1 -1
  495. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
  496. package/dist/modes/interactive/components/chat-session-host-events.d.ts +2 -2
  497. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  498. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +2 -2
  499. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  500. package/dist/modes/interactive/components/chat-session-host-rendering.js +12 -3
  501. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  502. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +4 -5
  503. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
  504. package/dist/modes/interactive/components/chat-session-host-runtime.js +8 -6
  505. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
  506. package/dist/modes/interactive/components/chat-session-host-state.d.ts +7 -2
  507. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  508. package/dist/modes/interactive/components/chat-session-host-state.js +1 -0
  509. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  510. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.d.ts +1 -1
  511. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.js.map +1 -1
  512. package/dist/modes/interactive/components/chat-session-host-types.d.ts +8 -3
  513. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
  514. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
  515. package/dist/modes/interactive/components/chat-session-host-utils.d.ts +1 -1
  516. package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -1
  517. package/dist/modes/interactive/components/chat-session-host-utils.js +2 -0
  518. package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -1
  519. package/dist/modes/interactive/components/chat-session-host.d.ts +17 -2
  520. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  521. package/dist/modes/interactive/components/chat-session-host.js +100 -3
  522. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  523. package/dist/modes/interactive/components/chat-transcript.d.ts +1 -0
  524. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  525. package/dist/modes/interactive/components/chat-transcript.js +1 -1
  526. package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
  527. package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
  528. package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
  529. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  530. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  531. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  532. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  533. package/dist/modes/interactive/components/custom-message.js +12 -0
  534. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  535. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  536. package/dist/modes/interactive/components/diff.js.map +1 -1
  537. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  538. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  539. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  540. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  541. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  542. package/dist/modes/interactive/components/first-time-setup.d.ts +1 -1
  543. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  544. package/dist/modes/interactive/components/footer.d.ts +7 -6
  545. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  546. package/dist/modes/interactive/components/footer.js +27 -9
  547. package/dist/modes/interactive/components/footer.js.map +1 -1
  548. package/dist/modes/interactive/components/host-input-form-mount.js.map +1 -1
  549. package/dist/modes/interactive/components/host-input-form.d.ts +1 -1
  550. package/dist/modes/interactive/components/host-input-form.js.map +1 -1
  551. package/dist/modes/interactive/components/index.d.ts +2 -2
  552. package/dist/modes/interactive/components/index.js.map +1 -1
  553. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  554. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  555. package/dist/modes/interactive/components/mermaid.d.ts +1 -1
  556. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  557. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  558. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  559. package/dist/modes/interactive/components/reserved-bottom-overlay.js.map +1 -1
  560. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  561. package/dist/modes/interactive/components/scroll-widget.d.ts +23 -0
  562. package/dist/modes/interactive/components/scroll-widget.d.ts.map +1 -0
  563. package/dist/modes/interactive/components/scroll-widget.js +61 -0
  564. package/dist/modes/interactive/components/scroll-widget.js.map +1 -0
  565. package/dist/modes/interactive/components/session-selector-header.js.map +1 -1
  566. package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
  567. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  568. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  569. package/dist/modes/interactive/components/settings-selector-submenus.d.ts +1 -1
  570. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
  571. package/dist/modes/interactive/components/settings-selector-types.d.ts +1 -1
  572. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
  573. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  574. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  575. package/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
  576. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  577. package/dist/modes/interactive/components/task-completion-message.d.ts +13 -0
  578. package/dist/modes/interactive/components/task-completion-message.d.ts.map +1 -0
  579. package/dist/modes/interactive/components/task-completion-message.js +65 -0
  580. package/dist/modes/interactive/components/task-completion-message.js.map +1 -0
  581. package/dist/modes/interactive/components/task-detail.d.ts +27 -0
  582. package/dist/modes/interactive/components/task-detail.d.ts.map +1 -0
  583. package/dist/modes/interactive/components/task-detail.js +107 -0
  584. package/dist/modes/interactive/components/task-detail.js.map +1 -0
  585. package/dist/modes/interactive/components/task-inspector.d.ts +50 -0
  586. package/dist/modes/interactive/components/task-inspector.d.ts.map +1 -0
  587. package/dist/modes/interactive/components/task-inspector.js +599 -0
  588. package/dist/modes/interactive/components/task-inspector.js.map +1 -0
  589. package/dist/modes/interactive/components/task-list.d.ts +18 -0
  590. package/dist/modes/interactive/components/task-list.d.ts.map +1 -0
  591. package/dist/modes/interactive/components/task-list.js +59 -0
  592. package/dist/modes/interactive/components/task-list.js.map +1 -0
  593. package/dist/modes/interactive/components/task-live-transcript.d.ts +17 -0
  594. package/dist/modes/interactive/components/task-live-transcript.d.ts.map +1 -0
  595. package/dist/modes/interactive/components/task-live-transcript.js +41 -0
  596. package/dist/modes/interactive/components/task-live-transcript.js.map +1 -0
  597. package/dist/modes/interactive/components/task-navigation.d.ts +38 -0
  598. package/dist/modes/interactive/components/task-navigation.d.ts.map +1 -0
  599. package/dist/modes/interactive/components/task-navigation.js +93 -0
  600. package/dist/modes/interactive/components/task-navigation.js.map +1 -0
  601. package/dist/modes/interactive/components/task-row.d.ts +34 -0
  602. package/dist/modes/interactive/components/task-row.d.ts.map +1 -0
  603. package/dist/modes/interactive/components/task-row.js +165 -0
  604. package/dist/modes/interactive/components/task-row.js.map +1 -0
  605. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  606. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  607. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  608. package/dist/modes/interactive/components/transcript-follow-indicator.js.map +1 -1
  609. package/dist/modes/interactive/components/tree-selector-component.js.map +1 -1
  610. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
  611. package/dist/modes/interactive/components/tree-selector-help.js.map +1 -1
  612. package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -1
  613. package/dist/modes/interactive/components/tree-selector-list.js.map +1 -1
  614. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  615. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  616. package/dist/modes/interactive/components/user-message.js.map +1 -1
  617. package/dist/modes/interactive/components/working-status.js.map +1 -1
  618. package/dist/modes/interactive/interactive-agent-events.js +8 -2
  619. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  620. package/dist/modes/interactive/interactive-auth-login.js +3 -1
  621. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  622. package/dist/modes/interactive/interactive-autocomplete.js +9 -30
  623. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  624. package/dist/modes/interactive/interactive-deferred-startup.js +2 -1
  625. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  626. package/dist/modes/interactive/interactive-extension-context.js +14 -4
  627. package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
  628. package/dist/modes/interactive/interactive-extension-custom-ui.js +52 -4
  629. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  630. package/dist/modes/interactive/interactive-extension-runtime.js +11 -3
  631. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  632. package/dist/modes/interactive/interactive-extension-widgets.js +9 -1
  633. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
  634. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  635. package/dist/modes/interactive/interactive-input-handling.js +19 -0
  636. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  637. package/dist/modes/interactive/interactive-mode-base.d.ts +7 -1
  638. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  639. package/dist/modes/interactive/interactive-mode-base.js +10 -4
  640. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  641. package/dist/modes/interactive/interactive-mode-deps.d.ts +6 -6
  642. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  643. package/dist/modes/interactive/interactive-mode-surface.d.ts +3 -2
  644. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  645. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  646. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  647. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  648. package/dist/modes/interactive/interactive-mode.js +3 -0
  649. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  650. package/dist/modes/interactive/interactive-process-lifecycle.js +4 -1
  651. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  652. package/dist/modes/interactive/interactive-render-chat.js +30 -4
  653. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  654. package/dist/modes/interactive/interactive-session-routing.js +33 -23
  655. package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
  656. package/dist/modes/interactive/interactive-session-runtime.js +1 -0
  657. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  658. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  659. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  660. package/dist/modes/interactive/interactive-startup.js +3 -0
  661. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  662. package/dist/modes/interactive/interactive-summarization-retry-events.js +2 -2
  663. package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -1
  664. package/dist/modes/interactive/interactive-task-projection.d.ts +13 -0
  665. package/dist/modes/interactive/interactive-task-projection.d.ts.map +1 -0
  666. package/dist/modes/interactive/interactive-task-projection.js +72 -0
  667. package/dist/modes/interactive/interactive-task-projection.js.map +1 -0
  668. package/dist/modes/interactive/interactive-tui.js.map +1 -1
  669. package/dist/modes/interactive/interactive-windows-subshell.d.ts +17 -0
  670. package/dist/modes/interactive/interactive-windows-subshell.d.ts.map +1 -0
  671. package/dist/modes/interactive/interactive-windows-subshell.js +92 -0
  672. package/dist/modes/interactive/interactive-windows-subshell.js.map +1 -0
  673. package/dist/modes/interactive/skill-command-autocomplete.d.ts +12 -0
  674. package/dist/modes/interactive/skill-command-autocomplete.d.ts.map +1 -0
  675. package/dist/modes/interactive/skill-command-autocomplete.js +69 -0
  676. package/dist/modes/interactive/skill-command-autocomplete.js.map +1 -0
  677. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  678. package/dist/modes/interactive/theme/theme-class.js +4 -1
  679. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  680. package/dist/modes/interactive/theme/theme-controller.d.ts +1 -1
  681. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  682. package/dist/modes/interactive-engine/activity-watchdog.d.ts +2 -2
  683. package/dist/modes/interactive-engine/activity-watchdog.d.ts.map +1 -1
  684. package/dist/modes/interactive-engine/activity-watchdog.js.map +1 -1
  685. package/dist/modes/interactive-engine/create-isolated-runtime.d.ts +1 -1
  686. package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
  687. package/dist/modes/interactive-engine/engine-custom-ui.d.ts +9 -10
  688. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  689. package/dist/modes/interactive-engine/engine-custom-ui.js +29 -12
  690. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  691. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts +3 -1
  692. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts.map +1 -1
  693. package/dist/modes/interactive-engine/engine-diagnostic-view.js +11 -0
  694. package/dist/modes/interactive-engine/engine-diagnostic-view.js.map +1 -1
  695. package/dist/modes/interactive-engine/engine-dialog-host.d.ts +2 -2
  696. package/dist/modes/interactive-engine/engine-dialog-host.d.ts.map +1 -1
  697. package/dist/modes/interactive-engine/engine-dialog-host.js +4 -1
  698. package/dist/modes/interactive-engine/engine-dialog-host.js.map +1 -1
  699. package/dist/modes/interactive-engine/engine-project-trust.d.ts +10 -0
  700. package/dist/modes/interactive-engine/engine-project-trust.d.ts.map +1 -0
  701. package/dist/modes/interactive-engine/engine-project-trust.js +28 -0
  702. package/dist/modes/interactive-engine/engine-project-trust.js.map +1 -0
  703. package/dist/modes/interactive-engine/engine-render-service.d.ts +1 -1
  704. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  705. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +3 -1
  706. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  707. package/dist/modes/interactive-engine/extension-ui-bridge.js +7 -1
  708. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  709. package/dist/modes/interactive-engine/input-form-host.d.ts +2 -2
  710. package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
  711. package/dist/modes/interactive-engine/isolated-auth.d.ts +1 -1
  712. package/dist/modes/interactive-engine/isolated-auth.js.map +1 -1
  713. package/dist/modes/interactive-engine/isolated-runtime.d.ts +5 -2
  714. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  715. package/dist/modes/interactive-engine/isolated-runtime.js +42 -4
  716. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  717. package/dist/modes/interactive-engine/protocol.d.ts +21 -1
  718. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  719. package/dist/modes/interactive-engine/protocol.js +53 -2
  720. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  721. package/dist/modes/interactive-engine/remote-component.d.ts +2 -2
  722. package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
  723. package/dist/modes/interactive-engine/remote-component.js +19 -8
  724. package/dist/modes/interactive-engine/remote-component.js.map +1 -1
  725. package/dist/modes/interactive-engine/remote-model-catalog.d.ts +1 -1
  726. package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
  727. package/dist/modes/interactive-engine/remote-renderer.d.ts +1 -1
  728. package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
  729. package/dist/modes/interactive-engine/session-picker-host.d.ts +2 -2
  730. package/dist/modes/interactive-engine/session-picker-host.js.map +1 -1
  731. package/dist/modes/json-event.d.ts +1 -1
  732. package/dist/modes/json-event.js.map +1 -1
  733. package/dist/modes/print-mode.js.map +1 -1
  734. package/dist/modes/rpc/rpc-bash-request-owners.d.ts +2 -2
  735. package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -1
  736. package/dist/modes/rpc/rpc-client-api.d.ts +2 -2
  737. package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
  738. package/dist/modes/rpc/rpc-client-api.js +2 -2
  739. package/dist/modes/rpc/rpc-client-api.js.map +1 -1
  740. package/dist/modes/rpc/rpc-client-process.d.ts +2 -0
  741. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  742. package/dist/modes/rpc/rpc-client-process.js +23 -1
  743. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  744. package/dist/modes/rpc/rpc-client-waits.d.ts +1 -1
  745. package/dist/modes/rpc/rpc-client-waits.js.map +1 -1
  746. package/dist/modes/rpc/rpc-client.d.ts +3 -1
  747. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  748. package/dist/modes/rpc/rpc-client.js +40 -3
  749. package/dist/modes/rpc/rpc-client.js.map +1 -1
  750. package/dist/modes/rpc/rpc-command-handler.d.ts +4 -2
  751. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  752. package/dist/modes/rpc/rpc-command-handler.js +12 -4
  753. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  754. package/dist/modes/rpc/rpc-extension-ui.d.ts +1 -1
  755. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
  756. package/dist/modes/rpc/rpc-extension-ui.js +2 -1
  757. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
  758. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  759. package/dist/modes/rpc/rpc-mode.js +12 -2
  760. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  761. package/dist/modes/rpc/rpc-provider-auth.d.ts +1 -1
  762. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
  763. package/dist/modes/rpc/rpc-session-binding.d.ts +4 -1
  764. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
  765. package/dist/modes/rpc/rpc-session-binding.js +35 -1
  766. package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
  767. package/dist/modes/rpc/rpc-types.d.ts +17 -1
  768. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  769. package/dist/modes/rpc/rpc-types.js.map +1 -1
  770. package/dist/modes/rpc/task-ui-bridge.d.ts +9 -0
  771. package/dist/modes/rpc/task-ui-bridge.d.ts.map +1 -0
  772. package/dist/modes/rpc/task-ui-bridge.js +146 -0
  773. package/dist/modes/rpc/task-ui-bridge.js.map +1 -0
  774. package/dist/self-update-plan.js.map +1 -1
  775. package/dist/utils/markit.d.ts +2 -0
  776. package/dist/utils/markit.d.ts.map +1 -1
  777. package/dist/utils/markit.js +65 -5
  778. package/dist/utils/markit.js.map +1 -1
  779. package/docs/background-tasks.md +232 -0
  780. package/docs/build.md +51 -0
  781. package/docs/changelog.mdx +8 -8
  782. package/docs/compaction/reference.md +267 -0
  783. package/docs/compaction.md +39 -200
  784. package/docs/computer-use.md +425 -0
  785. package/docs/containerization.md +9 -5
  786. package/docs/custom-provider/api-reference.md +145 -0
  787. package/docs/custom-provider/oauth.md +131 -0
  788. package/docs/custom-provider/override.md +34 -0
  789. package/docs/custom-provider/registration.md +163 -0
  790. package/docs/custom-provider/streaming.md +214 -0
  791. package/docs/custom-provider.md +43 -607
  792. package/docs/development.md +68 -30
  793. package/docs/docs.json +199 -73
  794. package/docs/environment-variables.md +2 -2
  795. package/docs/extensions/api-reference.md +1003 -0
  796. package/docs/extensions/authoring.md +676 -0
  797. package/docs/extensions/events.md +793 -0
  798. package/docs/extensions/examples.md +94 -0
  799. package/docs/extensions/ui.md +470 -0
  800. package/docs/extensions.md +241 -2623
  801. package/docs/getting-started/authentication.md +55 -0
  802. package/docs/getting-started/first-session.md +172 -0
  803. package/docs/getting-started/installation.md +154 -0
  804. package/docs/getting-started/project-instructions.md +43 -0
  805. package/docs/guides/configuration.md +65 -0
  806. package/docs/guides/intercom.md +24 -0
  807. package/docs/guides/non-interactive.md +33 -0
  808. package/docs/guides/subagents.md +24 -0
  809. package/docs/guides/workflows.md +27 -0
  810. package/docs/guides.md +41 -0
  811. package/docs/herdr.md +55 -0
  812. package/docs/index.md +13 -44
  813. package/docs/intercom/operations.md +178 -0
  814. package/docs/intercom/reference.md +150 -0
  815. package/docs/intercom.md +61 -251
  816. package/docs/json.md +17 -0
  817. package/docs/keybindings.md +36 -2
  818. package/docs/llama-cpp.md +5 -0
  819. package/docs/models/artificial-analysis-index.md +89 -0
  820. package/docs/models/evals.md +225 -148
  821. package/docs/models/model-selection.md +30 -21
  822. package/docs/models/pareto-efficiency.md +4 -4
  823. package/docs/models/reference.md +601 -0
  824. package/docs/models.md +45 -550
  825. package/docs/packages/authoring.md +88 -0
  826. package/docs/packages/reference.md +43 -0
  827. package/docs/packages.md +28 -107
  828. package/docs/programmatic.md +29 -0
  829. package/docs/prompt-templates.md +11 -0
  830. package/docs/providers/reference.md +23 -0
  831. package/docs/providers.md +59 -62
  832. package/docs/quickstart.md +45 -239
  833. package/docs/reference/cli.md +252 -0
  834. package/docs/reference.md +52 -0
  835. package/docs/rpc/examples.md +64 -0
  836. package/docs/rpc/extension-ui.md +198 -0
  837. package/docs/rpc/protocol.md +1341 -0
  838. package/docs/rpc.md +109 -1346
  839. package/docs/sdk/reference.md +1090 -0
  840. package/docs/sdk.md +64 -756
  841. package/docs/session-format.md +2 -0
  842. package/docs/sessions.md +6 -10
  843. package/docs/settings.md +45 -48
  844. package/docs/skills/authoring.md +95 -0
  845. package/docs/skills/reference.md +60 -0
  846. package/docs/skills.md +37 -117
  847. package/docs/subagents/authoring.md +37 -0
  848. package/docs/subagents/reference.md +60 -0
  849. package/docs/subagents.md +90 -78
  850. package/docs/terminal-setup.md +1 -1
  851. package/docs/themes/reference.md +176 -0
  852. package/docs/themes.md +25 -135
  853. package/docs/tmux.md +7 -0
  854. package/docs/tools/edit.md +5 -0
  855. package/docs/tools.md +67 -1
  856. package/docs/tui/reference.md +343 -0
  857. package/docs/tui.md +83 -285
  858. package/docs/usage.md +31 -210
  859. package/docs/web-access.md +50 -0
  860. package/docs/windows.md +6 -5
  861. package/docs/workflows/api-reference.md +31 -12
  862. package/docs/workflows/authoring.md +7 -5
  863. package/docs/workflows/builtins.md +11 -8
  864. package/docs/workflows/operations.md +117 -39
  865. package/docs/workflows/reliable-design.md +59 -10
  866. package/docs/workflows/verification.md +116 -32
  867. package/docs/workflows.md +7 -3
  868. package/examples/extensions/gondolin/index.ts +116 -148
  869. package/examples/extensions/gondolin/package.json +1 -1
  870. package/examples/extensions/ssh.ts +56 -34
  871. package/npm-shrinkwrap.json +798 -678
  872. package/package.json +11 -11
  873. /package/dist/builtin/workflows/builtin/{chunk-cg9tmks0.js → chunk-n1910xc4.js} +0 -0
  874. /package/dist/builtin/workflows/builtin/{chunk-wpckd35c.js → chunk-rc5ec5xx.js} +0 -0
  875. /package/dist/builtin/workflows/builtin/{chunk-7at6dnkr.js → chunk-tgt0s5e5.js} +0 -0
  876. /package/dist/builtin/workflows/builtin/{chunk-bfkmzv9h.js → chunk-xtxcq5tj.js} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  Use this guide to turn an objective into an acyclic, evidence-producing workflow with explicit contracts, context boundaries, verification, and stop conditions. Read [Custom Workflow Authoring](/workflows/authoring) first if you have not built a workflow definition yet.
4
4
 
5
- First honor the user's task-scoped [execution-mode choice](/workflows/verification#execution-mode). Explicit inline/no-workflow requests override the routing rubric below, including complex tasks and review loops; preserve the same safety and verification bar without creating a hidden workflow. For workflow authoring, carry the [domain/environment verification and media evidence contract](/workflows/verification) into worker, reviewer and final handoff prompts.
5
+ First honor the user's task-scoped [execution-mode choice](/workflows/verification#execution-mode). Requests to do the task "quickly" or "inline", or not to use a workflow, override the routing rubric below, including complex tasks and review loops. Preserve the same safety and verification bar without creating a hidden workflow. Descriptions of software that should run quickly are not execution-mode instructions. For workflow authoring, carry the [domain/environment verification and media evidence contract](/workflows/verification) into worker, reviewer and final handoff prompts.
6
6
 
7
7
  ## Choosing an Execution Shape
8
8
 
@@ -67,16 +67,47 @@ A first named workflow launch commits the selected execution shape for the turn.
67
67
 
68
68
  Choose the cheapest complete graph. Routing cues are not a reason to add decorative stages: avoid duplicated research and review loops. Before launch, state the selected graph, why one broad builtin is sufficient or insufficient, the evidence each major stage produces, and the stop/repair conditions. A simple direct match can be one sentence; a composed graph should briefly name its children and task-specific gates.
69
69
 
70
+ ### Runtime-aware scheduling and estimates
71
+
72
+ Treat workflow runtime as a dependency-constrained task-scheduling problem. Optimize elapsed time while preserving the evidence and approval contract, not by deleting gates or minimizing node count.
73
+
74
+ During the short architecture pass, inspect project scripts and available historical runtimes from comparable CI jobs, test-suite reports, and prior workflow stages. For GitHub projects, recent run/job timings and uploaded test-duration reports can provide evidence. Record the source links or artifact paths, sample size and range, runner/cache differences, and missing data. Do not run the full suite just to collect an estimate or turn timing reconnaissance into a separate research project.
75
+
76
+ Use a compact schedule alongside the coverage matrix:
77
+
78
+ ```text
79
+ node | prerequisites | duration range and source | shared resources | evidence needed by
80
+ ```
81
+
82
+ - Estimate the critical path, the longest dependency path, rather than adding all parallel node durations. Account for bounded concurrency, runner queues, environment setup, model variability, retries, and resource contention. More parallel jobs can be slower when they compete for the same resources.
83
+ - Put focused tests and necessary build/type/contract checks at each implementation slice. When repeated full-suite runs add no required evidence, run the full suite once on the final candidate instead of after every stage. Preserve mandatory per-slice checks, required CI contexts, approval gates, and repair reruns. Each slice must still pass its own gates before dependent work starts.
84
+ - Start long CI/check waits when their candidate is ready and overlap independent review, documentation, or handoff preparation that neither mutates that candidate nor needs its check results. Use supported concurrency, keep workflow-owned CI launch/wait/result checks in durable `ctx.tool` nodes with finite timeouts and cancellation, and join required results before acceptance, merge, or publication. Background admission is not check completion.
85
+ - Record the checked commit or artifact identity. Later edits invalidate affected results, so rerun those checks for the new candidate. Never reuse a green check from an older commit as proof for a changed head. Do not alter repository protections, required checks, or concurrency limits to shorten the estimate.
86
+
87
+ Before launching a workflow, give the user an estimated wall-clock completion range without confidence labels or scores. Cite available timing sources and distinguish measured checks from estimated model work, queue/repair uncertainty, and human wait time. If history is missing, state that briefly rather than inventing metrics. An estimate is not a `budget` override or a promise.
88
+
89
+ Proceed with inherited budget limits without asking the user to choose a budget before each launch; preserve existing budget limits and approval gates. Omit `budget` unless the user specified a limit, inheriting the workflow declaration and config. When the user does state a limit, pass only the fields they named, leave every other field inherited, and use `0` only for a field the user asked to disable. Never convert an estimate into a cap.
90
+
91
+ For example, with hypothetical timings, 6 minutes of implementation followed by independent 12-minute CI and 4-minute read-only review branches, then a 1-minute handoff, has a 19-minute critical path, not a 23-minute sum. Queue delays, repairs, and human approval can extend that. Real launch estimates must cite actual project evidence rather than reuse these illustrative numbers.
92
+
93
+ Revise the remaining-time estimate at lifecycle updates only when new evidence materially changes the path. Keep the normal heartbeat cadence and end-turn/no-polling rules. At completion, report actual elapsed time against the estimate and identify the main bottleneck to improve the next schedule. These are agent design/reporting instructions, not an automatic scheduler or ETA feature.
94
+
95
+ ### Questions and approvals
96
+
97
+ When `ask_user_question` or an equivalent question tool is available, all agent-authored questions to the user must use that tool instead of plain text, including clarification, confirmation, and permission to proceed. Prefer `ask_user_question` when available; otherwise follow the equivalent tool's supported schema. In these sessions, do not append a prose-only "Proceed?" to a status update. Ask only for needed decisions, not repeat approval of already-authorized work. See the [question tool guidance and confirmation example](/tools#ask_user_question).
98
+
99
+ Workflow-authored `ctx.ui` gates remain supported. `workflow answer` relays an actual user response to a pending prompt; it does not grant authority to choose an approval on the user's behalf. Intercom questions are for agents, not a substitute for user approval. If no usable question tool is available, continue autonomously using best judgment and record evidence-backed assumptions. Tool unavailability alone is not a blocker. Preserve safety, authorization, explicit approval gates, and budget limits. A cancelled or unanswered question is not approval.
100
+
70
101
  ### Stage model and thinking-level assignment
71
102
 
72
- Before launching an authored workflow, assign every model stage a **role**, **failure cost**, **primary model**, **thinking level**, and **fallback policy**. Read [Model Selection](/models/model-selection) for the role defaults and [Evals](/models/evals) for the measured per-evaluation scores — its task-type picker maps each stage type (terminal debugging, knowledge-work planning, tool-calling loops, document research, code-reading review) to the eval that measures it and the models that lead it — but treat thinking levels in benchmark rows as measurement configurations, not production defaults. Reserve `max` for high-cost-of-error roles or an explicit user request; use `high` for demanding mapping, lifecycle analysis, compatibility, planning, synthesis, triage, and repair; use `medium` for user-impact review and final reporting; and keep deterministic checks as tool nodes with no model call.
103
+ Before launching an authored workflow, assign every model stage a **role**, **failure cost**, **primary model**, **thinking level**, and **fallback policy**. Read [Model Selection](/models/model-selection) for the role defaults and [Evals](/models/evals) for the measured per-evaluation scores — its task-type picker maps each stage type (terminal debugging, knowledge-work planning, tool-calling loops, document research, code-reading review) to the eval that measures it and the models that lead it — but treat thinking levels in benchmark rows as measurement configurations, not production defaults. Use `low` or `medium` for implementation and routine fixes, and `high` or `xhigh` for code review, test design, failure analysis, and approval decisions when supported. Use `high` for demanding mapping, lifecycle analysis, compatibility, planning, synthesis, and triage, and `medium` for user-impact review and final reporting. `max` is an exception justified by task-specific evidence or an explicit user request, not a role default. Keep deterministic checks as tool nodes with no model call.
73
104
 
74
105
  Print this compact assignment before launch, with a short cost/quality rationale for each model stage:
75
106
 
76
107
  ```text
77
108
  Stage | Model | Thinking | Role
78
109
  map | <catalog fullId> | high | codebase mapping
79
- approve | <catalog fullId> | max | final approval
110
+ approve | <catalog fullId> | high | final approval
80
111
  report | <catalog fullId> | medium | final reporting
81
112
  tests | — | — | deterministic check (tool node)
82
113
  ```
@@ -143,7 +174,7 @@ Interpretation:
143
174
  - **7+ total, or Iteration = 2, or Verifiability = 2 with a review/approval gate:** a real workflow. Prefer a named workflow when one fits the whole task; otherwise author a custom graph, nesting proven children where sub-problems overlap.
144
175
  - **Any single hard signal overrides the arithmetic:** an explicit loop/stop condition, an approval or evidence gate, or a request for durable/background execution puts the task in workflow territory regardless of total score.
145
176
 
146
- When workflow execution is permitted, use the rubric to select tracked implementation/review loops and transfer bounded reconnaissance through `reads`. It does not override an explicit inline request. In either mode, stop unbounded reconnaissance by recording findings and taking the next concrete in-scope action.
177
+ When workflow execution is permitted, use the rubric to select tracked implementation/review loops and transfer bounded reconnaissance through `reads`. It does not override a request to do the task quickly or inline. In either mode, stop unbounded reconnaissance by recording findings and taking the next concrete in-scope action.
147
178
 
148
179
  ### Task queues and software factories
149
180
 
@@ -374,12 +405,12 @@ The factory self-prompt is: **enumerate → inspect and classify dependencies
374
405
 
375
406
  Humans can steer the shape directly:
376
407
 
377
- - **Name the shape or installed workflow.** "Do this inline", "use subagents to investigate", or "write a custom workflow for this" overrides automatic scoring.
408
+ - **Name the shape or installed workflow.** "Do this quickly", "do this inline", "use subagents to investigate", or "write a custom workflow for this" overrides automatic scoring.
378
409
  - **State acceptance criteria.** Verbatim criteria make the objective provable and define reviewer and reducer contracts.
379
410
  - **State the loop.** "Iterate until tests pass" or "review and fix until approved" defines a hard workflow stop condition.
380
411
  - **State the evidence.** A QA video, test output, generated artifact, or reviewer sign-off tells the graph which gates it needs.
381
412
  - **State the boundary.** "Work in a separate worktree", "do not create a PR", or "stop after implementation" separates implementation from final actions.
382
- - **State the queue policy.** Say how to split, order, isolate, and bound queued items; otherwise Atomic runs the [dependency-triage and bounded-dispatch playbook](#task-queues-and-software-factories) before implementation. Ordinary list order and per-item "create a PR after" wording do not create a cross-item dependency.
413
+ - **State the queue policy.** Say how to split, order, isolate, and bound queued items; otherwise Atomic runs the [dependency-triage and bounded-dispatch playbook](/workflows/reliable-design#task-queues-and-software-factories) before implementation. Ordinary list order and per-item "create a PR after" wording do not create a cross-item dependency.
383
414
 
384
415
  Absent these controls, Atomic applies the self-prompt and rubric above; a prompt that names none of them delegates the shape decision rather than avoiding it.
385
416
 
@@ -1004,7 +1035,7 @@ Pass file references, not content. This is the strongly encouraged default for e
1004
1035
 
1005
1036
  Three rules make that work in practice:
1006
1037
 
1007
- 1. **One owner per artifact.** The runner writes the stage's final assistant message to `output` after the stage ends, automatically writes the companion transcript outside the repository tree, and appends one instruction telling the model that its final message becomes the artifact. Your prompt does not need to restate any of that describe the deliverable, not the plumbing. If a late admitted turn displaces the intended content, search the transcript with `rg` rather than assuming the curated artifact holds every later turn. A prompt may write other files freely; only the declared `output` path is runner-owned and overwritten at stage end.
1038
+ 1. **One owner per artifact.** The runner writes the stage's completed answer to `output` and appends later completed answers from the same generation as numbered supplements. This preserves a report when an admitted clarification arrives before generation close, without copying tool progress or earlier history into the artifact. Completed handoffs are immutable under later chat. State corrections explicitly, and use a new tracked stage and output path for an intentional replacement. The runner also writes the companion transcript outside the repository and tells the model the output contract. Describe the deliverable in your prompt, not the plumbing. Search the transcript with `rg` for supporting details that belong outside the curated artifact.
1008
1039
  2. **Do not read an artifact back just to return it.** `outputMode: "file-only"` exists so the parent receives a compact reference. Calling `readFile` on that artifact and returning its text as a workflow output cancels the saving and drops the whole report into the caller's context window. Return the reference and a `*_path` output instead.
1009
1040
  3. **Return paths from the workflow.** Declared outputs are consumed by the calling session, so a workflow's `result` should be a reference plus explicit `*_path` outputs. Callers that need the body read the path; callers that only need the outcome pay nothing for it. When a detail is missing from the curated artifact, search its companion transcript with `rg` and inspect a narrow range.
1010
1041
 
@@ -1137,7 +1168,7 @@ Good workflows are information-flow systems, not just prompt sequences. Keep sta
1137
1168
  - Do not rely on undeclared child outputs; returning a key that is not declared in `outputs` fails the run. Declare every child-workflow field you expose in `outputs` — including `result` — and return values matching those schemas from `run` (see [Outputs](/workflows/authoring#outputs)).
1138
1169
  - Do not expect to select or rename child outputs at the call site; parent workflows receive the child's declared output contract as `child.outputs` after checking `child.exited === false`, and a partial declared-output map when `child.exited === true`.
1139
1170
  - Do not expect named workflow runs to block the chat turn; they are background tasks.
1140
- - Use `interrupt` or `pause` when the user asks to pause specific live work resumably; use `quit` for a graceful run-level process boundary.
1171
+ - Use `pause` when the user asks to pause specific live work resumably; use `quit` for a graceful run-level process boundary.
1141
1172
  - Keep stage names readable because they appear in workflow status and UI.
1142
1173
  - Do not ask a stage to reason from workflow or stage names that are only orchestration labels. Model stages see their local prompt, artifacts, tools, and reads; describe the concrete action and evidence instead of referring to an implementation-specific nickname.
1143
1174
  - Do not write stage prompts that depend on hidden workflow-wide awareness; make each model stage locally scoped and self-described ([Locally Scoped Stage Prompts](#locally-scoped-stage-prompts)).
@@ -1317,7 +1348,9 @@ A failed test becomes the next objective.
1317
1348
  Validation failed on `[command]`. Treat that as the source of truth. Fix the root cause only, rerun the failing check, then report the result.
1318
1349
  ```
1319
1350
 
1320
- #### 8. Interrupt stale or wrong work
1351
+ <a id="8-interrupt-stale-or-wrong-work" />
1352
+
1353
+ #### 8. Pause stale or wrong work
1321
1354
 
1322
1355
  If a run is solving the wrong problem, based on outdated assumptions, or duplicating another run, stop it. Continuing usually creates more cleanup.
1323
1356
 
@@ -1364,6 +1397,8 @@ Constructive quorum relies on existing Intercom mechanics: every workflow invoca
1364
1397
 
1365
1398
  #### Pattern diagrams
1366
1399
 
1400
+ <a id="1-classify-and-act"></a>
1401
+
1367
1402
  ##### 1. Classify-and-act
1368
1403
 
1369
1404
  Builtin definition and contracts: [Six composable pattern builtins](/workflows/builtins#six-composable-pattern-builtins).
@@ -1389,6 +1424,8 @@ Best practices:
1389
1424
  - Keep each action branch isolated with the minimum tools and context it needs.
1390
1425
  - Add a fallback or human-input branch for low-confidence classifications.
1391
1426
 
1427
+ <a id="2-fan-out-and-synthesize"></a>
1428
+
1392
1429
  ##### 2. Fan-out-and-synthesize
1393
1430
 
1394
1431
  Builtin definition and contracts: [Six composable pattern builtins](/workflows/builtins#six-composable-pattern-builtins).
@@ -1417,6 +1454,8 @@ Best practices:
1417
1454
  - Save each branch to a separate artifact and pass paths with `reads` instead of inlining all branch output.
1418
1455
  - Treat synthesis as a barrier: it waits for every branch, deduplicates, resolves conflicts, and cites evidence.
1419
1456
 
1457
+ <a id="3-adversarial-verification" />
1458
+
1420
1459
  ##### 3. Adversarial verification
1421
1460
 
1422
1461
  Builtin definition and contracts: [Six composable pattern builtins](/workflows/builtins#six-composable-pattern-builtins).
@@ -1455,6 +1494,8 @@ Best practices:
1455
1494
  - Invalid criterion reports are written as invalid artifacts and re-asked in bounded waves up to `reask_limit`; an invalid or missing report is counted in `invalidCount` only and is never converted into a fail vote or included in the mean. If the required quorum is still missing after the re-asks, the round is `indeterminate` rather than silently narrowing the decision.
1456
1495
  - `score_table_path` names the durable `verification-summary-<round>.json` for the final round. Its object contains `scores` (`criterion_id`, integer `score`, `evidence`, and `findings` with `finding` plus `severity`), `mean`, `invalidCount`, the `decision` (`accept`, `repair`, or `indeterminate` with its corresponding mean/findings or missing count), and folded `usage`; `review_report_path` carries repair guidance or quorum evidence.
1457
1496
 
1497
+ <a id="4-generate-and-filter"></a>
1498
+
1458
1499
  ##### 4. Generate-and-filter
1459
1500
 
1460
1501
  Builtin definition and contracts: [Six composable pattern builtins](/workflows/builtins#six-composable-pattern-builtins).
@@ -1483,6 +1524,8 @@ Best practices:
1483
1524
  - When the filter ranks candidates rather than applying a threshold, use the same judge guidance as Tournament: graded per-criterion integer scores rather than binary keep/drop, a Bradley–Terry preference from the score gap so near-ties stay near-ties, and K repeats with candidates swapped between the A and B slots. See [Verification scaling](#verification-scaling).
1484
1525
  - For a custom ranking filter, reuse the shared `verification-criteria` module and its `criteria.md` parser rather than inventing a binary keep/drop rubric; stable criterion ids let the judge select the same criteria in each comparison. See [Adversarial verification](#3-adversarial-verification) for the accepted shapes and score decision.
1485
1526
 
1527
+ <a id="5-tournament" />
1528
+
1486
1529
  ##### 5. Tournament
1487
1530
 
1488
1531
  Builtin definition and contracts: [Six composable pattern builtins](/workflows/builtins#six-composable-pattern-builtins).
@@ -1516,6 +1559,8 @@ Best practices:
1516
1559
  - The shipped tournament inputs use `num_attempts=4` and `max_concurrency=4`; `n_evaluations=2` repeats each criterion/directed pair, `pivots=1` selects the second comparison phase's pivot candidates, and `seed=0` drives the deterministic schedule. `criteria` is optional and accepts a markdown rubric, a string-to-description record, a string list, or a `CriterionInput` list; omission uses the shipped three-criterion Correctness, Completeness, and Evidence and task fit rubric. Optional ordered `models` ids are assigned round-robin to attempt slots.
1517
1560
  - `comparisons_path` points to `comparisons.json`, whose ledger records the task and seed, `params` (`n`, `pivots`, `n_evaluations`, and normalized `criteria`), per-job `comparisons` rows (`a`, `b`, phase, criterion id, repeat, slot-swap flag, scores or an `invalid` marker, preference, and judge artifact path), aggregate `pairs`, weights/counts, the complete `ranking`, and optional model assignment. Its `budget` records planned versus executed judge stages, including re-asks; invalid reports remain auditable rows and an all-invalid pair remains marked invalid rather than becoming a score.
1518
1561
 
1562
+ <a id="6-loop-until-done" />
1563
+
1519
1564
  ##### 6. Loop until done
1520
1565
 
1521
1566
  Builtin definition and contracts: [Six composable pattern builtins](/workflows/builtins#six-composable-pattern-builtins).
@@ -1546,6 +1591,8 @@ Best practices:
1546
1591
  - Progress scores use the anchored 1–20 scale and average valid repeat scores per checkpoint. `classify_trend` uses `window=3`, `riseDelta=1.5`, and `fallDelta=-1.5`; it compares equal leading/trailing halves of the trailing two windows, drops an odd middle sample, and classifies inclusive threshold crossings as `rising`, `flat`, or `regressing`. A short series is `flat` evidence.
1547
1592
  - The trend is monitoring and escalation evidence only: it never kills, terminates, or approves a loop, and the explicit evaluator stop condition remains authoritative. `progress_curve`, `final_trend`, and `progress_disclaimer` are advisory outputs, not alternate closure signals.
1548
1593
 
1594
+ <a id="7-constructive-quorum"></a>
1595
+
1549
1596
  ##### 7. Constructive quorum
1550
1597
 
1551
1598
  This prompt-level reviewer pattern is used by the `goal` and `ralph` builtins; it does not add a reducer or quorum mechanism.
@@ -1577,6 +1624,8 @@ Best practices:
1577
1624
  - Change a verdict only through evidence, never deference. Each reviewer emits its own final structured verdict and records whether deliberation changed it and which evidence caused the change.
1578
1625
  - Let the existing deterministic reducer count the final votes; deliberation shapes votes but does not replace quorum counts or the `stop_review_loop` contract.
1579
1626
 
1627
+ <a id="stacked-implementation-slices-starter-pattern" />
1628
+
1580
1629
  ##### Stacked implementation slices starter pattern
1581
1630
 
1582
1631
  Use this authoring pattern when one implementation objective should land as a stack of small, independently verified changes. It is not a queue dispatcher: the slices belong to one dependency chain, so slice N+1 starts only after slice N is verified.
@@ -2062,7 +2111,7 @@ These anti-patterns target run prompts; [Common Mistakes](#common-mistakes) cove
2062
2111
  | `Fix this.` | `Fix [specific failure]; done means [test command] passes.` |
2063
2112
  | No validation step | Require tests, smoke checks, typecheck, or explicit manual verification. |
2064
2113
  | Broad refactors | Constrain the run to the files needed for the objective. |
2065
- | Letting a wrong stage continue | Redirect or interrupt as soon as the agent follows the wrong signal. |
2114
+ | Letting a wrong stage continue | Redirect or pause as soon as the agent follows the wrong signal. |
2066
2115
  | Accepting unverified summaries | Ask for changed files, commands run, results, and remaining risks. |
2067
2116
  | Mixing investigation and implementation too early | Ask for root cause and proposed fix before code changes. |
2068
2117
  | Ignoring blocked stages | Answer directly with one decision and any constraints. |
@@ -1,62 +1,146 @@
1
1
  # Verification and evidence
2
2
 
3
- Use executable verification appropriate to the changed behavior. Workflow authors should put the same evidence contract in worker, reviewer and final handoff prompts. Goal and Ralph share this guidance. Reviewers inspect actual artifacts and results, not claims or filenames.
3
+ Verify the behavior that changed, then give the reviewer enough evidence to understand the result. A small fix may need a focused test and a short explanation. An interactive change usually needs a real user scenario as well. A video is useful when it shows something a test log or screenshot cannot; it is not required for every PR.
4
4
 
5
- ## Execution mode
5
+ For tool installation, automation techniques, platform permissions, and general work in applications, read [Computer use](/computer-use). That guide covers Herdr for terminals, playwright-cli for browsers, and PyAutoGUI with uv for desktop CUA on macOS, Linux, and Windows. It also covers native accessibility and application tools when they are easier or more reliable.
6
6
 
7
- An explicit request to work `inline`, `do this directly`, `don't use a workflow`, or equivalent overrides workflow-first defaults for that task, including complex implementation and review loops. Do not create or launch a hidden or nested replacement workflow, or ask the user to reapprove the choice. Keep appropriate testing, review and evidence inline. Safety and authorization requirements do not change.
7
+ <a id="select-the-verification-environment" />
8
8
 
9
- Apply the preference only to its stated task. Quoted examples and questions about inline code are not execution-mode instructions. Without an opt-out, normal workflow fit defaults apply.
9
+ ## Choose checks that answer the question
10
10
 
11
- If the user switches during an active workflow, safely hold or stop the affected run using its available lifecycle controls. Reconcile completed work and in-flight side effects before continuing inline so commands and external writes are not duplicated. Stages notify the controlling session rather than launching a replacement. Already-completed work remains completed; do not claim it was undone.
11
+ Start with the project's existing tests, build, typecheck, and lint commands. Add an interactive scenario when the change affects what a user sees or does. Do not replace required checks with a recording, or create a UI solely to demonstrate a non-UI change.
12
12
 
13
- ## Select the verification environment
13
+ | Changed behavior | Preferred mechanism | What to check |
14
+ | --- | --- | --- |
15
+ | Interactive terminal or TUI | **Herdr**, under its explicit-request and managed-pane requirements; tmux or native Windows psmux as fallbacks | Actual input, rendered output, navigation, resizing, and exit behavior relevant to the change. |
16
+ | Browser/frontend | **playwright-cli** | The user flow and its visible result, with DOM or network assertions where useful. |
17
+ | Desktop app, simulator, or emulator | **PyAutoGUI with uv**, supplemented by native/app APIs | The visible app scenario and its saved or exported result. |
18
+ | API, library, script, or other non-UI behavior | Existing test runner and shell commands | Inputs, outputs, error handling, and relevant build/type contracts. |
19
+ | Documentation | Documentation checks and example review | Links, navigation, command accuracy, and whether a reader can follow the instructions. |
14
20
 
15
- Inspect installed tools, cached runtimes, existing sessions and safe test configuration first. Install missing tools/plugins when online access and permissions permit. Known offline or restricted installation is enough reason not to attempt a prohibited download. Otherwise make a reasonable capability check or one bounded setup attempt, not an endless installation retry loop.
21
+ See [tool selection](/computer-use#choose-the-right-tool) before operating a session. Herdr is the terminal priority, but the preference does not authorize control from outside a Herdr-managed pane. Install missing tools when permitted; otherwise use the available fallback and describe any coverage gap.
16
22
 
17
- When a mechanism cannot run, continue available authoritative repository checks, retain useful local evidence, and record the constraint, attempted commands and observed output, narrower validation and missing coverage. Do not require production credentials or take unsafe actions to satisfy a generic verification suggestion. An unavailable optional mechanism is not failed implementation, but it does not waive a required project check.
23
+ ## Define a reproducible scenario
18
24
 
19
- | Changed behavior | Verification and evidence |
20
- | --- | --- |
21
- | Browser/frontend, including API-dependent flows | Use the playwright-cli skill. Exercise the real user flow and assert its result. Retain current screenshots, video, DOM snapshots or network evidence as appropriate. |
22
- | TUI/terminal | Use tmux on supported hosts, native Windows psmux, or herdr where available and appropriate. Exercise actual interactive input and inspect pane output or a terminal recording. These tools do not have interchangeable CLIs. |
23
- | Desktop/simulator/emulator | Use suitable PyAutoGUI or native platform tools against a real visible app scenario. Capture screenshots/video from that environment, not a browser recording labeled as desktop or iOS proof. |
24
- | Non-UI | Run relevant unit, integration, build, type or command-line scenarios. Do not manufacture a UI or video requirement. |
25
+ Before running it, write down:
25
26
 
26
- ### Terminal contracts
27
+ - The behavior being verified and the expected result.
28
+ - The commit or artifact under test, plus any uncommitted changes.
29
+ - The environment that matters, such as OS, app/browser version, terminal dimensions, display scaling, and test fixtures.
30
+ - The actions and assertions, including a relevant failure or edge case.
27
31
 
28
- [psmux](https://github.com/psmux/psmux) is a native Windows ConPTY multiplexer using tmux-style commands. Its [scripting guide](https://github.com/psmux/psmux/blob/master/docs/scripting.md) documents `psmux capture-pane -p -t %0` for stdout capture. Verify installed help and use the actual pane identifier rather than assuming `%0` belongs to the test.
32
+ Use dedicated sessions and non-production data. Wait for observable completion with a deadline instead of assuming that a submitted command or a fixed delay means success. Preserve useful failure output before cleanup.
29
33
 
30
- [herdr's CLI](https://herdr.dev/docs/cli-reference/) talks to a running server. Discover your isolated test pane with `herdr pane list`. `herdr pane run <pane_id> <command>` submits a command with Enter; `herdr pane send-text` alone does not submit. `herdr pane read <pane_id> --source visible` returns the screen text. For bounded waits use `herdr pane wait-output <pane_id> --match <text> --timeout 10000`. Do not confuse pane output with an agent lifecycle status or infer success from `idle`. Check installed version/help and host support before use. Do not take over unrelated panes.
34
+ After a repair, rerun the affected checks on the new candidate. Label before/after evidence and keep it clear which commit produced each result. Do not present an earlier passing run as verification of later edits.
31
35
 
32
- ### Desktop safety
36
+ ## Capture evidence appropriate to the change
33
37
 
34
- The [OpenAI CUA sample](https://github.com/openai/openai-cua-sample-app#first-run) distinguishes JavaScript Playwright browser control from Python PyAutoGUI desktop input. It is an optional sample requiring API/model access, not a prerequisite for every GUI test. Follow its [Python quickstart and interruption guidance](https://github.com/openai/openai-cua-sample-app/blob/main/python-app/README.md).
38
+ ### Browser changes
35
39
 
36
- Use a dedicated desktop/session with controlled fixtures. macOS needs Accessibility and Screen Recording permissions for the launching app; Linux PyAutoGUI needs an appropriate X11 desktop and dependencies; Windows needs a graphical session. Screenshots may include other windows and PyAutoGUI controls real mouse and keyboard input. Keep failsafes enabled, inspect privacy before saving/sharing, release held keys/buttons after interruption, and check for leftover processes before restarting. Do not install the sample's pnpm dependencies into an npm repository.
40
+ Use playwright-cli to exercise the actual flow. A screenshot can show layout; a DOM snapshot can show control state; console and network output can help establish why a flow failed. Pair captures with assertions about the result, such as a saved record appearing after reload.
37
41
 
38
- A visible simulator/emulator or suitable native automation/mirroring setup is required for mobile UI. PyAutoGUI does not directly control an arbitrary physical iPhone. Use native platform tooling where it provides better assertions or safer input.
42
+ For a named browser session you own, the CLI supports captures such as:
39
43
 
40
- ## qlty setup and fallback
44
+ ```sh
45
+ playwright-cli -s=pr-check snapshot --filename=after.yaml
46
+ playwright-cli -s=pr-check screenshot --filename=after.png
47
+ ```
48
+
49
+ For behavior best shown in motion, check the installed CLI's help, start recording before the relevant actions, and stop afterward:
50
+
51
+ ```sh
52
+ playwright-cli -s=pr-check video-start flow.webm
53
+ # Exercise the scenario here.
54
+ playwright-cli -s=pr-check video-stop
55
+ ```
56
+
57
+ Open the saved artifact and confirm it includes the final state. Keep recordings short and focused. Inspect traces, authentication state, and network output for secrets before sharing. See [browser setup and best practices](/computer-use#browser-automation-with-playwright-cli).
58
+
59
+ <a id="terminal-contracts" />
60
+
61
+ ### Terminal changes
62
+
63
+ Use Herdr to send real interactive input and inspect the resulting pane, or use tmux/psmux when Herdr cannot be used. Keep the terminal dimensions and shell relevant to the change. Test narrow layouts or modified keys when those are affected.
64
+
65
+ Retain screen captures or transcripts that show the input and result. For cursor movement, redraws, colors, or timing, a terminal recording or video may explain more than plain text. Capture important states during the run; alternate-screen content may not remain in scrollback. Check exit status or explicit assertions rather than treating an agent's `idle` indicator as a passing result.
66
+
67
+ See [terminal setup and capture commands](/computer-use#terminal-automation-with-herdr). A browser rendering of terminal text is not proof that the real TUI accepted input. WSL tmux does not establish native Windows terminal coverage.
68
+
69
+ <a id="reproduce-stage-skill-terminal-evidence" />
70
+
71
+ <a id="desktop-safety" />
72
+
73
+ ### Desktop, simulator, and emulator changes
74
+
75
+ Run PyAutoGUI through uv in a dedicated graphical session, using [the desktop guide](/computer-use#desktop-automation-with-pyautogui-and-uv). Native accessibility tools or application APIs can give more reliable assertions than pixel matching. For example, check a saved document through the app API after exercising the visible Save flow.
76
+
77
+ Capture the actual application or simulator. A browser recording is not desktop or iOS evidence. PyAutoGUI can interact with a visible simulator/emulator window, but does not directly control an arbitrary physical phone. Use supported native tooling where needed, and name the device or emulator actually exercised.
78
+
79
+ Keep failsafes enabled and release held keys/buttons after interruption. Inspect saved files and exports rather than assuming a completed click means a completed operation. Screenshots show appearance, not necessarily persistence or correctness.
41
80
 
42
- Use the qlty skill to choose reliable, low-noise checks and useful metrics based on user priorities and repository evidence. Preserve existing `.qlty/qlty.toml`, the project's chosen tools such as Biome, and authoritative package/CI checks. Do not add competing formatters or run wholesale formatting by habit. Record command/output, scope and a relevant baseline; numbers without a decision are not useful verification.
81
+ ## Use evidence in a workflow
43
82
 
44
- During authorized coding, absent config permits `qlty init --no` or a hand-authored `.qlty/qlty.toml`; inspect generated suggestions. Missing config alone is not a blocker. For offline/restricted installation or a missing binary, use the skill's bundled manual-configuration reference to prepare TOML without network when configuration edits are in scope. Use source-backed options, omit unknown optional plugin versions rather than inventing them, and validate syntax/schema with available tools. Read-only tasks stay read-only or use isolated scratch config.
83
+ Give workers, reviewers, and the final handoff the same scenario and success criteria. A verification stage should produce commands, observed results, and artifact paths. The reviewer should inspect those results, not just accept the worker's summary or a filename.
45
84
 
46
- Installed built-in metrics/smells may work offline. Cached plugins may work too, but uncached source/plugin/runtime resolution can require downloads. Report configuration prepared separately from lint/security/metrics actually run. TOML parsing is not proof of plugin availability or a passing quality check. Continue available repository checks without making optional qlty installation a universal blocker.
85
+ For workflow-owned checks, use durable `ctx.tool` calls with finite timeouts and cancellation. Pass scripts and larger evidence through files. After a failed check, send the actual failure to a bounded repair step and rerun the affected checks. Keep implementation acceptance separate from later PR creation, upload, or publication. See [workflow authoring](/workflows/authoring) and [reliable design](/workflows/reliable-design).
47
86
 
48
- ## Native GitHub media
87
+ ### Execution mode
49
88
 
50
- Only publish to an authorized target. Detect the provider first and inspect/redact artifacts for secrets, personal information and unrelated windows. Name the verified commit and scenario in the accompanying evidence. Collection alone is not upload authorization.
89
+ The same verification standard applies inline. A task-scoped request such as `quickly`, `inline`, or `don't use a workflow` means no workflow creation or launch, including hidden replacements. If switching an active run to inline, stop or hold it safely and reconcile completed work and in-flight effects before continuing. See [when to use workflows](/workflows#when-to-use-workflows).
51
90
 
52
- [GitHub CLI >=2.99.0](https://github.blog/changelog/2026-09-01-github-cli-media-in-issues-pull-requests-and-comments/) supports repeatable `--attach` on `gh issue create`, `edit`, `comment` and `gh pr create`, `edit`, `comment`. Check `gh --version` and the specific command's `--help` before using it. For an authorized PR comment:
91
+ ## When a tool or environment is unavailable
92
+
93
+ Inspect installed tools and cached runtimes first. Install missing tools or plugins when network access and permissions allow. If installation is restricted, or no suitable graphical session is available, continue the checks that can run and record:
94
+
95
+ - What was unavailable and the observed error or known restriction.
96
+ - Any setup attempt and the narrower checks that actually ran.
97
+ - What still needs verification, including missing platform coverage.
98
+
99
+ Do not require production credentials or bypass permissions to satisfy a generic verification suggestion. An optional tool being unavailable is not an implementation failure, but a required project check remains required. Do not label skipped, mocked, or simulated coverage as a real platform run.
100
+
101
+ ### qlty setup and fallback
102
+
103
+ Use the qlty skill when it adds useful lint, security, or complexity checks. Preserve the repository's existing tools and `.qlty/qlty.toml`; do not introduce a competing formatter or wholesale formatting changes.
104
+
105
+ When configuration changes are in scope, missing config can be initialized with `qlty init --no` or prepared manually using the skill's bundled configuration reference. Review generated suggestions. Read-only tasks should remain read-only or use isolated scratch configuration.
106
+
107
+ Cached plugins and built-in metrics may work offline; uncached plugins or runtimes may need downloads. Report prepared configuration separately from checks actually executed. Valid TOML is not proof that a plugin ran. Optional qlty setup should not block available repository checks.
108
+
109
+ ## Include evidence in a PR
110
+
111
+ Give the reviewer a short summary before linking logs or media. For example, replace the placeholders in this template with observed results:
112
+
113
+ ```markdown
114
+ ## Verification
115
+
116
+ - Candidate: <commit SHA; note any uncommitted changes>
117
+ - Environment: <OS, app/tool versions, relevant dimensions>
118
+ - Checks: <command and result>
119
+ - Scenario: <starting state, actions, expected and observed result>
120
+ - Evidence: <hosted links or attached artifacts>
121
+ - Limits: <checks/platforms not exercised>
122
+ ```
123
+
124
+ Attach a screenshot for a visual state, a short recording for an interaction, or logs for command behavior. Include reproduction steps even when media is available. Label local-only paths as local; reviewers cannot open a file on your machine. CI artifact links are useful when readers have access, but note retention limits where relevant.
125
+
126
+ Only upload to an authorized repository or destination. Inspect and redact secrets, personal information, private source content, and unrelated windows before attaching files. Permission to collect local evidence is not permission to publish it.
127
+
128
+ ### Native GitHub media
129
+
130
+ [GitHub CLI 2.99.0 and newer](https://github.blog/changelog/2026-09-01-github-cli-media-in-issues-pull-requests-and-comments/) supports repeatable `--attach` on issue and PR `create`, `edit`, and `comment` commands. Check `gh --version`, the specific command's `--help`, and the host's [attachment support and limits](https://docs.github.com/en/github-cli/github-cli/attaching-files-with-github-cli).
131
+
132
+ For an authorized PR comment, replace the target and file paths:
53
133
 
54
134
  ```sh
55
- gh pr comment 123 --repo owner/repo --body-file evidence.md --attach proof.mp4
135
+ gh pr comment 123 --repo owner/repo --body-file evidence.md \
136
+ --attach 'after.png#Settings panel after saving' \
137
+ --attach flow.webm
56
138
  ```
57
139
 
58
- Use actual target and file values. Attach each file once. A body-local path reference is rewritten to the hosted URL; other attachments append in flag order. Images can use `--attach 'screen.png#Image alt text'`; videos do not support alt text. A standalone `![](proof.mp4)` paragraph is rewritten to an embedded player. See [official attachment documentation](https://docs.github.com/en/github-cli/github-cli/attaching-files-with-github-cli).
140
+ The backslashes above are POSIX shell continuations. In PowerShell, use a single line or PowerShell continuation syntax.
141
+
142
+ Attach each file once. The CLI rewrites body-local attachment references to hosted URLs; otherwise it appends attachments in flag order. Images support `#Image alt text`; videos do not support alt text. A standalone `![](flow.webm)` paragraph in the body becomes an embedded player. These are CLI attachment features, not support for arbitrary local paths in GitHub Markdown.
59
143
 
60
- Supported media include PNG, JPEG, GIF, WebP, SVG, MP4, MOV and WebM. Images/GIFs have a 10 MB limit; video limits are 10 MB on Free and 100 MB on paid plans. Repository write access and supported OAuth/classic PAT authentication are required; this release does not support GitHub Enterprise Server. Recheck current limits for the chosen host/account.
144
+ Supported media include PNG, JPEG, GIF, WebP, SVG, MP4, MOV, and WebM. Uploads require repository push access and supported authentication. Recheck current size limits and authentication support for the target account and host. The 2.99.0 release does not support GitHub Enterprise Server.
61
145
 
62
- Read back the created or edited issue/PR/comment and confirm usable GitHub-hosted links before reporting success. Unsupported versions, hosts, providers, auth or sizes require a truthful fallback: retain the local artifact and explain authorized manual attachment or supported provider tooling. Do not claim a `file://` reference is uploaded evidence or send artifacts to unrelated third-party hosts.
146
+ Read back the created or edited PR/comment and confirm usable hosted links before reporting an upload as successful. If the CLI, provider, authentication, or file size is unsupported, retain the local artifact and explain the manual attachment path or supported provider tooling. Do not upload to an unrelated host to work around a limitation.
package/docs/workflows.md CHANGED
@@ -11,7 +11,7 @@ Default to a workflow for non-trivial work with a verifiable objective — see [
11
11
  - **Parallel branches** - Run independent research, review, or implementation branches concurrently
12
12
  - **Context handoffs** - Pass summaries, artifacts, files, and schema-backed structured results between stages
13
13
  - **Human input** - Pause for `ctx.ui.input`, `confirm`, `select`, `editor`, or custom TUI widget decisions during a run
14
- - **Resumable control** - Interrupt, pause, quit, resume, or connect to workflow runs
14
+ - **Resumable control** - Pause, quit, resume, or connect to workflow runs
15
15
  - **Intercom run notifications** - Deliver async run results and control notices (long-running, needs-attention, completed, failed) to a parent session over [Intercom](/intercom)
16
16
  - **Artifacts** - Save large outputs to files instead of pushing everything through model context
17
17
  - **Verification and gates** - Preserve evidence, run checks, and stop for human approval where reliability matters
@@ -40,9 +40,11 @@ Prefer composing builtin definitions with `ctx.workflow(...)` over copying or re
40
40
  4. [Operations](/workflows/operations) — run, inspect, steer, pause, resume, and configure workflows.
41
41
  5. [API reference](/workflows/api-reference) — look up definitions, contexts, options, results, and programmatic APIs.
42
42
 
43
+ For checking changes and sharing results in PRs, see [Verification and evidence](/workflows/verification). For general desktop, browser, and terminal work, including creative workflows, see [Computer use](/computer-use).
44
+
43
45
  ## When to Use Workflows
44
46
 
45
- Unless the user explicitly chooses inline execution, workflows are the default for non-trivial requests or structured work with a verifiable objective. Requests such as `inline`, `do this directly`, and `don't use a workflow` override that default for the specified task, even when complex. Do not launch a hidden/nested replacement or ask the user to reapprove the choice. Preserve testing, review, evidence, safety and authorization inline. Quoted examples and questions about inline code are not mode instructions. For an active switch, safely hold/stop the affected run and reconcile completed work and in-flight effects before continuing without duplicates; completed work is not undone. See [Verification and evidence](/workflows/verification).
47
+ Unless the user explicitly chooses inline execution, workflows are the default for non-trivial requests or structured work with a verifiable objective. Requests such as `quickly`, `inline`, `do this directly`, and `don't use a workflow` override that default for the specified task, even when complex. Treat "quickly" as an inline execution choice, not a request for a faster workflow. Do not launch a hidden/nested replacement or ask the user to reapprove the choice. Preserve testing, review, evidence, safety and authorization inline. Quoted examples, questions about inline code, and descriptions of software that should run quickly are not mode instructions. For an active switch, safely hold/stop the affected run and reconcile completed work and in-flight effects before continuing without duplicates; completed work is not undone. See [Verification and evidence](/workflows/verification).
46
48
 
47
49
  When no opt-out was given, workflow signals include:
48
50
 
@@ -60,11 +62,13 @@ Workflow-first does not require builtins, monolithic workflows, or a force-fit b
60
62
 
61
63
  Rich custom workflows can compose the [common workflow patterns](/workflows/reliable-design#common-workflow-patterns): classify and branch at runtime, fan out and synthesize artifacts, run worker/verifier/reducer repair cycles, generate and filter or tournament-rank candidates, and loop until explicit evidence says the work is done. Workflow definitions are composable TypeScript modules — see [Workflow Composition](/workflows/authoring#workflow-composition). Atomic can write the definition, reload workflow resources, and run it for the current task; the workflow tool has no create action.
62
64
 
65
+ Design for elapsed time using [runtime-aware scheduling and estimates](/workflows/reliable-design#runtime-aware-scheduling-and-estimates). Use available CI/test history to place focused checks at slice boundaries, defer redundant full-suite runs to the final candidate, and overlap independent work with CI without bypassing required gates. Before launch, report a completion range without confidence labels or scores. Inherit existing budget limits without asking for a budget choice before each launch, and override only limits the user explicitly requests. Preserve existing approval gates. An estimate is not a budget. At completion, compare the estimate with actual elapsed time.
66
+
63
67
  If exploration drifts without progress, save findings and choose a concrete next action. Transfer them through `reads` to a fitting workflow when permitted; continue directly with appropriate validation when inline was requested.
64
68
 
65
69
  | User need | Use |
66
70
  |-----------|-----|
67
- | Run, inspect, connect to, pause, interrupt, quit, resume, or check status for an existing workflow | `/workflow ...` or `workflow({ action: ... })` |
71
+ | Run, inspect, connect to, pause, quit, resume, or check status for an existing workflow | `/workflow ...` or `workflow({ action: ... })` |
68
72
  | Run repository-wide research | Compose `fan-out-and-synthesize` with repository-focused branches, artifact outputs, and a synthesis barrier, or author a smaller task-specific research workflow. |
69
73
  | Run an implementation/review loop | Author a task-specific worker → fresh verifier → reducer loop with explicit evidence, repair bounds, and stop conditions. |
70
74
  | Create or edit reusable automation | A TypeScript workflow definition exported from `workflow({...})` |