agent-nuvira 3.3.13 → 3.3.14

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 (387) hide show
  1. package/README.md +67 -1
  2. package/dist/agents/agents/planner.d.ts.map +1 -1
  3. package/dist/agents/agents/planner.js +9 -0
  4. package/dist/agents/agents/planner.js.map +1 -1
  5. package/dist/agents/orchestrator.d.ts +31 -0
  6. package/dist/agents/orchestrator.d.ts.map +1 -1
  7. package/dist/agents/orchestrator.js +74 -126
  8. package/dist/agents/orchestrator.js.map +1 -1
  9. package/dist/cli/chat.d.ts +89 -0
  10. package/dist/cli/chat.d.ts.map +1 -1
  11. package/dist/cli/chat.js +765 -33
  12. package/dist/cli/chat.js.map +1 -1
  13. package/dist/cli/cli-program.d.ts.map +1 -1
  14. package/dist/cli/cli-program.js +12 -0
  15. package/dist/cli/cli-program.js.map +1 -1
  16. package/dist/cli/config.d.ts +12 -0
  17. package/dist/cli/config.d.ts.map +1 -1
  18. package/dist/cli/config.js +86 -0
  19. package/dist/cli/config.js.map +1 -1
  20. package/dist/cli/decisions.d.ts +28 -0
  21. package/dist/cli/decisions.d.ts.map +1 -0
  22. package/dist/cli/decisions.js +140 -0
  23. package/dist/cli/decisions.js.map +1 -0
  24. package/dist/cli/doctor.d.ts +6 -0
  25. package/dist/cli/doctor.d.ts.map +1 -1
  26. package/dist/cli/doctor.js +46 -0
  27. package/dist/cli/doctor.js.map +1 -1
  28. package/dist/cli/failover-runner.d.ts.map +1 -1
  29. package/dist/cli/failover-runner.js +19 -1
  30. package/dist/cli/failover-runner.js.map +1 -1
  31. package/dist/cli/feedback.d.ts.map +1 -1
  32. package/dist/cli/feedback.js +5 -1
  33. package/dist/cli/feedback.js.map +1 -1
  34. package/dist/cli/hooks.d.ts +30 -0
  35. package/dist/cli/hooks.d.ts.map +1 -0
  36. package/dist/cli/hooks.js +224 -0
  37. package/dist/cli/hooks.js.map +1 -0
  38. package/dist/cli/knowledge.d.ts +9 -1
  39. package/dist/cli/knowledge.d.ts.map +1 -1
  40. package/dist/cli/knowledge.js +93 -2
  41. package/dist/cli/knowledge.js.map +1 -1
  42. package/dist/cli/loop-executor.d.ts.map +1 -1
  43. package/dist/cli/loop-executor.js +47 -12
  44. package/dist/cli/loop-executor.js.map +1 -1
  45. package/dist/cli/model.d.ts +20 -0
  46. package/dist/cli/model.d.ts.map +1 -1
  47. package/dist/cli/model.js +294 -14
  48. package/dist/cli/model.js.map +1 -1
  49. package/dist/cli/rate.d.ts +78 -0
  50. package/dist/cli/rate.d.ts.map +1 -0
  51. package/dist/cli/rate.js +294 -0
  52. package/dist/cli/rate.js.map +1 -0
  53. package/dist/config/process-env.d.ts.map +1 -1
  54. package/dist/config/process-env.js +10 -0
  55. package/dist/config/process-env.js.map +1 -1
  56. package/dist/enterprise/vault.d.ts.map +1 -1
  57. package/dist/enterprise/vault.js +5 -21
  58. package/dist/enterprise/vault.js.map +1 -1
  59. package/dist/gateway/hook-contract.d.ts +33 -0
  60. package/dist/gateway/hook-contract.d.ts.map +1 -1
  61. package/dist/gateway/hook-contract.js +97 -0
  62. package/dist/gateway/hook-contract.js.map +1 -1
  63. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  64. package/dist/inference/gemini-adapter.js +4 -0
  65. package/dist/inference/gemini-adapter.js.map +1 -1
  66. package/dist/inference/interface.d.ts +37 -0
  67. package/dist/inference/interface.d.ts.map +1 -1
  68. package/dist/inference/native-tools.d.ts +16 -1
  69. package/dist/inference/native-tools.d.ts.map +1 -1
  70. package/dist/inference/native-tools.js +34 -10
  71. package/dist/inference/native-tools.js.map +1 -1
  72. package/dist/inference/route-resolver.d.ts +30 -0
  73. package/dist/inference/route-resolver.d.ts.map +1 -1
  74. package/dist/inference/route-resolver.js +158 -1
  75. package/dist/inference/route-resolver.js.map +1 -1
  76. package/dist/inference/tools.d.ts +16 -1
  77. package/dist/inference/tools.d.ts.map +1 -1
  78. package/dist/inference/tools.js +51 -18
  79. package/dist/inference/tools.js.map +1 -1
  80. package/dist/learning/acceptance-model.d.ts +247 -0
  81. package/dist/learning/acceptance-model.d.ts.map +1 -0
  82. package/dist/learning/acceptance-model.js +708 -0
  83. package/dist/learning/acceptance-model.js.map +1 -0
  84. package/dist/learning/auto-router.d.ts +68 -24
  85. package/dist/learning/auto-router.d.ts.map +1 -1
  86. package/dist/learning/auto-router.js +301 -96
  87. package/dist/learning/auto-router.js.map +1 -1
  88. package/dist/learning/autonomy-policy.d.ts +12 -16
  89. package/dist/learning/autonomy-policy.d.ts.map +1 -1
  90. package/dist/learning/autonomy-policy.js +50 -48
  91. package/dist/learning/autonomy-policy.js.map +1 -1
  92. package/dist/learning/behavioural-labels.d.ts +86 -0
  93. package/dist/learning/behavioural-labels.d.ts.map +1 -0
  94. package/dist/learning/behavioural-labels.js +166 -0
  95. package/dist/learning/behavioural-labels.js.map +1 -0
  96. package/dist/learning/capability-evidence.d.ts +167 -0
  97. package/dist/learning/capability-evidence.d.ts.map +1 -0
  98. package/dist/learning/capability-evidence.js +210 -0
  99. package/dist/learning/capability-evidence.js.map +1 -0
  100. package/dist/learning/capability-readiness.d.ts +64 -0
  101. package/dist/learning/capability-readiness.d.ts.map +1 -0
  102. package/dist/learning/capability-readiness.js +74 -0
  103. package/dist/learning/capability-readiness.js.map +1 -0
  104. package/dist/learning/capability-types.d.ts +169 -0
  105. package/dist/learning/capability-types.d.ts.map +1 -0
  106. package/dist/learning/capability-types.js +20 -0
  107. package/dist/learning/capability-types.js.map +1 -0
  108. package/dist/learning/catalog-feed.d.ts +89 -0
  109. package/dist/learning/catalog-feed.d.ts.map +1 -0
  110. package/dist/learning/catalog-feed.js +211 -0
  111. package/dist/learning/catalog-feed.js.map +1 -0
  112. package/dist/learning/cli-intent-effects.d.ts +60 -0
  113. package/dist/learning/cli-intent-effects.d.ts.map +1 -0
  114. package/dist/learning/cli-intent-effects.js +153 -0
  115. package/dist/learning/cli-intent-effects.js.map +1 -0
  116. package/dist/learning/command-adaptation.d.ts +41 -0
  117. package/dist/learning/command-adaptation.d.ts.map +1 -0
  118. package/dist/learning/command-adaptation.js +122 -0
  119. package/dist/learning/command-adaptation.js.map +1 -0
  120. package/dist/learning/consent-picture.d.ts +42 -0
  121. package/dist/learning/consent-picture.d.ts.map +1 -0
  122. package/dist/learning/consent-picture.js +53 -0
  123. package/dist/learning/consent-picture.js.map +1 -0
  124. package/dist/learning/context-budget.d.ts +37 -6
  125. package/dist/learning/context-budget.d.ts.map +1 -1
  126. package/dist/learning/context-budget.js +38 -9
  127. package/dist/learning/context-budget.js.map +1 -1
  128. package/dist/learning/decision-log.d.ts +114 -0
  129. package/dist/learning/decision-log.d.ts.map +1 -0
  130. package/dist/learning/decision-log.js +296 -0
  131. package/dist/learning/decision-log.js.map +1 -0
  132. package/dist/learning/deliverable-class.d.ts.map +1 -1
  133. package/dist/learning/deliverable-class.js +19 -0
  134. package/dist/learning/deliverable-class.js.map +1 -1
  135. package/dist/learning/deliverable-corpus.d.ts +117 -0
  136. package/dist/learning/deliverable-corpus.d.ts.map +1 -0
  137. package/dist/learning/deliverable-corpus.js +176 -0
  138. package/dist/learning/deliverable-corpus.js.map +1 -0
  139. package/dist/learning/error-repair.d.ts +22 -1
  140. package/dist/learning/error-repair.d.ts.map +1 -1
  141. package/dist/learning/error-repair.js +37 -0
  142. package/dist/learning/error-repair.js.map +1 -1
  143. package/dist/learning/exhaustion-report.d.ts +136 -0
  144. package/dist/learning/exhaustion-report.d.ts.map +1 -0
  145. package/dist/learning/exhaustion-report.js +239 -0
  146. package/dist/learning/exhaustion-report.js.map +1 -0
  147. package/dist/learning/failure-bookkeeping.d.ts +16 -0
  148. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  149. package/dist/learning/failure-bookkeeping.js +51 -5
  150. package/dist/learning/failure-bookkeeping.js.map +1 -1
  151. package/dist/learning/gate-friction.d.ts +39 -0
  152. package/dist/learning/gate-friction.d.ts.map +1 -0
  153. package/dist/learning/gate-friction.js +91 -0
  154. package/dist/learning/gate-friction.js.map +1 -0
  155. package/dist/learning/harness-narration.d.ts +34 -0
  156. package/dist/learning/harness-narration.d.ts.map +1 -0
  157. package/dist/learning/harness-narration.js +58 -0
  158. package/dist/learning/harness-narration.js.map +1 -0
  159. package/dist/learning/hub-skill-catalog.d.ts.map +1 -1
  160. package/dist/learning/hub-skill-catalog.js +1 -2
  161. package/dist/learning/hub-skill-catalog.js.map +1 -1
  162. package/dist/learning/hybrid-router.d.ts +65 -0
  163. package/dist/learning/hybrid-router.d.ts.map +1 -1
  164. package/dist/learning/hybrid-router.js +186 -0
  165. package/dist/learning/hybrid-router.js.map +1 -1
  166. package/dist/learning/knowledge-base.d.ts +229 -3
  167. package/dist/learning/knowledge-base.d.ts.map +1 -1
  168. package/dist/learning/knowledge-base.js +593 -24
  169. package/dist/learning/knowledge-base.js.map +1 -1
  170. package/dist/learning/knowledge-eval.d.ts +171 -0
  171. package/dist/learning/knowledge-eval.d.ts.map +1 -0
  172. package/dist/learning/knowledge-eval.js +196 -0
  173. package/dist/learning/knowledge-eval.js.map +1 -0
  174. package/dist/learning/knowledge-turn.d.ts +92 -0
  175. package/dist/learning/knowledge-turn.d.ts.map +1 -0
  176. package/dist/learning/knowledge-turn.js +190 -0
  177. package/dist/learning/knowledge-turn.js.map +1 -0
  178. package/dist/learning/learned-commands.d.ts +64 -0
  179. package/dist/learning/learned-commands.d.ts.map +1 -0
  180. package/dist/learning/learned-commands.js +108 -0
  181. package/dist/learning/learned-commands.js.map +1 -0
  182. package/dist/learning/lexical-search.d.ts +50 -0
  183. package/dist/learning/lexical-search.d.ts.map +1 -0
  184. package/dist/learning/lexical-search.js +111 -0
  185. package/dist/learning/lexical-search.js.map +1 -0
  186. package/dist/learning/machine-facts.d.ts +71 -0
  187. package/dist/learning/machine-facts.d.ts.map +1 -0
  188. package/dist/learning/machine-facts.js +164 -0
  189. package/dist/learning/machine-facts.js.map +1 -0
  190. package/dist/learning/markdown-outline.d.ts +73 -0
  191. package/dist/learning/markdown-outline.d.ts.map +1 -0
  192. package/dist/learning/markdown-outline.js +136 -0
  193. package/dist/learning/markdown-outline.js.map +1 -0
  194. package/dist/learning/model-first-router.d.ts +33 -1
  195. package/dist/learning/model-first-router.d.ts.map +1 -1
  196. package/dist/learning/model-first-router.js +123 -9
  197. package/dist/learning/model-first-router.js.map +1 -1
  198. package/dist/learning/model-identity.d.ts +80 -0
  199. package/dist/learning/model-identity.d.ts.map +1 -0
  200. package/dist/learning/model-identity.js +115 -0
  201. package/dist/learning/model-identity.js.map +1 -0
  202. package/dist/learning/model-registry.d.ts +141 -2
  203. package/dist/learning/model-registry.d.ts.map +1 -1
  204. package/dist/learning/model-registry.js +324 -38
  205. package/dist/learning/model-registry.js.map +1 -1
  206. package/dist/learning/model-scoring.d.ts.map +1 -1
  207. package/dist/learning/model-scoring.js +8 -1
  208. package/dist/learning/model-scoring.js.map +1 -1
  209. package/dist/learning/model-selection.d.ts.map +1 -1
  210. package/dist/learning/model-selection.js +41 -0
  211. package/dist/learning/model-selection.js.map +1 -1
  212. package/dist/learning/outcome-observation.d.ts +49 -0
  213. package/dist/learning/outcome-observation.d.ts.map +1 -0
  214. package/dist/learning/outcome-observation.js +95 -0
  215. package/dist/learning/outcome-observation.js.map +1 -0
  216. package/dist/learning/pair-entitlement.d.ts +184 -0
  217. package/dist/learning/pair-entitlement.d.ts.map +1 -0
  218. package/dist/learning/pair-entitlement.js +214 -0
  219. package/dist/learning/pair-entitlement.js.map +1 -0
  220. package/dist/learning/provider-fallback.d.ts +23 -1
  221. package/dist/learning/provider-fallback.d.ts.map +1 -1
  222. package/dist/learning/provider-fallback.js +24 -0
  223. package/dist/learning/provider-fallback.js.map +1 -1
  224. package/dist/learning/reasoning-trace.d.ts +65 -1
  225. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  226. package/dist/learning/reasoning-trace.js +123 -1
  227. package/dist/learning/reasoning-trace.js.map +1 -1
  228. package/dist/learning/requirement-probe.d.ts +55 -0
  229. package/dist/learning/requirement-probe.d.ts.map +1 -0
  230. package/dist/learning/requirement-probe.js +77 -0
  231. package/dist/learning/requirement-probe.js.map +1 -0
  232. package/dist/learning/resilient-call.d.ts +20 -1
  233. package/dist/learning/resilient-call.d.ts.map +1 -1
  234. package/dist/learning/resilient-call.js +42 -4
  235. package/dist/learning/resilient-call.js.map +1 -1
  236. package/dist/learning/response-usability.d.ts +85 -0
  237. package/dist/learning/response-usability.d.ts.map +1 -0
  238. package/dist/learning/response-usability.js +135 -0
  239. package/dist/learning/response-usability.js.map +1 -0
  240. package/dist/learning/router-bandit.d.ts +132 -0
  241. package/dist/learning/router-bandit.d.ts.map +1 -1
  242. package/dist/learning/router-bandit.js +253 -0
  243. package/dist/learning/router-bandit.js.map +1 -1
  244. package/dist/learning/routing-history.d.ts +41 -2
  245. package/dist/learning/routing-history.d.ts.map +1 -1
  246. package/dist/learning/routing-history.js.map +1 -1
  247. package/dist/learning/run-trace.d.ts +21 -0
  248. package/dist/learning/run-trace.d.ts.map +1 -1
  249. package/dist/learning/run-trace.js +38 -0
  250. package/dist/learning/run-trace.js.map +1 -1
  251. package/dist/learning/session-grant.d.ts +75 -0
  252. package/dist/learning/session-grant.d.ts.map +1 -0
  253. package/dist/learning/session-grant.js +112 -0
  254. package/dist/learning/session-grant.js.map +1 -0
  255. package/dist/learning/task-model-continuity.d.ts +73 -0
  256. package/dist/learning/task-model-continuity.d.ts.map +1 -0
  257. package/dist/learning/task-model-continuity.js +87 -0
  258. package/dist/learning/task-model-continuity.js.map +1 -0
  259. package/dist/learning/turn-feedback.d.ts +93 -0
  260. package/dist/learning/turn-feedback.d.ts.map +1 -0
  261. package/dist/learning/turn-feedback.js +127 -0
  262. package/dist/learning/turn-feedback.js.map +1 -0
  263. package/dist/learning/turn-report.d.ts +104 -2
  264. package/dist/learning/turn-report.d.ts.map +1 -1
  265. package/dist/learning/turn-report.js +161 -6
  266. package/dist/learning/turn-report.js.map +1 -1
  267. package/dist/learning/verdict-routing.d.ts +51 -0
  268. package/dist/learning/verdict-routing.d.ts.map +1 -0
  269. package/dist/learning/verdict-routing.js +122 -0
  270. package/dist/learning/verdict-routing.js.map +1 -0
  271. package/dist/mcp/client.d.ts.map +1 -1
  272. package/dist/mcp/client.js +5 -0
  273. package/dist/mcp/client.js.map +1 -1
  274. package/dist/mcp/manager.d.ts +10 -0
  275. package/dist/mcp/manager.d.ts.map +1 -1
  276. package/dist/mcp/manager.js +20 -0
  277. package/dist/mcp/manager.js.map +1 -1
  278. package/dist/mcp/mcp-discovery.d.ts +34 -0
  279. package/dist/mcp/mcp-discovery.d.ts.map +1 -0
  280. package/dist/mcp/mcp-discovery.js +71 -0
  281. package/dist/mcp/mcp-discovery.js.map +1 -0
  282. package/dist/mcp/mcp-schema-cache.d.ts +17 -0
  283. package/dist/mcp/mcp-schema-cache.d.ts.map +1 -1
  284. package/dist/mcp/mcp-schema-cache.js +47 -3
  285. package/dist/mcp/mcp-schema-cache.js.map +1 -1
  286. package/dist/mcp/types.d.ts +28 -0
  287. package/dist/mcp/types.d.ts.map +1 -1
  288. package/dist/mcp/types.js.map +1 -1
  289. package/dist/tools/ask-user.d.ts.map +1 -1
  290. package/dist/tools/ask-user.js +4 -0
  291. package/dist/tools/ask-user.js.map +1 -1
  292. package/dist/tools/capability-registry.d.ts +150 -0
  293. package/dist/tools/capability-registry.d.ts.map +1 -0
  294. package/dist/tools/capability-registry.js +400 -0
  295. package/dist/tools/capability-registry.js.map +1 -0
  296. package/dist/tools/child-agent-runtime.d.ts.map +1 -1
  297. package/dist/tools/child-agent-runtime.js +19 -5
  298. package/dist/tools/child-agent-runtime.js.map +1 -1
  299. package/dist/tools/coding-tools.d.ts +17 -5
  300. package/dist/tools/coding-tools.d.ts.map +1 -1
  301. package/dist/tools/coding-tools.js +80 -11
  302. package/dist/tools/coding-tools.js.map +1 -1
  303. package/dist/tools/command-memo.d.ts +116 -0
  304. package/dist/tools/command-memo.d.ts.map +1 -0
  305. package/dist/tools/command-memo.js +202 -0
  306. package/dist/tools/command-memo.js.map +1 -0
  307. package/dist/tools/git-tool.d.ts.map +1 -1
  308. package/dist/tools/git-tool.js +13 -3
  309. package/dist/tools/git-tool.js.map +1 -1
  310. package/dist/tools/harness-directive.d.ts +42 -0
  311. package/dist/tools/harness-directive.d.ts.map +1 -0
  312. package/dist/tools/harness-directive.js +45 -0
  313. package/dist/tools/harness-directive.js.map +1 -0
  314. package/dist/tools/loop-skill-hint.d.ts +74 -174
  315. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  316. package/dist/tools/loop-skill-hint.js +110 -536
  317. package/dist/tools/loop-skill-hint.js.map +1 -1
  318. package/dist/tools/mcp-client-tool.d.ts +2 -0
  319. package/dist/tools/mcp-client-tool.d.ts.map +1 -1
  320. package/dist/tools/mcp-client-tool.js +3 -0
  321. package/dist/tools/mcp-client-tool.js.map +1 -1
  322. package/dist/tools/modality/shared.d.ts +1 -4
  323. package/dist/tools/modality/shared.d.ts.map +1 -1
  324. package/dist/tools/modality/shared.js +7 -22
  325. package/dist/tools/modality/shared.js.map +1 -1
  326. package/dist/tools/plan-store.d.ts +20 -2
  327. package/dist/tools/plan-store.d.ts.map +1 -1
  328. package/dist/tools/plan-store.js +51 -7
  329. package/dist/tools/plan-store.js.map +1 -1
  330. package/dist/tools/registry.d.ts +76 -3
  331. package/dist/tools/registry.d.ts.map +1 -1
  332. package/dist/tools/registry.js +486 -26
  333. package/dist/tools/registry.js.map +1 -1
  334. package/dist/tools/remediation-ladder.d.ts.map +1 -1
  335. package/dist/tools/remediation-ladder.js +8 -0
  336. package/dist/tools/remediation-ladder.js.map +1 -1
  337. package/dist/tools/run-cli.d.ts.map +1 -1
  338. package/dist/tools/run-cli.js +29 -4
  339. package/dist/tools/run-cli.js.map +1 -1
  340. package/dist/tools/run-terminal.d.ts +11 -0
  341. package/dist/tools/run-terminal.d.ts.map +1 -1
  342. package/dist/tools/run-terminal.js +265 -10
  343. package/dist/tools/run-terminal.js.map +1 -1
  344. package/dist/tools/tool-loop.d.ts +321 -13
  345. package/dist/tools/tool-loop.d.ts.map +1 -1
  346. package/dist/tools/tool-loop.js +867 -66
  347. package/dist/tools/tool-loop.js.map +1 -1
  348. package/dist/utils/atomic-store.d.ts +53 -0
  349. package/dist/utils/atomic-store.d.ts.map +1 -0
  350. package/dist/utils/atomic-store.js +178 -0
  351. package/dist/utils/atomic-store.js.map +1 -0
  352. package/dist/utils/binary-probe.d.ts +25 -0
  353. package/dist/utils/binary-probe.d.ts.map +1 -0
  354. package/dist/utils/binary-probe.js +48 -0
  355. package/dist/utils/binary-probe.js.map +1 -0
  356. package/dist/utils/workspace-path.d.ts +50 -0
  357. package/dist/utils/workspace-path.d.ts.map +1 -0
  358. package/dist/utils/workspace-path.js +86 -0
  359. package/dist/utils/workspace-path.js.map +1 -0
  360. package/dist/web-dashboard/chat-console.d.ts +24 -0
  361. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  362. package/dist/web-dashboard/chat-console.js +38 -0
  363. package/dist/web-dashboard/chat-console.js.map +1 -1
  364. package/dist/web-dashboard/project-context.d.ts +27 -2
  365. package/dist/web-dashboard/project-context.d.ts.map +1 -1
  366. package/dist/web-dashboard/project-context.js +32 -2
  367. package/dist/web-dashboard/project-context.js.map +1 -1
  368. package/dist/web-dashboard/server.d.ts +11 -0
  369. package/dist/web-dashboard/server.d.ts.map +1 -1
  370. package/dist/web-dashboard/server.js +362 -11
  371. package/dist/web-dashboard/server.js.map +1 -1
  372. package/dist/web-dashboard/src/types.d.ts +170 -1
  373. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  374. package/dist/web-dashboard/workspace-guard.d.ts +11 -2
  375. package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
  376. package/dist/web-dashboard/workspace-guard.js +24 -12
  377. package/dist/web-dashboard/workspace-guard.js.map +1 -1
  378. package/dist/web-dashboard/workspace-resolution.d.ts +87 -0
  379. package/dist/web-dashboard/workspace-resolution.d.ts.map +1 -0
  380. package/dist/web-dashboard/workspace-resolution.js +105 -0
  381. package/dist/web-dashboard/workspace-resolution.js.map +1 -0
  382. package/package.json +1 -1
  383. package/src/web-dashboard/public/assets/index-zjbdJnO-.js +210 -0
  384. package/src/web-dashboard/public/assets/index-zjbdJnO-.js.map +1 -0
  385. package/src/web-dashboard/public/index.html +1 -1
  386. package/src/web-dashboard/public/assets/index-DhiuR4S2.js +0 -210
  387. package/src/web-dashboard/public/assets/index-DhiuR4S2.js.map +0 -1
