@bastani/atomic 0.9.18-alpha.5 → 0.9.18-alpha.7

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 (376) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/README.md +3 -3
  3. package/dist/builtin/intercom/CHANGELOG.md +39 -0
  4. package/dist/builtin/intercom/README.md +22 -2
  5. package/dist/builtin/intercom/broker/broker.ts +676 -128
  6. package/dist/builtin/intercom/broker/client.ts +151 -35
  7. package/dist/builtin/intercom/broker/delivered-message-cache.ts +497 -37
  8. package/dist/builtin/intercom/broker/framing.ts +4 -2
  9. package/dist/builtin/intercom/broker/paths.ts +10 -0
  10. package/dist/builtin/intercom/broker/pending-send-registry.ts +1 -2
  11. package/dist/builtin/intercom/broker/send-handler.ts +311 -52
  12. package/dist/builtin/intercom/broker/send-signature.ts +4 -2
  13. package/dist/builtin/intercom/broker/socket-writes.ts +103 -0
  14. package/dist/builtin/intercom/broker/spawn.ts +9 -4
  15. package/dist/builtin/intercom/index.bundle.mjs +1410 -212
  16. package/dist/builtin/intercom/package.json +2 -2
  17. package/dist/builtin/intercom/recoverable-disconnect.ts +52 -0
  18. package/dist/builtin/intercom/retry-policy.ts +8 -0
  19. package/dist/builtin/intercom/skills/intercom/SKILL.md +17 -9
  20. package/dist/builtin/intercom/types.ts +27 -8
  21. package/dist/builtin/intercom/workflow-stage-path-matching.ts +90 -0
  22. package/dist/builtin/intercom/workflow-stage-target.ts +57 -0
  23. package/dist/builtin/mcp/index.bundle.mjs +427 -126
  24. package/dist/builtin/mcp/package.json +2 -2
  25. package/dist/builtin/subagents/CHANGELOG.md +19 -0
  26. package/dist/builtin/subagents/README.md +3 -3
  27. package/dist/builtin/subagents/agents/code-simplifier.md +2 -2
  28. package/dist/builtin/subagents/agents/codebase-analyzer.md +2 -2
  29. package/dist/builtin/subagents/agents/codebase-locator.md +2 -2
  30. package/dist/builtin/subagents/agents/codebase-online-researcher.md +11 -11
  31. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -2
  32. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +2 -2
  33. package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -2
  34. package/dist/builtin/subagents/agents/debugger.md +3 -3
  35. package/dist/builtin/subagents/agents/worker.md +2 -2
  36. package/dist/builtin/subagents/package.json +3 -3
  37. package/dist/builtin/subagents/skills/qlty/SKILL.md +29 -101
  38. package/dist/builtin/subagents/skills/qlty/references/manual-configuration.md +52 -0
  39. package/dist/builtin/subagents/skills/subagent/SKILL.md +11 -11
  40. package/dist/builtin/subagents/src/extension/index.bundle.mjs +49 -132
  41. package/dist/builtin/web-access/package.json +2 -2
  42. package/dist/builtin/workflows/CHANGELOG.md +46 -0
  43. package/dist/builtin/workflows/README.md +7 -7
  44. package/dist/builtin/workflows/builtin/adversarial-verification.js +2 -2
  45. package/dist/builtin/workflows/builtin/{chunk-szz1ajz9.js → chunk-42s7sw0b.js} +9 -2
  46. package/dist/builtin/workflows/builtin/{chunk-2dqb5s2q.js → chunk-79fjkcvh.js} +1 -1
  47. package/dist/builtin/workflows/builtin/{chunk-n58a7v26.js → chunk-b0v2xab1.js} +181 -10
  48. package/dist/builtin/workflows/builtin/{chunk-fghhy2a5.js → chunk-ed4jfn5t.js} +23 -5
  49. package/dist/builtin/workflows/builtin/{chunk-h3r2vkzc.js → chunk-hqpe2cyx.js} +60 -21
  50. package/dist/builtin/workflows/builtin/{chunk-hzzn6adg.js → chunk-k3w87x8y.js} +1 -1
  51. package/dist/builtin/workflows/builtin/{chunk-82ha8p41.js → chunk-n8h4yyew.js} +1 -1
  52. package/dist/builtin/workflows/builtin/{chunk-qwzvgxnq.js → chunk-reqr3sr3.js} +1 -1
  53. package/dist/builtin/workflows/builtin/{chunk-c53y8bdh.js → chunk-wgccch41.js} +1 -1
  54. package/dist/builtin/workflows/builtin/{chunk-0x6e303p.js → chunk-zbekjqew.js} +20 -7
  55. package/dist/builtin/workflows/builtin/{chunk-29wrp38a.js → chunk-ze5x3d1r.js} +1 -1
  56. package/dist/builtin/workflows/builtin/classify-and-act.js +2 -2
  57. package/dist/builtin/workflows/builtin/fan-out-and-synthesize.js +2 -2
  58. package/dist/builtin/workflows/builtin/generate-and-filter.js +2 -2
  59. package/dist/builtin/workflows/builtin/goal.js +3 -3
  60. package/dist/builtin/workflows/builtin/index.js +11 -11
  61. package/dist/builtin/workflows/builtin/loop-until-done.js +2 -2
  62. package/dist/builtin/workflows/builtin/open-claude-design.js +2 -2
  63. package/dist/builtin/workflows/builtin/ralph.js +3 -3
  64. package/dist/builtin/workflows/builtin/steering-context.js +1 -1
  65. package/dist/builtin/workflows/builtin/tournament.js +2 -2
  66. package/dist/builtin/workflows/package.json +2 -2
  67. package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +39 -52
  68. package/dist/builtin/workflows/skills/prompt-engineer/references/advanced_patterns.md +9 -37
  69. package/dist/builtin/workflows/skills/prompt-engineer/references/claude_fable_5.md +49 -0
  70. package/dist/builtin/workflows/skills/prompt-engineer/references/claude_fable_5_1.md +57 -0
  71. package/dist/builtin/workflows/skills/prompt-engineer/references/claude_opus_4_8.md +57 -0
  72. package/dist/builtin/workflows/skills/prompt-engineer/references/claude_opus_5.md +47 -0
  73. package/dist/builtin/workflows/skills/prompt-engineer/references/claude_sonnet_5.md +57 -0
  74. package/dist/builtin/workflows/skills/prompt-engineer/references/gpt_5_5.md +60 -0
  75. package/dist/builtin/workflows/skills/prompt-engineer/references/gpt_5_6.md +58 -0
  76. package/dist/builtin/workflows/skills/prompt-engineer/references/gpt_6_astra.md +58 -0
  77. package/dist/builtin/workflows/skills/prompt-engineer/references/quality_improvement.md +18 -4
  78. package/dist/builtin/workflows/src/extension/index.bundle.mjs +3194 -737
  79. package/dist/builtin/workflows/src/index.js +899 -436
  80. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +0 -10
  81. package/dist/cli/list-models.d.ts.map +1 -1
  82. package/dist/cli/list-models.js +4 -0
  83. package/dist/cli/list-models.js.map +1 -1
  84. package/dist/client/index.d.ts +1 -2
  85. package/dist/client/index.d.ts.map +1 -1
  86. package/dist/client/index.js +1 -2
  87. package/dist/client/index.js.map +1 -1
  88. package/dist/config.d.ts +0 -9
  89. package/dist/config.d.ts.map +1 -1
  90. package/dist/config.js +0 -45
  91. package/dist/config.js.map +1 -1
  92. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  93. package/dist/core/agent-session-compaction.js +8 -6
  94. package/dist/core/agent-session-compaction.js.map +1 -1
  95. package/dist/core/agent-session-methods.d.ts +1 -0
  96. package/dist/core/agent-session-methods.d.ts.map +1 -1
  97. package/dist/core/agent-session-methods.js.map +1 -1
  98. package/dist/core/agent-session-models.d.ts.map +1 -1
  99. package/dist/core/agent-session-models.js +3 -4
  100. package/dist/core/agent-session-models.js.map +1 -1
  101. package/dist/core/agent-session-queue-pause.d.ts.map +1 -1
  102. package/dist/core/agent-session-queue-pause.js +6 -0
  103. package/dist/core/agent-session-queue-pause.js.map +1 -1
  104. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  105. package/dist/core/agent-session-runtime.js +13 -5
  106. package/dist/core/agent-session-runtime.js.map +1 -1
  107. package/dist/core/agent-session-tool-hooks.js +1 -1
  108. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  109. package/dist/core/agent-session-tree.d.ts.map +1 -1
  110. package/dist/core/agent-session-tree.js +8 -0
  111. package/dist/core/agent-session-tree.js.map +1 -1
  112. package/dist/core/agent-session.d.ts +2 -0
  113. package/dist/core/agent-session.d.ts.map +1 -1
  114. package/dist/core/agent-session.js +2 -0
  115. package/dist/core/agent-session.js.map +1 -1
  116. package/dist/core/compaction/branch-summarization.d.ts +2 -2
  117. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  118. package/dist/core/compaction/branch-summarization.js +4 -4
  119. package/dist/core/compaction/branch-summarization.js.map +1 -1
  120. package/dist/core/extensions/api-types.d.ts +8 -2
  121. package/dist/core/extensions/api-types.d.ts.map +1 -1
  122. package/dist/core/extensions/api-types.js.map +1 -1
  123. package/dist/core/extensions/context-types.d.ts +12 -0
  124. package/dist/core/extensions/context-types.d.ts.map +1 -1
  125. package/dist/core/extensions/context-types.js.map +1 -1
  126. package/dist/core/extensions/runner-shortcuts.d.ts.map +1 -1
  127. package/dist/core/extensions/runner-shortcuts.js +0 -1
  128. package/dist/core/extensions/runner-shortcuts.js.map +1 -1
  129. package/dist/core/fast-model-routing-transport.d.ts +12 -0
  130. package/dist/core/fast-model-routing-transport.d.ts.map +1 -0
  131. package/dist/core/{codex-fast-mode-transport.js → fast-model-routing-transport.js} +29 -29
  132. package/dist/core/fast-model-routing-transport.js.map +1 -0
  133. package/dist/core/fast-model-routing.d.ts +57 -0
  134. package/dist/core/fast-model-routing.d.ts.map +1 -0
  135. package/dist/core/fast-model-routing.js +201 -0
  136. package/dist/core/fast-model-routing.js.map +1 -0
  137. package/dist/core/fast-model-variants.d.ts +98 -0
  138. package/dist/core/fast-model-variants.d.ts.map +1 -0
  139. package/dist/core/fast-model-variants.js +148 -0
  140. package/dist/core/fast-model-variants.js.map +1 -0
  141. package/dist/core/http-dispatcher.d.ts.map +1 -1
  142. package/dist/core/http-dispatcher.js +4 -2
  143. package/dist/core/http-dispatcher.js.map +1 -1
  144. package/dist/core/keybindings.d.ts +0 -10
  145. package/dist/core/keybindings.d.ts.map +1 -1
  146. package/dist/core/keybindings.js +0 -8
  147. package/dist/core/keybindings.js.map +1 -1
  148. package/dist/core/messages.d.ts +1 -1
  149. package/dist/core/messages.d.ts.map +1 -1
  150. package/dist/core/messages.js.map +1 -1
  151. package/dist/core/model-config.d.ts +15 -0
  152. package/dist/core/model-config.d.ts.map +1 -1
  153. package/dist/core/model-config.js +3 -0
  154. package/dist/core/model-config.js.map +1 -1
  155. package/dist/core/model-resolver-initial.js +1 -1
  156. package/dist/core/model-resolver-initial.js.map +1 -1
  157. package/dist/core/model-runtime-streaming.d.ts +14 -1
  158. package/dist/core/model-runtime-streaming.d.ts.map +1 -1
  159. package/dist/core/model-runtime-streaming.js +25 -3
  160. package/dist/core/model-runtime-streaming.js.map +1 -1
  161. package/dist/core/model-runtime.d.ts +39 -2
  162. package/dist/core/model-runtime.d.ts.map +1 -1
  163. package/dist/core/model-runtime.js +91 -7
  164. package/dist/core/model-runtime.js.map +1 -1
  165. package/dist/core/provider-composer-internal.d.ts.map +1 -1
  166. package/dist/core/provider-composer-internal.js +8 -2
  167. package/dist/core/provider-composer-internal.js.map +1 -1
  168. package/dist/core/sdk.d.ts.map +1 -1
  169. package/dist/core/sdk.js +18 -18
  170. package/dist/core/sdk.js.map +1 -1
  171. package/dist/core/session-manager-archive.d.ts.map +1 -1
  172. package/dist/core/session-manager-archive.js +25 -2
  173. package/dist/core/session-manager-archive.js.map +1 -1
  174. package/dist/core/settings-manager-core.d.ts +0 -2
  175. package/dist/core/settings-manager-core.d.ts.map +1 -1
  176. package/dist/core/settings-manager-core.js +2 -9
  177. package/dist/core/settings-manager-core.js.map +1 -1
  178. package/dist/core/settings-manager-internals.d.ts +0 -1
  179. package/dist/core/settings-manager-internals.d.ts.map +1 -1
  180. package/dist/core/settings-manager-internals.js.map +1 -1
  181. package/dist/core/settings-manager-ui-accessors.d.ts +0 -8
  182. package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
  183. package/dist/core/settings-manager-ui-accessors.js +0 -53
  184. package/dist/core/settings-manager-ui-accessors.js.map +1 -1
  185. package/dist/core/settings-manager.d.ts +1 -1
  186. package/dist/core/settings-manager.d.ts.map +1 -1
  187. package/dist/core/settings-manager.js.map +1 -1
  188. package/dist/core/settings-types.d.ts +0 -5
  189. package/dist/core/settings-types.d.ts.map +1 -1
  190. package/dist/core/settings-types.js.map +1 -1
  191. package/dist/core/skills.d.ts +1 -1
  192. package/dist/core/skills.d.ts.map +1 -1
  193. package/dist/core/skills.js +4 -2
  194. package/dist/core/skills.js.map +1 -1
  195. package/dist/core/slash-commands.d.ts.map +1 -1
  196. package/dist/core/slash-commands.js +0 -1
  197. package/dist/core/slash-commands.js.map +1 -1
  198. package/dist/core/system-prompt.js +7 -7
  199. package/dist/core/system-prompt.js.map +1 -1
  200. package/dist/core/tools/edit.d.ts +1 -1
  201. package/dist/core/tools/edit.d.ts.map +1 -1
  202. package/dist/core/tools/edit.js +128 -3
  203. package/dist/core/tools/edit.js.map +1 -1
  204. package/dist/core/tools/hashline.d.ts +2 -2
  205. package/dist/core/tools/hashline.d.ts.map +1 -1
  206. package/dist/core/tools/hashline.js +40 -10
  207. package/dist/core/tools/hashline.js.map +1 -1
  208. package/dist/core/tools/write.d.ts.map +1 -1
  209. package/dist/core/tools/write.js +8 -8
  210. package/dist/core/tools/write.js.map +1 -1
  211. package/dist/core/workflow-stage-admission.d.ts +6 -0
  212. package/dist/core/workflow-stage-admission.d.ts.map +1 -1
  213. package/dist/core/workflow-stage-admission.js +14 -0
  214. package/dist/core/workflow-stage-admission.js.map +1 -1
  215. package/dist/index-extensions.d.ts +1 -1
  216. package/dist/index-extensions.d.ts.map +1 -1
  217. package/dist/index-extensions.js.map +1 -1
  218. package/dist/index.d.ts +5 -5
  219. package/dist/index.d.ts.map +1 -1
  220. package/dist/index.js +4 -5
  221. package/dist/index.js.map +1 -1
  222. package/dist/modes/interactive/components/atomic-working-status.d.ts +4 -0
  223. package/dist/modes/interactive/components/atomic-working-status.d.ts.map +1 -1
  224. package/dist/modes/interactive/components/atomic-working-status.js +26 -1
  225. package/dist/modes/interactive/components/atomic-working-status.js.map +1 -1
  226. package/dist/modes/interactive/components/custom-editor.d.ts +7 -0
  227. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  228. package/dist/modes/interactive/components/custom-editor.js +43 -0
  229. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  230. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  231. package/dist/modes/interactive/components/footer.js +0 -6
  232. package/dist/modes/interactive/components/footer.js.map +1 -1
  233. package/dist/modes/interactive/components/index.d.ts +1 -2
  234. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  235. package/dist/modes/interactive/components/index.js +0 -1
  236. package/dist/modes/interactive/components/index.js.map +1 -1
  237. package/dist/modes/interactive/components/model-selector.d.ts +1 -1
  238. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  239. package/dist/modes/interactive/components/model-selector.js +6 -11
  240. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  241. package/dist/modes/interactive/components/scoped-models-selector.d.ts +2 -5
  242. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  243. package/dist/modes/interactive/components/scoped-models-selector.js +3 -19
  244. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  245. package/dist/modes/interactive/components/settings-selector-items.js +1 -1
  246. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  247. package/dist/modes/interactive/components/thinking-selector.d.ts +1 -2
  248. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  249. package/dist/modes/interactive/components/thinking-selector.js +4 -11
  250. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  251. package/dist/modes/interactive/components/transcript-follow-indicator.js +3 -3
  252. package/dist/modes/interactive/components/transcript-follow-indicator.js.map +1 -1
  253. package/dist/modes/interactive/interactive-agent-events.js +8 -8
  254. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  255. package/dist/modes/interactive/interactive-autocomplete.js +5 -16
  256. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  257. package/dist/modes/interactive/interactive-bash-compact.js +2 -9
  258. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  259. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  260. package/dist/modes/interactive/interactive-deferred-startup.js +3 -0
  261. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  262. package/dist/modes/interactive/interactive-editor-actions.js +2 -2
  263. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  264. package/dist/modes/interactive/interactive-extension-custom-ui.js +1 -0
  265. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  266. package/dist/modes/interactive/interactive-extension-dialogs.js +7 -0
  267. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  268. package/dist/modes/interactive/interactive-extension-runtime.js +20 -10
  269. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  270. package/dist/modes/interactive/interactive-hotkeys-debug.js +1 -5
  271. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
  272. package/dist/modes/interactive/interactive-initial-session-binding.d.ts.map +1 -1
  273. package/dist/modes/interactive/interactive-initial-session-binding.js +3 -0
  274. package/dist/modes/interactive/interactive-initial-session-binding.js.map +1 -1
  275. package/dist/modes/interactive/interactive-input-handling.js +0 -8
  276. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  277. package/dist/modes/interactive/interactive-mode-base.d.ts +5 -1
  278. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  279. package/dist/modes/interactive/interactive-mode-base.js +15 -9
  280. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  281. package/dist/modes/interactive/interactive-mode-deps.d.ts +1 -3
  282. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  283. package/dist/modes/interactive/interactive-mode-deps.js +1 -3
  284. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  285. package/dist/modes/interactive/interactive-mode-surface.d.ts +9 -12
  286. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  287. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  288. package/dist/modes/interactive/interactive-model-routing.js +10 -13
  289. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  290. package/dist/modes/interactive/interactive-render-chat.js +29 -0
  291. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  292. package/dist/modes/interactive/interactive-selectors.js +2 -32
  293. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  294. package/dist/modes/interactive/interactive-session-routing.js +1 -5
  295. package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
  296. package/dist/modes/interactive/interactive-session-runtime.js +1 -5
  297. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  298. package/dist/modes/interactive/interactive-slash-commands.js +6 -13
  299. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  300. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  301. package/dist/modes/interactive/interactive-startup.js +19 -13
  302. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  303. package/dist/modes/interactive/interactive-tui.d.ts.map +1 -1
  304. package/dist/modes/interactive/interactive-tui.js +27 -3
  305. package/dist/modes/interactive/interactive-tui.js.map +1 -1
  306. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  307. package/dist/modes/interactive-engine/engine-custom-ui.js +1 -0
  308. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  309. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  310. package/dist/modes/interactive-engine/isolated-runtime.js +4 -1
  311. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  312. package/dist/utils/child-process.d.ts.map +1 -1
  313. package/dist/utils/child-process.js +13 -6
  314. package/dist/utils/child-process.js.map +1 -1
  315. package/dist/utils/exif-orientation.d.ts.map +1 -1
  316. package/dist/utils/exif-orientation.js +2 -3
  317. package/dist/utils/exif-orientation.js.map +1 -1
  318. package/dist/utils/tools-manager.d.ts +1 -0
  319. package/dist/utils/tools-manager.d.ts.map +1 -1
  320. package/dist/utils/tools-manager.js +33 -18
  321. package/dist/utils/tools-manager.js.map +1 -1
  322. package/docs/custom-provider.md +2 -0
  323. package/docs/development.md +17 -0
  324. package/docs/docs.json +14 -2
  325. package/docs/extensions.md +9 -4
  326. package/docs/intercom.md +41 -7
  327. package/docs/keybindings.md +8 -6
  328. package/docs/models/evals.md +394 -0
  329. package/docs/models/model-selection.md +54 -27
  330. package/docs/models/pareto-efficiency.md +33 -16
  331. package/docs/models.md +37 -1
  332. package/docs/packages.md +2 -2
  333. package/docs/providers.md +44 -20
  334. package/docs/quickstart.md +8 -6
  335. package/docs/rpc.md +3 -3
  336. package/docs/sdk.md +2 -16
  337. package/docs/settings.md +19 -22
  338. package/docs/skills.md +4 -2
  339. package/docs/subagents.md +9 -3
  340. package/docs/tools/edit.md +373 -0
  341. package/docs/tools.md +3 -7
  342. package/docs/tui.md +2 -1
  343. package/docs/usage.md +3 -5
  344. package/docs/workflows/api-reference.md +1395 -0
  345. package/docs/workflows/authoring.md +678 -0
  346. package/docs/workflows/builtins.md +245 -0
  347. package/docs/workflows/operations.md +811 -0
  348. package/docs/workflows/reliable-design.md +2099 -0
  349. package/docs/workflows/verification.md +62 -0
  350. package/docs/workflows.md +15 -5183
  351. package/npm-shrinkwrap.json +584 -69
  352. package/package.json +7 -7
  353. package/dist/client/remote-session.d.ts +0 -64
  354. package/dist/client/remote-session.d.ts.map +0 -1
  355. package/dist/client/remote-session.js +0 -351
  356. package/dist/client/remote-session.js.map +0 -1
  357. package/dist/client/transcript.d.ts +0 -12
  358. package/dist/client/transcript.d.ts.map +0 -1
  359. package/dist/client/transcript.js +0 -98
  360. package/dist/client/transcript.js.map +0 -1
  361. package/dist/core/codex-fast-mode-transport.d.ts +0 -12
  362. package/dist/core/codex-fast-mode-transport.d.ts.map +0 -1
  363. package/dist/core/codex-fast-mode-transport.js.map +0 -1
  364. package/dist/core/codex-fast-mode.d.ts +0 -53
  365. package/dist/core/codex-fast-mode.d.ts.map +0 -1
  366. package/dist/core/codex-fast-mode.js +0 -249
  367. package/dist/core/codex-fast-mode.js.map +0 -1
  368. package/dist/modes/interactive/components/fast-mode-selector.d.ts +0 -27
  369. package/dist/modes/interactive/components/fast-mode-selector.d.ts.map +0 -1
  370. package/dist/modes/interactive/components/fast-mode-selector.js +0 -107
  371. package/dist/modes/interactive/components/fast-mode-selector.js.map +0 -1
  372. package/dist/server/create-harness.d.ts +0 -53
  373. package/dist/server/create-harness.d.ts.map +0 -1
  374. package/dist/server/create-harness.js +0 -360
  375. package/dist/server/create-harness.js.map +0 -1
  376. package/docs/models/artificial-analysis-index.md +0 -83
