agent-nuvira 3.3.3 β†’ 3.3.5

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 (366) hide show
  1. package/README.md +13 -5
  2. package/dist/agent-sdk/src/agent.d.ts +2 -0
  3. package/dist/agent-sdk/src/agent.d.ts.map +1 -1
  4. package/dist/agent-sdk/src/define.d.ts +64 -0
  5. package/dist/agent-sdk/src/define.d.ts.map +1 -0
  6. package/dist/agent-sdk/src/define.js +76 -0
  7. package/dist/agent-sdk/src/define.js.map +1 -0
  8. package/dist/agent-sdk/src/index.d.ts +9 -0
  9. package/dist/agent-sdk/src/index.d.ts.map +1 -1
  10. package/dist/agent-sdk/src/index.js +9 -0
  11. package/dist/agent-sdk/src/index.js.map +1 -1
  12. package/dist/agent-sdk/src/scaffold.d.ts +11 -0
  13. package/dist/agent-sdk/src/scaffold.d.ts.map +1 -1
  14. package/dist/agent-sdk/src/scaffold.js +16 -6
  15. package/dist/agent-sdk/src/scaffold.js.map +1 -1
  16. package/dist/agents/long-form-plan.d.ts.map +1 -1
  17. package/dist/agents/long-form-plan.js +2 -1
  18. package/dist/agents/long-form-plan.js.map +1 -1
  19. package/dist/agents/orchestrator.d.ts.map +1 -1
  20. package/dist/agents/orchestrator.js +5 -4
  21. package/dist/agents/orchestrator.js.map +1 -1
  22. package/dist/cli/agent.d.ts +2 -2
  23. package/dist/cli/agent.js +10 -10
  24. package/dist/cli/chat.d.ts +94 -0
  25. package/dist/cli/chat.d.ts.map +1 -1
  26. package/dist/cli/chat.js +354 -20
  27. package/dist/cli/chat.js.map +1 -1
  28. package/dist/cli/cli-program.d.ts.map +1 -1
  29. package/dist/cli/cli-program.js +5 -0
  30. package/dist/cli/cli-program.js.map +1 -1
  31. package/dist/cli/config.d.ts.map +1 -1
  32. package/dist/cli/config.js +9 -1
  33. package/dist/cli/config.js.map +1 -1
  34. package/dist/cli/doctor.d.ts.map +1 -1
  35. package/dist/cli/doctor.js +3 -2
  36. package/dist/cli/doctor.js.map +1 -1
  37. package/dist/cli/edit.js +2 -2
  38. package/dist/cli/eval.d.ts +17 -0
  39. package/dist/cli/eval.d.ts.map +1 -1
  40. package/dist/cli/eval.js +105 -2
  41. package/dist/cli/eval.js.map +1 -1
  42. package/dist/cli/execute.d.ts +16 -1
  43. package/dist/cli/execute.d.ts.map +1 -1
  44. package/dist/cli/execute.js +192 -22
  45. package/dist/cli/execute.js.map +1 -1
  46. package/dist/cli/loop-executor.d.ts +55 -0
  47. package/dist/cli/loop-executor.d.ts.map +1 -1
  48. package/dist/cli/loop-executor.js +212 -13
  49. package/dist/cli/loop-executor.js.map +1 -1
  50. package/dist/cli/model.d.ts.map +1 -1
  51. package/dist/cli/model.js +9 -8
  52. package/dist/cli/model.js.map +1 -1
  53. package/dist/cli/models.d.ts +1 -1
  54. package/dist/cli/models.js +4 -4
  55. package/dist/cli/parity.d.ts +85 -0
  56. package/dist/cli/parity.d.ts.map +1 -0
  57. package/dist/cli/parity.js +506 -0
  58. package/dist/cli/parity.js.map +1 -0
  59. package/dist/cli/plan.d.ts.map +1 -1
  60. package/dist/cli/plan.js +2 -1
  61. package/dist/cli/plan.js.map +1 -1
  62. package/dist/cli/retrieval.d.ts.map +1 -1
  63. package/dist/cli/retrieval.js +5 -4
  64. package/dist/cli/retrieval.js.map +1 -1
  65. package/dist/cli/sdk.js +4 -4
  66. package/dist/cli/sdk.js.map +1 -1
  67. package/dist/cli/trace.d.ts.map +1 -1
  68. package/dist/cli/trace.js +2 -1
  69. package/dist/cli/trace.js.map +1 -1
  70. package/dist/cli/workflow.js +2 -2
  71. package/dist/cli/workflow.js.map +1 -1
  72. package/dist/config/process-env.d.ts +136 -0
  73. package/dist/config/process-env.d.ts.map +1 -0
  74. package/dist/config/process-env.js +217 -0
  75. package/dist/config/process-env.js.map +1 -0
  76. package/dist/config/types.d.ts +44 -0
  77. package/dist/config/types.d.ts.map +1 -1
  78. package/dist/findings/verdicts.d.ts +241 -0
  79. package/dist/findings/verdicts.d.ts.map +1 -0
  80. package/dist/findings/verdicts.js +284 -0
  81. package/dist/findings/verdicts.js.map +1 -0
  82. package/dist/gateway/adapters.d.ts +65 -0
  83. package/dist/gateway/adapters.d.ts.map +1 -1
  84. package/dist/gateway/adapters.js +216 -10
  85. package/dist/gateway/adapters.js.map +1 -1
  86. package/dist/gateway/channel-directory.d.ts +31 -0
  87. package/dist/gateway/channel-directory.d.ts.map +1 -1
  88. package/dist/gateway/channel-directory.js +40 -0
  89. package/dist/gateway/channel-directory.js.map +1 -1
  90. package/dist/gateway/gateway-log.d.ts +1 -1
  91. package/dist/gateway/gateway-log.d.ts.map +1 -1
  92. package/dist/gateway/gateway-log.js.map +1 -1
  93. package/dist/gateway/hooks.d.ts +87 -19
  94. package/dist/gateway/hooks.d.ts.map +1 -1
  95. package/dist/gateway/hooks.js +62 -23
  96. package/dist/gateway/hooks.js.map +1 -1
  97. package/dist/gateway/inbound-media.d.ts +147 -0
  98. package/dist/gateway/inbound-media.d.ts.map +1 -0
  99. package/dist/gateway/inbound-media.js +317 -0
  100. package/dist/gateway/inbound-media.js.map +1 -0
  101. package/dist/gateway/inbox.d.ts +8 -1
  102. package/dist/gateway/inbox.d.ts.map +1 -1
  103. package/dist/gateway/inbox.js.map +1 -1
  104. package/dist/gateway/platform-config.d.ts +14 -0
  105. package/dist/gateway/platform-config.d.ts.map +1 -1
  106. package/dist/gateway/platform-config.js +26 -8
  107. package/dist/gateway/platform-config.js.map +1 -1
  108. package/dist/gateway/realtime.d.ts +114 -0
  109. package/dist/gateway/realtime.d.ts.map +1 -0
  110. package/dist/gateway/realtime.js +402 -0
  111. package/dist/gateway/realtime.js.map +1 -0
  112. package/dist/gateway/registry.d.ts +31 -0
  113. package/dist/gateway/registry.d.ts.map +1 -1
  114. package/dist/gateway/registry.js +224 -4
  115. package/dist/gateway/registry.js.map +1 -1
  116. package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
  117. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  118. package/dist/gateway/whatsapp/baileys-bridge.js +123 -4
  119. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  120. package/dist/gateway/whatsapp/bridge.d.ts +6 -2
  121. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  122. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  123. package/dist/index.js +8 -0
  124. package/dist/index.js.map +1 -1
  125. package/dist/inference/factory.d.ts +14 -0
  126. package/dist/inference/factory.d.ts.map +1 -1
  127. package/dist/inference/factory.js +17 -0
  128. package/dist/inference/factory.js.map +1 -1
  129. package/dist/inference/groq-adapter.d.ts +2 -0
  130. package/dist/inference/groq-adapter.d.ts.map +1 -1
  131. package/dist/inference/groq-adapter.js +16 -6
  132. package/dist/inference/groq-adapter.js.map +1 -1
  133. package/dist/inference/tools.d.ts.map +1 -1
  134. package/dist/inference/tools.js +29 -0
  135. package/dist/inference/tools.js.map +1 -1
  136. package/dist/learning/benchmark.d.ts.map +1 -1
  137. package/dist/learning/benchmark.js +3 -2
  138. package/dist/learning/benchmark.js.map +1 -1
  139. package/dist/learning/continuation.d.ts.map +1 -1
  140. package/dist/learning/continuation.js +2 -1
  141. package/dist/learning/continuation.js.map +1 -1
  142. package/dist/learning/cost-tracker.d.ts.map +1 -1
  143. package/dist/learning/cost-tracker.js +2 -1
  144. package/dist/learning/cost-tracker.js.map +1 -1
  145. package/dist/learning/deferred-task.d.ts.map +1 -1
  146. package/dist/learning/deferred-task.js +13 -4
  147. package/dist/learning/deferred-task.js.map +1 -1
  148. package/dist/learning/eval-framework.d.ts.map +1 -1
  149. package/dist/learning/eval-framework.js +2 -1
  150. package/dist/learning/eval-framework.js.map +1 -1
  151. package/dist/learning/long-form.d.ts.map +1 -1
  152. package/dist/learning/long-form.js +2 -1
  153. package/dist/learning/long-form.js.map +1 -1
  154. package/dist/learning/model-reachability.d.ts +95 -0
  155. package/dist/learning/model-reachability.d.ts.map +1 -0
  156. package/dist/learning/model-reachability.js +111 -0
  157. package/dist/learning/model-reachability.js.map +1 -0
  158. package/dist/learning/model-registry.d.ts +22 -0
  159. package/dist/learning/model-registry.d.ts.map +1 -1
  160. package/dist/learning/model-registry.js +26 -1
  161. package/dist/learning/model-registry.js.map +1 -1
  162. package/dist/learning/model-verify-job.d.ts +131 -0
  163. package/dist/learning/model-verify-job.d.ts.map +1 -0
  164. package/dist/learning/model-verify-job.js +221 -0
  165. package/dist/learning/model-verify-job.js.map +1 -0
  166. package/dist/learning/reasoning-cache.d.ts.map +1 -1
  167. package/dist/learning/reasoning-cache.js +2 -1
  168. package/dist/learning/reasoning-cache.js.map +1 -1
  169. package/dist/learning/reasoning-trace.d.ts +37 -1
  170. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  171. package/dist/learning/reasoning-trace.js +66 -0
  172. package/dist/learning/reasoning-trace.js.map +1 -1
  173. package/dist/learning/resilient-call.d.ts.map +1 -1
  174. package/dist/learning/resilient-call.js +2 -1
  175. package/dist/learning/resilient-call.js.map +1 -1
  176. package/dist/learning/retrieval.d.ts.map +1 -1
  177. package/dist/learning/retrieval.js +2 -1
  178. package/dist/learning/retrieval.js.map +1 -1
  179. package/dist/learning/seeded-benchmark.d.ts +160 -0
  180. package/dist/learning/seeded-benchmark.d.ts.map +1 -0
  181. package/dist/learning/seeded-benchmark.js +321 -0
  182. package/dist/learning/seeded-benchmark.js.map +1 -0
  183. package/dist/learning/seeded-bugs.d.ts +142 -0
  184. package/dist/learning/seeded-bugs.d.ts.map +1 -0
  185. package/dist/learning/seeded-bugs.js +535 -0
  186. package/dist/learning/seeded-bugs.js.map +1 -0
  187. package/dist/learning/step-checkpoint.d.ts +127 -0
  188. package/dist/learning/step-checkpoint.d.ts.map +1 -0
  189. package/dist/learning/step-checkpoint.js +244 -0
  190. package/dist/learning/step-checkpoint.js.map +1 -0
  191. package/dist/nlu/intent-confirm.d.ts +23 -1
  192. package/dist/nlu/intent-confirm.d.ts.map +1 -1
  193. package/dist/nlu/intent-confirm.js +85 -2
  194. package/dist/nlu/intent-confirm.js.map +1 -1
  195. package/dist/nlu/learnings.d.ts +7 -0
  196. package/dist/nlu/learnings.d.ts.map +1 -1
  197. package/dist/nlu/learnings.js +7 -0
  198. package/dist/nlu/learnings.js.map +1 -1
  199. package/dist/observability/debug-log.d.ts +250 -0
  200. package/dist/observability/debug-log.d.ts.map +1 -0
  201. package/dist/observability/debug-log.js +500 -0
  202. package/dist/observability/debug-log.js.map +1 -0
  203. package/dist/observability/event-bus.d.ts.map +1 -1
  204. package/dist/observability/event-bus.js +4 -1
  205. package/dist/observability/event-bus.js.map +1 -1
  206. package/dist/observability/otel.d.ts +278 -0
  207. package/dist/observability/otel.d.ts.map +1 -0
  208. package/dist/observability/otel.js +590 -0
  209. package/dist/observability/otel.js.map +1 -0
  210. package/dist/parity/drivers.d.ts +99 -0
  211. package/dist/parity/drivers.d.ts.map +1 -0
  212. package/dist/parity/drivers.js +1362 -0
  213. package/dist/parity/drivers.js.map +1 -0
  214. package/dist/parity/graph.d.ts +73 -0
  215. package/dist/parity/graph.d.ts.map +1 -0
  216. package/dist/parity/graph.js +162 -0
  217. package/dist/parity/graph.js.map +1 -0
  218. package/dist/parity/matrix.d.ts +105 -0
  219. package/dist/parity/matrix.d.ts.map +1 -0
  220. package/dist/parity/matrix.js +352 -0
  221. package/dist/parity/matrix.js.map +1 -0
  222. package/dist/parity/observation.d.ts +444 -0
  223. package/dist/parity/observation.d.ts.map +1 -0
  224. package/dist/parity/observation.js +333 -0
  225. package/dist/parity/observation.js.map +1 -0
  226. package/dist/parity/scenarios.d.ts +229 -0
  227. package/dist/parity/scenarios.d.ts.map +1 -0
  228. package/dist/parity/scenarios.js +175 -0
  229. package/dist/parity/scenarios.js.map +1 -0
  230. package/dist/parity/surfaces.d.ts +122 -0
  231. package/dist/parity/surfaces.d.ts.map +1 -0
  232. package/dist/parity/surfaces.js +190 -0
  233. package/dist/parity/surfaces.js.map +1 -0
  234. package/dist/runtime/fault-injection.d.ts +173 -0
  235. package/dist/runtime/fault-injection.d.ts.map +1 -0
  236. package/dist/runtime/fault-injection.js +281 -0
  237. package/dist/runtime/fault-injection.js.map +1 -0
  238. package/dist/tools/child-agent-entry.d.ts +23 -0
  239. package/dist/tools/child-agent-entry.d.ts.map +1 -0
  240. package/dist/tools/child-agent-entry.js +129 -0
  241. package/dist/tools/child-agent-entry.js.map +1 -0
  242. package/dist/tools/child-agent-runtime.d.ts +124 -0
  243. package/dist/tools/child-agent-runtime.d.ts.map +1 -0
  244. package/dist/tools/child-agent-runtime.js +704 -0
  245. package/dist/tools/child-agent-runtime.js.map +1 -0
  246. package/dist/tools/coding-tools.d.ts.map +1 -1
  247. package/dist/tools/coding-tools.js +82 -10
  248. package/dist/tools/coding-tools.js.map +1 -1
  249. package/dist/tools/delegation-system.d.ts +31 -0
  250. package/dist/tools/delegation-system.d.ts.map +1 -1
  251. package/dist/tools/delegation-system.js +70 -9
  252. package/dist/tools/delegation-system.js.map +1 -1
  253. package/dist/tools/extract/docx.d.ts +27 -0
  254. package/dist/tools/extract/docx.d.ts.map +1 -0
  255. package/dist/tools/extract/docx.js +48 -0
  256. package/dist/tools/extract/docx.js.map +1 -0
  257. package/dist/tools/extract/html-text.d.ts +27 -0
  258. package/dist/tools/extract/html-text.d.ts.map +1 -0
  259. package/dist/tools/extract/html-text.js +86 -0
  260. package/dist/tools/extract/html-text.js.map +1 -0
  261. package/dist/tools/extract/pdf-ocr.d.ts +58 -0
  262. package/dist/tools/extract/pdf-ocr.d.ts.map +1 -0
  263. package/dist/tools/extract/pdf-ocr.js +116 -0
  264. package/dist/tools/extract/pdf-ocr.js.map +1 -0
  265. package/dist/tools/extract/pdf.d.ts +65 -0
  266. package/dist/tools/extract/pdf.d.ts.map +1 -0
  267. package/dist/tools/extract/pdf.js +197 -0
  268. package/dist/tools/extract/pdf.js.map +1 -0
  269. package/dist/tools/extract/pptx.d.ts +32 -0
  270. package/dist/tools/extract/pptx.d.ts.map +1 -0
  271. package/dist/tools/extract/pptx.js +77 -0
  272. package/dist/tools/extract/pptx.js.map +1 -0
  273. package/dist/tools/extract/xlsx.d.ts +47 -0
  274. package/dist/tools/extract/xlsx.d.ts.map +1 -0
  275. package/dist/tools/extract/xlsx.js +111 -0
  276. package/dist/tools/extract/xlsx.js.map +1 -0
  277. package/dist/tools/finding-tool.d.ts +76 -0
  278. package/dist/tools/finding-tool.d.ts.map +1 -0
  279. package/dist/tools/finding-tool.js +125 -0
  280. package/dist/tools/finding-tool.js.map +1 -0
  281. package/dist/tools/messaging-tools.d.ts +41 -11
  282. package/dist/tools/messaging-tools.d.ts.map +1 -1
  283. package/dist/tools/messaging-tools.js +104 -55
  284. package/dist/tools/messaging-tools.js.map +1 -1
  285. package/dist/tools/neutts-synth.d.ts +27 -3
  286. package/dist/tools/neutts-synth.d.ts.map +1 -1
  287. package/dist/tools/neutts-synth.js +57 -13
  288. package/dist/tools/neutts-synth.js.map +1 -1
  289. package/dist/tools/pipeline-tool.d.ts +43 -1
  290. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  291. package/dist/tools/pipeline-tool.js +13 -2
  292. package/dist/tools/pipeline-tool.js.map +1 -1
  293. package/dist/tools/read-extract.d.ts +116 -45
  294. package/dist/tools/read-extract.d.ts.map +1 -1
  295. package/dist/tools/read-extract.js +494 -158
  296. package/dist/tools/read-extract.js.map +1 -1
  297. package/dist/tools/registry.d.ts +2 -2
  298. package/dist/tools/registry.d.ts.map +1 -1
  299. package/dist/tools/registry.js +152 -23
  300. package/dist/tools/registry.js.map +1 -1
  301. package/dist/tools/subagent-refusal.d.ts +15 -0
  302. package/dist/tools/subagent-refusal.d.ts.map +1 -0
  303. package/dist/tools/subagent-refusal.js +18 -0
  304. package/dist/tools/subagent-refusal.js.map +1 -0
  305. package/dist/tools/subagent-spawner.d.ts +122 -0
  306. package/dist/tools/subagent-spawner.d.ts.map +1 -1
  307. package/dist/tools/subagent-spawner.js +249 -28
  308. package/dist/tools/subagent-spawner.js.map +1 -1
  309. package/dist/tools/tool-hooks.d.ts +177 -0
  310. package/dist/tools/tool-hooks.d.ts.map +1 -0
  311. package/dist/tools/tool-hooks.js +427 -0
  312. package/dist/tools/tool-hooks.js.map +1 -0
  313. package/dist/tools/tool-loop.d.ts +82 -0
  314. package/dist/tools/tool-loop.d.ts.map +1 -1
  315. package/dist/tools/tool-loop.js +167 -9
  316. package/dist/tools/tool-loop.js.map +1 -1
  317. package/dist/tools/tool-refusal.d.ts +68 -0
  318. package/dist/tools/tool-refusal.d.ts.map +1 -0
  319. package/dist/tools/tool-refusal.js +78 -0
  320. package/dist/tools/tool-refusal.js.map +1 -0
  321. package/dist/tools/toolsets.d.ts +8 -0
  322. package/dist/tools/toolsets.d.ts.map +1 -1
  323. package/dist/tools/toolsets.js +12 -2
  324. package/dist/tools/toolsets.js.map +1 -1
  325. package/dist/tools/vision-tools.d.ts +88 -83
  326. package/dist/tools/vision-tools.d.ts.map +1 -1
  327. package/dist/tools/vision-tools.js +134 -103
  328. package/dist/tools/vision-tools.js.map +1 -1
  329. package/dist/tools/worktree.d.ts +210 -0
  330. package/dist/tools/worktree.d.ts.map +1 -0
  331. package/dist/tools/worktree.js +374 -0
  332. package/dist/tools/worktree.js.map +1 -0
  333. package/dist/utils/format.d.ts +3 -0
  334. package/dist/utils/format.d.ts.map +1 -0
  335. package/dist/utils/format.js +32 -0
  336. package/dist/utils/format.js.map +1 -0
  337. package/dist/web-dashboard/attachment-extract.d.ts +64 -0
  338. package/dist/web-dashboard/attachment-extract.d.ts.map +1 -0
  339. package/dist/web-dashboard/attachment-extract.js +154 -0
  340. package/dist/web-dashboard/attachment-extract.js.map +1 -0
  341. package/dist/web-dashboard/chat-console.d.ts +108 -1
  342. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  343. package/dist/web-dashboard/chat-console.js +36 -0
  344. package/dist/web-dashboard/chat-console.js.map +1 -1
  345. package/dist/web-dashboard/hub-data.d.ts +37 -0
  346. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  347. package/dist/web-dashboard/hub-data.js +61 -1
  348. package/dist/web-dashboard/hub-data.js.map +1 -1
  349. package/dist/web-dashboard/process-env-inventory.d.ts +57 -0
  350. package/dist/web-dashboard/process-env-inventory.d.ts.map +1 -0
  351. package/dist/web-dashboard/process-env-inventory.js +96 -0
  352. package/dist/web-dashboard/process-env-inventory.js.map +1 -0
  353. package/dist/web-dashboard/server.d.ts +14 -0
  354. package/dist/web-dashboard/server.d.ts.map +1 -1
  355. package/dist/web-dashboard/server.js +493 -30
  356. package/dist/web-dashboard/server.js.map +1 -1
  357. package/dist/web-dashboard/src/types.d.ts +261 -48
  358. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  359. package/package.json +18 -3
  360. package/src/web-dashboard/public/assets/{index-Cyd6tIew.css β†’ index-CIJ6FHHZ.css} +1 -1
  361. package/src/web-dashboard/public/assets/index-CsySzR41.js +207 -0
  362. package/src/web-dashboard/public/assets/index-CsySzR41.js.map +1 -0
  363. package/src/web-dashboard/public/index.html +2 -2
  364. package/dist/tools/child-agent-worker.js +0 -212
  365. package/src/web-dashboard/public/assets/index-CxDj7p6i.js +0 -207
  366. package/src/web-dashboard/public/assets/index-CxDj7p6i.js.map +0 -1
