@cleocode/core 2026.9.22 → 2026.9.24

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 (821) hide show
  1. package/dist/admin/import-tasks.d.ts.map +1 -1
  2. package/dist/admin/import-tasks.js +35 -6
  3. package/dist/admin/import-tasks.js.map +1 -1
  4. package/dist/admin/import.d.ts.map +1 -1
  5. package/dist/admin/import.js +25 -6
  6. package/dist/admin/import.js.map +1 -1
  7. package/dist/build-provenance.json +6 -0
  8. package/dist/cloud/http.d.ts +8 -0
  9. package/dist/cloud/http.d.ts.map +1 -1
  10. package/dist/cloud/http.js +8 -1
  11. package/dist/cloud/http.js.map +1 -1
  12. package/dist/cloud/index.d.ts +6 -1
  13. package/dist/cloud/index.d.ts.map +1 -1
  14. package/dist/cloud/index.js +6 -1
  15. package/dist/cloud/index.js.map +1 -1
  16. package/dist/cloud/nexus-auth.d.ts +169 -0
  17. package/dist/cloud/nexus-auth.d.ts.map +1 -0
  18. package/dist/cloud/nexus-auth.js +372 -0
  19. package/dist/cloud/nexus-auth.js.map +1 -0
  20. package/dist/cloud/nexus-credentials.d.ts +188 -0
  21. package/dist/cloud/nexus-credentials.d.ts.map +1 -0
  22. package/dist/cloud/nexus-credentials.js +323 -0
  23. package/dist/cloud/nexus-credentials.js.map +1 -0
  24. package/dist/cloud/nexus-link.d.ts +85 -0
  25. package/dist/cloud/nexus-link.d.ts.map +1 -0
  26. package/dist/cloud/nexus-link.js +226 -0
  27. package/dist/cloud/nexus-link.js.map +1 -0
  28. package/dist/cloud/presence.d.ts +88 -0
  29. package/dist/cloud/presence.d.ts.map +1 -0
  30. package/dist/cloud/presence.js +137 -0
  31. package/dist/cloud/presence.js.map +1 -0
  32. package/dist/cloud/projects.d.ts +3 -1
  33. package/dist/cloud/projects.d.ts.map +1 -1
  34. package/dist/cloud/projects.js +4 -2
  35. package/dist/cloud/projects.js.map +1 -1
  36. package/dist/crypto/credentials.d.ts +14 -4
  37. package/dist/crypto/credentials.d.ts.map +1 -1
  38. package/dist/crypto/credentials.js +15 -1
  39. package/dist/crypto/credentials.js.map +1 -1
  40. package/dist/decide/audit.d.ts +7 -1
  41. package/dist/decide/audit.d.ts.map +1 -1
  42. package/dist/decide/audit.js.map +1 -1
  43. package/dist/decide/bench/dataset.d.ts +125 -0
  44. package/dist/decide/bench/dataset.d.ts.map +1 -0
  45. package/dist/decide/bench/dataset.js +457 -0
  46. package/dist/decide/bench/dataset.js.map +1 -0
  47. package/dist/decide/bench/index.d.ts +23 -0
  48. package/dist/decide/bench/index.d.ts.map +1 -0
  49. package/dist/decide/bench/index.js +23 -0
  50. package/dist/decide/bench/index.js.map +1 -0
  51. package/dist/decide/bench/metrics.d.ts +55 -0
  52. package/dist/decide/bench/metrics.d.ts.map +1 -0
  53. package/dist/decide/bench/metrics.js +100 -0
  54. package/dist/decide/bench/metrics.js.map +1 -0
  55. package/dist/decide/bench/operation.d.ts +119 -0
  56. package/dist/decide/bench/operation.d.ts.map +1 -0
  57. package/dist/decide/bench/operation.js +171 -0
  58. package/dist/decide/bench/operation.js.map +1 -0
  59. package/dist/decide/bench/profiles.d.ts +74 -0
  60. package/dist/decide/bench/profiles.d.ts.map +1 -0
  61. package/dist/decide/bench/profiles.js +131 -0
  62. package/dist/decide/bench/profiles.js.map +1 -0
  63. package/dist/decide/bench/questions.d.ts +40 -0
  64. package/dist/decide/bench/questions.d.ts.map +1 -0
  65. package/dist/decide/bench/questions.js +107 -0
  66. package/dist/decide/bench/questions.js.map +1 -0
  67. package/dist/decide/bench/report.d.ts +21 -0
  68. package/dist/decide/bench/report.d.ts.map +1 -0
  69. package/dist/decide/bench/report.js +120 -0
  70. package/dist/decide/bench/report.js.map +1 -0
  71. package/dist/decide/bench/runner.d.ts +203 -0
  72. package/dist/decide/bench/runner.d.ts.map +1 -0
  73. package/dist/decide/bench/runner.js +335 -0
  74. package/dist/decide/bench/runner.js.map +1 -0
  75. package/dist/decide/bench/source.d.ts +21 -0
  76. package/dist/decide/bench/source.d.ts.map +1 -0
  77. package/dist/decide/bench/source.js +67 -0
  78. package/dist/decide/bench/source.js.map +1 -0
  79. package/dist/decide/bench/spot-check.d.ts +117 -0
  80. package/dist/decide/bench/spot-check.d.ts.map +1 -0
  81. package/dist/decide/bench/spot-check.js +221 -0
  82. package/dist/decide/bench/spot-check.js.map +1 -0
  83. package/dist/decide/bench/stats.d.ts +57 -0
  84. package/dist/decide/bench/stats.d.ts.map +1 -0
  85. package/dist/decide/bench/stats.js +82 -0
  86. package/dist/decide/bench/stats.js.map +1 -0
  87. package/dist/decide/bench/types.d.ts +216 -0
  88. package/dist/decide/bench/types.d.ts.map +1 -0
  89. package/dist/decide/bench/types.js +104 -0
  90. package/dist/decide/bench/types.js.map +1 -0
  91. package/dist/decide/client.d.ts +80 -4
  92. package/dist/decide/client.d.ts.map +1 -1
  93. package/dist/decide/client.js +428 -39
  94. package/dist/decide/client.js.map +1 -1
  95. package/dist/decide/credentials.d.ts +200 -16
  96. package/dist/decide/credentials.d.ts.map +1 -1
  97. package/dist/decide/credentials.js +547 -45
  98. package/dist/decide/credentials.js.map +1 -1
  99. package/dist/decide/index.d.ts +10 -4
  100. package/dist/decide/index.d.ts.map +1 -1
  101. package/dist/decide/index.js +10 -4
  102. package/dist/decide/index.js.map +1 -1
  103. package/dist/decide/jev-wire.d.ts +105 -7
  104. package/dist/decide/jev-wire.d.ts.map +1 -1
  105. package/dist/decide/jev-wire.js +426 -54
  106. package/dist/decide/jev-wire.js.map +1 -1
  107. package/dist/decide/operations.d.ts +149 -21
  108. package/dist/decide/operations.d.ts.map +1 -1
  109. package/dist/decide/operations.js +241 -31
  110. package/dist/decide/operations.js.map +1 -1
  111. package/dist/decide/provider-state.d.ts +162 -0
  112. package/dist/decide/provider-state.d.ts.map +1 -0
  113. package/dist/decide/provider-state.js +267 -0
  114. package/dist/decide/provider-state.js.map +1 -0
  115. package/dist/decide/provider.d.ts +31 -5
  116. package/dist/decide/provider.d.ts.map +1 -1
  117. package/dist/decide/provider.js.map +1 -1
  118. package/dist/decide/providers.d.ts +71 -0
  119. package/dist/decide/providers.d.ts.map +1 -0
  120. package/dist/decide/providers.js +85 -0
  121. package/dist/decide/providers.js.map +1 -0
  122. package/dist/decide/site.d.ts +2 -2
  123. package/dist/decide/site.d.ts.map +1 -1
  124. package/dist/decide/site.js +2 -0
  125. package/dist/decide/site.js.map +1 -1
  126. package/dist/decide/sites/list.d.ts +46 -0
  127. package/dist/decide/sites/list.d.ts.map +1 -0
  128. package/dist/decide/sites/list.js +206 -0
  129. package/dist/decide/sites/list.js.map +1 -0
  130. package/dist/decide/sites/registry.d.ts +152 -0
  131. package/dist/decide/sites/registry.d.ts.map +1 -0
  132. package/dist/decide/sites/registry.js +398 -0
  133. package/dist/decide/sites/registry.js.map +1 -0
  134. package/dist/decide/spend.d.ts +196 -0
  135. package/dist/decide/spend.d.ts.map +1 -0
  136. package/dist/decide/spend.js +387 -0
  137. package/dist/decide/spend.js.map +1 -0
  138. package/dist/decide/wizard.d.ts +61 -0
  139. package/dist/decide/wizard.d.ts.map +1 -0
  140. package/dist/decide/wizard.js +197 -0
  141. package/dist/decide/wizard.js.map +1 -0
  142. package/dist/dispatch/mvi-projection.d.ts +15 -2
  143. package/dist/dispatch/mvi-projection.d.ts.map +1 -1
  144. package/dist/dispatch/mvi-projection.js +73 -12
  145. package/dist/dispatch/mvi-projection.js.map +1 -1
  146. package/dist/docs/adr-allocator.d.ts +2 -2
  147. package/dist/docs/adr-allocator.d.ts.map +1 -1
  148. package/dist/docs/adr-allocator.js +17 -4
  149. package/dist/docs/adr-allocator.js.map +1 -1
  150. package/dist/docs/blob-consolidation.js +1 -1
  151. package/dist/docs/blob-consolidation.js.map +1 -1
  152. package/dist/docs/display-alias.d.ts +1 -1
  153. package/dist/docs/display-alias.d.ts.map +1 -1
  154. package/dist/docs/display-alias.js +7 -4
  155. package/dist/docs/display-alias.js.map +1 -1
  156. package/dist/docs/docs-audit.d.ts.map +1 -1
  157. package/dist/docs/docs-audit.js +1 -2
  158. package/dist/docs/docs-audit.js.map +1 -1
  159. package/dist/docs/docs-inconsistency-detector.js +1 -1
  160. package/dist/docs/docs-inconsistency-detector.js.map +1 -1
  161. package/dist/docs/docs-update.d.ts.map +1 -1
  162. package/dist/docs/docs-update.js +6 -1
  163. package/dist/docs/docs-update.js.map +1 -1
  164. package/dist/docs/export-document.js +3462 -1227
  165. package/dist/docs/export-document.js.map +3 -3
  166. package/dist/docs/numbering.js +1 -1
  167. package/dist/docs/numbering.js.map +1 -1
  168. package/dist/docs/supersede.d.ts.map +1 -1
  169. package/dist/docs/supersede.js +6 -3
  170. package/dist/docs/supersede.js.map +1 -1
  171. package/dist/docs/version-ssot.js +1 -1
  172. package/dist/docs/version-ssot.js.map +1 -1
  173. package/dist/doctor/db-substrate.d.ts.map +1 -1
  174. package/dist/doctor/db-substrate.js +39 -24
  175. package/dist/doctor/db-substrate.js.map +1 -1
  176. package/dist/doctor/knowledge-summary.d.ts +10 -3
  177. package/dist/doctor/knowledge-summary.d.ts.map +1 -1
  178. package/dist/doctor/knowledge-summary.js +10 -3
  179. package/dist/doctor/knowledge-summary.js.map +1 -1
  180. package/dist/doctor/project-identity.d.ts +128 -37
  181. package/dist/doctor/project-identity.d.ts.map +1 -1
  182. package/dist/doctor/project-identity.js +476 -63
  183. package/dist/doctor/project-identity.js.map +1 -1
  184. package/dist/doctor/twin-collapse.d.ts +52 -2
  185. package/dist/doctor/twin-collapse.d.ts.map +1 -1
  186. package/dist/doctor/twin-collapse.js +108 -4
  187. package/dist/doctor/twin-collapse.js.map +1 -1
  188. package/dist/error-catalog.js +2 -2
  189. package/dist/error-catalog.js.map +1 -1
  190. package/dist/error-registry.js +1 -1
  191. package/dist/error-registry.js.map +1 -1
  192. package/dist/gateway-client/generated/types.gen.d.ts +22 -2
  193. package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
  194. package/dist/index.d.ts +3 -3
  195. package/dist/index.d.ts.map +1 -1
  196. package/dist/index.js +2 -2
  197. package/dist/index.js.map +1 -1
  198. package/dist/init/scaffold-workflows.d.ts.map +1 -1
  199. package/dist/init/scaffold-workflows.js +6 -3
  200. package/dist/init/scaffold-workflows.js.map +1 -1
  201. package/dist/init/upgrade-workflows.d.ts.map +1 -1
  202. package/dist/init/upgrade-workflows.js +6 -3
  203. package/dist/init/upgrade-workflows.js.map +1 -1
  204. package/dist/init.d.ts.map +1 -1
  205. package/dist/init.js +20 -11
  206. package/dist/init.js.map +1 -1
  207. package/dist/inject/index.d.ts.map +1 -1
  208. package/dist/inject/index.js +2 -3
  209. package/dist/inject/index.js.map +1 -1
  210. package/dist/internal.d.ts +6 -5
  211. package/dist/internal.d.ts.map +1 -1
  212. package/dist/internal.js +7 -5
  213. package/dist/internal.js.map +1 -1
  214. package/dist/llm/credential-remove-entry.d.ts +59 -0
  215. package/dist/llm/credential-remove-entry.d.ts.map +1 -0
  216. package/dist/llm/credential-remove-entry.js +101 -0
  217. package/dist/llm/credential-remove-entry.js.map +1 -0
  218. package/dist/llm/oauth/device-code.d.ts +26 -6
  219. package/dist/llm/oauth/device-code.d.ts.map +1 -1
  220. package/dist/llm/oauth/device-code.js +44 -12
  221. package/dist/llm/oauth/device-code.js.map +1 -1
  222. package/dist/llm/plugin-facade.js +3556 -1321
  223. package/dist/llm/plugin-facade.js.map +3 -3
  224. package/dist/memory/attention.d.ts.map +1 -1
  225. package/dist/memory/attention.js +5 -3
  226. package/dist/memory/attention.js.map +1 -1
  227. package/dist/memory/decision-contradiction.d.ts +3 -3
  228. package/dist/memory/decision-contradiction.d.ts.map +1 -1
  229. package/dist/memory/decision-contradiction.js +4 -3
  230. package/dist/memory/decision-contradiction.js.map +1 -1
  231. package/dist/memory/decisions.d.ts +48 -3
  232. package/dist/memory/decisions.d.ts.map +1 -1
  233. package/dist/memory/decisions.js +98 -14
  234. package/dist/memory/decisions.js.map +1 -1
  235. package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
  236. package/dist/memory/graph-memory-bridge.js +2 -0
  237. package/dist/memory/graph-memory-bridge.js.map +1 -1
  238. package/dist/memory/learnings.d.ts +6 -6
  239. package/dist/memory/observation-type-decision.d.ts +2 -2
  240. package/dist/memory/observation-type-decision.d.ts.map +1 -1
  241. package/dist/memory/observation-type-decision.js +3 -2
  242. package/dist/memory/observation-type-decision.js.map +1 -1
  243. package/dist/memory/patterns.d.ts +4 -4
  244. package/dist/memory/pipeline-manifest-sqlite.d.ts +111 -0
  245. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  246. package/dist/memory/pipeline-manifest-sqlite.js +230 -2
  247. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  248. package/dist/migration/manual/T10165-backfill-adr-index.d.ts.map +1 -1
  249. package/dist/migration/manual/T10165-backfill-adr-index.js +5 -1
  250. package/dist/migration/manual/T10165-backfill-adr-index.js.map +1 -1
  251. package/dist/nexus/fleet-status.d.ts +83 -0
  252. package/dist/nexus/fleet-status.d.ts.map +1 -0
  253. package/dist/nexus/fleet-status.js +414 -0
  254. package/dist/nexus/fleet-status.js.map +1 -0
  255. package/dist/nexus/git-state.d.ts +15 -0
  256. package/dist/nexus/git-state.d.ts.map +1 -1
  257. package/dist/nexus/git-state.js +67 -2
  258. package/dist/nexus/git-state.js.map +1 -1
  259. package/dist/nexus/identity.d.ts.map +1 -1
  260. package/dist/nexus/identity.js +4 -0
  261. package/dist/nexus/identity.js.map +1 -1
  262. package/dist/nexus/index.d.ts +4 -1
  263. package/dist/nexus/index.d.ts.map +1 -1
  264. package/dist/nexus/index.js +7 -1
  265. package/dist/nexus/index.js.map +1 -1
  266. package/dist/nexus/migrate-json-to-sqlite.d.ts +3 -2
  267. package/dist/nexus/migrate-json-to-sqlite.d.ts.map +1 -1
  268. package/dist/nexus/migrate-json-to-sqlite.js +9 -17
  269. package/dist/nexus/migrate-json-to-sqlite.js.map +1 -1
  270. package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
  271. package/dist/nexus/migrations/M-split-graph.js +4 -0
  272. package/dist/nexus/migrations/M-split-graph.js.map +1 -1
  273. package/dist/nexus/ops.d.ts +1 -0
  274. package/dist/nexus/ops.d.ts.map +1 -1
  275. package/dist/nexus/project-activity.d.ts +104 -0
  276. package/dist/nexus/project-activity.d.ts.map +1 -0
  277. package/dist/nexus/project-activity.js +150 -0
  278. package/dist/nexus/project-activity.js.map +1 -0
  279. package/dist/nexus/query.d.ts +2 -2
  280. package/dist/nexus/query.d.ts.map +1 -1
  281. package/dist/nexus/query.js +4 -19
  282. package/dist/nexus/query.js.map +1 -1
  283. package/dist/nexus/registry-errors.d.ts +61 -0
  284. package/dist/nexus/registry-errors.d.ts.map +1 -0
  285. package/dist/nexus/registry-errors.js +85 -0
  286. package/dist/nexus/registry-errors.js.map +1 -0
  287. package/dist/nexus/registry.d.ts +30 -5
  288. package/dist/nexus/registry.d.ts.map +1 -1
  289. package/dist/nexus/registry.js +115 -70
  290. package/dist/nexus/registry.js.map +1 -1
  291. package/dist/nexus/store.d.ts.map +1 -1
  292. package/dist/nexus/store.js +2 -0
  293. package/dist/nexus/store.js.map +1 -1
  294. package/dist/orchestrate/pivot.d.ts +4 -0
  295. package/dist/orchestrate/pivot.d.ts.map +1 -1
  296. package/dist/orchestrate/pivot.js +82 -14
  297. package/dist/orchestrate/pivot.js.map +1 -1
  298. package/dist/orchestrate/plan.d.ts.map +1 -1
  299. package/dist/orchestrate/plan.js +3 -0
  300. package/dist/orchestrate/plan.js.map +1 -1
  301. package/dist/orchestrate/query-ops.d.ts.map +1 -1
  302. package/dist/orchestrate/query-ops.js +29 -27
  303. package/dist/orchestrate/query-ops.js.map +1 -1
  304. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  305. package/dist/orchestrate/spawn-ops.js +29 -3
  306. package/dist/orchestrate/spawn-ops.js.map +1 -1
  307. package/dist/orchestration/bootstrap.d.ts.map +1 -1
  308. package/dist/orchestration/bootstrap.js +20 -14
  309. package/dist/orchestration/bootstrap.js.map +1 -1
  310. package/dist/orchestration/index.d.ts +15 -1
  311. package/dist/orchestration/index.d.ts.map +1 -1
  312. package/dist/orchestration/index.js +25 -6
  313. package/dist/orchestration/index.js.map +1 -1
  314. package/dist/orchestration/lead-rollup.d.ts +7 -1
  315. package/dist/orchestration/lead-rollup.d.ts.map +1 -1
  316. package/dist/orchestration/lead-rollup.js +20 -5
  317. package/dist/orchestration/lead-rollup.js.map +1 -1
  318. package/dist/orchestration/owner-decision-readiness.d.ts +2 -2
  319. package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -1
  320. package/dist/orchestration/owner-decision-readiness.js +3 -2
  321. package/dist/orchestration/owner-decision-readiness.js.map +1 -1
  322. package/dist/orchestration/spawn-prompt.js +1 -1
  323. package/dist/orchestration/spawn-prompt.js.map +1 -1
  324. package/dist/orchestration/validate-spawn.d.ts.map +1 -1
  325. package/dist/orchestration/validate-spawn.js +2 -0
  326. package/dist/orchestration/validate-spawn.js.map +1 -1
  327. package/dist/orchestration/waves.d.ts +21 -10
  328. package/dist/orchestration/waves.d.ts.map +1 -1
  329. package/dist/orchestration/waves.js +38 -35
  330. package/dist/orchestration/waves.js.map +1 -1
  331. package/dist/paths.d.ts +9 -2
  332. package/dist/paths.d.ts.map +1 -1
  333. package/dist/paths.js +30 -13
  334. package/dist/paths.js.map +1 -1
  335. package/dist/phases/index.d.ts +1 -1
  336. package/dist/phases/index.d.ts.map +1 -1
  337. package/dist/phases/index.js +3 -4
  338. package/dist/phases/index.js.map +1 -1
  339. package/dist/project-info.d.ts +40 -3
  340. package/dist/project-info.d.ts.map +1 -1
  341. package/dist/project-info.js +74 -6
  342. package/dist/project-info.js.map +1 -1
  343. package/dist/project-lifecycle.d.ts +28 -7
  344. package/dist/project-lifecycle.d.ts.map +1 -1
  345. package/dist/project-lifecycle.js +114 -47
  346. package/dist/project-lifecycle.js.map +1 -1
  347. package/dist/project-scope.d.ts +86 -3
  348. package/dist/project-scope.d.ts.map +1 -1
  349. package/dist/project-scope.js +192 -17
  350. package/dist/project-scope.js.map +1 -1
  351. package/dist/release/github-pr.d.ts.map +1 -1
  352. package/dist/release/github-pr.js +2 -1
  353. package/dist/release/github-pr.js.map +1 -1
  354. package/dist/release/open.d.ts +12 -2
  355. package/dist/release/open.d.ts.map +1 -1
  356. package/dist/release/open.js +32 -3
  357. package/dist/release/open.js.map +1 -1
  358. package/dist/release/preflight-skip.d.ts +73 -0
  359. package/dist/release/preflight-skip.d.ts.map +1 -0
  360. package/dist/release/preflight-skip.js +254 -0
  361. package/dist/release/preflight-skip.js.map +1 -0
  362. package/dist/render/decide/index.d.ts +51 -0
  363. package/dist/render/decide/index.d.ts.map +1 -0
  364. package/dist/render/decide/index.js +289 -0
  365. package/dist/render/decide/index.js.map +1 -0
  366. package/dist/render/index.d.ts +1 -0
  367. package/dist/render/index.d.ts.map +1 -1
  368. package/dist/render/index.js +1 -0
  369. package/dist/render/index.js.map +1 -1
  370. package/dist/render/nexus/graph/index.d.ts +5 -0
  371. package/dist/render/nexus/graph/index.d.ts.map +1 -1
  372. package/dist/render/nexus/graph/index.js +53 -0
  373. package/dist/render/nexus/graph/index.js.map +1 -1
  374. package/dist/routing/capability-matrix.d.ts.map +1 -1
  375. package/dist/routing/capability-matrix.js +7 -0
  376. package/dist/routing/capability-matrix.js.map +1 -1
  377. package/dist/scaffold/ensure-config.d.ts +14 -6
  378. package/dist/scaffold/ensure-config.d.ts.map +1 -1
  379. package/dist/scaffold/ensure-config.js +39 -17
  380. package/dist/scaffold/ensure-config.js.map +1 -1
  381. package/dist/scaffold/project-identity.d.ts +115 -23
  382. package/dist/scaffold/project-identity.d.ts.map +1 -1
  383. package/dist/scaffold/project-identity.js +196 -44
  384. package/dist/scaffold/project-identity.js.map +1 -1
  385. package/dist/selfimprove/fix-gen.js +3569 -1334
  386. package/dist/selfimprove/fix-gen.js.map +3 -3
  387. package/dist/sentient/cross-project-hygiene.d.ts +12 -6
  388. package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
  389. package/dist/sentient/cross-project-hygiene.js +15 -10
  390. package/dist/sentient/cross-project-hygiene.js.map +1 -1
  391. package/dist/session/engine-ops.d.ts +13 -4
  392. package/dist/session/engine-ops.d.ts.map +1 -1
  393. package/dist/session/engine-ops.js +38 -45
  394. package/dist/session/engine-ops.js.map +1 -1
  395. package/dist/sessions/briefing.d.ts +7 -3
  396. package/dist/sessions/briefing.d.ts.map +1 -1
  397. package/dist/sessions/briefing.js +32 -71
  398. package/dist/sessions/briefing.js.map +1 -1
  399. package/dist/sessions/drift-watchdog.d.ts.map +1 -1
  400. package/dist/sessions/drift-watchdog.js +11 -19
  401. package/dist/sessions/drift-watchdog.js.map +1 -1
  402. package/dist/sessions/focus-state-store.d.ts +109 -27
  403. package/dist/sessions/focus-state-store.d.ts.map +1 -1
  404. package/dist/sessions/focus-state-store.js +171 -39
  405. package/dist/sessions/focus-state-store.js.map +1 -1
  406. package/dist/sessions/handoff.d.ts.map +1 -1
  407. package/dist/sessions/handoff.js +9 -18
  408. package/dist/sessions/handoff.js.map +1 -1
  409. package/dist/sessions/index.d.ts +4 -2
  410. package/dist/sessions/index.d.ts.map +1 -1
  411. package/dist/sessions/index.js +35 -6
  412. package/dist/sessions/index.js.map +1 -1
  413. package/dist/sessions/session-drift.d.ts.map +1 -1
  414. package/dist/sessions/session-drift.js +4 -2
  415. package/dist/sessions/session-drift.js.map +1 -1
  416. package/dist/sessions/session-view.d.ts +8 -1
  417. package/dist/sessions/session-view.d.ts.map +1 -1
  418. package/dist/sessions/session-view.js +9 -2
  419. package/dist/sessions/session-view.js.map +1 -1
  420. package/dist/setup/config-json-merge.d.ts +28 -0
  421. package/dist/setup/config-json-merge.d.ts.map +1 -1
  422. package/dist/setup/config-json-merge.js +52 -0
  423. package/dist/setup/config-json-merge.js.map +1 -1
  424. package/dist/setup/index.d.ts +15 -10
  425. package/dist/setup/index.d.ts.map +1 -1
  426. package/dist/setup/index.js +19 -10
  427. package/dist/setup/index.js.map +1 -1
  428. package/dist/setup/sections/llm.js +1 -1
  429. package/dist/setup/sections/llm.js.map +1 -1
  430. package/dist/setup/sections/nexus-account.d.ts +32 -0
  431. package/dist/setup/sections/nexus-account.d.ts.map +1 -0
  432. package/dist/setup/sections/nexus-account.js +64 -0
  433. package/dist/setup/sections/nexus-account.js.map +1 -0
  434. package/dist/setup/sections/system-one.d.ts +28 -0
  435. package/dist/setup/sections/system-one.d.ts.map +1 -0
  436. package/dist/setup/sections/system-one.js +53 -0
  437. package/dist/setup/sections/system-one.js.map +1 -0
  438. package/dist/setup/wizard.d.ts +15 -1
  439. package/dist/setup/wizard.d.ts.map +1 -1
  440. package/dist/setup/wizard.js +15 -0
  441. package/dist/setup/wizard.js.map +1 -1
  442. package/dist/skills/orchestrator/startup.d.ts.map +1 -1
  443. package/dist/skills/orchestrator/startup.js +18 -31
  444. package/dist/skills/orchestrator/startup.js.map +1 -1
  445. package/dist/skills/prune-bundled.d.ts +40 -1
  446. package/dist/skills/prune-bundled.d.ts.map +1 -1
  447. package/dist/skills/prune-bundled.js +117 -1
  448. package/dist/skills/prune-bundled.js.map +1 -1
  449. package/dist/snapshot/index.d.ts.map +1 -1
  450. package/dist/snapshot/index.js +60 -53
  451. package/dist/snapshot/index.js.map +1 -1
  452. package/dist/spawn/agent-identity.d.ts +33 -1
  453. package/dist/spawn/agent-identity.d.ts.map +1 -1
  454. package/dist/spawn/agent-identity.js +53 -1
  455. package/dist/spawn/agent-identity.js.map +1 -1
  456. package/dist/spawn/index.d.ts +1 -1
  457. package/dist/spawn/index.d.ts.map +1 -1
  458. package/dist/spawn/index.js +1 -1
  459. package/dist/spawn/index.js.map +1 -1
  460. package/dist/stats/index.d.ts.map +1 -1
  461. package/dist/stats/index.js +3 -4
  462. package/dist/stats/index.js.map +1 -1
  463. package/dist/status/index.d.ts +12 -3
  464. package/dist/status/index.d.ts.map +1 -1
  465. package/dist/status/index.js +47 -5
  466. package/dist/status/index.js.map +1 -1
  467. package/dist/store/agent-registry-accessor.d.ts.map +1 -1
  468. package/dist/store/agent-registry-accessor.js +2 -0
  469. package/dist/store/agent-registry-accessor.js.map +1 -1
  470. package/dist/store/attachment-repair.d.ts.map +1 -1
  471. package/dist/store/attachment-repair.js +42 -3
  472. package/dist/store/attachment-repair.js.map +1 -1
  473. package/dist/store/attachment-store.d.ts.map +1 -1
  474. package/dist/store/attachment-store.js +30 -46
  475. package/dist/store/attachment-store.js.map +1 -1
  476. package/dist/store/backup-pack.js +1 -1
  477. package/dist/store/backup-pack.js.map +1 -1
  478. package/dist/store/backup-recover-brain.d.ts +4 -0
  479. package/dist/store/backup-recover-brain.d.ts.map +1 -1
  480. package/dist/store/backup-recover-brain.js +2 -0
  481. package/dist/store/backup-recover-brain.js.map +1 -1
  482. package/dist/store/backup-recover.d.ts +9 -0
  483. package/dist/store/backup-recover.d.ts.map +1 -1
  484. package/dist/store/backup-recover.js +28 -1
  485. package/dist/store/backup-recover.js.map +1 -1
  486. package/dist/store/backup-sidecar.d.ts +30 -0
  487. package/dist/store/backup-sidecar.d.ts.map +1 -1
  488. package/dist/store/backup-sidecar.js +90 -2
  489. package/dist/store/backup-sidecar.js.map +1 -1
  490. package/dist/store/backup.d.ts +15 -1
  491. package/dist/store/backup.d.ts.map +1 -1
  492. package/dist/store/backup.js +18 -2
  493. package/dist/store/backup.js.map +1 -1
  494. package/dist/store/blob-keep.d.ts +135 -0
  495. package/dist/store/blob-keep.d.ts.map +1 -0
  496. package/dist/store/blob-keep.js +283 -0
  497. package/dist/store/blob-keep.js.map +1 -0
  498. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  499. package/dist/store/conduit-sqlite.js +3 -0
  500. package/dist/store/conduit-sqlite.js.map +1 -1
  501. package/dist/store/converters.d.ts.map +1 -1
  502. package/dist/store/converters.js +11 -0
  503. package/dist/store/converters.js.map +1 -1
  504. package/dist/store/credential-transfer.d.ts +37 -5
  505. package/dist/store/credential-transfer.d.ts.map +1 -1
  506. package/dist/store/credential-transfer.js +75 -18
  507. package/dist/store/credential-transfer.js.map +1 -1
  508. package/dist/store/cross-db-cleanup.d.ts.map +1 -1
  509. package/dist/store/cross-db-cleanup.js +2 -0
  510. package/dist/store/cross-db-cleanup.js.map +1 -1
  511. package/dist/store/data-accessor.d.ts +1 -1
  512. package/dist/store/data-accessor.d.ts.map +1 -1
  513. package/dist/store/data-accessor.js.map +1 -1
  514. package/dist/store/db-helpers.d.ts +18 -0
  515. package/dist/store/db-helpers.d.ts.map +1 -1
  516. package/dist/store/db-helpers.js +46 -0
  517. package/dist/store/db-helpers.js.map +1 -1
  518. package/dist/store/dual-scope-db.d.ts.map +1 -1
  519. package/dist/store/dual-scope-db.js +13 -2
  520. package/dist/store/dual-scope-db.js.map +1 -1
  521. package/dist/store/exodus/on-open.d.ts.map +1 -1
  522. package/dist/store/exodus/on-open.js +35 -0
  523. package/dist/store/exodus/on-open.js.map +1 -1
  524. package/dist/store/exodus/runtime-targets.d.ts +3 -3
  525. package/dist/store/exodus/runtime-targets.js +3 -3
  526. package/dist/store/import-remap.d.ts +12 -1
  527. package/dist/store/import-remap.d.ts.map +1 -1
  528. package/dist/store/import-remap.js +14 -0
  529. package/dist/store/import-remap.js.map +1 -1
  530. package/dist/store/legacy-tasks-lineage.d.ts +3 -1
  531. package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
  532. package/dist/store/legacy-tasks-lineage.js +3 -1
  533. package/dist/store/legacy-tasks-lineage.js.map +1 -1
  534. package/dist/store/memory-accessor.js +1 -1
  535. package/dist/store/memory-accessor.js.map +1 -1
  536. package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
  537. package/dist/store/migrate-signaldock-to-conduit.js +3 -0
  538. package/dist/store/migrate-signaldock-to-conduit.js.map +1 -1
  539. package/dist/store/migration-manager.d.ts +61 -0
  540. package/dist/store/migration-manager.d.ts.map +1 -1
  541. package/dist/store/migration-manager.js +138 -6
  542. package/dist/store/migration-manager.js.map +1 -1
  543. package/dist/store/migration-sqlite.d.ts.map +1 -1
  544. package/dist/store/migration-sqlite.js +2 -0
  545. package/dist/store/migration-sqlite.js.map +1 -1
  546. package/dist/store/nexus-sqlite.d.ts.map +1 -1
  547. package/dist/store/nexus-sqlite.js +3 -0
  548. package/dist/store/nexus-sqlite.js.map +1 -1
  549. package/dist/store/nexus-validation-schemas.d.ts +64 -0
  550. package/dist/store/nexus-validation-schemas.d.ts.map +1 -1
  551. package/dist/store/open-cleo-db.d.ts.map +1 -1
  552. package/dist/store/open-cleo-db.js +3 -0
  553. package/dist/store/open-cleo-db.js.map +1 -1
  554. package/dist/store/portable-bundle-import.d.ts +8 -0
  555. package/dist/store/portable-bundle-import.d.ts.map +1 -1
  556. package/dist/store/portable-bundle-import.js +12 -0
  557. package/dist/store/portable-bundle-import.js.map +1 -1
  558. package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
  559. package/dist/store/portable-bundle-relocate.js +2 -0
  560. package/dist/store/portable-bundle-relocate.js.map +1 -1
  561. package/dist/store/portable-bundle-scan.d.ts.map +1 -1
  562. package/dist/store/portable-bundle-scan.js +2 -1
  563. package/dist/store/portable-bundle-scan.js.map +1 -1
  564. package/dist/store/portable-bundle.d.ts.map +1 -1
  565. package/dist/store/portable-bundle.js +15 -14
  566. package/dist/store/portable-bundle.js.map +1 -1
  567. package/dist/store/ports/domain-binding.d.ts.map +1 -1
  568. package/dist/store/ports/domain-binding.js +5 -0
  569. package/dist/store/ports/domain-binding.js.map +1 -1
  570. package/dist/store/pre-repair-snapshot.d.ts +4 -1
  571. package/dist/store/pre-repair-snapshot.d.ts.map +1 -1
  572. package/dist/store/pre-repair-snapshot.js +5 -1
  573. package/dist/store/pre-repair-snapshot.js.map +1 -1
  574. package/dist/store/regenerators.d.ts +4 -2
  575. package/dist/store/regenerators.d.ts.map +1 -1
  576. package/dist/store/regenerators.js +7 -3
  577. package/dist/store/regenerators.js.map +1 -1
  578. package/dist/store/repair-malformed-dbs.d.ts +4 -0
  579. package/dist/store/repair-malformed-dbs.d.ts.map +1 -1
  580. package/dist/store/repair-malformed-dbs.js +3 -0
  581. package/dist/store/repair-malformed-dbs.js.map +1 -1
  582. package/dist/store/safety-data-accessor.d.ts +8 -3
  583. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  584. package/dist/store/safety-data-accessor.js +11 -4
  585. package/dist/store/safety-data-accessor.js.map +1 -1
  586. package/dist/store/schema/cleo-global/nexus.d.ts +48 -0
  587. package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
  588. package/dist/store/schema/cleo-global/nexus.js +17 -0
  589. package/dist/store/schema/cleo-global/nexus.js.map +1 -1
  590. package/dist/store/schema/cleo-project/docs.d.ts +16 -0
  591. package/dist/store/schema/cleo-project/docs.d.ts.map +1 -1
  592. package/dist/store/schema/cleo-project/docs.js +10 -0
  593. package/dist/store/schema/cleo-project/docs.js.map +1 -1
  594. package/dist/store/schema/cleo-project/tasks-core.d.ts +80 -0
  595. package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
  596. package/dist/store/schema/cleo-project/tasks-core.js +25 -1
  597. package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
  598. package/dist/store/schema/cleo-shared/brain.d.ts +1 -1
  599. package/dist/store/schema/memory-schema.d.ts +1 -1
  600. package/dist/store/schema/nexus-schema.d.ts +48 -0
  601. package/dist/store/schema/nexus-schema.d.ts.map +1 -1
  602. package/dist/store/schema/nexus-schema.js +28 -7
  603. package/dist/store/schema/nexus-schema.js.map +1 -1
  604. package/dist/store/session-store.d.ts +65 -0
  605. package/dist/store/session-store.d.ts.map +1 -1
  606. package/dist/store/session-store.js +108 -7
  607. package/dist/store/session-store.js.map +1 -1
  608. package/dist/store/split-brain-import.d.ts.map +1 -1
  609. package/dist/store/split-brain-import.js +2 -0
  610. package/dist/store/split-brain-import.js.map +1 -1
  611. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  612. package/dist/store/sqlite-data-accessor.js +252 -47
  613. package/dist/store/sqlite-data-accessor.js.map +1 -1
  614. package/dist/store/sqlite-native.d.ts.map +1 -1
  615. package/dist/store/sqlite-native.js +1 -0
  616. package/dist/store/sqlite-native.js.map +1 -1
  617. package/dist/store/sqlite.d.ts +15 -3
  618. package/dist/store/sqlite.d.ts.map +1 -1
  619. package/dist/store/sqlite.js +57 -20
  620. package/dist/store/sqlite.js.map +1 -1
  621. package/dist/store/store-write-guard.d.ts +9 -3
  622. package/dist/store/store-write-guard.d.ts.map +1 -1
  623. package/dist/store/store-write-guard.js +25 -4
  624. package/dist/store/store-write-guard.js.map +1 -1
  625. package/dist/store/table-classification.d.ts +1 -1
  626. package/dist/store/table-classification.d.ts.map +1 -1
  627. package/dist/store/table-classification.js +34 -8
  628. package/dist/store/table-classification.js.map +1 -1
  629. package/dist/store/task-claim.d.ts +144 -0
  630. package/dist/store/task-claim.d.ts.map +1 -0
  631. package/dist/store/task-claim.js +195 -0
  632. package/dist/store/task-claim.js.map +1 -0
  633. package/dist/store/task-version.d.ts +43 -5
  634. package/dist/store/task-version.d.ts.map +1 -1
  635. package/dist/store/task-version.js +113 -17
  636. package/dist/store/task-version.js.map +1 -1
  637. package/dist/store/tasks-schema.d.ts +2 -0
  638. package/dist/store/tasks-schema.d.ts.map +1 -1
  639. package/dist/store/tasks-schema.js +1 -0
  640. package/dist/store/tasks-schema.js.map +1 -1
  641. package/dist/store/tasks-sqlite.js +1 -1
  642. package/dist/store/tasks-sqlite.js.map +1 -1
  643. package/dist/store/twin-collapse.d.ts +339 -22
  644. package/dist/store/twin-collapse.d.ts.map +1 -1
  645. package/dist/store/twin-collapse.js +1323 -48
  646. package/dist/store/twin-collapse.js.map +1 -1
  647. package/dist/store/umbrella-data-accessor.d.ts +8 -3
  648. package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
  649. package/dist/store/umbrella-data-accessor.js +10 -4
  650. package/dist/store/umbrella-data-accessor.js.map +1 -1
  651. package/dist/store/validation-schemas.d.ts +161 -1
  652. package/dist/store/validation-schemas.d.ts.map +1 -1
  653. package/dist/store/with-retry.d.ts +36 -0
  654. package/dist/store/with-retry.d.ts.map +1 -1
  655. package/dist/store/with-retry.js +51 -0
  656. package/dist/store/with-retry.js.map +1 -1
  657. package/dist/store/worktree-build-guard.d.ts +200 -0
  658. package/dist/store/worktree-build-guard.d.ts.map +1 -0
  659. package/dist/store/worktree-build-guard.js +497 -0
  660. package/dist/store/worktree-build-guard.js.map +1 -0
  661. package/dist/store/worktree-isolation-guard.d.ts +138 -0
  662. package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
  663. package/dist/store/worktree-isolation-guard.js +189 -2
  664. package/dist/store/worktree-isolation-guard.js.map +1 -1
  665. package/dist/store/writer-lease.d.ts.map +1 -1
  666. package/dist/store/writer-lease.js +2 -0
  667. package/dist/store/writer-lease.js.map +1 -1
  668. package/dist/system/backup.d.ts +13 -2
  669. package/dist/system/backup.d.ts.map +1 -1
  670. package/dist/system/backup.js +11 -3
  671. package/dist/system/backup.js.map +1 -1
  672. package/dist/system/health.d.ts.map +1 -1
  673. package/dist/system/health.js +3 -1
  674. package/dist/system/health.js.map +1 -1
  675. package/dist/system/inject-generate.d.ts.map +1 -1
  676. package/dist/system/inject-generate.js +23 -10
  677. package/dist/system/inject-generate.js.map +1 -1
  678. package/dist/system/project-health.d.ts +8 -0
  679. package/dist/system/project-health.d.ts.map +1 -1
  680. package/dist/system/project-health.js +13 -5
  681. package/dist/system/project-health.js.map +1 -1
  682. package/dist/task-tools/index.d.ts +4 -2
  683. package/dist/task-tools/index.d.ts.map +1 -1
  684. package/dist/task-tools/index.js +3 -2
  685. package/dist/task-tools/index.js.map +1 -1
  686. package/dist/task-tools/score-task-priority.d.ts +131 -18
  687. package/dist/task-tools/score-task-priority.d.ts.map +1 -1
  688. package/dist/task-tools/score-task-priority.js +243 -80
  689. package/dist/task-tools/score-task-priority.js.map +1 -1
  690. package/dist/task-work/claims.d.ts +215 -0
  691. package/dist/task-work/claims.d.ts.map +1 -0
  692. package/dist/task-work/claims.js +272 -0
  693. package/dist/task-work/claims.js.map +1 -0
  694. package/dist/task-work/index.d.ts +47 -3
  695. package/dist/task-work/index.d.ts.map +1 -1
  696. package/dist/task-work/index.js +74 -41
  697. package/dist/task-work/index.js.map +1 -1
  698. package/dist/tasks/add.d.ts.map +1 -1
  699. package/dist/tasks/add.js +3 -2
  700. package/dist/tasks/add.js.map +1 -1
  701. package/dist/tasks/affected-packages.d.ts +5 -1
  702. package/dist/tasks/affected-packages.d.ts.map +1 -1
  703. package/dist/tasks/affected-packages.js +21 -3
  704. package/dist/tasks/affected-packages.js.map +1 -1
  705. package/dist/tasks/analyze.d.ts +29 -1
  706. package/dist/tasks/analyze.d.ts.map +1 -1
  707. package/dist/tasks/analyze.js +47 -37
  708. package/dist/tasks/analyze.js.map +1 -1
  709. package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
  710. package/dist/tasks/backfill-child-projections.js +4 -1
  711. package/dist/tasks/backfill-child-projections.js.map +1 -1
  712. package/dist/tasks/change-set.d.ts +5 -0
  713. package/dist/tasks/change-set.d.ts.map +1 -1
  714. package/dist/tasks/change-set.js +75 -6
  715. package/dist/tasks/change-set.js.map +1 -1
  716. package/dist/tasks/command-line.d.ts +54 -0
  717. package/dist/tasks/command-line.d.ts.map +1 -0
  718. package/dist/tasks/command-line.js +151 -0
  719. package/dist/tasks/command-line.js.map +1 -0
  720. package/dist/tasks/complete.d.ts +16 -0
  721. package/dist/tasks/complete.d.ts.map +1 -1
  722. package/dist/tasks/complete.js +27 -7
  723. package/dist/tasks/complete.js.map +1 -1
  724. package/dist/tasks/component-pr.d.ts +162 -1
  725. package/dist/tasks/component-pr.d.ts.map +1 -1
  726. package/dist/tasks/component-pr.js +639 -53
  727. package/dist/tasks/component-pr.js.map +1 -1
  728. package/dist/tasks/delete.d.ts.map +1 -1
  729. package/dist/tasks/delete.js +20 -0
  730. package/dist/tasks/delete.js.map +1 -1
  731. package/dist/tasks/done-record.d.ts +14 -1
  732. package/dist/tasks/done-record.d.ts.map +1 -1
  733. package/dist/tasks/done-record.js +37 -0
  734. package/dist/tasks/done-record.js.map +1 -1
  735. package/dist/tasks/duplicate-detector.d.ts +23 -4
  736. package/dist/tasks/duplicate-detector.d.ts.map +1 -1
  737. package/dist/tasks/duplicate-detector.js +14 -5
  738. package/dist/tasks/duplicate-detector.js.map +1 -1
  739. package/dist/tasks/engine-wrap-ops.d.ts +48 -10
  740. package/dist/tasks/engine-wrap-ops.d.ts.map +1 -1
  741. package/dist/tasks/engine-wrap-ops.js +78 -10
  742. package/dist/tasks/engine-wrap-ops.js.map +1 -1
  743. package/dist/tasks/engine-wrap.d.ts +1 -1
  744. package/dist/tasks/engine-wrap.d.ts.map +1 -1
  745. package/dist/tasks/engine-wrap.js +1 -1
  746. package/dist/tasks/engine-wrap.js.map +1 -1
  747. package/dist/tasks/evidence.d.ts +2 -0
  748. package/dist/tasks/evidence.d.ts.map +1 -1
  749. package/dist/tasks/evidence.js +30 -4
  750. package/dist/tasks/evidence.js.map +1 -1
  751. package/dist/tasks/gate-runner.d.ts.map +1 -1
  752. package/dist/tasks/gate-runner.js +48 -12
  753. package/dist/tasks/gate-runner.js.map +1 -1
  754. package/dist/tasks/graph-ops.d.ts +9 -2
  755. package/dist/tasks/graph-ops.d.ts.map +1 -1
  756. package/dist/tasks/graph-ops.js +24 -32
  757. package/dist/tasks/graph-ops.js.map +1 -1
  758. package/dist/tasks/index.d.ts +1 -1
  759. package/dist/tasks/index.d.ts.map +1 -1
  760. package/dist/tasks/index.js +1 -1
  761. package/dist/tasks/index.js.map +1 -1
  762. package/dist/tasks/ops.d.ts +1 -0
  763. package/dist/tasks/ops.d.ts.map +1 -1
  764. package/dist/tasks/plan.d.ts.map +1 -1
  765. package/dist/tasks/plan.js +16 -60
  766. package/dist/tasks/plan.js.map +1 -1
  767. package/dist/tasks/ranking-audit.d.ts +122 -0
  768. package/dist/tasks/ranking-audit.d.ts.map +1 -0
  769. package/dist/tasks/ranking-audit.js +193 -0
  770. package/dist/tasks/ranking-audit.js.map +1 -0
  771. package/dist/tasks/task-analyze.d.ts.map +1 -1
  772. package/dist/tasks/task-analyze.js +19 -32
  773. package/dist/tasks/task-analyze.js.map +1 -1
  774. package/dist/tasks/task-context.d.ts.map +1 -1
  775. package/dist/tasks/task-context.js +13 -0
  776. package/dist/tasks/task-context.js.map +1 -1
  777. package/dist/tasks/task-import.d.ts.map +1 -1
  778. package/dist/tasks/task-import.js +21 -12
  779. package/dist/tasks/task-import.js.map +1 -1
  780. package/dist/tasks/task-next.d.ts +67 -2
  781. package/dist/tasks/task-next.d.ts.map +1 -1
  782. package/dist/tasks/task-next.js +99 -102
  783. package/dist/tasks/task-next.js.map +1 -1
  784. package/dist/tasks/task-ops.d.ts +1 -1
  785. package/dist/tasks/task-ops.d.ts.map +1 -1
  786. package/dist/tasks/task-ops.js +1 -1
  787. package/dist/tasks/task-ops.js.map +1 -1
  788. package/dist/tasks/tool-resolver.d.ts +7 -1
  789. package/dist/tasks/tool-resolver.d.ts.map +1 -1
  790. package/dist/tasks/tool-resolver.js +24 -10
  791. package/dist/tasks/tool-resolver.js.map +1 -1
  792. package/dist/tasks/update.d.ts +8 -2
  793. package/dist/tasks/update.d.ts.map +1 -1
  794. package/dist/tasks/update.js +35 -6
  795. package/dist/tasks/update.js.map +1 -1
  796. package/dist/telemetry/sqlite.d.ts.map +1 -1
  797. package/dist/telemetry/sqlite.js +2 -0
  798. package/dist/telemetry/sqlite.js.map +1 -1
  799. package/dist/upgrade.d.ts +1 -1
  800. package/dist/upgrade.d.ts.map +1 -1
  801. package/dist/upgrade.js +48 -9
  802. package/dist/upgrade.js.map +1 -1
  803. package/dist/validation/doctor/checks.d.ts +20 -6
  804. package/dist/validation/doctor/checks.d.ts.map +1 -1
  805. package/dist/validation/doctor/checks.js +53 -10
  806. package/dist/validation/doctor/checks.js.map +1 -1
  807. package/dist/validation/validate-ops.d.ts.map +1 -1
  808. package/dist/validation/validate-ops.js +2 -3
  809. package/dist/validation/validate-ops.js.map +1 -1
  810. package/migrations/drizzle-cleo-global/20260929010000_t12512-registry-probed-opened/migration.sql +35 -0
  811. package/migrations/drizzle-cleo-global/20260929020000_t12721-git-state-head-committed-at/migration.sql +25 -0
  812. package/migrations/drizzle-cleo-project/20260929000000_t12535-docs-attachments-union-shape/migration.sql +21 -0
  813. package/migrations/drizzle-cleo-project/20260929120000_t12502-task-claim-leases/migration.sql +77 -0
  814. package/migrations/drizzle-cleo-project/20260929130000_t12736-claim-lease-iso-repair/migration.sql +37 -0
  815. package/package.json +24 -14
  816. package/schemas/config.schema.json +13 -0
  817. package/schemas/project-info.schema.json +10 -4
  818. package/templates/CLEO-INJECTION.md +1 -1
  819. package/templates/CLEO-REFERENCE.md +7 -3
  820. package/templates/cleo-gitignore +11 -0
  821. package/templates/workflows/release-prepare.yml.tmpl +156 -10