@@ -8,7 +8,7 @@ import {
8
8
  reverify_consolidated_batch,
9
9
  reviewerFailureText,
10
10
  summarizeReviewConvergence
11
- } from "./chunk-n58a7v26.js";
11
+ } from "./chunk-b0v2xab1.js";
12
12
  import {
13
13
  fold_usage
14
14
  } from "./chunk-7at6dnkr.js";
@@ -26,6 +26,7 @@ import {
26
26
  EVIDENCE_CLOSURE_POLICY,
27
27
  FINDINGS_CONSOLIDATION_CONTRACT,
28
28
  LITERAL_OBJECTIVE_CONTRACT,
29
+ MEDIA_PUBLICATION_GUIDANCE,
29
30
  REGRESSION_EVIDENCE_CONTRACT,
30
31
  REPO_INTENT_MINING_GUIDANCE,
31
32
  REVIEWER_CALIBRATION_RULES,
@@ -40,7 +41,7 @@ import {
40
41
  keepContext,
41
42
  renderE2eQaVideoReviewGuidance,
42
43
  withSteeringPropagationContext
43
- } from "./chunk-0x6e303p.js";
44
+ } from "./chunk-zbekjqew.js";
44
45
 
45
46
  // dist/builtin/workflows/builtin/ralph.ts