package/dist/cli/eval.js CHANGED
@@ -19,6 +19,7 @@
19
19
  */
20
20
  import { Command } from 'commander';
21
21
  import { BaseCommand, getCliName } from './commands.js';
22
+ import { formatCount } from '../utils/format.js';
22
23
  import { PipelineBoard } from './pipeline-board.js';
23
24
  import { getEventBus, EventNames } from '../observability/event-bus.js';
24
25
  import { resolveProvider } from './router.js';
@@ -28,6 +29,10 @@ import { buildAutoResolveOptions } from '../learning/resolve-options.js';
28
29
  import { recordRoutingDecision } from '../learning/routing-history.js';
29
30
  import { logger } from '../utils/logger.js';
30
31
  import { runEvalSuite, getEvalTasks, getM2bTasks, getEvalRuns, formatEvalReport, formatEvalMarkdown, formatEvalScoreRules, resolvePaceBudget, writeBenchmarkReport, compareEvalRuns, selectCompareRuns, clearEvals, } from '../learning/eval-framework.js';
32
+ // WS7 (#29) β€” the seeded-bug benchmark: its own suite, its own verification, its
33
+ // own scoring (found / fixed / nothing else touched).
34
+ import { formatSeedVerification } from '../learning/seeded-bugs.js';
35
+ import { formatSeededReport, runSeededSuite, seededReportPath, verifySeeds as verifySeedSuite, writeSeededReport, } from '../learning/seeded-benchmark.js';
31
36
  import { resolveDefaultModel } from '../inference/default-model-resolver.js';