@@ -85,6 +85,11 @@ export interface RunTraceSnapshot {
85
85
  mutations: number;
86
86
  /** The distinct files changed. */
87
87
  paths: string[];
88
+ /**
89
+ * Decisions the run took ON THE USER'S BEHALF because nobody was reachable,
90
+ * one line each (deduped, oldest first). Empty on a turn the user drove.
91
+ */
92
+ assumptions: string[];
88
93
  }
89
94
  /**
90
95
  * The run's own behaviour, as data.
@@ -96,6 +101,7 @@ export interface RunTraceSnapshot {
96
101
  */
97
102
  export declare class RunTrace {
98
103
  private asks;
104
+ private assumptions;
99
105
  private refusals;
100
106
  private failures;
101
107
  private mutations;
@@ -105,6 +111,21 @@ export declare class RunTrace {
105
111
  priorAnswer(question: string): string | undefined;
106
112
  /** Record that the agent asked something, and whether the user saw it. */
107
113
  recordAsk(question: string, shown: boolean, answer?: string): void;
114
+ /**
115
+ * Record a decision taken on the user's behalf because nobody was reachable.
116
+ *
117
+ * Deliberately NOT `recordAsk`: an assumption is not a question the user
118
+ * answered, and filing it as one is what let a silent default read as the
119
+ * user's own choice on every surface downstream.
120
+ */
121
+ recordAssumption(question: string, assumed: string): void;
122
+ /** How many decisions the run took on the user's behalf. */
123
+ assumptionCount(): number;
124
+ /**
125
+ * The assumptions as disclosure lines, deduped and oldest first — the exact
126
+ * text a surface prints so "what did it decide for me?" is answerable.
127
+ */
128
+ assumptionLines(): string[];
108
129
  /** Prior refusals of the SAME tool for the SAME reason. */
109
130
  priorRefusalMatches(tool: string, detail: string): number;
110
131
  recordRefusal(tool: string, reason: string, detail: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"run-trace.d.ts","sourceRoot":"","sources":["../../src/learning/run-trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-trace.d.ts","sourceRoot":"","sources":["../../src/learning/run-trace.ts"],"names":[],"mappings":"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"}
@@ -125,6 +125,7 @@ export const MAX_TRACE_ENTRIES = 60;
125
125
  */
126
126
  export class RunTrace {
127
127
  asks = [];
128
+ assumptions = [];
128
129
  refusals = [];
129
130
  failures = [];
130
131
  mutations = [];
@@ -150,6 +151,42 @@ export class RunTrace {
150
151
  if (this.asks.length > MAX_TRACE_ENTRIES)
151
152
  this.asks.shift();
152
153
  }
154
+ /**
155
+ * Record a decision taken on the user's behalf because nobody was reachable.
156
+ *
157
+ * Deliberately NOT `recordAsk`: an assumption is not a question the user
158
+ * answered, and filing it as one is what let a silent default read as the
159
+ * user's own choice on every surface downstream.
160
+ */
161
+ recordAssumption(question, assumed) {
162
+ this.assumptions.push({
163
+ question: String(question ?? ''),
164
+ assumed: String(assumed ?? ''),
165
+ at: Date.now(),
166
+ });
167
+ if (this.assumptions.length > MAX_TRACE_ENTRIES)
168
+ this.assumptions.shift();
169
+ }
170
+ /** How many decisions the run took on the user's behalf. */
171
+ assumptionCount() {
172
+ return this.assumptions.length;
173
+ }
174
+ /**
175
+ * The assumptions as disclosure lines, deduped and oldest first — the exact
176
+ * text a surface prints so "what did it decide for me?" is answerable.
177
+ */
178
+ assumptionLines() {
179
+ const lines = [];
180
+ const seen = new Set();
181
+ for (const a of this.assumptions) {
182
+ const line = `assumed "${a.assumed}" for: ${a.question}`;
183
+ if (seen.has(line))
184
+ continue;
185
+ seen.add(line);
186
+ lines.push(line);
187
+ }
188
+ return lines;
189
+ }
153
190
  /** Prior refusals of the SAME tool for the SAME reason. */
154
191
  priorRefusalMatches(tool, detail) {
155
192
  const signature = normalize(detail).slice(0, 200);
@@ -262,6 +299,7 @@ export class RunTrace {
262
299
  refusals: this.refusals.length,
263
300
  mutations: this.mutations.length,
264
301
  paths: this.distinctMutationPaths(),
302
+ assumptions: this.assumptionLines(),
265
303
  };
266
304
  }
267
305
  /** Distinct questions, each with how many times it was asked and its answer. */
@@ -1 +1 @@
1
- {"version":3,"file":"run-trace.js","sourceRoot":"","sources":["../../src/learning/run-trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-trace.js","sourceRoot":"","sources":["../../src/learning/run-trace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * The SESSION GRANT — "allow all write commands for this session".
3
+ *
4
+ * WHY THIS EXISTS. The confirm gate is correct to ask before a state-changing
5
+ * action, but asking at ACTION granularity is the manual cadence at scale: on a
6
+ * real codebase the number of interruptions is O(number of edits), which is not
7
+ * safety, it is friction that merely looks like diligence. The intent envelope
8
+ * (`intent-envelope.ts`) already removed the friction for work a request or an
9
+ * approved plan authorized — but it is derived from the REQUEST, so an
10
+ * operation the request did not obviously cover still asks, every time, for the
11
+ * whole session.
12
+ *
13
+ * WHAT THIS IS. An EXPLICIT, user-granted, session-scoped permission to run a
14
+ * CATEGORY of state-changing action without asking again:
15
+ *
16
+ * - `write` — file mutations (`edit_file`, `write_file`, …).
17
+ * - `terminal` — recoverable *local-state* shell commands (installs, mkdir,
18
+ * cp/mv, git add — the workspace set).
19
+ * - `external` — OFF-MACHINE actions: network fetches, global/system installs,
20
+ * publish, push. The user may grant it EXPLICITLY, once, at the
21
+ * friction point; it is never the default.
22
+ *
23
+ * It is offered at the exact moment the guard would ask (the `ask_user` a
24
+ * confirmation refusal asks for) as one extra choice — "Allow all <category>
25
+ * for this session" — so the user's explicit go-ahead is received, never
26
+ * inferred. A user who does not pick it keeps the ask-every-time default; there
27
+ * is no silent widening.
28
+ *
29
+ * THE LINE IT DOES NOT CROSS. The HARD DENY floor is not a category and can
30
+ * never be granted: the absolute DENY patterns in `run-terminal.ts` (sudo, rm
31
+ * -rf at dangerous targets, force-push, history destruction) run BEFORE any
32
+ * grant is consulted, so no grant unlocks them. And a grant is never inferred
33
+ * from prose — `external` in particular is only ever granted when the user
34
+ * picks it explicitly, so a blanket "go ahead and build" cannot silently
35
+ * authorize changing the whole machine or publishing to the world.
36
+ *
37
+ * WHERE IT LIVES. Per CONVERSATION, keyed to the session's plan store — the
38
+ * same key the intent envelope uses — so it survives the turn that granted it
39
+ * and dies with the conversation. A `WeakMap` key means nothing to clean up. A
40
+ * TTL is the brakeman on a stale grant; the default is long enough to outlast a
41
+ * working session and short enough that yesterday's go-ahead cannot silently
42
+ * authorize today's work.
43
+ */
44
+ /** The categories a session grant can cover. */
45
+ export type SessionGrantCategory = 'write' | 'terminal' | 'external';
46
+ /**
47
+ * How long a session grant stays live. Eight hours is a working session; the
48
+ * grant is per-conversation anyway, so this only bounds a conversation that is
49
+ * left open far longer than its work.
50
+ */
51
+ export declare const SESSION_GRANT_TTL_MS: number;
52
+ /** An explicit, session-scoped permission to skip the confirm gate. */
53
+ export interface SessionGrant {
54
+ categories: SessionGrantCategory[];
55
+ grantedAt: number;
56
+ expiresAt: number;
57
+ /** How it was granted — recorded so the decision is auditable, not a vibe. */
58
+ reason: string;
59
+ }
60
+ /** The human label for a category, used in the offered choice and messages. */
61
+ export declare function sessionGrantLabel(category: SessionGrantCategory): string;
62
+ /**
63
+ * Grant (or extend) session permission for the given categories. Additive on
64
+ * purpose: granting `write` after `terminal` must not revoke the first.
65
+ */
66
+ export declare function grantSession(key: object | undefined, categories: SessionGrantCategory[], reason?: string, now?: number): SessionGrant | null;
67
+ /** The live grant for a conversation, or null. An EXPIRED grant is dropped on read. */
68
+ export declare function getSessionGrant(key: object | undefined, now?: number): SessionGrant | null;
69
+ /** Revoke the grant (the user asked to be asked again, or the session ended). */
70
+ export declare function clearSessionGrant(key: object | undefined): void;
71
+ /** Does the session grant cover this category right now? */
72
+ export declare function sessionGrantCovers(key: object | undefined, category: SessionGrantCategory, now?: number): boolean;
73
+ /** A one-line disclosure, so a granted session says so instead of acting silently. */
74
+ export declare function sessionGrantNotice(grant: SessionGrant): string;
75
+ //# sourceMappingURL=session-grant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-grant.d.ts","sourceRoot":"","sources":["../../src/learning/session-grant.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,gDAAgD;AAChD,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAqB,CAAC;AAEvD,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;CAChB;AASD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAIxE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,UAAU,EAAE,oBAAoB,EAAE,EAClC,MAAM,SAA0C,EAChD,GAAG,SAAa,GACf,YAAY,GAAG,IAAI,CAerB;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,YAAY,GAAG,IAAI,CAS9F;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE/D;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,SAAa,GACf,OAAO,CAET;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAM9D"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * The SESSION GRANT — "allow all write commands for this session".
3
+ *
4
+ * WHY THIS EXISTS. The confirm gate is correct to ask before a state-changing
5
+ * action, but asking at ACTION granularity is the manual cadence at scale: on a
6
+ * real codebase the number of interruptions is O(number of edits), which is not
7
+ * safety, it is friction that merely looks like diligence. The intent envelope
8
+ * (`intent-envelope.ts`) already removed the friction for work a request or an
9
+ * approved plan authorized — but it is derived from the REQUEST, so an
10
+ * operation the request did not obviously cover still asks, every time, for the
11
+ * whole session.
12
+ *
13
+ * WHAT THIS IS. An EXPLICIT, user-granted, session-scoped permission to run a
14
+ * CATEGORY of state-changing action without asking again:
15
+ *
16
+ * - `write` — file mutations (`edit_file`, `write_file`, …).
17
+ * - `terminal` — recoverable *local-state* shell commands (installs, mkdir,
18
+ * cp/mv, git add — the workspace set).
19
+ * - `external` — OFF-MACHINE actions: network fetches, global/system installs,
20
+ * publish, push. The user may grant it EXPLICITLY, once, at the
21
+ * friction point; it is never the default.
22
+ *
23
+ * It is offered at the exact moment the guard would ask (the `ask_user` a
24
+ * confirmation refusal asks for) as one extra choice — "Allow all <category>
25
+ * for this session" — so the user's explicit go-ahead is received, never
26
+ * inferred. A user who does not pick it keeps the ask-every-time default; there
27
+ * is no silent widening.
28
+ *
29
+ * THE LINE IT DOES NOT CROSS. The HARD DENY floor is not a category and can
30
+ * never be granted: the absolute DENY patterns in `run-terminal.ts` (sudo, rm
31
+ * -rf at dangerous targets, force-push, history destruction) run BEFORE any
32
+ * grant is consulted, so no grant unlocks them. And a grant is never inferred
33
+ * from prose — `external` in particular is only ever granted when the user
34
+ * picks it explicitly, so a blanket "go ahead and build" cannot silently
35
+ * authorize changing the whole machine or publishing to the world.
36
+ *
37
+ * WHERE IT LIVES. Per CONVERSATION, keyed to the session's plan store — the
38
+ * same key the intent envelope uses — so it survives the turn that granted it
39
+ * and dies with the conversation. A `WeakMap` key means nothing to clean up. A
40
+ * TTL is the brakeman on a stale grant; the default is long enough to outlast a
41
+ * working session and short enough that yesterday's go-ahead cannot silently
42
+ * authorize today's work.
43
+ */
44
+ /**
45
+ * How long a session grant stays live. Eight hours is a working session; the
46
+ * grant is per-conversation anyway, so this only bounds a conversation that is
47
+ * left open far longer than its work.
48
+ */
49
+ export const SESSION_GRANT_TTL_MS = 8 * 60 * 60 * 1000;
50
+ /** Per-conversation grant store, keyed by the session's plan store. */
51
+ const store = new WeakMap();
52
+ function isKey(key) {
53
+ return (typeof key === 'object' && key !== null) || typeof key === 'function';
54
+ }
55
+ /** The human label for a category, used in the offered choice and messages. */
56
+ export function sessionGrantLabel(category) {
57
+ if (category === 'terminal')
58
+ return 'terminal commands';
59
+ if (category === 'external')
60
+ return 'off-machine actions';
61
+ return 'file writes';
62
+ }
63
+ /**
64
+ * Grant (or extend) session permission for the given categories. Additive on
65
+ * purpose: granting `write` after `terminal` must not revoke the first.
66
+ */
67
+ export function grantSession(key, categories, reason = 'the user allowed this for the session', now = Date.now()) {
68
+ if (!isKey(key) || categories.length === 0)
69
+ return null;
70
+ const prev = store.get(key);
71
+ const merged = new Set([
72
+ ...(prev && prev.expiresAt > now ? prev.categories : []),
73
+ ...categories,
74
+ ]);
75
+ const grant = {
76
+ categories: [...merged],
77
+ grantedAt: now,
78
+ expiresAt: now + SESSION_GRANT_TTL_MS,
79
+ reason,
80
+ };
81
+ store.set(key, grant);
82
+ return grant;
83
+ }
84
+ /** The live grant for a conversation, or null. An EXPIRED grant is dropped on read. */
85
+ export function getSessionGrant(key, now = Date.now()) {
86
+ if (!isKey(key))
87
+ return null;
88
+ const grant = store.get(key);
89
+ if (!grant)
90
+ return null;
91
+ if (grant.expiresAt <= now) {
92
+ store.delete(key);
93
+ return null;
94
+ }
95
+ return grant;
96
+ }
97
+ /** Revoke the grant (the user asked to be asked again, or the session ended). */
98
+ export function clearSessionGrant(key) {
99
+ if (isKey(key))
100
+ store.delete(key);
101
+ }
102
+ /** Does the session grant cover this category right now? */
103
+ export function sessionGrantCovers(key, category, now = Date.now()) {
104
+ return getSessionGrant(key, now)?.categories.includes(category) ?? false;
105
+ }
106
+ /** A one-line disclosure, so a granted session says so instead of acting silently. */
107
+ export function sessionGrantNotice(grant) {
108
+ const labels = grant.categories.map(sessionGrantLabel).join(' and ');
109
+ return (`✅ Allowed for this session: ${labels}. They run without asking again; ` +
110
+ 'irreversible and off-machine actions still ask, and the permission ends with this conversation.');
111
+ }
112
+ //# sourceMappingURL=session-grant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-grant.js","sourceRoot":"","sources":["../../src/learning/session-grant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Task-level model CONTINUITY (fix_model_routing P3, RC7).
3
+ *
4
+ * WHY THIS EXISTS. Routing is decided PER TURN, and for a continuation the turn
5
+ * text is signal-free: "resume", "continue", "go on". `continuationSoftwareText`
6
+ * already rescues the ROUTING by scoring the ask the continuation continues — but
7
+ * the DECISION is then re-made from scratch, so a task that was being served by
8
+ * a model that demonstrably worked can be handed, on its very next turn, to a
9
+ * model that has never touched it (and, in the live case, to one that returns
10
+ * nothing at all). The user sees a working run "resume" and die.
11
+ *
12
+ * The rule this module implements is the one a competent operator follows: when
13
+ * you pick up a task someone was already making progress on, you go back to the
14
+ * same worker if they are still available. Continuity is therefore a PREFERENCE,
15
+ * never a constraint — the remembered pair is offered FIRST and the ordinary
16
+ * routing pool stands behind it, so a model that has since died, been parked or
17
+ * lost its key costs one check and is skipped (the caller re-validates before
18
+ * using it; this module only remembers).
19
+ *
20
+ * What it is NOT: a pin. It never overrides the user's explicit provider/model,
21
+ * and it never bypasses the governance or capability gates the router applies —
22
+ * the caller checks those and falls back to the normal walk.
23
+ *
24
+ * Scope: deliberately IN-MEMORY, per process/session. A memory is a fact about
25
+ * the run in front of us, and writing it to disk would make yesterday's model a
26
+ * silent preference in a fresh session with different credentials.
27
+ */
28
+ /** A model that produced usable work for a task signature. */
29
+ export interface RememberedServingModel {
30
+ provider: string;
31
+ model: string;
32
+ /** The task signature this pair served (see {@link taskSignature}). */
33
+ signature: string;
34
+ /** When it last served that task (ms epoch). */
35
+ servedAt: number;
36
+ }
37
+ /**
38
+ * How long a memory is good for. Long enough to cover a real working session
39
+ * (including a pause while the user reads the result), short enough that a stale
40
+ * preference cannot outlive the task it belonged to.
41
+ */
42
+ export declare const TASK_CONTINUITY_TTL_MS: number;
43
+ /**
44
+ * The identity of a TASK, as far as model continuity is concerned: what kind of
45
+ * work it is and how hard it is. Deliberately NOT the raw prompt text — a
46
+ * continuation re-states the task in different words ("resume" vs the original
47
+ * sentence), so a text key would never match, while intent+complexity does,
48
+ * because both are derived from the SAME ask (the continuation's routing text is
49
+ * the prior software ask).
50
+ *
51
+ * Unknown parts stay unknown and are named `general`/`unknown` rather than
52
+ * dropped, so two turns that both failed to classify still match each other
53
+ * instead of silently forming an empty key.
54
+ */
55
+ export declare function taskSignature(intent: string | undefined | null, complexity: string | undefined | null): string;
56
+ /**
57
+ * The per-session memory. Bounded by construction: one entry per task signature
58
+ * (a re-serve REPLACES rather than stacks), and a signature is a coarse class,
59
+ * not a prompt.
60
+ */
61
+ export declare class TaskModelContinuity {
62
+ private bySignature;
63
+ /** Record the pair that just produced usable work for this task. */
64
+ remember(signature: string, provider: string, model: string, now?: number): void;
65
+ /** The remembered pair for this task, or null when there is none / it is stale. */
66
+ recall(signature: string, now?: number): RememberedServingModel | null;
67
+ /** Forget one task (used when the remembered pair turns out to be unusable). */
68
+ forget(signature: string): void;
69
+ /** How many tasks are remembered — telemetry/tests. */
70
+ size(): number;
71
+ clear(): void;
72
+ }
73
+ //# sourceMappingURL=task-model-continuity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-model-continuity.d.ts","sourceRoot":"","sources":["../../src/learning/task-model-continuity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,8DAA8D;AAC9D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAqB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACjC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACpC,MAAM,CAIR;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAA6C;IAEhE,oEAAoE;IACpE,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,MAAmB,GACvB,IAAI;IAKP,mFAAmF;IACnF,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,sBAAsB,GAAG,IAAI;IAUlF,gFAAgF;IAChF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/B,uDAAuD;IACvD,IAAI,IAAI,MAAM;IAId,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Task-level model CONTINUITY (fix_model_routing P3, RC7).
3
+ *
4
+ * WHY THIS EXISTS. Routing is decided PER TURN, and for a continuation the turn
5
+ * text is signal-free: "resume", "continue", "go on". `continuationSoftwareText`
6
+ * already rescues the ROUTING by scoring the ask the continuation continues — but
7
+ * the DECISION is then re-made from scratch, so a task that was being served by
8
+ * a model that demonstrably worked can be handed, on its very next turn, to a
9
+ * model that has never touched it (and, in the live case, to one that returns
10
+ * nothing at all). The user sees a working run "resume" and die.
11
+ *
12
+ * The rule this module implements is the one a competent operator follows: when
13
+ * you pick up a task someone was already making progress on, you go back to the
14
+ * same worker if they are still available. Continuity is therefore a PREFERENCE,
15
+ * never a constraint — the remembered pair is offered FIRST and the ordinary
16
+ * routing pool stands behind it, so a model that has since died, been parked or
17
+ * lost its key costs one check and is skipped (the caller re-validates before
18
+ * using it; this module only remembers).
19
+ *
20
+ * What it is NOT: a pin. It never overrides the user's explicit provider/model,
21
+ * and it never bypasses the governance or capability gates the router applies —
22
+ * the caller checks those and falls back to the normal walk.
23
+ *
24
+ * Scope: deliberately IN-MEMORY, per process/session. A memory is a fact about
25
+ * the run in front of us, and writing it to disk would make yesterday's model a
26
+ * silent preference in a fresh session with different credentials.
27
+ */
28
+ /**
29
+ * How long a memory is good for. Long enough to cover a real working session
30
+ * (including a pause while the user reads the result), short enough that a stale
31
+ * preference cannot outlive the task it belonged to.
32
+ */
33
+ export const TASK_CONTINUITY_TTL_MS = 2 * 60 * 60 * 1000;
34
+ /**
35
+ * The identity of a TASK, as far as model continuity is concerned: what kind of
36
+ * work it is and how hard it is. Deliberately NOT the raw prompt text — a
37
+ * continuation re-states the task in different words ("resume" vs the original
38
+ * sentence), so a text key would never match, while intent+complexity does,
39
+ * because both are derived from the SAME ask (the continuation's routing text is
40
+ * the prior software ask).
41
+ *
42
+ * Unknown parts stay unknown and are named `general`/`unknown` rather than
43
+ * dropped, so two turns that both failed to classify still match each other
44
+ * instead of silently forming an empty key.
45
+ */
46
+ export function taskSignature(intent, complexity) {
47
+ const i = (intent ?? '').trim().toLowerCase() || 'general';
48
+ const c = (complexity ?? '').trim().toLowerCase() || 'unknown';
49
+ return `${i}|${c}`;
50
+ }
51
+ /**
52
+ * The per-session memory. Bounded by construction: one entry per task signature
53
+ * (a re-serve REPLACES rather than stacks), and a signature is a coarse class,
54
+ * not a prompt.
55
+ */
56
+ export class TaskModelContinuity {
57
+ bySignature = new Map();
58
+ /** Record the pair that just produced usable work for this task. */
59
+ remember(signature, provider, model, now = Date.now()) {
60
+ if (!signature || !provider || !model || model === 'default')
61
+ return;
62
+ this.bySignature.set(signature, { provider, model, signature, servedAt: now });
63
+ }
64
+ /** The remembered pair for this task, or null when there is none / it is stale. */
65
+ recall(signature, now = Date.now()) {
66
+ const entry = this.bySignature.get(signature);
67
+ if (!entry)
68
+ return null;
69
+ if (now - entry.servedAt > TASK_CONTINUITY_TTL_MS) {
70
+ this.bySignature.delete(signature);
71
+ return null;
72
+ }
73
+ return entry;
74
+ }
75
+ /** Forget one task (used when the remembered pair turns out to be unusable). */
76
+ forget(signature) {
77
+ this.bySignature.delete(signature);
78
+ }
79
+ /** How many tasks are remembered — telemetry/tests. */
80
+ size() {
81
+ return this.bySignature.size;
82
+ }
83
+ clear() {
84
+ this.bySignature.clear();
85
+ }
86
+ }
87
+ //# sourceMappingURL=task-model-continuity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-model-continuity.js","sourceRoot":"","sources":["../../src/learning/task-model-continuity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAYH;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAiC,EACjC,UAAqC;IAErC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC;IAC3D,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC;IAC/D,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IACtB,WAAW,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEhE,oEAAoE;IACpE,QAAQ,CACN,SAAiB,EACjB,QAAgB,EAChB,KAAa,EACb,MAAc,IAAI,CAAC,GAAG,EAAE;QAExB,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QACrE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,mFAAmF;IACnF,MAAM,CAAC,SAAiB,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,GAAG,sBAAsB,EAAE,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,SAAiB;QACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,uDAAuD;IACvD,IAAI;QACF,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Turn feedback — the user's verdict on a turn, recorded as the LABEL a quality
3
+ * signal is fit to.
4
+ *
5
+ * THE GAP THIS CLOSES. Every honesty signal the harness has is DERIVED: a tool
6
+ * ran, a plan step closed, a flag fired. None of them answers "was this any
7
+ * good?", and a quality score fit to derived signals would just be a second copy
8
+ * of the verification verdict. The missing input was a LABEL, and the only source
9
+ * of one is the person who asked.
10
+ *
11
+ * WHY THIS IS THE CHEAPEST SOURCE. The derived correction signal
12
+ * (`detectRegressionSignal`) yields NEGATIVES ONLY — silence is not acceptance, so
13
+ * it can never produce the positive class. An explicit verdict yields both, which
14
+ * is what makes a fitted `P(accepted | features)` possible at all.
15
+ *
16
+ * WHAT IT DOES NOT DO. It fits nothing and routes nothing. Recording the label
17
+ * and using it are separate decisions, and the second one waits until enough rows
18
+ * exist to mean anything (see `docs/DESIGN_CAPABILITY_BY_MEASUREMENT.md` §4.2).
19
+ *
20
+ * PROVENANCE IS PART OF THE LABEL. A verdict carries its `source` ('cli' |
21
+ * 'dashboard') so a future fit can weigh a human judgement against a derived one,
22
+ * and the corpus keeps `verdict: null` for "not judged" — never a fabricated
23
+ * `false`, because reading silence as acceptance would manufacture the positive
24
+ * class rather than measure it.
25
+ */
26
+ import { type VerdictRoutingOutcome } from './verdict-routing.js';
27
+ /** The two things a user can say about a turn. */
28
+ export type TurnVerdict = 'accepted' | 'rejected';
29
+ /**
30
+ * Where a verdict came from — kept so a fit can separate them.
31
+ *
32
+ * `'cli'` / `'dashboard'` are a PERSON's explicit verdict. `'derived'` is a
33
+ * BEHAVIOURAL one (tier 3): the harness observed the user re-ask, hand-edit the
34
+ * artifact, or leave it untouched and reference it — an inference, not a
35
+ * statement. Keeping them apart is the whole reason the source is stored: a fit
36
+ * can weigh a human judgement above an inference from what the run happened to
37
+ * see.
38
+ */
39
+ export type VerdictSource = 'cli' | 'dashboard' | 'derived';
40
+ /** One recorded verdict, as reported back to the caller. */
41
+ export interface RatedTurn {
42
+ traceId: string;
43
+ goal: string;
44
+ verdict: TurnVerdict;
45
+ source: VerdictSource;
46
+ at: number;
47
+ /** True when a deliverable-corpus row was labelled by this verdict. */
48
+ corpusLabeled: boolean;
49
+ /**
50
+ * Bundle 36 — what the verdict did to the ROUTER, when it reached it. A
51
+ * rejection corrects the bandit arm that served the turn (the deferred
52
+ * `userAccepted: false` delta, applied once); an acceptance adds nothing to
53
+ * routing. Present only when a correction was attempted.
54
+ */
55
+ router?: VerdictRoutingOutcome;
56
+ }
57
+ /**
58
+ * The verdict words the CLI accepts. Deliberately narrow — `good`/`bad` are the
59
+ * friendly forms, `accepted`/`rejected` the precise ones. No synonyms beyond
60
+ * these: a parser that accepts eight spellings is a parser nobody can predict.
61
+ */
62
+ export declare function parseVerdict(text: string): TurnVerdict | null;
63
+ /** The most recent trace, or null when nothing has been recorded yet. */
64
+ export declare function latestRateableTraceId(): string | null;
65
+ /**
66
+ * Record the user's verdict on a turn: on the trace (the durable per-turn record)
67
+ * and, when the turn delivered an authored artifact, on that specific corpus row.
68
+ *
69
+ * `traceId` is optional — omitted, it means "the turn I just saw", which is the
70
+ * common case for the CLI. Both writes are best-effort and reported, never thrown:
71
+ * feedback must never break anything.
72
+ */
73
+ export declare function rateTurn(input: {
74
+ verdict: TurnVerdict;
75
+ traceId?: string;
76
+ source: VerdictSource;
77
+ now?: number;
78
+ }): {
79
+ ok: true;
80
+ rated: RatedTurn;
81
+ } | {
82
+ ok: false;
83
+ error: string;
84
+ };
85
+ /** Recent verdicts, most recent first, for a review surface. */
86
+ export declare function listTurnVerdicts(limit?: number): Array<{
87
+ traceId: string;
88
+ goal: string;
89
+ verdict: TurnVerdict;
90
+ source: VerdictSource;
91
+ at: number;
92
+ }>;
93
+ //# sourceMappingURL=turn-feedback.d.ts.map