@@ -0,0 +1,335 @@
1
+ /**
2
+ * The System One benchmark runner (T12495): replay every labelled row through
3
+ * every compared provider with `decideBatch`, next to each site's heuristic,
4
+ * and score the answers.
5
+ *
6
+ * - Provider answer cache off (`cache: false` on every request) and the
7
+ * in-process outcome cache off, so every row is a real provider call.
8
+ * - One batch deadline of at least {@link MIN_BENCH_TIMEOUT_MS} (spec §1: the
9
+ * batch endpoint answers its items serially).
10
+ * - A hard total spend cap across all providers and runs, SEPARATE from the
11
+ * everyday monthly cap: before each batch the spend estimate (per
12
+ * question, the larger of {@link DECISION_COST_ESTIMATE_MICROS_PER_QUESTION}
13
+ * and the connection's observed mean reported cost) is added to what was
14
+ * spent so far, and the run stops cleanly when that would pass the cap.
15
+ * Billed answers the client rejected (`invalid_response`) count at their
16
+ * reported cost (else the estimate), so a model that keeps answering in
17
+ * the wrong shape is still capped. The monthly cap does not gate the benchmark
18
+ * (`spend: null` on the calls), but every batch's spend is still recorded
19
+ * in the monthly ledger so month-to-date spend stays true.
20
+ * - Providers take turns batch by batch, so a cap stop leaves them with the
21
+ * same coverage.
22
+ *
23
+ * @task T12495
24
+ * @epic T12486
25
+ */
26
+ import { join } from 'node:path';
27
+ import { getCleoHome } from '@cleocode/paths';
28
+ import { hashCanonical } from '../cache.js';
29
+ import { DECISION_COST_ESTIMATE_MICROS_PER_QUESTION, decideBatch, redactDecisionState, } from '../client.js';
30
+ import { DECIDE_BENCH_DECISION_SITE } from '../sites/registry.js';
31
+ import { createFileSpendLedger } from '../spend.js';
32
+ import { benchDatasetSizes } from './dataset.js';
33
+ import { classificationMetrics, latencyOf, } from './metrics.js';
34
+ import { benchQuestionFor } from './questions.js';
35
+ import { spreadOf } from './stats.js';
36
+ import { BENCH_SITES, positiveLabel, } from './types.js';
37
+ /** Default hard spend cap across providers and runs: $5. */
38
+ export const DEFAULT_BENCH_MAX_MICROS = 5_000_000;
39
+ /** Minimum (and default) batch deadline, ms. */
40
+ export const MIN_BENCH_TIMEOUT_MS = 30_000;
41
+ /** Default rows per batch call. */
42
+ export const DEFAULT_BENCH_BATCH_SIZE = 16;
43
+ /** Largest batch the layahost batch endpoint accepts (64 requests). */
44
+ export const MAX_BENCH_BATCH_SIZE = 64;
45
+ /** Name of the heuristic pseudo-provider in results. */
46
+ export const HEURISTIC_PROVIDER = 'heuristic';
47
+ function newCollector() {
48
+ return {
49
+ attempted: 0,
50
+ predictions: [],
51
+ latencies: [],
52
+ costMicros: 0,
53
+ costReported: false,
54
+ fallbacks: {},
55
+ unusable: 0,
56
+ };
57
+ }
58
+ function finishCollector(site, c) {
59
+ return {
60
+ site,
61
+ ...classificationMetrics(c.predictions, positiveLabel(site)),
62
+ attempted: c.attempted,
63
+ answered: c.predictions.length,
64
+ latency: latencyOf(c.latencies),
65
+ costMicros: c.costMicros,
66
+ costReported: c.costReported,
67
+ fallbacks: c.fallbacks,
68
+ unusable: c.unusable,
69
+ };
70
+ }
71
+ /**
72
+ * Estimated cost per question for the pre-batch cap check: the client's
73
+ * reservation estimate, or the connection's observed mean when a pricier
74
+ * model has reported more, so one batch cannot overshoot the cap by much.
75
+ */
76
+ function perQuestionEstimate(seen) {
77
+ const mean = seen && seen.questions > 0 ? Math.ceil(seen.micros / seen.questions) : 0;
78
+ return Math.max(DECISION_COST_ESTIMATE_MICROS_PER_QUESTION, mean);
79
+ }
80
+ /** Provider-reported cost of an outcome in micros (`costMicros`, else `costUsd`). */
81
+ function reportedCostMicros(outcome) {
82
+ if (outcome.costMicros !== undefined)
83
+ return outcome.costMicros;
84
+ return outcome.costUsd !== undefined ? Math.round(outcome.costUsd * 1e6) : undefined;
85
+ }
86
+ /** A profile name made safe for a file name. */
87
+ function safeFileName(name) {
88
+ return name.replace(/[^A-Za-z0-9._-]/g, '_').slice(0, 64) || 'profile';
89
+ }
90
+ /** Split `items` into chunks of `size`. */
91
+ function chunks(items, size) {
92
+ const out = [];
93
+ for (let i = 0; i < items.length; i += size)
94
+ out.push(items.slice(i, i + size));
95
+ return out;
96
+ }
97
+ /** Audit key of a request, matching what `decide()` writes for it. */
98
+ function auditKey(q) {
99
+ return `${hashCanonical(q.req.questions)}:${hashCanonical(redactDecisionState(q.req.state))}`;
100
+ }
101
+ /** An in-memory audit sink that keeps fallback reasons by request key. */
102
+ function reasonSink() {
103
+ const reasons = new Map();
104
+ return {
105
+ sink: {
106
+ write(entry) {
107
+ if (entry.source !== 'fallback')
108
+ return;
109
+ const key = `${entry.questionsHash}:${entry.stateHash}`;
110
+ reasons.set(key, [...(reasons.get(key) ?? []), entry.fallbackReason ?? 'unknown']);
111
+ },
112
+ },
113
+ take: (key) => {
114
+ const list = reasons.get(key);
115
+ return list?.shift();
116
+ },
117
+ };
118
+ }
119
+ /** Score the heuristic on every row (deterministic, no provider). */
120
+ function scoreHeuristic(sites, questions) {
121
+ return sites.map((site) => {
122
+ const c = newCollector();
123
+ for (const { row, q } of questions.get(site) ?? []) {
124
+ const started = performance.now();
125
+ const label = q.predict(q.heuristicAnswers) ?? q.heuristicLabel;
126
+ c.latencies.push(Math.max(0, performance.now() - started));
127
+ c.attempted++;
128
+ c.predictions.push({ gold: row.label, predicted: label });
129
+ }
130
+ return finishCollector(site, c);
131
+ });
132
+ }
133
+ /** Mean and spread per provider × site. */
134
+ function aggregate(heuristic, runs, providers, sites) {
135
+ const rows = [];
136
+ const build = (provider, site, results) => {
137
+ const fallbacks = {};
138
+ for (const r of results) {
139
+ for (const [k, v] of Object.entries(r.fallbacks))
140
+ fallbacks[k] = (fallbacks[k] ?? 0) + v;
141
+ }
142
+ const scored = results.filter((r) => r.answered > 0);
143
+ rows.push({
144
+ provider,
145
+ site,
146
+ answered: spreadOf(results.map((r) => r.answered)),
147
+ accuracy: spreadOf(scored.map((r) => r.accuracy)),
148
+ precision: spreadOf(scored.map((r) => r.precision)),
149
+ recall: spreadOf(scored.map((r) => r.recall)),
150
+ f1: spreadOf(scored.map((r) => r.f1)),
151
+ falsePositiveRate: spreadOf(scored.map((r) => r.falsePositiveRate)),
152
+ p50Ms: spreadOf(scored.map((r) => r.latency.p50Ms)),
153
+ p95Ms: spreadOf(scored.map((r) => r.latency.p95Ms)),
154
+ costMicros: spreadOf(results.map((r) => r.costMicros)),
155
+ fallbacks,
156
+ });
157
+ };
158
+ for (const site of sites) {
159
+ build(HEURISTIC_PROVIDER, site, heuristic.filter((h) => h.site === site));
160
+ for (const provider of providers) {
161
+ const results = runs.flatMap((run) => run.providers
162
+ .filter((p) => p.provider === provider)
163
+ .flatMap((p) => p.sites.filter((s) => s.site === site && s.attempted > 0)));
164
+ build(provider, site, results);
165
+ }
166
+ }
167
+ return rows;
168
+ }
169
+ /**
170
+ * Run the benchmark.
171
+ *
172
+ * Never throws because of a provider: failures become per-row fallbacks with
173
+ * their reason. Stops cleanly at the spend cap and reports what it completed.
174
+ *
175
+ * @param opts - Rows, connections, runs, cap and wiring.
176
+ * @returns The results.
177
+ */
178
+ export async function runDecideBench(opts) {
179
+ const now = opts.now ?? (() => new Date());
180
+ const startedAt = now().toISOString();
181
+ const runs = Math.max(1, Math.floor(opts.runs ?? 1));
182
+ const capMicros = Math.max(0, opts.maxMicros ?? DEFAULT_BENCH_MAX_MICROS);
183
+ const batchSize = Math.min(MAX_BENCH_BATCH_SIZE, Math.max(1, Math.floor(opts.batchSize ?? DEFAULT_BENCH_BATCH_SIZE)));
184
+ const timeoutMs = Math.max(MIN_BENCH_TIMEOUT_MS, opts.timeoutMs ?? MIN_BENCH_TIMEOUT_MS);
185
+ const ledger = opts.spendLedger === undefined ? createFileSpendLedger() : opts.spendLedger;
186
+ const stateDir = opts.providerStateDir ?? join(getCleoHome(), 'decide', 'bench');
187
+ const sites = BENCH_SITES.filter((s) => opts.rows.some((r) => r.site === s));
188
+ const questions = new Map();
189
+ for (const row of opts.rows) {
190
+ questions.set(row.site, [
191
+ ...(questions.get(row.site) ?? []),
192
+ { row, q: benchQuestionFor(row) },
193
+ ]);
194
+ }
195
+ const heuristic = scoreHeuristic(sites, questions);
196
+ const batchesPerRun = sites.reduce((n, s) => n + Math.ceil((questions.get(s)?.length ?? 0) / batchSize), 0);
197
+ let spentMicros = 0;
198
+ let reportedMicros = 0;
199
+ let batchesSent = 0;
200
+ let recordedInMonthlyLedger = true;
201
+ let stoppedAt;
202
+ const runRecords = [];
203
+ /** Reported cost per connection so far, for the pre-batch estimate. */
204
+ const observed = new Map();
205
+ runLoop: for (let run = 1; run <= runs; run++) {
206
+ const collectors = new Map();
207
+ for (const c of opts.connections) {
208
+ collectors.set(c.name, new Map(sites.map((s) => [s, newCollector()])));
209
+ }
210
+ const record = (complete) => ({
211
+ run,
212
+ complete,
213
+ providers: opts.connections.map((c) => ({
214
+ provider: c.name,
215
+ sites: sites.map((s) => finishCollector(s, collectors.get(c.name)?.get(s) ?? newCollector())),
216
+ })),
217
+ });
218
+ for (const site of sites) {
219
+ for (const [b, batch] of chunks(questions.get(site) ?? [], batchSize).entries()) {
220
+ for (const conn of opts.connections) {
221
+ const questionCount = batch.reduce((n, x) => n + Object.keys(x.q.req.questions).length, 0);
222
+ const estimate = questionCount * perQuestionEstimate(observed.get(conn.name));
223
+ if (spentMicros + estimate > capMicros) {
224
+ stoppedAt = { run, site, provider: conn.name, batch: b + 1, estimateMicros: estimate };
225
+ runRecords.push(record(false));
226
+ break runLoop;
227
+ }
228
+ const reasons = reasonSink();
229
+ const entries = batch.map(({ q }) => ({
230
+ req: q.req,
231
+ fallback: () => q.heuristicAnswers,
232
+ }));
233
+ const outcomes = await decideBatch(DECIDE_BENCH_DECISION_SITE.id, entries, {
234
+ connection: {
235
+ baseUrl: conn.baseUrl,
236
+ apiKey: conn.apiKey,
237
+ ...(conn.model ? { model: conn.model } : {}),
238
+ },
239
+ timeoutMs,
240
+ cache: null,
241
+ budget: null,
242
+ spend: null,
243
+ audit: reasons.sink,
244
+ ...(opts.fetch ? { fetch: opts.fetch } : {}),
245
+ providerStatePath: join(stateDir, `provider-state-${safeFileName(conn.name)}.json`),
246
+ });
247
+ batchesSent++;
248
+ const col = collectors.get(conn.name)?.get(site) ?? newCollector();
249
+ let batchSpend = 0;
250
+ const perQuestion = perQuestionEstimate(observed.get(conn.name));
251
+ const seen = observed.get(conn.name) ?? { micros: 0, questions: 0 };
252
+ for (const [i, { row, q }] of batch.entries()) {
253
+ const outcome = outcomes[i];
254
+ col.attempted++;
255
+ const questionsHere = Object.keys(q.req.questions).length;
256
+ const reported = outcome ? reportedCostMicros(outcome) : undefined;
257
+ if (reported !== undefined) {
258
+ col.costReported = true;
259
+ reportedMicros += reported;
260
+ seen.micros += reported;
261
+ seen.questions += questionsHere;
262
+ }
263
+ if (!outcome || outcome.source !== 'provider') {
264
+ const reason = reasons.take(auditKey(q)) ?? 'unknown';
265
+ col.fallbacks[reason] = (col.fallbacks[reason] ?? 0) + 1;
266
+ // Billed without a usable answer: a 2xx the client rejected
267
+ // (`invalid_response`, at its reported cost), or a call that
268
+ // timed out after send. Other failures are error responses,
269
+ // which the provider does not bill (layahost docs).
270
+ if (reason === 'invalid_response' || reason === 'timeout') {
271
+ batchSpend += reported ?? questionsHere * perQuestion;
272
+ }
273
+ continue;
274
+ }
275
+ batchSpend += reported ?? questionsHere * perQuestion;
276
+ col.latencies.push(outcome.latencyMs);
277
+ const predicted = q.predict(outcome.answers);
278
+ if (predicted === null) {
279
+ col.unusable++;
280
+ continue;
281
+ }
282
+ col.predictions.push({ gold: row.label, predicted });
283
+ }
284
+ observed.set(conn.name, seen);
285
+ col.costMicros += batchSpend;
286
+ spentMicros += batchSpend;
287
+ if (ledger && batchSpend > 0) {
288
+ try {
289
+ await ledger.record(batchSpend);
290
+ }
291
+ catch {
292
+ recordedInMonthlyLedger = false;
293
+ }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ runRecords.push(record(true));
299
+ }
300
+ const providerNames = opts.connections.map((c) => c.name);
301
+ return {
302
+ schemaVersion: 1,
303
+ task: 'T12495',
304
+ startedAt,
305
+ finishedAt: now().toISOString(),
306
+ config: {
307
+ runs,
308
+ batchSize,
309
+ timeoutMs,
310
+ maxMicros: capMicros,
311
+ sites,
312
+ providers: opts.connections.map((c) => ({
313
+ name: c.name,
314
+ provider: c.provider,
315
+ baseUrl: c.baseUrl,
316
+ ...(c.model ? { model: c.model } : {}),
317
+ })),
318
+ },
319
+ dataset: benchDatasetSizes(opts.rows),
320
+ heuristic,
321
+ runs: runRecords,
322
+ aggregate: aggregate(heuristic, runRecords, providerNames, sites),
323
+ spend: {
324
+ capMicros,
325
+ spentMicros,
326
+ reportedMicros,
327
+ capReached: stoppedAt !== undefined,
328
+ ...(stoppedAt ? { stoppedAt } : {}),
329
+ batchesSent,
330
+ batchesPlanned: batchesPerRun * runs * opts.connections.length,
331
+ recordedInMonthlyLedger,
332
+ },
333
+ };
334
+ }
335
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/decide/bench/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The store-backed {@link BenchSource}: reads tasks through the task data
3
+ * accessor and observations and decisions through the brain accessor — the
4
+ * core accessors only, never raw SQL on `.cleo/*.db` (T12495).
5
+ *
6
+ * @task T12495
7
+ * @epic T12486
8
+ */
9
+ import type { BenchSource } from './types.js';
10
+ /**
11
+ * A {@link BenchSource} over the project's stores.
12
+ *
13
+ * Tasks include every status (cancelled and archived too); observations and
14
+ * decisions include history (invalidated and superseded rows), because the
15
+ * labels come from exactly those records.
16
+ *
17
+ * @param projectRoot - Project root whose stores are read.
18
+ * @returns The source; each method opens its accessor lazily.
19
+ */
20
+ export declare function createStoreBenchSource(projectRoot: string): BenchSource;
21
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/decide/bench/source.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAGV,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CA8CvE"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The store-backed {@link BenchSource}: reads tasks through the task data
3
+ * accessor and observations and decisions through the brain accessor — the
4
+ * core accessors only, never raw SQL on `.cleo/*.db` (T12495).
5
+ *
6
+ * @task T12495
7
+ * @epic T12486
8
+ */
9
+ import { TASK_STATUSES } from '@cleocode/contracts';
10
+ /**
11
+ * A {@link BenchSource} over the project's stores.
12
+ *
13
+ * Tasks include every status (cancelled and archived too); observations and
14
+ * decisions include history (invalidated and superseded rows), because the
15
+ * labels come from exactly those records.
16
+ *
17
+ * @param projectRoot - Project root whose stores are read.
18
+ * @returns The source; each method opens its accessor lazily.
19
+ */
20
+ export function createStoreBenchSource(projectRoot) {
21
+ return {
22
+ async tasks() {
23
+ const { getTaskAccessor } = await import('../../store/data-accessor.js');
24
+ const accessor = await getTaskAccessor(projectRoot);
25
+ const { tasks } = await accessor.queryTasks({ status: [...TASK_STATUSES] });
26
+ return tasks.map((t) => ({
27
+ id: t.id,
28
+ title: t.title ?? '',
29
+ description: t.description ?? '',
30
+ status: t.status,
31
+ parentId: t.parentId ?? null,
32
+ ...(t.cancellationReason ? { cancellationReason: t.cancellationReason } : {}),
33
+ notes: t.notes ?? [],
34
+ relates: (t.relates ?? []).map((r) => ({
35
+ taskId: r.taskId,
36
+ type: r.type,
37
+ ...(r.reason ? { reason: r.reason } : {}),
38
+ })),
39
+ }));
40
+ },
41
+ async observations() {
42
+ const { getBrainAccessor } = await import('../../store/memory-accessor.js');
43
+ const accessor = await getBrainAccessor(projectRoot);
44
+ const rows = await accessor.findObservations({ includeHistory: true });
45
+ return rows.map((o) => ({
46
+ id: o.id,
47
+ type: o.type,
48
+ title: o.title,
49
+ narrative: o.narrative ?? '',
50
+ }));
51
+ },
52
+ async decisions() {
53
+ const { getBrainAccessor } = await import('../../store/memory-accessor.js');
54
+ const accessor = await getBrainAccessor(projectRoot);
55
+ const rows = await accessor.findDecisions({ includeHistory: true });
56
+ return rows.map((d) => ({
57
+ id: d.id,
58
+ type: d.type,
59
+ decision: d.decision,
60
+ rationale: d.rationale,
61
+ supersedes: d.supersedes ?? null,
62
+ supersededBy: d.supersededBy ?? null,
63
+ }));
64
+ },
65
+ };
66
+ }
67
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/decide/bench/source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Owner spot-check for the System One benchmark dataset (T12495).
3
+ *
4
+ * Before any spend, a small random sample stratified by site and label is
5
+ * written to a file. The orchestrator shows each item to the owner through
6
+ * the ask tool (the item carries the proposed label and the allowed labels
7
+ * as ready-made options) and writes the answers to a corrections file.
8
+ * {@link applyBenchCorrections} then relabels (or drops) those rows and marks
9
+ * them owner-verified. Both steps are offline: no provider is contacted.
10
+ *
11
+ * @task T12495
12
+ * @epic T12486
13
+ */
14
+ import { z } from 'zod';
15
+ import { type BenchRow } from './types.js';
16
+ /** Default spot-check sample size. */
17
+ export declare const DEFAULT_SPOT_CHECK_SIZE = 30;
18
+ /** One item the owner reviews. */
19
+ export interface BenchSpotCheckItem {
20
+ /** Dataset row id (the key a correction names). */
21
+ readonly id: string;
22
+ /** Site. */
23
+ readonly site: BenchRow['site'];
24
+ /** The label the builder proposed. */
25
+ readonly proposedLabel: string;
26
+ /** Labels the owner may choose from (the proposed one first). */
27
+ readonly options: readonly string[];
28
+ /** Short, redacted summary of what is being labelled. */
29
+ readonly summary: string;
30
+ /** Why the builder proposed the label. */
31
+ readonly provenance: BenchRow['provenance'];
32
+ /** Already verified by the owner in an earlier round. */
33
+ readonly ownerVerified: boolean;
34
+ }
35
+ /** The spot-check file. */
36
+ export interface BenchSpotCheckFile {
37
+ /** Format version. */
38
+ readonly schemaVersion: 1;
39
+ /** ISO time the sample was drawn. */
40
+ readonly generatedAt: string;
41
+ /** Seed the sample was drawn with. */
42
+ readonly seed: number;
43
+ /** How to answer. */
44
+ readonly instructions: string;
45
+ /** Sampled items. */
46
+ readonly items: readonly BenchSpotCheckItem[];
47
+ }
48
+ /**
49
+ * Draw a random sample stratified by site and label.
50
+ *
51
+ * @param rows - Dataset rows.
52
+ * @param opts - Sample size (default {@link DEFAULT_SPOT_CHECK_SIZE}) and seed.
53
+ * @returns The spot-check file contents.
54
+ */
55
+ export declare function sampleBenchSpotCheck(rows: readonly BenchRow[], opts?: {
56
+ readonly size?: number;
57
+ readonly seed?: number;
58
+ readonly now?: Date;
59
+ }): BenchSpotCheckFile;
60
+ /** Zod schema of one correction. */
61
+ declare const correctionSchema: z.ZodUnion<readonly [z.ZodObject<{
62
+ id: z.ZodString;
63
+ label: z.ZodString;
64
+ note: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strip>, z.ZodObject<{
66
+ id: z.ZodString;
67
+ drop: z.ZodLiteral<true>;
68
+ note: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$strip>]>;
70
+ /** One owner answer: a label for a row, or a drop. */
71
+ export type BenchCorrection = z.infer<typeof correctionSchema>;
72
+ /** Outcome of {@link applyBenchCorrections}. */
73
+ export interface BenchCorrectionsReceipt {
74
+ /** Rows confirmed with the proposed label. */
75
+ readonly confirmed: number;
76
+ /** Rows relabelled. */
77
+ readonly relabelled: number;
78
+ /** Rows removed. */
79
+ readonly dropped: number;
80
+ /** Correction ids that matched no row. */
81
+ readonly unmatched: readonly string[];
82
+ /** Corrections whose label is not allowed for the row's site (not applied). */
83
+ readonly rejected: readonly {
84
+ readonly id: string;
85
+ readonly label: string;
86
+ }[];
87
+ }
88
+ /**
89
+ * Parse a corrections file.
90
+ *
91
+ * @param text - File contents (JSON).
92
+ * @returns The corrections.
93
+ * @throws Error when the JSON or its shape is invalid.
94
+ */
95
+ export declare function parseBenchCorrections(text: string): BenchCorrection[];
96
+ /**
97
+ * Read and parse a corrections file.
98
+ *
99
+ * @param path - Corrections file.
100
+ * @returns The corrections.
101
+ */
102
+ export declare function readBenchCorrections(path: string): Promise<BenchCorrection[]>;
103
+ /**
104
+ * Apply owner corrections: relabel or drop the named rows and mark every
105
+ * corrected (or confirmed) row owner-verified. A relabelled row keeps its
106
+ * original label in `correctedFrom`.
107
+ *
108
+ * @param rows - Dataset rows.
109
+ * @param corrections - Owner answers.
110
+ * @returns The new rows and a receipt.
111
+ */
112
+ export declare function applyBenchCorrections(rows: readonly BenchRow[], corrections: readonly BenchCorrection[]): {
113
+ rows: BenchRow[];
114
+ receipt: BenchCorrectionsReceipt;
115
+ };
116
+ export {};
117
+ //# sourceMappingURL=spot-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spot-check.d.ts","sourceRoot":"","sources":["../../../src/decide/bench/spot-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAE1D,sCAAsC;AACtC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAK1C,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,sCAAsC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5C,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,2BAA2B;AAC3B,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC/C;AAyDD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,IAAI,GAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GACjF,kBAAkB,CAoCpB;AAED,oCAAoC;AACpC,QAAA,MAAM,gBAAgB;;;;;;;;mBAOpB,CAAC;AAQH,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uBAAuB;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,oBAAoB;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAYrE;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAEnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,WAAW,EAAE,SAAS,eAAe,EAAE,GACtC;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,OAAO,EAAE,uBAAuB,CAAA;CAAE,CAiDxD"}