32
37
  import { ProviderFactory } from '../inference/factory.js';
33
38
  export class EvalCommand extends BaseCommand {
@@ -41,7 +46,7 @@ export class EvalCommand extends BaseCommand {
41
46
  .option('-p, --provider <provider>', 'Provider to evaluate')
42
47
  .option('-m, --model <model>', 'Model to evaluate')
43
48
  .option('--tasks <filter>', 'Task filter: task ID, or "quick"/"medium"/"slow" by time estimate')
44
- .option('--suite <suite>', 'Curated task suite: "m2b" (experience-parity benchmark) or "full" (all tasks)', 'full')
49
+ .option('--suite <suite>', 'Curated task suite: "m2b" (experience-parity benchmark), "seeded-bugs" (find and fix a deliberately seeded defect) or "full" (all tasks)', 'full')
45
50
  .option('--budget <amount>', 'Maximum cost in USD before stopping', parseFloat)
46
51
  .option('--pace', 'Stop when the provider\'s declared DAILY token budget (routing.quota.<provider>.tokensPerWindow) is reached β€” the Decision 21 gate guard', false)
47
52
  .option('--format <format>', 'Output format: text (default), json, markdown', 'text')
@@ -56,6 +61,14 @@ export class EvalCommand extends BaseCommand {
56
61
  await this.runEval(options || {});
57
62
  }
58
63
  });