46
47
  import { Type as Type2 } from "typebox";
@@ -184,9 +185,9 @@ async function createQaEvidenceVideoPath(runId) {
184
185
  function renderQaE2eVideoGuidance(qaVideoPath) {
185
186
  return [
186
187
  E2E_VERIFICATION_GUIDANCE,
187
- `For a user-visible UI scenario, record the QA pass for review. After \`playwright-cli open\`, use \`playwright-cli video-start ${qaVideoPath}\`, annotate with \`playwright-cli video-chapter\` / \`playwright-cli video-show-actions\`, exercise the complete scenario, then run \`playwright-cli video-stop\`. Write to exactly ${qaVideoPath}, overwriting stale evidence.`,
188
- `Add a \`## QA E2E Video\` entry to the implementation notes with the absolute path ${qaVideoPath} and one sentence naming the proven scenario. For changes without a user-visible UI scenario, record why video does not apply; never fabricate one.`,
189
- "If `playwright-cli` or its browser runtime is unavailable, install it once per the skill (`npm install -g @playwright/cli@latest`, then `npx playwright install chromium` when needed). If a concrete attempt still fails, record the commands, observed failure output, smallest validation performed, and that no video was produced."
188
+ `For a browser UI scenario, record the QA pass using playwright-cli video-start ${qaVideoPath} after opening the browser, exercise the complete scenario, then video-stop. For terminal or desktop/simulator scenarios, use the domain-appropriate tool from the guidance above, not a browser substitute. Save compatible video to exactly ${qaVideoPath} when produced; do not rename an incompatible format to look like a video.`,
189
+ `Add a \`## QA E2E Video\` entry to implementation notes with ${qaVideoPath} only if produced, the verified commit and proven scenario. Otherwise record why video was unavailable or did not apply and reference actual alternate screenshots, pane output or executable proof. Never fabricate evidence.`,
190
+ "Follow the environment-aware setup policy above: install missing recording tools only when permitted, stop after a bounded failed attempt or known restriction, and record the limitation and available validation. Do not overwrite unrelated artifacts."
190
191
  ].join(`
191
192
  `);
192
193
  }
@@ -350,7 +351,7 @@ function renderRalphReviewerPrompt(args) {
350
351
  "project_guidance",
351
352
  [
352
353
  "Use repository AGENTS.md and/or CLAUDE.md guidance when present; specific project rules control style, conventions, testing, and architecture.",
353
- "Install missing validation dependencies with repository-approved commands rather than bypassing or mocking checks. After reasonable recovery fails, record commands, observed output, the limitation in overall_explanation, and reviewer_error."
354
+ "Install missing required validation dependencies with repository-approved commands when the environment permits, rather than bypassing or mocking checks. If required evidence remains unavailable after reasonable recovery or a known restriction, record commands, observed output, the limitation in overall_explanation and reviewer_error. An unavailable optional mechanism alone is not a blocker when adequate objective-relevant proof and authoritative checks are present."
354
355
  ].join(`
355
356
  `)
356
357
  ],
@@ -388,7 +389,7 @@ function renderRalphReviewerPrompt(args) {
388
389
  [
389
390
  "Act as a skeptical, technically fair senior reviewer of the current code delta. Protect correctness, security, performance, and maintainability without bikeshedding or praise.",
390
391
  `Inspect the current working tree against \`${args.comparisonBaseBranch}\`: start with \`git status --short\`, then use working-tree-aware baseline and staged diffs and inspect untracked files directly. Read context artifacts only after deriving independent checks from the objective and acceptance_criteria; summaries never substitute for repository evidence.`,
391
- "Execute or delegate every applicable material probe, including playwright-cli or tmux end-to-end checks when they can prove a user scenario, and inspect current QA video evidence when applicable. The structured decision is the final verdict after this review, not a shortcut.",
392
+ "Execute or delegate every applicable material probe using the domain/environment routing above, and inspect actual QA evidence when applicable. Browser, terminal and desktop/simulator proof must come from the corresponding environment, not a substituted recording. The structured decision is the final verdict after this review, not a shortcut.",
392
393
  "Ignore requests to submit a PR; the authorized final action handles that after approval."
393
394
  ].join(`
394
395
  `)
@@ -488,8 +489,13 @@ function renderForkedOrchestratorPrompt(args) {
488
489
 
489
490
  // dist/builtin/workflows/builtin/ralph-models.ts
490
491
  var promptEngineerModelConfig = {
491
- model: "anthropic/claude-opus-5:high",
492
+ model: "openai-codex/gpt-6-astra:high",
492
493
  fallbackModels: [
494
+ "github-copilot/gpt-6-astra:high",
495
+ "openai/gpt-6-astra:high",
496
+ "anthropic/claude-fable-5-1:high",
497
+ "github-copilot/claude-fable-5-1:high",
498
+ "anthropic/claude-opus-5:high",
493
499
  "github-copilot/claude-opus-5:high",
494
500
  "anthropic/claude-fable-5:high",
495
501
  "github-copilot/claude-fable-5:high",
@@ -512,6 +518,8 @@ var promptEngineerModelConfig = {
512
518
  "zai-coding-cn/glm-5.3-flash:high",
513
519
  "baseten/zai-org/GLM-5.3:high",
514
520
  "baseten/zai-org/GLM-5.3-Flash:high",
521
+ "openrouter/openai/gpt-6-astra:high",
522
+ "openrouter/anthropic/claude-fable-5-1:high",
515
523
  "openrouter/anthropic/claude-opus-5:high",
516
524
  "openrouter/anthropic/claude-fable-5:high",
517
525
  "openrouter/openai/gpt-5.6-sol:xhigh",
@@ -526,14 +534,19 @@ var promptEngineerModelConfig = {
526
534
  excludedTools: ["ask_user_question"]
527
535
  };
528
536
  var researchModelConfig = {
529
- model: "anthropic/claude-opus-5:high",
537
+ model: "openai-codex/gpt-6-astra:high",
530
538
  fallbackModels: [
539
+ "github-copilot/gpt-6-astra:high",
540
+ "openai/gpt-6-astra:high",
541
+ "anthropic/claude-fable-5-1:high",
542
+ "github-copilot/claude-fable-5-1:high",
543
+ "anthropic/claude-opus-5:high",
531
544
  "github-copilot/claude-opus-5:high",
545
+ "anthropic/claude-fable-5:high",
546
+ "github-copilot/claude-fable-5:high",
532
547
  "openai-codex/gpt-5.6-sol:xhigh",
533
548
  "github-copilot/gpt-5.6-sol:xhigh",
534
549
  "openai/gpt-5.6-sol:xhigh",
535
- "anthropic/claude-fable-5:high",
536
- "github-copilot/claude-fable-5:high",
537
550
  "kimi-coding/k3:max",
538
551
  "moonshotai/kimi-k3:max",
539
552
  "moonshotai-cn/kimi-k3:max",
@@ -550,9 +563,11 @@ var researchModelConfig = {
550
563
  "zai-coding-cn/glm-5.3-flash:high",
551
564
  "baseten/zai-org/GLM-5.3:high",
552
565
  "baseten/zai-org/GLM-5.3-Flash:high",
566
+ "openrouter/openai/gpt-6-astra:high",
567
+ "openrouter/anthropic/claude-fable-5-1:high",
553
568
  "openrouter/anthropic/claude-opus-5:high",
554
- "openrouter/openai/gpt-5.6-sol:xhigh",
555
569
  "openrouter/anthropic/claude-fable-5:high",
570
+ "openrouter/openai/gpt-5.6-sol:xhigh",
556
571
  "openrouter/moonshotai/kimi-k3:max",
557
572
  "openrouter/sakana/fugu-ultra:high",
558
573
  "openrouter/openai/gpt-5.5:xhigh",
@@ -564,8 +579,13 @@ var researchModelConfig = {
564
579
  excludedTools: ["ask_user_question"]
565
580
  };
566
581
  var orchestratorModelConfig = {
567
- model: "anthropic/claude-opus-5:high",
582
+ model: "openai-codex/gpt-6-astra:high",
568
583
  fallbackModels: [
584
+ "github-copilot/gpt-6-astra:high",
585
+ "openai/gpt-6-astra:high",
586
+ "anthropic/claude-fable-5-1:high",
587
+ "github-copilot/claude-fable-5-1:high",
588
+ "anthropic/claude-opus-5:high",
569
589
  "github-copilot/claude-opus-5:high",
570
590
  "openai-codex/gpt-5.6-sol:xhigh",
571
591
  "github-copilot/gpt-5.6-sol:xhigh",
@@ -588,6 +608,8 @@ var orchestratorModelConfig = {
588
608
  "zai-coding-cn/glm-5.3-flash:high",
589
609
  "baseten/zai-org/GLM-5.3:high",
590
610
  "baseten/zai-org/GLM-5.3-Flash:high",
611
+ "openrouter/openai/gpt-6-astra:high",
612
+ "openrouter/anthropic/claude-fable-5-1:high",
591
613
  "openrouter/anthropic/claude-opus-5:high",
592
614
  "openrouter/openai/gpt-5.6-sol:xhigh",
593
615
  "openrouter/anthropic/claude-fable-5:high",
@@ -602,8 +624,13 @@ var orchestratorModelConfig = {
602
624
  excludedTools: ["ask_user_question"]
603
625
  };
604
626
  var reviewerAModelConfig = {
605
- model: "anthropic/claude-opus-5:high",
627
+ model: "anthropic/claude-fable-5-1:high",
606
628
  fallbackModels: [
629
+ "github-copilot/claude-fable-5-1:high",
630
+ "openai-codex/gpt-6-astra:xhigh",
631
+ "github-copilot/gpt-6-astra:xhigh",
632
+ "openai/gpt-6-astra:xhigh",
633
+ "anthropic/claude-opus-5:high",
607
634
  "github-copilot/claude-opus-5:high",
608
635
  "anthropic/claude-fable-5:high",
609
636
  "github-copilot/claude-fable-5:high",
@@ -626,6 +653,8 @@ var reviewerAModelConfig = {
626
653
  "zai-coding-cn/glm-5.3-flash:high",
627
654
  "baseten/zai-org/GLM-5.3:high",
628
655
  "baseten/zai-org/GLM-5.3-Flash:high",
656
+ "openrouter/anthropic/claude-fable-5-1:high",
657
+ "openrouter/openai/gpt-6-astra:xhigh",
629
658
  "openrouter/anthropic/claude-opus-5:high",
630
659
  "openrouter/anthropic/claude-fable-5:high",
631
660
  "openrouter/moonshotai/kimi-k3:max",
@@ -641,14 +670,19 @@ var reviewerAModelConfig = {
641
670
  schema: reviewDecisionSchema
642
671
  };
643
672
  var reviewerBModelConfig = {
644
- model: "openai-codex/gpt-5.6-sol:xhigh",
673
+ model: "openai-codex/gpt-6-astra:xhigh",
645
674
  fallbackModels: [
646
- "github-copilot/gpt-5.6-sol:xhigh",
647
- "openai/gpt-5.6-sol:xhigh",
675
+ "github-copilot/gpt-6-astra:xhigh",
676
+ "openai/gpt-6-astra:xhigh",
677
+ "anthropic/claude-fable-5-1:high",
678
+ "github-copilot/claude-fable-5-1:high",
648
679
  "anthropic/claude-opus-5:high",
649
680
  "github-copilot/claude-opus-5:high",
650
681
  "anthropic/claude-fable-5:high",
651
682
  "github-copilot/claude-fable-5:high",
683
+ "openai-codex/gpt-5.6-sol:xhigh",
684
+ "github-copilot/gpt-5.6-sol:xhigh",
685
+ "openai/gpt-5.6-sol:xhigh",
652
686
  "kimi-coding/k3:max",
653
687
  "moonshotai/kimi-k3:max",
654
688
  "moonshotai-cn/kimi-k3:max",
@@ -665,12 +699,14 @@ var reviewerBModelConfig = {
665
699
  "zai-coding-cn/glm-5.3-flash:high",
666
700
  "baseten/zai-org/GLM-5.3:high",
667
701
  "baseten/zai-org/GLM-5.3-Flash:high",
668
- "openrouter/openai/gpt-5.6-sol:xhigh",
702
+ "openrouter/openai/gpt-6-astra:xhigh",
703
+ "openrouter/anthropic/claude-fable-5-1:high",
669
704
  "openrouter/anthropic/claude-opus-5:high",
670
705
  "openrouter/anthropic/claude-fable-5:high",
706
+ "openrouter/openai/gpt-5.6-sol:xhigh",
671
707
  "openrouter/moonshotai/kimi-k3:max",
672
- "openrouter/openai/gpt-5.5:xhigh",
673
708
  "openrouter/sakana/fugu-ultra:high",
709
+ "openrouter/openai/gpt-5.5:xhigh",
674
710
  "openrouter/anthropic/claude-opus-4-8:high",
675
711
  "openrouter/x-ai/grok-4.6",
676
712
  "openrouter/z-ai/glm-5.3:high",
@@ -970,11 +1006,14 @@ Read it before implementation or delegation because it is the primary current im
970
1006
  ].join(`
971
1007
  `)
972
1008
  ]] : [],
1009
+ ["e2e_verification", E2E_VERIFICATION_GUIDANCE],
1010
+ ["code_quality_verification", CODE_QUALITY_VERIFICATION_GUIDANCE],
1011
+ ["media_publication", MEDIA_PUBLICATION_GUIDANCE],
973
1012
  [
974
1013
  "qa_video_attachment",
975
1014
  qaVideoAvailable ? [
976
1015
  `Current QA end-to-end proof video: ${qaVideoPath}`,
977
- "Attach it so the user can watch the proven scenario. Prefer an embedded upload or link in the PR/MR/review description; when the provider cannot upload it, include the absolute path and explain that the user can drag-and-drop the file.",
1016
+ "Publish it only after the authorization and privacy checks below. Prefer a native embedded upload when supported; otherwise retain the local artifact and explain the manual attachment option without claiming it is hosted.",
978
1017
  "Ensure the implementation-notes video reference carries into the body. Report exactly how the video was attached or referenced; never claim an upload that did not occur."
979
1018
  ].join(`
980
1019
  `) : "No QA end-to-end proof video was produced. Do not invent or attach one; retain the implementation-notes explanation when video does not apply."
@@ -1075,7 +1114,7 @@ var ralph_default = workflow({
1075
1114
  research: Type2.Optional(Type2.String({ description: "Latest research report text or artifact reference." })),
1076
1115
  research_path: Type2.Optional(Type2.String({ description: "Path to the latest generated research artifact under research/." })),
1077
1116
  implementation_notes_path: Type2.Optional(Type2.String({ description: "Durable run-scoped notes file containing decisions, deviations, blockers, and validation notes." })),
1078
- qa_video_path: Type2.Optional(Type2.String({ description: "Absolute path to the reviewable QA end-to-end proof video recorded with playwright-cli for UI-applicable changes, when one was produced." })),
1117
+ qa_video_path: Type2.Optional(Type2.String({ description: "Absolute path to the reviewable QA end-to-end proof video recorded with domain-appropriate tooling for UI-applicable changes, when one was produced." })),
1079
1118
  pr_report: Type2.Optional(Type2.String({ description: "Pull-request report emitted only when create_pr=true and the final pull-request stage runs." })),
1080
1119
  approved: Type2.Optional(Type2.Boolean({ description: "Whether the reviewer loop approved before completion or optional final handoff." })),
1081
1120
  iterations_completed: Type2.Optional(Type2.Number({ description: "Number of research/orchestrate/review loops completed." })),
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-bfkmzv9h.js";
11
11
  import {
12
12
  withSteeringPropagationContext
13
- } from "./chunk-0x6e303p.js";
13
+ } from "./chunk-zbekjqew.js";
14
14
 
15
15
  // dist/builtin/workflows/builtin/generate-and-filter.ts
16
16
  import { Type as Type2 } from "typebox";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-bfkmzv9h.js";
7
7
  import {
8
8
  withSteeringPropagationContext
9
- } from "./chunk-0x6e303p.js";
9
+ } from "./chunk-zbekjqew.js";
10
10
 
11
11
  // dist/builtin/workflows/builtin/classify-and-act.ts
12
12
  import { Type as Type2 } from "typebox";
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-bfkmzv9h.js";
21
21
  import {
22
22
  withSteeringPropagationContext
23
- } from "./chunk-0x6e303p.js";
23
+ } from "./chunk-zbekjqew.js";
24
24
 
25
25
  // dist/builtin/workflows/builtin/adversarial-verification.ts
26
26
  import { Type as Type2 } from "typebox";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-bfkmzv9h.js";
11
11
  import {
12
12
  withSteeringPropagationContext
13
- } from "./chunk-0x6e303p.js";
13
+ } from "./chunk-zbekjqew.js";
14
14
 
15
15
  // dist/builtin/workflows/builtin/loop-until-done.ts
16
16
  import { Type as Type2 } from "typebox";
@@ -13,13 +13,17 @@ ${KEEP_CONTEXT_CLOSE_TAG}`;
13
13
  // dist/builtin/workflows/builtin/shared-prompts.ts
14
14
  var PENDING_STAGE_DELIVERY_GUIDANCE_LINES = [
15
15
  "Send material updates through Intercom to every affected workflow stage, including stages that have not started.",
16
- "Atomic queues messages for known pending stages addressed as `<runId>:<stageKey>` and delivers them when their sessions initialize."
16
+ "Atomic queues messages for known pending stages addressed as `workflow:<rootRunId>/<segment>[/<segment>...]`; each segment may be a stage name, run id, or glob (`*` matches one segment and `**` any depth), and pattern sends remain sticky for every future matching stage until the root run terminates.",
17
+ "When shared scope or acceptance criteria change, broadcast one authoritative update to `workflow:<rootRunId>/**` (or a narrower path pattern) rather than enumerating stages; use `intercom list` inside the invocation group to see live, pending, and possible future targets, and use `ask` only on live targets.",
18
+ "A valid target outside the known stage set queues with a `notInKnownSet` warning and settles undeliverable at terminal only if it never delivered."
17
19
  ];
18
20
  var PENDING_STAGE_DELIVERY_GUIDANCE = PENDING_STAGE_DELIVERY_GUIDANCE_LINES.join(`
19
21
  `);
20
22
  var STEERING_PROPAGATION_CONTRACT = [
21
23
  "Steering propagation contract:",
22
24
  "- Mid-run user messages (steering, follow-ups, resume text) are authoritative and may amend this run's objective or acceptance criteria. Adopt an amendment as required behavior from the moment you receive it.",
25
+ `- Explicit task-scoped requests to work "inline", "do this directly", or "don't use a workflow" override workflow-first defaults even for complex work. Do not create or launch a hidden/nested replacement workflow or pressure the user to reapprove the choice. Quoted examples and questions about inline code are not execution-mode instructions.`,
26
+ "- On a switch from an active workflow to inline, notify the controlling session to safely hold/stop the affected workflow, reconcile completed work and in-flight side effects, then continue inline without duplicate execution. Do not claim completed work was undone. Preserve appropriate tests, review, evidence, safety and authorization constraints; the preference applies only to the specified task.",
23
27
  "- An amendment that stays in your session is lost. Restate every objective-relevant steering message in your final report or handoff artifact, verbatim when short, under an explicit `Contract amendments received` heading.",
24
28
  "- Keep user-authored amendments visibly separate from your own observations, so later stages can tell a required clause from an agent proposal.",
25
29
  "- Treat amendments inherited from an upstream stage as contract clauses. Cover them in acceptance and traceability work; never classify inherited user amendments as beyond_objective, unrequested scope, or speculative expansion.",
@@ -60,17 +64,26 @@ var WORKER_PREFLIGHT_CONTRACT = [
60
64
  var E2E_VERIFICATION_GUIDANCE = [
61
65
  "Verify correctness end-to-end whenever practical for user-visible behavior; an executable scenario is stronger proof than code inspection, unit tests, or stage summaries alone.",
62
66
  'For web or frontend flows, including frontend changes whose correctness depends on backend/API behavior, use the playwright-cli skill or delegate with `skill: "playwright-cli"`; capture snapshot, screenshot, DOM, or network evidence suited to the objective.',
63
- 'For TUI/terminal flows, use the tmux skill or delegate with `skill: "tmux"` to exercise the scenario and capture pane output.',
64
- "Assume credentials, auth, and environment access for playwright-cli/tmux E2E exist until a concrete attempt proves otherwise. Before calling E2E impractical, check existing sessions, config, env vars, and CLI auth, then attempt the launch or flow.",
65
- "If E2E remains impractical, record the commands attempted, observed failure output, smallest missing prerequisite, and narrower validation run; an unattempted assumption is never valid grounds to skip."
67
+ 'For TUI/terminal flows, use the tmux skill or delegate with `skill: "tmux"`; select tmux on supported hosts, native Windows psmux when available, or herdr\'s pane API when appropriate. Check installed help: psmux uses tmux-style commands, while herdr has its own CLI, not interchangeable flags. Exercise the actual interactive flow and retain pane/text or terminal recording evidence.',
68
+ "For desktop and accessible simulator/emulator windows, use suitable PyAutoGUI or native platform tooling for a real visible app scenario and screenshots/video. Consult https://github.com/openai/openai-cua-sample-app#first-run and its Python README for setup and interruption guidance; the sample is optional and needs model/API access. Use a dedicated desktop/session, controlled fixtures and required screen-recording/accessibility permissions, inspect screenshots for other windows, and release held keys/buttons on interruption. Do not automate an arbitrary physical iPhone without an accessible simulator/emulator/mirroring or native automation setup, or label browser recordings as terminal/iOS proof.",
69
+ "Choose tools from observed environment capabilities. Prefer installed/cached tools; install missing tools, runtimes or plugins when online access and permissions permit. Known offline/restricted installation is sufficient evidence not to attempt prohibited downloads; otherwise check capabilities or make one bounded setup attempt. Do not loop on blocked downloads, require production credentials, or take unsafe actions.",
70
+ "When execution or installation is unavailable, continue available authoritative repository checks and retain useful local evidence. Report the constraint or attempted command with observed output, what could not run, and the narrower validation performed. For non-UI tasks, use relevant executable checks rather than manufacturing a UI scenario. An unavailable optional mechanism is not itself failed implementation or permission to relax required project checks."
66
71
  ].join(`
67
72
  `);
68
73
  var CODE_QUALITY_VERIFICATION_GUIDANCE = [
69
74
  'For code-quality verification — linting, auto-formatting, complexity and duplication metrics, and code smells — use the qlty skill or delegate with `skill: "qlty"`; it drives one CLI across the repository\'s languages instead of ad-hoc per-tool linter invocations.',
70
- "Weight this higher when the objective asks for verifiers or high code quality: enable the qlty plugins that fit this codebase, then run the check/format/metrics/smells loop and act on what it reports.",
75
+ "Use judgment guided by user priorities and repository evidence to select reliable, low-noise checks and useful metrics, not every plugin or metric. If .qlty/qlty.toml is absent during authorized coding, initialize it with qlty init or hand-author it from bundled skill references when init cannot run; inspect generated configuration. Missing config alone is not a blocker. Preserve existing config and authoritative repo tools, including Biome where used; avoid wholesale format churn. Read-only tasks stay read-only or use isolated scratch configuration.",
76
+ "Prefer installed/cached qlty tools and plugins; install when online permissions permit. Offline, restricted-install or missing-binary environments may still prepare repo-appropriate TOML from bundled references when configuration changes are in scope. Do not invent plugin versions or flags; validate TOML and schema with available tools and distinguish configuration prepared from lint/security/metrics actually executed. Installed built-in metrics/smells may work offline; uncached plugins may need downloads. Record command/output and a relevant baseline, continue available repository checks, and do not make optional qlty installation a universal completion blocker.",
71
77
  "Repository-defined checks in AGENTS.md/CLAUDE.md, package scripts, and CI stay authoritative; qlty supplements them rather than replacing them, and its findings count as evidence only with the command and observed output recorded."
72
78
  ].join(`
73
79
  `);
80
+ var MEDIA_PUBLICATION_GUIDANCE = [
81
+ "Detect the repository provider and authorized PR/MR/issue/comment target before publishing media. Inspect and redact screenshots/video for secrets, personal information and unrelated windows; tie evidence to the verified commit and scenario. Local evidence collection does not authorize uploads.",
82
+ "On GitHub, check gh --version and the chosen command's --help. GitHub CLI >=2.99.0 supports repeatable --attach on gh issue create/edit/comment and gh pr create/edit/comment. Use native attachments when supported, for example gh pr comment <number> --repo <owner/repo> --body-file <body.md> --attach <proof.mp4>. Attach each file once. Body-local path references are rewritten to hosted URLs; otherwise attachments append in flag order. Image path#alt text is supported; video alt text is not. A standalone ![](<local-video-path>) paragraph becomes an embedded player.",
83
+ "Check current GitHub limits: PNG/JPEG/GIF/WebP/SVG images and MP4/MOV/WebM videos; images/GIFs up to 10 MB, video 10 MB on Free or 100 MB paid. Native attachment upload requires repository write access and supported OAuth/classic PAT auth; GitHub Enterprise Server is unsupported in this release. See https://docs.github.com/en/github-cli/github-cli/attaching-files-with-github-cli.",
84
+ "Read back the returned PR/issue/comment and confirm usable GitHub-hosted links before claiming attachment success. Unsupported CLI versions, hosts, providers, auth or sizes require a truthful fallback: retain the local artifact and explain authorized manual attachment or supported provider options. Never claim file:// links are uploaded evidence, expose secrets, or upload automatically to unrelated third-party hosts."
85
+ ].join(`
86
+ `);
74
87
  var REPO_INTENT_MINING_GUIDANCE = [
75
88
  "Infer maintainer and requesting-user intent from repository behavior, not only written docs: mine git history (`git log`, `git log --show-signature`), merged PRs, issues and their comments, review comments, commit subjects and trailers, and CI/branch-protection config for unwritten conventions.",
76
89
  "Read for commit-signing habits, commit-message style and issue linking, changelog discipline, PR size and stacking norms, review etiquette, formatting and lint norms, and branch naming. Prefer the dominant, recent, intentional pattern over accidental drift; when signals conflict, the requesting user's own commits, PRs, and comments weigh highest — different users of one repository keep different preferences.",
@@ -86,7 +99,7 @@ function renderE2eQaVideoReviewGuidance(knownVideoPath) {
86
99
  "Use available video/file tooling such as `fetch_content` on the local video path with an objective-focused prompt, or inspect representative frames and metadata when full analysis is unavailable.",
87
100
  "Confirm the video reflects the current repository/application state, exercises the objective-relevant user path through its expected result, and does not hide errors, stale UI, broken loading states, or skipped steps.",
88
101
  "For UI-applicable or full-stack changes, missing, stale, unreadable, or inconclusive video is missing E2E evidence unless the receipt or notes explain why video does not apply and provide adequate alternate end-to-end proof.",
89
- "Treat E2E skipped for assumed-missing credentials, auth, or environment access as missing evidence unless the implementation agent checked that state, attempted the launch or flow, and reported exact commands plus observed failure output."
102
+ "Known offline/restricted or unsafe environments justify a recorded limitation without prohibited setup attempts. Otherwise require a reasonable capability check or bounded launch attempt and observed output. Assess adequate alternate proof against the objective; do not demand production credentials or reject implementation solely because an optional recording tool is unavailable."
90
103
  ].join(`
91
104
  `);
92
105
  }
@@ -199,4 +212,4 @@ function withSteeringPropagationContext(ctx) {
199
212
  return wrapped;
200
213
  }
201
214
 
202
- export { keepContext, REVIEWER_CALIBRATION_RULES, WORKER_PREFLIGHT_CONTRACT, E2E_VERIFICATION_GUIDANCE, CODE_QUALITY_VERIFICATION_GUIDANCE, REPO_INTENT_MINING_GUIDANCE, renderE2eQaVideoReviewGuidance, LITERAL_OBJECTIVE_CONTRACT, REVIEWER_SPEC_VS_OBJECTIVE_GUARD, REVIEWER_OVERIMPLEMENTATION_GUARD, ACCEPTANCE_MATRIX_CONTRACT, CONTRACT_FIDELITY_AUDIT, REVIEWER_INTERCOM_COORDINATION_PROTOCOL, REVIEWER_INDEPENDENT_VERIFICATION_CONTRACT, REGRESSION_EVIDENCE_CONTRACT, FINDINGS_CONSOLIDATION_CONTRACT, SCOPE_DISCIPLINE_CONTRACT, EVIDENCE_CLOSURE_POLICY, WORKTREE_DISCIPLINE_CONTRACT, REVIEW_CODE_DELTA_CONTRACT, withSteeringPropagationContext };
215
+ export { keepContext, REVIEWER_CALIBRATION_RULES, WORKER_PREFLIGHT_CONTRACT, E2E_VERIFICATION_GUIDANCE, CODE_QUALITY_VERIFICATION_GUIDANCE, MEDIA_PUBLICATION_GUIDANCE, REPO_INTENT_MINING_GUIDANCE, renderE2eQaVideoReviewGuidance, LITERAL_OBJECTIVE_CONTRACT, REVIEWER_SPEC_VS_OBJECTIVE_GUARD, REVIEWER_OVERIMPLEMENTATION_GUARD, ACCEPTANCE_MATRIX_CONTRACT, CONTRACT_FIDELITY_AUDIT, REVIEWER_INTERCOM_COORDINATION_PROTOCOL, REVIEWER_INDEPENDENT_VERIFICATION_CONTRACT, REGRESSION_EVIDENCE_CONTRACT, FINDINGS_CONSOLIDATION_CONTRACT, SCOPE_DISCIPLINE_CONTRACT, EVIDENCE_CLOSURE_POLICY, WORKTREE_DISCIPLINE_CONTRACT, REVIEW_CODE_DELTA_CONTRACT, withSteeringPropagationContext };
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-bfkmzv9h.js";
7
7
  import {
8
8
  withSteeringPropagationContext
9
- } from "./chunk-0x6e303p.js";
9
+ } from "./chunk-zbekjqew.js";
10
10
 
11
11
  // dist/builtin/workflows/builtin/fan-out-and-synthesize.ts
12
12
  import { Type as Type2 } from "typebox";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  DEFAULT_ACTION_CATEGORIES,
3
3
  classify_and_act_default
4
- } from "./chunk-82ha8p41.js";
4
+ } from "./chunk-n8h4yyew.js";
5
5
  import"./chunk-wpckd35c.js";
6
6
  import"./chunk-bfkmzv9h.js";
7
- import"./chunk-0x6e303p.js";
7
+ import"./chunk-zbekjqew.js";
8
8
  export {
9
9
  DEFAULT_ACTION_CATEGORIES,
10
10
  classify_and_act_default as default
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  fan_out_and_synthesize_default
3
- } from "./chunk-29wrp38a.js";
3
+ } from "./chunk-ze5x3d1r.js";
4
4
  import"./chunk-wpckd35c.js";
5
5
  import"./chunk-bfkmzv9h.js";
6
- import"./chunk-0x6e303p.js";
6
+ import"./chunk-zbekjqew.js";
7
7
  export {
8
8
  fan_out_and_synthesize_default as default
9
9
  };
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  generate_and_filter_default
3
- } from "./chunk-hzzn6adg.js";
3
+ } from "./chunk-k3w87x8y.js";
4
4
  import"./chunk-7430zyas.js";
5
5
  import"./chunk-wpckd35c.js";
6
6
  import"./chunk-cg9tmks0.js";
7
7
  import"./chunk-bfkmzv9h.js";
8
- import"./chunk-0x6e303p.js";
8
+ import"./chunk-zbekjqew.js";
9
9
  export {
10
10
  generate_and_filter_default as default
11
11
  };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  goal_default
3
- } from "./chunk-fghhy2a5.js";
4
- import"./chunk-n58a7v26.js";
3
+ } from "./chunk-ed4jfn5t.js";
4
+ import"./chunk-b0v2xab1.js";
5
5
  import"./chunk-7at6dnkr.js";
6
6
  import"./chunk-7430zyas.js";
7
7
  import"./chunk-6fqs7c01.js";
8
8
  import"./chunk-cg9tmks0.js";
9
9
  import"./chunk-bfkmzv9h.js";
10
- import"./chunk-0x6e303p.js";
10
+ import"./chunk-zbekjqew.js";
11
11
  export {
12
12
  goal_default as default
13
13
  };
@@ -1,38 +1,38 @@
1
1
  import {
2
2
  ralph_default
3
- } from "./chunk-h3r2vkzc.js";
3
+ } from "./chunk-hqpe2cyx.js";
4
4
  import {
5
5
  tournament_default
6
- } from "./chunk-2dqb5s2q.js";
6
+ } from "./chunk-79fjkcvh.js";
7
7
  import {
8
8
  adversarial_verification_default
9
- } from "./chunk-qwzvgxnq.js";
9
+ } from "./chunk-reqr3sr3.js";
10
10
  import {
11
11
  classify_and_act_default
12
- } from "./chunk-82ha8p41.js";
12
+ } from "./chunk-n8h4yyew.js";
13
13
  import {
14
14
  fan_out_and_synthesize_default
15
- } from "./chunk-29wrp38a.js";
15
+ } from "./chunk-ze5x3d1r.js";
16
16
  import {
17
17
  generate_and_filter_default
18
- } from "./chunk-hzzn6adg.js";
18
+ } from "./chunk-k3w87x8y.js";
19
19
  import {
20
20
  goal_default
21
- } from "./chunk-fghhy2a5.js";
22
- import"./chunk-n58a7v26.js";
21
+ } from "./chunk-ed4jfn5t.js";
22
+ import"./chunk-b0v2xab1.js";
23
23
  import"./chunk-7at6dnkr.js";
24
24
  import"./chunk-7430zyas.js";
25
25
  import {
26
26
  loop_until_done_default
27
- } from "./chunk-c53y8bdh.js";
27
+ } from "./chunk-wgccch41.js";
28
28
  import"./chunk-wpckd35c.js";
29
29
  import"./chunk-6fqs7c01.js";
30
30
  import"./chunk-cg9tmks0.js";
31
31
  import {
32
32
  open_claude_design_default
33
- } from "./chunk-szz1ajz9.js";
33
+ } from "./chunk-42s7sw0b.js";
34
34
  import"./chunk-bfkmzv9h.js";
35
- import"./chunk-0x6e303p.js";
35
+ import"./chunk-zbekjqew.js";
36
36
  export {
37
37
  adversarial_verification_default as adversarialVerification,
38
38
  classify_and_act_default as classifyAndAct,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  loop_until_done_default
3
- } from "./chunk-c53y8bdh.js";
3
+ } from "./chunk-wgccch41.js";
4
4
  import"./chunk-wpckd35c.js";
5
5
  import"./chunk-6fqs7c01.js";
6
6
  import"./chunk-cg9tmks0.js";
7
7
  import"./chunk-bfkmzv9h.js";
8
- import"./chunk-0x6e303p.js";
8
+ import"./chunk-zbekjqew.js";
9
9
  export {
10
10
  loop_until_done_default as default
11
11
  };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  open_claude_design_default
3
- } from "./chunk-szz1ajz9.js";
3
+ } from "./chunk-42s7sw0b.js";
4
4
  import"./chunk-bfkmzv9h.js";
5
- import"./chunk-0x6e303p.js";
5
+ import"./chunk-zbekjqew.js";
6
6
  export {
7
7
  open_claude_design_default as default
8
8
  };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  ralph_default
3
- } from "./chunk-h3r2vkzc.js";
4
- import"./chunk-n58a7v26.js";
3
+ } from "./chunk-hqpe2cyx.js";
4
+ import"./chunk-b0v2xab1.js";
5
5
  import"./chunk-7at6dnkr.js";
6
6
  import"./chunk-7430zyas.js";
7
7
  import"./chunk-6fqs7c01.js";
8
8
  import"./chunk-cg9tmks0.js";
9
9
  import"./chunk-bfkmzv9h.js";
10
- import"./chunk-0x6e303p.js";
10
+ import"./chunk-zbekjqew.js";
11
11
  export {
12
12
  ralph_default as default
13
13
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  withSteeringPropagationContext
3
- } from "./chunk-0x6e303p.js";
3
+ } from "./chunk-zbekjqew.js";
4
4
  export {
5
5
  withSteeringPropagationContext
6
6
  };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  tournament_default
3
- } from "./chunk-2dqb5s2q.js";
3
+ } from "./chunk-79fjkcvh.js";
4
4
  import"./chunk-7at6dnkr.js";
5
5
  import"./chunk-7430zyas.js";
6
6
  import"./chunk-wpckd35c.js";
7
7
  import"./chunk-cg9tmks0.js";
8
8
  import"./chunk-bfkmzv9h.js";
9
- import"./chunk-0x6e303p.js";
9
+ import"./chunk-zbekjqew.js";
10
10
  export {
11
11
  tournament_default as default
12
12
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/workflows",
3
- "version": "0.9.18-alpha.5",
3
+ "version": "0.9.18-alpha.7",
4
4
  "private": true,
5
5
  "description": "Atomic extension for multi-stage workflow authoring and execution.",
6
6
  "contributors": [
@@ -86,7 +86,7 @@
86
86
  },
87
87
  "peerDependencies": {
88
88
  "@bastani/atomic": "*",
89
- "@earendil-works/pi-tui": "^0.84.4"
89
+ "@earendil-works/pi-tui": "^0.85.1"
90
90
  },
91
91
  "peerDependenciesMeta": {
92
92
  "@bastani/atomic": {