64
+ // ── verify-seeds ──────────────────────────────────────────────────────
65
+ command
66
+ .command('verify-seeds')
67
+ .description('Prove every seeded bug is genuinely broken (and genuinely fixable) β€” no provider needed')
68
+ .option('--tasks <ids>', 'Only verify these task ids (comma-separated)')
69
+ .action((options) => {
70
+ this.verifySeeds(options?.tasks ? options.tasks.split(',').map((t) => t.trim()) : undefined);
71
+ });
59
72
  // ── list ──────────────────────────────────────────────────────────────
60
73
  command
61
74
  .command('list')
@@ -296,6 +309,14 @@ export class EvalCommand extends BaseCommand {
296
309
  taskIds = options.tasks.split(',').map((t) => t.trim());
297
310
  }
298
311
  }
312
+ // WS7 (#29) β€” the seeded-bug suite is its own benchmark with its own scoring
313
+ // (found / fixed / nothing else touched), so it is dispatched rather than
314
+ // filtered into the M2b metric set: those metrics grade a task against hidden
315
+ // tests, and they cannot express "did the run name the defect".
316
+ if (options.suite === 'seeded-bugs') {
317
+ await this.runSeededBenchmark({ provider: providerName, model, taskIds });
318
+ return;
319
+ }
299
320
  let tasks;
300
321
  if (options.suite === 'm2b') {
301
322
  tasks = getM2bTasks();
@@ -339,7 +360,7 @@ export class EvalCommand extends BaseCommand {
339
360
  logger.warn(`--pace: no declared daily budget for ${providerName} β€” running unpaced. Declare one with \`${getCliName()} model quota set ${providerName} --tokens N\`.`);
340
361
  }
341
362
  else {
342
- logger.info(`⏱ Pacing under the declared daily budget: ${paceTokens.toLocaleString()} tokens (${paceUsedBefore.toLocaleString()} used today).`);
363
+ logger.info(`⏱ Pacing under the declared daily budget: ${formatCount(paceTokens)} tokens (${formatCount(paceUsedBefore)} used today).`);
343
364
  }
344
365
  }
345
366
  // Engine arm (assessment Addendum v4 Phase 0): 'pipeline' (default) is
@@ -407,6 +428,88 @@ export class EvalCommand extends BaseCommand {
407
428
  logger.error(String(err));
408
429
  }
409
430
  }
431
+ /**
432
+ * WS7 (#29) β€” prove every seeded bug is genuinely broken, and genuinely fixable.
433
+ *
434
+ * No provider, no tokens, no network: the checks are plain `node` scripts run in
435
+ * two throwaway workspaces per task. Exits non-zero when a seed does not verify,
436
+ * so this is usable as the gate that keeps the benchmark honest.
437
+ */
438
+ verifySeeds(taskIds) {
439
+ const results = verifySeedSuite(taskIds);
440
+ console.log(`\n${formatSeedVerification(results)}\n`);
441
+ if (results.some((result) => !result.ok))
442
+ process.exitCode = 1;
443
+ }
444
+ /**
445
+ * WS7 (#29) β€” run the seeded-bug suite against a real model.
446
+ *
447
+ * The agent runs through the LOOP engine (`runLoopExecutor`) with the workspace
448
+ * as its cwd, which is the arm that actually edits files; a pipeline arm would
449
+ * grade the planner instead of the agent. The suite verifies every seed before it
450
+ * spends a token, so an aborted run costs nothing.
451
+ */
452
+ async runSeededBenchmark(opts) {
453
+ const board = new PipelineBoard();
454
+ board.start(`Seeded-bug benchmark: ${opts.provider}/${opts.model}`);
455
+ try {
456
+ const run = await runSeededSuite(opts.provider, opts.model, {
457
+ ...(opts.taskIds && opts.taskIds.length > 0 ? { taskIds: opts.taskIds } : {}),
458
+ onProgress: (current, total, bug) => {
459
+ getEventBus().emit(EventNames.ORCHESTRATOR_AGENT_UPDATE, {
460
+ agentType: 'eval',
461
+ stage: 'running',
462
+ message: `[${current}/${total}] ${bug.title} (${bug.difficulty})`,
463
+ }, 'eval');
464
+ },
465
+ runAgent: async ({ goal, workspace }) => {
466
+ // The workspace IS the project: the engine resolves relative paths
467
+ // against the process cwd (the same convention the eval arms use).
468
+ const cwd = process.cwd();
469
+ process.chdir(workspace);
470
+ try {
471
+ const { runLoopExecutor } = await import('./loop-executor.js');
472
+ const result = await runLoopExecutor(goal, this.configManager, {
473
+ provider: opts.provider,
474
+ model: opts.model,
475
+ quiet: true,
476
+ skipProjectContext: true,
477
+ });
478
+ return { summary: result.content ?? '', success: !result.generationFailed };
479
+ }
480
+ finally {
481
+ process.chdir(cwd);
482
+ }
483
+ },
484
+ });
485
+ // Green only for a run that actually scored something and fixed all of it: a
486
+ // board finishing green over zero tasks reports a pass for a run that measured
487
+ // nothing, which is the shape this repo keeps having to remove.
488
+ board.finish(!run.aborted && run.summary.tasks > 0 && run.summary.fixed === run.summary.tasks);
489
+ console.log('');
490
+ if (run.aborted && run.verification) {
491
+ console.log(formatSeedVerification(run.verification));
492
+ console.log('');
493
+ }
494
+ console.log(formatSeededReport(run));
495
+ console.log('');
496
+ try {
497
+ const { join } = await import('node:path');
498
+ const path = writeSeededReport(run, join(process.cwd(), seededReportPath(run.provider, run.model)));
499
+ logger.success(`πŸ“Š Seeded-bug report: ${path}`);
500
+ }
501
+ catch {
502
+ // Non-critical β€” the terminal report is already printed.
503
+ }
504
+ if (run.aborted)
505
+ process.exitCode = 1;
506
+ }
507
+ catch (err) {
508
+ board.finish(false);
509
+ logger.error(String(err));
510
+ process.exitCode = 1;
511
+ }
512
+ }
410
513
  listTasks() {
411
514
  const tasks = getEvalTasks();
412
515
  logger.highlight(`${'═'.repeat(64)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/cli/eval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/cli/eval.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,20 @@
16
16
  */
17
17
  import { Command } from 'commander';
18
18
  import { BaseCommand } from './commands.js';
19
+ import { type PipelineToolResult } from '../tools/pipeline-tool.js';
20
+ /**
21
+ * The pipeline's result, read through the SHARED wrapper's contract instead of
22
+ * by importing the engine's own module.
23
+ *
24
+ * This command used to import `OrchestrationResult` straight from
25
+ * `agents/orchestrator.ts`. That is how a bypass starts β€” a surface that names
26
+ * the engine's internals is already coupled to the engine β€” and the architecture
27
+ * ratchet read it exactly that way, which is why `cli/execute.ts` was the ONE
28
+ * entry on `SURFACE_DEBT['pipeline-wrapper-bypass']`. Now the command drives the
29
+ * pipeline through `runPipelineTool`, so the wrapper's public shape is what it
30
+ * speaks, and the import graph agrees with the behaviour.
31
+ */
32
+ type OrchestrationResult = NonNullable<PipelineToolResult['result']>;
19
33
  /** A single goal execution entry in the session history */
20
34
  export interface SessionEntry {
21
35
  goal: string;
@@ -166,5 +180,6 @@ export declare class ExecuteCommand extends BaseCommand {
166
180
  /**
167
181
  * Pretty-print the orchestration result to the console.
168
182
  */
169
- export declare function printOrchestrationResult(result: import('../agents/orchestrator.js').OrchestrationResult): void;
183
+ export declare function printOrchestrationResult(result: OrchestrationResult): void;
184
+ export {};
170
185
  //# sourceMappingURL=execute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAkH5C,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AA0CD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GACnC;IACD,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;CAC1B,CAMA;AAUD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAGtD;AAID;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG7B;IAEF,MAAM,IAAI,OAAO;YA0EH,OAAO;IA+IrB;;OAEG;YACW,qBAAqB;IA4OnC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAsDhB;;OAEG;YACW,gBAAgB;IA0G9B;;OAEG;YACW,UAAU;IA0CxB;;OAEG;YACW,YAAY;IAoE1B;;OAEG;YACW,aAAa;IA8D3B;;;;;;;;;;OAUG;YACW,mBAAmB;IA0EjC;;;;;;OAMG;YACW,4BAA4B;IAsE1C;;;;;;OAMG;YACW,2BAA2B;IAwMzC;;;OAGG;IACH,OAAO,CAAC,cAAc;IA8HtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;;OAGG;IACH;;;;;OAKG;YACW,0BAA0B;IA4CxC;;;;;;OAMG;YACW,iBAAiB;YAoFjB,aAAa;IAwR3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;YA4BZ,eAAe;YA2Bf,WAAW;CAS1B;AAqCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,2BAA2B,EAAE,mBAAmB,GAAG,IAAI,CA+C9G"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA6CrF;;;;;;;;;;;GAWG;AACH,KAAK,mBAAmB,GAAG,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;AA8ErE,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAkGD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GACnC;IACD,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;CAC1B,CAMA;AAUD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAGtD;AAID;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG7B;IAEF,MAAM,IAAI,OAAO;YAsFH,OAAO;IA+IrB;;OAEG;YACW,qBAAqB;IA4OnC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAsDhB;;OAEG;YACW,gBAAgB;IA0G9B;;OAEG;YACW,UAAU;IA0CxB;;OAEG;YACW,YAAY;IAoE1B;;OAEG;YACW,aAAa;IA8D3B;;;;;;;;;;OAUG;YACW,mBAAmB;IA0EjC;;;;;;OAMG;YACW,4BAA4B;IAsE1C;;;;;;OAMG;YACW,2BAA2B;IA0MzC;;;OAGG;IACH,OAAO,CAAC,cAAc;IA8HtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;;OAGG;IACH;;;;;OAKG;YACW,0BAA0B;IAwGxC;;;;;;OAMG;YACW,iBAAiB;YAmHjB,aAAa;IAqV3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;YA4BZ,eAAe;YA2Bf,WAAW;CAS1B;AAqCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CA+C1E"}
@@ -21,9 +21,8 @@ import { join } from 'node:path';
21
21
  import { Command } from 'commander';
22
22
  import inquirer from 'inquirer';
23
23
  import { BaseCommand } from './commands.js';
24
- import { ProviderFactory } from '../inference/factory.js';
25
24
  import { resolveDefaultModel } from '../inference/default-model-resolver.js';
26
- import { Orchestrator } from '../agents/orchestrator.js';
25
+ import { runPipelineTool } from '../tools/pipeline-tool.js';
27
26
  import { applyActiveModel } from './model.js';
28
27
  import { showModelPicker } from './model-picker.js';
29
28
  import { resolveProvider } from './router.js';
@@ -132,7 +131,17 @@ export class ExecuteCommand extends BaseCommand {
132
131
  .option('--engine <mode>', 'Execution engine: auto | loop | pipeline (default: auto β€” loop for strong models, pipeline for local/weak tier)')
133
132
  .option('--plan-mode <mode>', 'Planning depth: light | heavy (default: light β€” heavy forces the reasonerβ†’planner front-matter for large greenfield builds)')
134
133
  .option('--checkpoint', 'Save a resume-able checkpoint after every task batch (in ~/.nuvira/memory/checkpoints/)', false)
135
- .option('--resume [id]', 'Resume a saved checkpoint (defaults to the auto id for this goal + cwd). Completed steps are skipped', false)
134
+ // NO `false` DEFAULT here (or on the two below), and that is the point: a
135
+ // `false` commander invented for an untyped flag is an explicit DECLINE, and
136
+ // an explicit decline outranks the environment β€” which would make
137
+ // `NUVIRA_ISOLATE=1` / `NUVIRA_RESUME=1` dead letters on `nuvira execute`,
138
+ // the one arm the harness cannot reach through the flags. Absent stays
139
+ // `undefined`: "the operator did not ask", so the environment can.
140
+ .option('--resume [id]', 'Resume the last run of this goal in this directory (defaults to its auto id). Completed tasks are skipped on the pipeline engine, and recorded model calls whose input is unchanged are replayed on the loop engine')
141
+ // WS5 (#27) β€” isolation. Read from the environment too (`NUVIRA_ISOLATE`),
142
+ // which is how a surface with no command line asks for it.
143
+ .option('--worktree', 'Run the goal in its own git worktree of the project and report the diff against the base commit. Refuses rather than running unisolated when the directory cannot be isolated (also asked for by NUVIRA_ISOLATE=1)')
144
+ .option('--keep-worktree', 'Keep the isolated worktree after the run instead of removing it')
136
145
  .option('--checkpoint-list', 'List saved checkpoints and exit', false)
137
146
  .option('--json-events', 'Emit machine-readable NDJSON pipeline events on stdout (no human board)', false)
138
147
  .action(async (goal, options) => {
@@ -996,15 +1005,18 @@ export class ExecuteCommand extends BaseCommand {
996
1005
  const config = this.configManager.getAll();
997
1006
  const type = (activeProvider ||
998
1007
  config.defaultProvider || 'auto');
999
- // getProviderConfig resolves the 'auto' directive to the best available
1000
- // provider, so the adapter factory never sees a literal 'auto'.
1001
- const { type: resolvedType, config: providerConfig } = this.configManager.getProviderConfig(type);
1002
- const provider = ProviderFactory.createProvider(resolvedType, providerConfig);
1008
+ // The SHARED provider service (`cli/router.ts`) β€” the same one every other
1009
+ // command resolves through β€” instead of building the adapter here. It
1010
+ // handles the built-in ids, the plugin registry, the 'auto' directive and
1011
+ // the catalog providers, so this call site cannot be the one that forgets
1012
+ // one (SURFACE_DEBT['provider-factory'] used to record exactly that).
1013
+ const resolved = resolveProvider(this.configManager, type);
1014
+ const provider = resolved.provider;
1003
1015
  // Resolve 'default' to a real model via the provider's live catalog
1004
1016
  let model = activeModel || 'default';
1005
1017
  if (!model || model === 'default') {
1006
1018
  try {
1007
- model = await resolveDefaultModel(provider, resolvedType, model);
1019
+ model = await resolveDefaultModel(provider, resolved.type, model);
1008
1020
  }
1009
1021
  catch { /* best-effort */ }
1010
1022
  }
@@ -1272,34 +1284,96 @@ export class ExecuteCommand extends BaseCommand {
1272
1284
  // printOrchestrationResult from execute.ts); the chat engine IS the
1273
1285
  // direct-answer path (tool loop + ask_user + followups).
1274
1286
  const { ChatCommand } = await import('./chat.js');
1287
+ // The direct-answer path IS a chat turn, so it reports a chat turn's tool
1288
+ // lifecycle: each executed call and its outcome, from the shared engine's
1289
+ // own onToolCall seam. Without this the command could answer by running
1290
+ // tools ("list the working directory…") and report no tool work at all β€”
1291
+ // the gap `tool-call-lifecycle@cli-execute` recorded.
1292
+ const toolCalls = [];
1293
+ const toolOutcomes = [];
1294
+ // WS1 β€” the findings this answer recorded, from the same engine seam as
1295
+ // the tool lifecycle above.
1296
+ const findings = [];
1275
1297
  const answer = await new ChatCommand().answerOnce(goal, {
1276
1298
  ...(provider ? { provider } : {}),
1277
1299
  ...(model ? { model } : {}),
1300
+ onToolCall: (phase, info) => {
1301
+ if (phase !== 'called')
1302
+ return;
1303
+ toolCalls.push(info.tool);
1304
+ toolOutcomes.push({ tool: info.tool, ...(typeof info.ok === 'boolean' ? { ok: info.ok } : {}) });
1305
+ },
1306
+ onFinding: (finding) => {
1307
+ findings.push(finding);
1308
+ },
1309
+ // WS2 (#24) β€” this turn is the EXECUTE command's, even though it runs
1310
+ // through the shared chat engine. Without this the session debug log of
1311
+ // a `nuvira execute` run was labelled `cli-chat`, which is exactly the
1312
+ // kind of misattribution a bug report cannot afford.
1313
+ debugSurface: 'cli-execute',
1314
+ // WS5 (#27) β€” the command's own flags, on the arm that answers directly.
1315
+ // The loop arm is handed the same three by `runLoopEngineGoal`, so one
1316
+ // `nuvira execute --worktree` isolates the run on EITHER engine.
1317
+ worktree: options.worktree,
1318
+ keepWorktree: options.keepWorktree,
1319
+ resume: options.resume,
1278
1320
  });
1279
1321
  // Parity with the dashboard/gateway: never print a raw suggest_followups
1280
1322
  // payload (or the empty fence it leaves behind) as if it were the answer,
1281
1323
  // and never print the model's own reasoning as one either.
1282
1324
  const content = displayTextOrLine(answer.content ?? '');
1325
+ // HONESTY (WS6 #28): a turn whose generation FAILED is not a success, and
1326
+ // this arm used to say it was. Found by the fault-injection row, which drives
1327
+ // all five surfaces through a declared provider fault and compared what they
1328
+ // claimed: the loop arm below computes `success = !result.generationFailed`,
1329
+ // while this arm returned `success: true` unconditionally β€” so `nuvira
1330
+ // execute` reported success for the SAME backend failure that `nuvira chat`
1331
+ // reported as failed, publishing the provider's own error prose as the
1332
+ // answer. An empty generation is the one outcome a caller must be able to
1333
+ // tell apart from a real answer, and `--json-events` consumers were being
1334
+ // told the opposite.
1335
+ const generationFailed = answer.generationFailed === true;
1283
1336
  if (options.jsonEvents) {
1284
1337
  process.stdout.write(JSON.stringify({
1285
1338
  type: 'result',
1286
- success: true,
1339
+ success: !generationFailed,
1287
1340
  goal,
1288
1341
  summary: content,
1289
- tasksCompleted: 1,
1342
+ tasksCompleted: generationFailed ? 0 : 1,
1290
1343
  tasksTotal: 1,
1291
1344
  agentResults: [],
1292
1345
  fileChanges: '',
1293
1346
  runOutput: '',
1294
- error: '',
1347
+ // The loop arm puts the failure text here too; the machine-readable
1348
+ // stream must not need a second field to tell why nothing was answered.
1349
+ error: generationFailed ? content : '',
1295
1350
  engine: 'direct',
1296
1351
  ts: Date.now(),
1297
1352
  }) + '\n');
1298
1353
  }
1299
1354
  else if (content) {
1300
1355
  console.log('\n' + content + '\n');
1356
+ // The same visible failure signal the loop arm prints, so a person running
1357
+ // `nuvira execute` is told the run produced no answer rather than left to
1358
+ // read the provider's apology as one.
1359
+ if (generationFailed)
1360
+ logger.error(content);
1301
1361
  }
1302
- return { success: true };
1362
+ // R1 β€” hand the caller the backend that produced this answer. The chat
1363
+ // engine has always known it; this command used to drop it here.
1364
+ return {
1365
+ success: !generationFailed,
1366
+ ...(typeof answer.content === 'string' ? { content: answer.content } : {}),
1367
+ ...(answer.provider ? { provider: answer.provider } : {}),
1368
+ ...(answer.model ? { model: answer.model } : {}),
1369
+ ...(answer.transport ? { transport: answer.transport } : {}),
1370
+ ...(toolCalls.length > 0 ? { toolCalls } : {}),
1371
+ ...(toolOutcomes.length > 0 ? { toolOutcomes } : {}),
1372
+ ...(findings.length > 0 ? { findings } : {}),
1373
+ // WS5 β€” the isolation and resume this turn had, back to the caller.
1374
+ ...(answer.worktree ? { worktree: answer.worktree } : {}),
1375
+ ...(answer.resume ? { resume: answer.resume } : {}),
1376
+ };
1303
1377
  }
1304
1378
  catch (err) {
1305
1379
  logger.error(err instanceof Error ? err.message : String(err));
@@ -1329,6 +1403,13 @@ export class ExecuteCommand extends BaseCommand {
1329
1403
  const result = await runLoopExecutor(goal, this.configManager, {
1330
1404
  provider,
1331
1405
  model,
1406
+ // WS5 (#27) β€” the command's own flags. `--resume` means the SAME run
1407
+ // here as it does on the pipeline arm: the last run of this ask in this
1408
+ // directory (both ids come from `checkpointIdFor`), so one flag resumes
1409
+ // the plan on one engine and the recorded model calls on the other.
1410
+ ...(options.worktree === undefined ? {} : { worktree: options.worktree }),
1411
+ ...(options.keepWorktree === undefined ? {} : { keepWorktree: options.keepWorktree }),
1412
+ ...(options.resume === undefined ? {} : { resume: options.resume }),
1332
1413
  quiet: !!options.jsonEvents,
1333
1414
  // G18 β€” `-v` echoes each tool's result (first line) under its call, so a
1334
1415
  // live run shows what came BACK, not only what was attempted. Without
@@ -1361,7 +1442,14 @@ export class ExecuteCommand extends BaseCommand {
1361
1442
  error: success ? '' : content,
1362
1443
  engine: 'loop',
1363
1444
  engineExplanation: result.engineExplanation,
1445
+ // R1 β€” the same attribution the human path now returns, on the
1446
+ // machine-readable stream: which provider/model served the run, and
1447
+ // which tool transport carried it.
1448
+ provider: result.provider,
1449
+ model: result.model,
1450
+ transport: result.transport,
1364
1451
  toolCalls: result.toolCalls,
1452
+ toolOutcomes: result.toolOutcomes,
1365
1453
  erroredTools: result.erroredTools,
1366
1454
  // G18 β€” the evidence pointer: a machine consumer can follow up with
1367
1455
  // `nuvira trace show <id>` (or `/api/traces/<id>`) instead of taking
@@ -1386,7 +1474,24 @@ export class ExecuteCommand extends BaseCommand {
1386
1474
  logger.info(` πŸ” Trace: ${result.traceId} β€” \`nuvira trace show ${result.traceId}\` (tool calls, gate decisions, refusals)`);
1387
1475
  }
1388
1476
  }
1389
- return { success };
1477
+ // R1 β€” the run's own attribution, back to the caller. `success` alone was
1478
+ // the whole result before this: a reader could not say which model
1479
+ // produced the output they were reading.
1480
+ return {
1481
+ success,
1482
+ ...(result.content ? { content: result.content } : {}),
1483
+ ...(result.provider ? { provider: result.provider } : {}),
1484
+ ...(result.model ? { model: result.model } : {}),
1485
+ ...(result.transport ? { transport: result.transport } : {}),
1486
+ ...(result.toolCalls.length > 0 ? { toolCalls: result.toolCalls } : {}),
1487
+ ...(result.toolOutcomes && result.toolOutcomes.length > 0
1488
+ ? { toolOutcomes: result.toolOutcomes }
1489
+ : {}),
1490
+ ...(result.findings && result.findings.length > 0 ? { findings: result.findings } : {}),
1491
+ // WS5 β€” the isolation and resume this run had, back to the caller.
1492
+ ...(result.worktree ? { worktree: result.worktree } : {}),
1493
+ ...(result.resume ? { resume: result.resume } : {}),
1494
+ };
1390
1495
  }
1391
1496
  catch (err) {
1392
1497
  logger.error(err instanceof Error ? err.message : String(err));
@@ -1530,10 +1635,10 @@ export class ExecuteCommand extends BaseCommand {
1530
1635
  }
1531
1636
  catch { /* recall must never break execution */ }
1532
1637
  }
1533
- const orchestrator = new Orchestrator(this.configManager);
1638
+ // The options THIS command owns. Provider/model are deliberately ABSENT:
1639
+ // they ride on the wrapper's own options, where 'auto' is resolved once,
1640
+ // the same way for every caller (the gateway included).
1534
1641
  const execOptions = {
1535
- provider,
1536
- model,
1537
1642
  taskIntentHint: dispatch.taskIntentHint,
1538
1643
  recallContext,
1539
1644
  acceptanceCriteria: contract.acceptanceCriteria,
@@ -1557,7 +1662,42 @@ export class ExecuteCommand extends BaseCommand {
1557
1662
  ...checkpointOptions(options.checkpoint, options.resume),
1558
1663
  spinner: board,
1559
1664
  };
1560
- const result = await orchestrator.execute(goal, execOptions);
1665
+ // The SHARED turn entry. One place owns the pipeline's provider
1666
+ // resolution, understand-card, recall wiring and checkpoint default, so
1667
+ // this command, the gateway and the model's build/resume tools cannot
1668
+ // drift apart β€” which is what SURFACE_DEBT['pipeline-wrapper-bypass'] was
1669
+ // recording while this command built its own Orchestrator.
1670
+ const pipeline = await runPipelineTool(goal, this.configManager, {
1671
+ provider,
1672
+ model,
1673
+ // The board is OURS: the wrapper must not mount a second one behind it.
1674
+ board: false,
1675
+ // …and the 🧠 card is ours too β€” ours states the real resumability, which
1676
+ // the wrapper cannot know.
1677
+ announce: false,
1678
+ taskIntentHint: dispatch.taskIntentHint,
1679
+ recallContext,
1680
+ execOptions,
1681
+ });
1682
+ const result = pipeline.result;
1683
+ if (!result) {
1684
+ // The wrapper never throws, so a run that could not even resolve a
1685
+ // working provider arrives here as a null result with the reason in
1686
+ // `error` β€” reported as the failure it is rather than swallowed.
1687
+ board.finish(false);
1688
+ if (options.jsonEvents) {
1689
+ process.stdout.write(JSON.stringify({
1690
+ type: 'result',
1691
+ success: false,
1692
+ error: pipeline.error ?? pipeline.summary,
1693
+ ts: Date.now(),
1694
+ }) + '\n');
1695
+ }
1696
+ else {
1697
+ logger.error(pipeline.error ?? pipeline.summary);
1698
+ }
1699
+ return { success: false };
1700
+ }
1561
1701
  // ── G11: finish the job, do NOT ask for a "continue" ──────────────────
1562
1702
  // A 100-page book is ~39 units; the ledger already made that possible, but
1563
1703
  // it used to end every batch by asking the user to reply. The ask itself
@@ -1585,10 +1725,27 @@ export class ExecuteCommand extends BaseCommand {
1585
1725
  // loop too, so a session counter would report zero for every
1586
1726
  // batch after the first.
1587
1727
  const startedAt = Date.now();
1588
- // A FRESH orchestrator per batch: each batch is its own run, and
1589
- // reusing the instance would carry the previous run's counters
1590
- // and trace id into the next one.
1591
- const batchResult = await new Orchestrator(this.configManager).execute(batchJob.continuationPrompt, { ...execOptions, spinner: undefined });
1728
+ // A FRESH wrapper run per batch: each batch is its own run, and
1729
+ // reusing anything from the previous one would carry its
1730
+ // counters and trace id into the next.
1731
+ const batch = await runPipelineTool(batchJob.continuationPrompt, this.configManager, {
1732
+ provider,
1733
+ model,
1734
+ board: false,
1735
+ announce: false,
1736
+ taskIntentHint: dispatch.taskIntentHint,
1737
+ recallContext,
1738
+ execOptions: { ...execOptions, spinner: undefined },
1739
+ });
1740
+ const batchResult = batch.result;
1741
+ if (!batchResult) {
1742
+ // Nothing ran at all, so there is no progress to measure and
1743
+ // the failure counts against the runner's own caps.
1744
+ return {
1745
+ ...measureUnattendedProgress(batchJob),
1746
+ error: batch.error ?? batch.summary ?? 'batch failed',
1747
+ };
1748
+ }
1592
1749
  const economy = costSince(startedAt);
1593
1750
  const envelope = {
1594
1751
  durationMs: Date.now() - startedAt,
@@ -1642,6 +1799,13 @@ export class ExecuteCommand extends BaseCommand {
1642
1799
  engine: 'pipeline',
1643
1800
  trajectoryId: result.trajectoryId,
1644
1801
  reviewId: result.reviewId,
1802
+ // R1 β€” the run's attribution, so a machine consumer reading the
1803
+ // NDJSON stream can tell WHICH backend produced this output without
1804
+ // joining against a trace. `transport` is deliberately absent for
1805
+ // this arm: a multi-agent pipeline resolves a model per agent, and
1806
+ // the wrapper does not track a single tool transport for the run.
1807
+ provider: pipeline.provider,
1808
+ model: pipeline.model,
1645
1809
  ts: Date.now(),
1646
1810
  }) + '\n');
1647
1811
  }
@@ -1649,7 +1813,13 @@ export class ExecuteCommand extends BaseCommand {
1649
1813
  console.log('');
1650
1814
  printOrchestrationResult(result);
1651
1815
  }
1652
- return { success: result.success, orchestrationResult: result };
1816
+ return {
1817
+ success: result.success,
1818
+ orchestrationResult: result,
1819
+ content: result.summary,
1820
+ ...(pipeline.provider ? { provider: pipeline.provider } : {}),
1821
+ ...(pipeline.model ? { model: pipeline.model } : {}),
1822
+ };
1653
1823
  }
1654
1824
  catch (err) {
1655
1825
  board.finish(false);