@cleocode/core 2026.9.23 → 2026.9.25

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 (865) 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/audit-prune.d.ts +32 -0
  8. package/dist/audit-prune.d.ts.map +1 -1
  9. package/dist/audit-prune.js +37 -3
  10. package/dist/audit-prune.js.map +1 -1
  11. package/dist/build-provenance.json +2 -2
  12. package/dist/cloud/crypto.d.ts +1 -2
  13. package/dist/cloud/crypto.d.ts.map +1 -1
  14. package/dist/cloud/crypto.js +1 -11
  15. package/dist/cloud/crypto.js.map +1 -1
  16. package/dist/cloud/http.d.ts +8 -0
  17. package/dist/cloud/http.d.ts.map +1 -1
  18. package/dist/cloud/http.js +8 -1
  19. package/dist/cloud/http.js.map +1 -1
  20. package/dist/cloud/index.d.ts +6 -1
  21. package/dist/cloud/index.d.ts.map +1 -1
  22. package/dist/cloud/index.js +6 -1
  23. package/dist/cloud/index.js.map +1 -1
  24. package/dist/cloud/nexus-auth.d.ts +169 -0
  25. package/dist/cloud/nexus-auth.d.ts.map +1 -0
  26. package/dist/cloud/nexus-auth.js +372 -0
  27. package/dist/cloud/nexus-auth.js.map +1 -0
  28. package/dist/cloud/nexus-credentials.d.ts +188 -0
  29. package/dist/cloud/nexus-credentials.d.ts.map +1 -0
  30. package/dist/cloud/nexus-credentials.js +323 -0
  31. package/dist/cloud/nexus-credentials.js.map +1 -0
  32. package/dist/cloud/nexus-link.d.ts +85 -0
  33. package/dist/cloud/nexus-link.d.ts.map +1 -0
  34. package/dist/cloud/nexus-link.js +226 -0
  35. package/dist/cloud/nexus-link.js.map +1 -0
  36. package/dist/cloud/presence.d.ts +88 -0
  37. package/dist/cloud/presence.d.ts.map +1 -0
  38. package/dist/cloud/presence.js +137 -0
  39. package/dist/cloud/presence.js.map +1 -0
  40. package/dist/cloud/projects.d.ts +3 -1
  41. package/dist/cloud/projects.d.ts.map +1 -1
  42. package/dist/cloud/projects.js +4 -2
  43. package/dist/cloud/projects.js.map +1 -1
  44. package/dist/cloud/uuidv7.d.ts +9 -0
  45. package/dist/cloud/uuidv7.d.ts.map +1 -0
  46. package/dist/cloud/uuidv7.js +19 -0
  47. package/dist/cloud/uuidv7.js.map +1 -0
  48. package/dist/crypto/credentials.d.ts +14 -4
  49. package/dist/crypto/credentials.d.ts.map +1 -1
  50. package/dist/crypto/credentials.js +15 -1
  51. package/dist/crypto/credentials.js.map +1 -1
  52. package/dist/decide/bench/dataset.d.ts +125 -0
  53. package/dist/decide/bench/dataset.d.ts.map +1 -0
  54. package/dist/decide/bench/dataset.js +457 -0
  55. package/dist/decide/bench/dataset.js.map +1 -0
  56. package/dist/decide/bench/index.d.ts +23 -0
  57. package/dist/decide/bench/index.d.ts.map +1 -0
  58. package/dist/decide/bench/index.js +23 -0
  59. package/dist/decide/bench/index.js.map +1 -0
  60. package/dist/decide/bench/metrics.d.ts +55 -0
  61. package/dist/decide/bench/metrics.d.ts.map +1 -0
  62. package/dist/decide/bench/metrics.js +100 -0
  63. package/dist/decide/bench/metrics.js.map +1 -0
  64. package/dist/decide/bench/operation.d.ts +119 -0
  65. package/dist/decide/bench/operation.d.ts.map +1 -0
  66. package/dist/decide/bench/operation.js +171 -0
  67. package/dist/decide/bench/operation.js.map +1 -0
  68. package/dist/decide/bench/profiles.d.ts +102 -0
  69. package/dist/decide/bench/profiles.d.ts.map +1 -0
  70. package/dist/decide/bench/profiles.js +175 -0
  71. package/dist/decide/bench/profiles.js.map +1 -0
  72. package/dist/decide/bench/questions.d.ts +40 -0
  73. package/dist/decide/bench/questions.d.ts.map +1 -0
  74. package/dist/decide/bench/questions.js +107 -0
  75. package/dist/decide/bench/questions.js.map +1 -0
  76. package/dist/decide/bench/report.d.ts +21 -0
  77. package/dist/decide/bench/report.d.ts.map +1 -0
  78. package/dist/decide/bench/report.js +125 -0
  79. package/dist/decide/bench/report.js.map +1 -0
  80. package/dist/decide/bench/runner.d.ts +208 -0
  81. package/dist/decide/bench/runner.d.ts.map +1 -0
  82. package/dist/decide/bench/runner.js +336 -0
  83. package/dist/decide/bench/runner.js.map +1 -0
  84. package/dist/decide/bench/source.d.ts +21 -0
  85. package/dist/decide/bench/source.d.ts.map +1 -0
  86. package/dist/decide/bench/source.js +67 -0
  87. package/dist/decide/bench/source.js.map +1 -0
  88. package/dist/decide/bench/spot-check.d.ts +117 -0
  89. package/dist/decide/bench/spot-check.d.ts.map +1 -0
  90. package/dist/decide/bench/spot-check.js +221 -0
  91. package/dist/decide/bench/spot-check.js.map +1 -0
  92. package/dist/decide/bench/stats.d.ts +57 -0
  93. package/dist/decide/bench/stats.d.ts.map +1 -0
  94. package/dist/decide/bench/stats.js +82 -0
  95. package/dist/decide/bench/stats.js.map +1 -0
  96. package/dist/decide/bench/types.d.ts +216 -0
  97. package/dist/decide/bench/types.d.ts.map +1 -0
  98. package/dist/decide/bench/types.js +104 -0
  99. package/dist/decide/bench/types.js.map +1 -0
  100. package/dist/decide/client.d.ts +35 -1
  101. package/dist/decide/client.d.ts.map +1 -1
  102. package/dist/decide/client.js +135 -35
  103. package/dist/decide/client.js.map +1 -1
  104. package/dist/decide/credentials.d.ts +177 -17
  105. package/dist/decide/credentials.d.ts.map +1 -1
  106. package/dist/decide/credentials.js +505 -41
  107. package/dist/decide/credentials.js.map +1 -1
  108. package/dist/decide/index.d.ts +8 -8
  109. package/dist/decide/index.d.ts.map +1 -1
  110. package/dist/decide/index.js +8 -8
  111. package/dist/decide/index.js.map +1 -1
  112. package/dist/decide/jev-wire.d.ts +55 -19
  113. package/dist/decide/jev-wire.d.ts.map +1 -1
  114. package/dist/decide/jev-wire.js +116 -37
  115. package/dist/decide/jev-wire.js.map +1 -1
  116. package/dist/decide/operations.d.ts +63 -12
  117. package/dist/decide/operations.d.ts.map +1 -1
  118. package/dist/decide/operations.js +116 -58
  119. package/dist/decide/operations.js.map +1 -1
  120. package/dist/decide/provider-state.d.ts +85 -12
  121. package/dist/decide/provider-state.d.ts.map +1 -1
  122. package/dist/decide/provider-state.js +154 -21
  123. package/dist/decide/provider-state.js.map +1 -1
  124. package/dist/decide/provider.d.ts +5 -0
  125. package/dist/decide/provider.d.ts.map +1 -1
  126. package/dist/decide/provider.js.map +1 -1
  127. package/dist/decide/providers.d.ts +15 -2
  128. package/dist/decide/providers.d.ts.map +1 -1
  129. package/dist/decide/providers.js +22 -6
  130. package/dist/decide/providers.js.map +1 -1
  131. package/dist/decide/sites/registry.d.ts +22 -0
  132. package/dist/decide/sites/registry.d.ts.map +1 -1
  133. package/dist/decide/sites/registry.js +23 -0
  134. package/dist/decide/sites/registry.js.map +1 -1
  135. package/dist/decide/wizard.d.ts +12 -4
  136. package/dist/decide/wizard.d.ts.map +1 -1
  137. package/dist/decide/wizard.js +79 -26
  138. package/dist/decide/wizard.js.map +1 -1
  139. package/dist/dispatch/mvi-projection.d.ts +15 -2
  140. package/dist/dispatch/mvi-projection.d.ts.map +1 -1
  141. package/dist/dispatch/mvi-projection.js +73 -12
  142. package/dist/dispatch/mvi-projection.js.map +1 -1
  143. package/dist/docs/adr-allocator.d.ts +2 -2
  144. package/dist/docs/adr-allocator.d.ts.map +1 -1
  145. package/dist/docs/adr-allocator.js +17 -4
  146. package/dist/docs/adr-allocator.js.map +1 -1
  147. package/dist/docs/blob-consolidation.js +1 -1
  148. package/dist/docs/blob-consolidation.js.map +1 -1
  149. package/dist/docs/display-alias.d.ts +1 -1
  150. package/dist/docs/display-alias.d.ts.map +1 -1
  151. package/dist/docs/display-alias.js +7 -4
  152. package/dist/docs/display-alias.js.map +1 -1
  153. package/dist/docs/docs-inconsistency-detector.js +1 -1
  154. package/dist/docs/docs-inconsistency-detector.js.map +1 -1
  155. package/dist/docs/docs-update.d.ts.map +1 -1
  156. package/dist/docs/docs-update.js +6 -1
  157. package/dist/docs/docs-update.js.map +1 -1
  158. package/dist/docs/export-document.js +18058 -14538
  159. package/dist/docs/export-document.js.map +3 -3
  160. package/dist/docs/numbering.js +1 -1
  161. package/dist/docs/numbering.js.map +1 -1
  162. package/dist/docs/supersede.d.ts.map +1 -1
  163. package/dist/docs/supersede.js +6 -3
  164. package/dist/docs/supersede.js.map +1 -1
  165. package/dist/docs/version-ssot.js +1 -1
  166. package/dist/docs/version-ssot.js.map +1 -1
  167. package/dist/doctor/db-substrate.d.ts.map +1 -1
  168. package/dist/doctor/db-substrate.js +39 -24
  169. package/dist/doctor/db-substrate.js.map +1 -1
  170. package/dist/doctor/knowledge-summary.d.ts +10 -3
  171. package/dist/doctor/knowledge-summary.d.ts.map +1 -1
  172. package/dist/doctor/knowledge-summary.js +10 -3
  173. package/dist/doctor/knowledge-summary.js.map +1 -1
  174. package/dist/doctor/orphan-ac-bindings.d.ts +64 -0
  175. package/dist/doctor/orphan-ac-bindings.d.ts.map +1 -0
  176. package/dist/doctor/orphan-ac-bindings.js +59 -0
  177. package/dist/doctor/orphan-ac-bindings.js.map +1 -0
  178. package/dist/doctor/project-identity.d.ts +128 -37
  179. package/dist/doctor/project-identity.d.ts.map +1 -1
  180. package/dist/doctor/project-identity.js +476 -63
  181. package/dist/doctor/project-identity.js.map +1 -1
  182. package/dist/doctor/projects.d.ts.map +1 -1
  183. package/dist/doctor/projects.js +43 -29
  184. package/dist/doctor/projects.js.map +1 -1
  185. package/dist/doctor/row-identity.d.ts +31 -0
  186. package/dist/doctor/row-identity.d.ts.map +1 -0
  187. package/dist/doctor/row-identity.js +93 -0
  188. package/dist/doctor/row-identity.js.map +1 -0
  189. package/dist/doctor/twin-collapse.d.ts +108 -2
  190. package/dist/doctor/twin-collapse.d.ts.map +1 -1
  191. package/dist/doctor/twin-collapse.js +309 -7
  192. package/dist/doctor/twin-collapse.js.map +1 -1
  193. package/dist/error-catalog.js +2 -2
  194. package/dist/error-catalog.js.map +1 -1
  195. package/dist/error-registry.js +1 -1
  196. package/dist/error-registry.js.map +1 -1
  197. package/dist/gateway-client/generated/types.gen.d.ts +22 -2
  198. package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
  199. package/dist/index.d.ts +1 -1
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +1 -1
  202. package/dist/index.js.map +1 -1
  203. package/dist/init.d.ts.map +1 -1
  204. package/dist/init.js +20 -11
  205. package/dist/init.js.map +1 -1
  206. package/dist/inject/index.d.ts.map +1 -1
  207. package/dist/inject/index.js +2 -3
  208. package/dist/inject/index.js.map +1 -1
  209. package/dist/internal.d.ts +5 -4
  210. package/dist/internal.d.ts.map +1 -1
  211. package/dist/internal.js +6 -4
  212. package/dist/internal.js.map +1 -1
  213. package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
  214. package/dist/lifecycle/verification/satisfies-validator.js +10 -0
  215. package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
  216. package/dist/llm/credential-remove-entry.d.ts +59 -0
  217. package/dist/llm/credential-remove-entry.d.ts.map +1 -0
  218. package/dist/llm/credential-remove-entry.js +101 -0
  219. package/dist/llm/credential-remove-entry.js.map +1 -0
  220. package/dist/llm/oauth/device-code.d.ts +26 -6
  221. package/dist/llm/oauth/device-code.d.ts.map +1 -1
  222. package/dist/llm/oauth/device-code.js +44 -12
  223. package/dist/llm/oauth/device-code.js.map +1 -1
  224. package/dist/llm/plugin-facade.js +18202 -14682
  225. package/dist/llm/plugin-facade.js.map +3 -3
  226. package/dist/memory/attention.d.ts.map +1 -1
  227. package/dist/memory/attention.js +5 -3
  228. package/dist/memory/attention.js.map +1 -1
  229. package/dist/memory/decisions.d.ts +48 -3
  230. package/dist/memory/decisions.d.ts.map +1 -1
  231. package/dist/memory/decisions.js +98 -14
  232. package/dist/memory/decisions.js.map +1 -1
  233. package/dist/memory/index.d.ts.map +1 -1
  234. package/dist/memory/index.js +19 -10
  235. package/dist/memory/index.js.map +1 -1
  236. package/dist/memory/learnings.d.ts +6 -6
  237. package/dist/memory/manifest-identity.d.ts +171 -0
  238. package/dist/memory/manifest-identity.d.ts.map +1 -0
  239. package/dist/memory/manifest-identity.js +345 -0
  240. package/dist/memory/manifest-identity.js.map +1 -0
  241. package/dist/memory/mental-model-queue.d.ts +14 -4
  242. package/dist/memory/mental-model-queue.d.ts.map +1 -1
  243. package/dist/memory/mental-model-queue.js +64 -35
  244. package/dist/memory/mental-model-queue.js.map +1 -1
  245. package/dist/memory/patterns.d.ts +4 -4
  246. package/dist/memory/pipeline-manifest-sqlite.d.ts +47 -5
  247. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  248. package/dist/memory/pipeline-manifest-sqlite.js +130 -14
  249. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  250. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  251. package/dist/memory/retrieval/observe.js +2 -0
  252. package/dist/memory/retrieval/observe.js.map +1 -1
  253. package/dist/memory/transcript-scanner.js +1 -1
  254. package/dist/migration/manual/T10165-backfill-adr-index.d.ts.map +1 -1
  255. package/dist/migration/manual/T10165-backfill-adr-index.js +5 -1
  256. package/dist/migration/manual/T10165-backfill-adr-index.js.map +1 -1
  257. package/dist/nexus/deps.d.ts.map +1 -1
  258. package/dist/nexus/deps.js +7 -14
  259. package/dist/nexus/deps.js.map +1 -1
  260. package/dist/nexus/discover.d.ts.map +1 -1
  261. package/dist/nexus/discover.js +6 -9
  262. package/dist/nexus/discover.js.map +1 -1
  263. package/dist/nexus/fleet-status.d.ts +83 -0
  264. package/dist/nexus/fleet-status.d.ts.map +1 -0
  265. package/dist/nexus/fleet-status.js +414 -0
  266. package/dist/nexus/fleet-status.js.map +1 -0
  267. package/dist/nexus/git-state.d.ts +15 -0
  268. package/dist/nexus/git-state.d.ts.map +1 -1
  269. package/dist/nexus/git-state.js +77 -3
  270. package/dist/nexus/git-state.js.map +1 -1
  271. package/dist/nexus/identity.d.ts.map +1 -1
  272. package/dist/nexus/identity.js +4 -0
  273. package/dist/nexus/identity.js.map +1 -1
  274. package/dist/nexus/index.d.ts +4 -1
  275. package/dist/nexus/index.d.ts.map +1 -1
  276. package/dist/nexus/index.js +7 -1
  277. package/dist/nexus/index.js.map +1 -1
  278. package/dist/nexus/migrate-json-to-sqlite.d.ts +3 -2
  279. package/dist/nexus/migrate-json-to-sqlite.d.ts.map +1 -1
  280. package/dist/nexus/migrate-json-to-sqlite.js +9 -17
  281. package/dist/nexus/migrate-json-to-sqlite.js.map +1 -1
  282. package/dist/nexus/ops.d.ts +1 -0
  283. package/dist/nexus/ops.d.ts.map +1 -1
  284. package/dist/nexus/project-activity.d.ts +104 -0
  285. package/dist/nexus/project-activity.d.ts.map +1 -0
  286. package/dist/nexus/project-activity.js +150 -0
  287. package/dist/nexus/project-activity.js.map +1 -0
  288. package/dist/nexus/projects-clean.d.ts.map +1 -1
  289. package/dist/nexus/projects-clean.js +22 -11
  290. package/dist/nexus/projects-clean.js.map +1 -1
  291. package/dist/nexus/projects-scan.d.ts.map +1 -1
  292. package/dist/nexus/projects-scan.js +8 -13
  293. package/dist/nexus/projects-scan.js.map +1 -1
  294. package/dist/nexus/query.d.ts +2 -2
  295. package/dist/nexus/query.d.ts.map +1 -1
  296. package/dist/nexus/query.js +8 -31
  297. package/dist/nexus/query.js.map +1 -1
  298. package/dist/nexus/registry-errors.d.ts +61 -0
  299. package/dist/nexus/registry-errors.d.ts.map +1 -0
  300. package/dist/nexus/registry-errors.js +85 -0
  301. package/dist/nexus/registry-errors.js.map +1 -0
  302. package/dist/nexus/registry-roots.d.ts +5 -2
  303. package/dist/nexus/registry-roots.d.ts.map +1 -1
  304. package/dist/nexus/registry-roots.js +8 -10
  305. package/dist/nexus/registry-roots.js.map +1 -1
  306. package/dist/nexus/registry.d.ts +48 -5
  307. package/dist/nexus/registry.d.ts.map +1 -1
  308. package/dist/nexus/registry.js +151 -85
  309. package/dist/nexus/registry.js.map +1 -1
  310. package/dist/orchestrate/pivot.d.ts +4 -0
  311. package/dist/orchestrate/pivot.d.ts.map +1 -1
  312. package/dist/orchestrate/pivot.js +75 -12
  313. package/dist/orchestrate/pivot.js.map +1 -1
  314. package/dist/orchestrate/query-ops.d.ts.map +1 -1
  315. package/dist/orchestrate/query-ops.js +29 -27
  316. package/dist/orchestrate/query-ops.js.map +1 -1
  317. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  318. package/dist/orchestrate/spawn-ops.js +29 -3
  319. package/dist/orchestrate/spawn-ops.js.map +1 -1
  320. package/dist/orchestrate/worktree-complete.d.ts.map +1 -1
  321. package/dist/orchestrate/worktree-complete.js +40 -2
  322. package/dist/orchestrate/worktree-complete.js.map +1 -1
  323. package/dist/orchestration/bootstrap.d.ts.map +1 -1
  324. package/dist/orchestration/bootstrap.js +20 -14
  325. package/dist/orchestration/bootstrap.js.map +1 -1
  326. package/dist/orchestration/index.d.ts +15 -1
  327. package/dist/orchestration/index.d.ts.map +1 -1
  328. package/dist/orchestration/index.js +25 -6
  329. package/dist/orchestration/index.js.map +1 -1
  330. package/dist/orchestration/lead-rollup.d.ts +7 -1
  331. package/dist/orchestration/lead-rollup.d.ts.map +1 -1
  332. package/dist/orchestration/lead-rollup.js +6 -3
  333. package/dist/orchestration/lead-rollup.js.map +1 -1
  334. package/dist/orchestration/spawn-prompt.d.ts +26 -0
  335. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  336. package/dist/orchestration/spawn-prompt.js +63 -92
  337. package/dist/orchestration/spawn-prompt.js.map +1 -1
  338. package/dist/orchestration/waves.d.ts +21 -10
  339. package/dist/orchestration/waves.d.ts.map +1 -1
  340. package/dist/orchestration/waves.js +38 -35
  341. package/dist/orchestration/waves.js.map +1 -1
  342. package/dist/paths.d.ts +9 -2
  343. package/dist/paths.d.ts.map +1 -1
  344. package/dist/paths.js +30 -13
  345. package/dist/paths.js.map +1 -1
  346. package/dist/phases/index.d.ts +1 -1
  347. package/dist/phases/index.d.ts.map +1 -1
  348. package/dist/phases/index.js +3 -4
  349. package/dist/phases/index.js.map +1 -1
  350. package/dist/project-info.d.ts +40 -3
  351. package/dist/project-info.d.ts.map +1 -1
  352. package/dist/project-info.js +74 -6
  353. package/dist/project-info.js.map +1 -1
  354. package/dist/project-lifecycle.d.ts +28 -7
  355. package/dist/project-lifecycle.d.ts.map +1 -1
  356. package/dist/project-lifecycle.js +114 -47
  357. package/dist/project-lifecycle.js.map +1 -1
  358. package/dist/project-scope.d.ts +70 -3
  359. package/dist/project-scope.d.ts.map +1 -1
  360. package/dist/project-scope.js +154 -15
  361. package/dist/project-scope.js.map +1 -1
  362. package/dist/release/ci-evidence.d.ts +190 -0
  363. package/dist/release/ci-evidence.d.ts.map +1 -1
  364. package/dist/release/ci-evidence.js +436 -4
  365. package/dist/release/ci-evidence.js.map +1 -1
  366. package/dist/release/open.d.ts +12 -2
  367. package/dist/release/open.d.ts.map +1 -1
  368. package/dist/release/open.js +32 -3
  369. package/dist/release/open.js.map +1 -1
  370. package/dist/release/preflight-skip.d.ts +73 -0
  371. package/dist/release/preflight-skip.d.ts.map +1 -0
  372. package/dist/release/preflight-skip.js +254 -0
  373. package/dist/release/preflight-skip.js.map +1 -0
  374. package/dist/render/decide/index.d.ts +51 -0
  375. package/dist/render/decide/index.d.ts.map +1 -0
  376. package/dist/render/decide/index.js +289 -0
  377. package/dist/render/decide/index.js.map +1 -0
  378. package/dist/render/index.d.ts +1 -0
  379. package/dist/render/index.d.ts.map +1 -1
  380. package/dist/render/index.js +1 -0
  381. package/dist/render/index.js.map +1 -1
  382. package/dist/render/nexus/graph/index.d.ts +5 -0
  383. package/dist/render/nexus/graph/index.d.ts.map +1 -1
  384. package/dist/render/nexus/graph/index.js +53 -0
  385. package/dist/render/nexus/graph/index.js.map +1 -1
  386. package/dist/scaffold/ensure-config.d.ts +14 -6
  387. package/dist/scaffold/ensure-config.d.ts.map +1 -1
  388. package/dist/scaffold/ensure-config.js +39 -17
  389. package/dist/scaffold/ensure-config.js.map +1 -1
  390. package/dist/scaffold/project-identity.d.ts +115 -23
  391. package/dist/scaffold/project-identity.d.ts.map +1 -1
  392. package/dist/scaffold/project-identity.js +196 -44
  393. package/dist/scaffold/project-identity.js.map +1 -1
  394. package/dist/sdk/validator-ac-pull.d.ts.map +1 -1
  395. package/dist/sdk/validator-ac-pull.js +2 -1
  396. package/dist/sdk/validator-ac-pull.js.map +1 -1
  397. package/dist/selfimprove/fix-gen.js +18221 -14701
  398. package/dist/selfimprove/fix-gen.js.map +3 -3
  399. package/dist/sentient/cross-project-hygiene.d.ts +17 -6
  400. package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
  401. package/dist/sentient/cross-project-hygiene.js +22 -11
  402. package/dist/sentient/cross-project-hygiene.js.map +1 -1
  403. package/dist/sentient/propose-tick.d.ts.map +1 -1
  404. package/dist/sentient/propose-tick.js +2 -3
  405. package/dist/sentient/propose-tick.js.map +1 -1
  406. package/dist/sentient/stage-drift-tick.d.ts.map +1 -1
  407. package/dist/sentient/stage-drift-tick.js +2 -3
  408. package/dist/sentient/stage-drift-tick.js.map +1 -1
  409. package/dist/session/engine-ops.d.ts +13 -4
  410. package/dist/session/engine-ops.d.ts.map +1 -1
  411. package/dist/session/engine-ops.js +38 -45
  412. package/dist/session/engine-ops.js.map +1 -1
  413. package/dist/sessions/briefing.d.ts +7 -3
  414. package/dist/sessions/briefing.d.ts.map +1 -1
  415. package/dist/sessions/briefing.js +10 -10
  416. package/dist/sessions/briefing.js.map +1 -1
  417. package/dist/sessions/drift-watchdog.d.ts.map +1 -1
  418. package/dist/sessions/drift-watchdog.js +11 -19
  419. package/dist/sessions/drift-watchdog.js.map +1 -1
  420. package/dist/sessions/focus-state-store.d.ts +103 -26
  421. package/dist/sessions/focus-state-store.d.ts.map +1 -1
  422. package/dist/sessions/focus-state-store.js +166 -37
  423. package/dist/sessions/focus-state-store.js.map +1 -1
  424. package/dist/sessions/handoff.d.ts.map +1 -1
  425. package/dist/sessions/handoff.js +9 -18
  426. package/dist/sessions/handoff.js.map +1 -1
  427. package/dist/sessions/index.d.ts +4 -2
  428. package/dist/sessions/index.d.ts.map +1 -1
  429. package/dist/sessions/index.js +35 -6
  430. package/dist/sessions/index.js.map +1 -1
  431. package/dist/sessions/session-drift.d.ts.map +1 -1
  432. package/dist/sessions/session-drift.js +4 -2
  433. package/dist/sessions/session-drift.js.map +1 -1
  434. package/dist/sessions/session-view.d.ts +8 -1
  435. package/dist/sessions/session-view.d.ts.map +1 -1
  436. package/dist/sessions/session-view.js +9 -2
  437. package/dist/sessions/session-view.js.map +1 -1
  438. package/dist/setup/config-json-merge.d.ts.map +1 -1
  439. package/dist/setup/config-json-merge.js +1 -0
  440. package/dist/setup/config-json-merge.js.map +1 -1
  441. package/dist/setup/index.d.ts +4 -2
  442. package/dist/setup/index.d.ts.map +1 -1
  443. package/dist/setup/index.js +6 -2
  444. package/dist/setup/index.js.map +1 -1
  445. package/dist/setup/sections/nexus-account.d.ts +32 -0
  446. package/dist/setup/sections/nexus-account.d.ts.map +1 -0
  447. package/dist/setup/sections/nexus-account.js +64 -0
  448. package/dist/setup/sections/nexus-account.js.map +1 -0
  449. package/dist/setup/wizard.d.ts +1 -1
  450. package/dist/setup/wizard.d.ts.map +1 -1
  451. package/dist/setup/wizard.js.map +1 -1
  452. package/dist/skills/manifests/research.js +2 -0
  453. package/dist/skills/manifests/research.js.map +1 -1
  454. package/dist/skills/orchestrator/startup.d.ts.map +1 -1
  455. package/dist/skills/orchestrator/startup.js +18 -31
  456. package/dist/skills/orchestrator/startup.js.map +1 -1
  457. package/dist/skills/orchestrator/validator.d.ts.map +1 -1
  458. package/dist/skills/orchestrator/validator.js +9 -2
  459. package/dist/skills/orchestrator/validator.js.map +1 -1
  460. package/dist/skills/validation.d.ts +4 -1
  461. package/dist/skills/validation.d.ts.map +1 -1
  462. package/dist/skills/validation.js +11 -3
  463. package/dist/skills/validation.js.map +1 -1
  464. package/dist/snapshot/index.d.ts.map +1 -1
  465. package/dist/snapshot/index.js +60 -53
  466. package/dist/snapshot/index.js.map +1 -1
  467. package/dist/spawn/agent-identity.d.ts +33 -1
  468. package/dist/spawn/agent-identity.d.ts.map +1 -1
  469. package/dist/spawn/agent-identity.js +53 -1
  470. package/dist/spawn/agent-identity.js.map +1 -1
  471. package/dist/spawn/branch-lock.d.ts +111 -7
  472. package/dist/spawn/branch-lock.d.ts.map +1 -1
  473. package/dist/spawn/branch-lock.js +296 -8
  474. package/dist/spawn/branch-lock.js.map +1 -1
  475. package/dist/spawn/index.d.ts +1 -1
  476. package/dist/spawn/index.d.ts.map +1 -1
  477. package/dist/spawn/index.js +1 -1
  478. package/dist/spawn/index.js.map +1 -1
  479. package/dist/stats/index.d.ts.map +1 -1
  480. package/dist/stats/index.js +3 -4
  481. package/dist/stats/index.js.map +1 -1
  482. package/dist/status/index.d.ts +12 -3
  483. package/dist/status/index.d.ts.map +1 -1
  484. package/dist/status/index.js +47 -5
  485. package/dist/status/index.js.map +1 -1
  486. package/dist/store/ac-binding-prune.d.ts +144 -0
  487. package/dist/store/ac-binding-prune.d.ts.map +1 -0
  488. package/dist/store/ac-binding-prune.js +293 -0
  489. package/dist/store/ac-binding-prune.js.map +1 -0
  490. package/dist/store/agent-registry-store.d.ts.map +1 -1
  491. package/dist/store/agent-registry-store.js +3 -2
  492. package/dist/store/agent-registry-store.js.map +1 -1
  493. package/dist/store/attachment-repair.d.ts.map +1 -1
  494. package/dist/store/attachment-repair.js +42 -3
  495. package/dist/store/attachment-repair.js.map +1 -1
  496. package/dist/store/attachment-store.d.ts.map +1 -1
  497. package/dist/store/attachment-store.js +30 -46
  498. package/dist/store/attachment-store.js.map +1 -1
  499. package/dist/store/backup-recover-brain.d.ts +4 -0
  500. package/dist/store/backup-recover-brain.d.ts.map +1 -1
  501. package/dist/store/backup-recover-brain.js +2 -0
  502. package/dist/store/backup-recover-brain.js.map +1 -1
  503. package/dist/store/backup-recover.d.ts +9 -0
  504. package/dist/store/backup-recover.d.ts.map +1 -1
  505. package/dist/store/backup-recover.js +28 -1
  506. package/dist/store/backup-recover.js.map +1 -1
  507. package/dist/store/backup-sidecar.d.ts +115 -2
  508. package/dist/store/backup-sidecar.d.ts.map +1 -1
  509. package/dist/store/backup-sidecar.js +263 -3
  510. package/dist/store/backup-sidecar.js.map +1 -1
  511. package/dist/store/blob-keep.d.ts +135 -0
  512. package/dist/store/blob-keep.d.ts.map +1 -0
  513. package/dist/store/blob-keep.js +283 -0
  514. package/dist/store/blob-keep.js.map +1 -0
  515. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  516. package/dist/store/conduit-sqlite.js +3 -2
  517. package/dist/store/conduit-sqlite.js.map +1 -1
  518. package/dist/store/converters.d.ts.map +1 -1
  519. package/dist/store/converters.js +11 -0
  520. package/dist/store/converters.js.map +1 -1
  521. package/dist/store/credential-transfer.d.ts +37 -5
  522. package/dist/store/credential-transfer.d.ts.map +1 -1
  523. package/dist/store/credential-transfer.js +76 -18
  524. package/dist/store/credential-transfer.js.map +1 -1
  525. package/dist/store/data-accessor.d.ts +1 -1
  526. package/dist/store/data-accessor.d.ts.map +1 -1
  527. package/dist/store/data-accessor.js.map +1 -1
  528. package/dist/store/db-helpers.d.ts +35 -11
  529. package/dist/store/db-helpers.d.ts.map +1 -1
  530. package/dist/store/db-helpers.js +107 -38
  531. package/dist/store/db-helpers.js.map +1 -1
  532. package/dist/store/display-id-alias.d.ts +529 -0
  533. package/dist/store/display-id-alias.d.ts.map +1 -0
  534. package/dist/store/display-id-alias.js +1063 -0
  535. package/dist/store/display-id-alias.js.map +1 -0
  536. package/dist/store/dual-scope-db.d.ts.map +1 -1
  537. package/dist/store/dual-scope-db.js +21 -0
  538. package/dist/store/dual-scope-db.js.map +1 -1
  539. package/dist/store/exodus/on-open.d.ts.map +1 -1
  540. package/dist/store/exodus/on-open.js +35 -0
  541. package/dist/store/exodus/on-open.js.map +1 -1
  542. package/dist/store/exodus/reconcile.d.ts.map +1 -1
  543. package/dist/store/exodus/reconcile.js +7 -2
  544. package/dist/store/exodus/reconcile.js.map +1 -1
  545. package/dist/store/exodus/recovery.d.ts.map +1 -1
  546. package/dist/store/exodus/recovery.js +20 -1
  547. package/dist/store/exodus/recovery.js.map +1 -1
  548. package/dist/store/exodus/runtime-targets.d.ts +3 -3
  549. package/dist/store/exodus/runtime-targets.js +3 -3
  550. package/dist/store/import-remap.d.ts +12 -1
  551. package/dist/store/import-remap.d.ts.map +1 -1
  552. package/dist/store/import-remap.js +14 -0
  553. package/dist/store/import-remap.js.map +1 -1
  554. package/dist/store/legacy-tasks-lineage.d.ts +3 -1
  555. package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
  556. package/dist/store/legacy-tasks-lineage.js +22 -3
  557. package/dist/store/legacy-tasks-lineage.js.map +1 -1
  558. package/dist/store/memory-accessor.js +1 -1
  559. package/dist/store/memory-accessor.js.map +1 -1
  560. package/dist/store/migration-manager.d.ts +61 -0
  561. package/dist/store/migration-manager.d.ts.map +1 -1
  562. package/dist/store/migration-manager.js +102 -4
  563. package/dist/store/migration-manager.js.map +1 -1
  564. package/dist/store/nexus-validation-schemas.d.ts +64 -0
  565. package/dist/store/nexus-validation-schemas.d.ts.map +1 -1
  566. package/dist/store/portable-bundle-import.d.ts +8 -0
  567. package/dist/store/portable-bundle-import.d.ts.map +1 -1
  568. package/dist/store/portable-bundle-import.js +10 -0
  569. package/dist/store/portable-bundle-import.js.map +1 -1
  570. package/dist/store/portable-bundle-scan.d.ts.map +1 -1
  571. package/dist/store/portable-bundle-scan.js +1 -0
  572. package/dist/store/portable-bundle-scan.js.map +1 -1
  573. package/dist/store/portable-bundle.d.ts.map +1 -1
  574. package/dist/store/portable-bundle.js +15 -14
  575. package/dist/store/portable-bundle.js.map +1 -1
  576. package/dist/store/pre-repair-snapshot.d.ts +4 -1
  577. package/dist/store/pre-repair-snapshot.d.ts.map +1 -1
  578. package/dist/store/pre-repair-snapshot.js +5 -1
  579. package/dist/store/pre-repair-snapshot.js.map +1 -1
  580. package/dist/store/regenerators.d.ts +4 -2
  581. package/dist/store/regenerators.d.ts.map +1 -1
  582. package/dist/store/regenerators.js +7 -3
  583. package/dist/store/regenerators.js.map +1 -1
  584. package/dist/store/repair-malformed-dbs.d.ts +4 -0
  585. package/dist/store/repair-malformed-dbs.d.ts.map +1 -1
  586. package/dist/store/repair-malformed-dbs.js +3 -0
  587. package/dist/store/repair-malformed-dbs.js.map +1 -1
  588. package/dist/store/row-identity-flag.d.ts +26 -0
  589. package/dist/store/row-identity-flag.d.ts.map +1 -0
  590. package/dist/store/row-identity-flag.js +31 -0
  591. package/dist/store/row-identity-flag.js.map +1 -0
  592. package/dist/store/row-identity-registry.d.ts +61 -0
  593. package/dist/store/row-identity-registry.d.ts.map +1 -0
  594. package/dist/store/row-identity-registry.js +198 -0
  595. package/dist/store/row-identity-registry.js.map +1 -0
  596. package/dist/store/row-identity.d.ts +390 -0
  597. package/dist/store/row-identity.d.ts.map +1 -0
  598. package/dist/store/row-identity.js +1240 -0
  599. package/dist/store/row-identity.js.map +1 -0
  600. package/dist/store/safety-data-accessor.d.ts +10 -3
  601. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  602. package/dist/store/safety-data-accessor.js +15 -4
  603. package/dist/store/safety-data-accessor.js.map +1 -1
  604. package/dist/store/schema/attachments.d.ts +1 -1
  605. package/dist/store/schema/audit.d.ts +4 -4
  606. package/dist/store/schema/background-jobs.d.ts +1 -1
  607. package/dist/store/schema/cleo-global/nexus.d.ts +49 -1
  608. package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
  609. package/dist/store/schema/cleo-global/nexus.js +17 -0
  610. package/dist/store/schema/cleo-global/nexus.js.map +1 -1
  611. package/dist/store/schema/cleo-global/skills.d.ts +2 -2
  612. package/dist/store/schema/cleo-project/audit.d.ts +4 -4
  613. package/dist/store/schema/cleo-project/docs.d.ts +17 -1
  614. package/dist/store/schema/cleo-project/docs.d.ts.map +1 -1
  615. package/dist/store/schema/cleo-project/docs.js +10 -0
  616. package/dist/store/schema/cleo-project/docs.js.map +1 -1
  617. package/dist/store/schema/cleo-project/lifecycle.d.ts +4 -4
  618. package/dist/store/schema/cleo-project/nexus-graph.d.ts +3 -3
  619. package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
  620. package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
  621. package/dist/store/schema/cleo-project/runtime.d.ts +3 -3
  622. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +87 -1
  623. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts.map +1 -1
  624. package/dist/store/schema/cleo-project/tasks-core-batch2.js +35 -0
  625. package/dist/store/schema/cleo-project/tasks-core-batch2.js.map +1 -1
  626. package/dist/store/schema/cleo-project/tasks-core.d.ts +263 -7
  627. package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
  628. package/dist/store/schema/cleo-project/tasks-core.js +77 -2
  629. package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
  630. package/dist/store/schema/cleo-shared/brain.d.ts +7 -7
  631. package/dist/store/schema/lifecycle.d.ts +4 -4
  632. package/dist/store/schema/manifest.d.ts +1 -1
  633. package/dist/store/schema/memory-schema.d.ts +6 -6
  634. package/dist/store/schema/nexus-schema.d.ts +51 -3
  635. package/dist/store/schema/nexus-schema.d.ts.map +1 -1
  636. package/dist/store/schema/nexus-schema.js +28 -7
  637. package/dist/store/schema/nexus-schema.js.map +1 -1
  638. package/dist/store/schema/provenance/releases.d.ts +1 -1
  639. package/dist/store/schema/skills-schema.d.ts +2 -2
  640. package/dist/store/schema/tasks.d.ts +6 -6
  641. package/dist/store/session-store.d.ts +65 -0
  642. package/dist/store/session-store.d.ts.map +1 -1
  643. package/dist/store/session-store.js +108 -7
  644. package/dist/store/session-store.js.map +1 -1
  645. package/dist/store/split-brain-import.d.ts +2 -14
  646. package/dist/store/split-brain-import.d.ts.map +1 -1
  647. package/dist/store/split-brain-import.js +4 -19
  648. package/dist/store/split-brain-import.js.map +1 -1
  649. package/dist/store/sqlite-data-accessor.d.ts +279 -2
  650. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  651. package/dist/store/sqlite-data-accessor.js +789 -91
  652. package/dist/store/sqlite-data-accessor.js.map +1 -1
  653. package/dist/store/sqlite.d.ts +15 -3
  654. package/dist/store/sqlite.d.ts.map +1 -1
  655. package/dist/store/sqlite.js +52 -20
  656. package/dist/store/sqlite.js.map +1 -1
  657. package/dist/store/store-write-guard.d.ts +9 -3
  658. package/dist/store/store-write-guard.d.ts.map +1 -1
  659. package/dist/store/store-write-guard.js +25 -4
  660. package/dist/store/store-write-guard.js.map +1 -1
  661. package/dist/store/sync/clock-store.d.ts +67 -0
  662. package/dist/store/sync/clock-store.d.ts.map +1 -0
  663. package/dist/store/sync/clock-store.js +117 -0
  664. package/dist/store/sync/clock-store.js.map +1 -0
  665. package/dist/store/sync/flags.d.ts +51 -0
  666. package/dist/store/sync/flags.d.ts.map +1 -0
  667. package/dist/store/sync/flags.js +81 -0
  668. package/dist/store/sync/flags.js.map +1 -0
  669. package/dist/store/sync/hlc.d.ts +115 -0
  670. package/dist/store/sync/hlc.d.ts.map +1 -0
  671. package/dist/store/sync/hlc.js +172 -0
  672. package/dist/store/sync/hlc.js.map +1 -0
  673. package/dist/store/sync/index.d.ts +20 -0
  674. package/dist/store/sync/index.d.ts.map +1 -0
  675. package/dist/store/sync/index.js +20 -0
  676. package/dist/store/sync/index.js.map +1 -0
  677. package/dist/store/sync/replica-registry.d.ts +85 -0
  678. package/dist/store/sync/replica-registry.d.ts.map +1 -0
  679. package/dist/store/sync/replica-registry.js +147 -0
  680. package/dist/store/sync/replica-registry.js.map +1 -0
  681. package/dist/store/sync/replica.d.ts +181 -0
  682. package/dist/store/sync/replica.d.ts.map +1 -0
  683. package/dist/store/sync/replica.js +305 -0
  684. package/dist/store/sync/replica.js.map +1 -0
  685. package/dist/store/sync/schema.d.ts +68 -0
  686. package/dist/store/sync/schema.d.ts.map +1 -0
  687. package/dist/store/sync/schema.js +130 -0
  688. package/dist/store/sync/schema.js.map +1 -0
  689. package/dist/store/sync/skew-hold.d.ts +71 -0
  690. package/dist/store/sync/skew-hold.d.ts.map +1 -0
  691. package/dist/store/sync/skew-hold.js +89 -0
  692. package/dist/store/sync/skew-hold.js.map +1 -0
  693. package/dist/store/table-classification.d.ts +11 -9
  694. package/dist/store/table-classification.d.ts.map +1 -1
  695. package/dist/store/table-classification.js +127 -33
  696. package/dist/store/table-classification.js.map +1 -1
  697. package/dist/store/task-claim.d.ts +144 -0
  698. package/dist/store/task-claim.d.ts.map +1 -0
  699. package/dist/store/task-claim.js +195 -0
  700. package/dist/store/task-claim.js.map +1 -0
  701. package/dist/store/task-version.d.ts +43 -5
  702. package/dist/store/task-version.d.ts.map +1 -1
  703. package/dist/store/task-version.js +113 -17
  704. package/dist/store/task-version.js.map +1 -1
  705. package/dist/store/tasks-schema.d.ts +2 -0
  706. package/dist/store/tasks-schema.d.ts.map +1 -1
  707. package/dist/store/tasks-schema.js +1 -0
  708. package/dist/store/tasks-schema.js.map +1 -1
  709. package/dist/store/tasks-sqlite.d.ts.map +1 -1
  710. package/dist/store/tasks-sqlite.js +10 -2
  711. package/dist/store/tasks-sqlite.js.map +1 -1
  712. package/dist/store/twin-collapse.d.ts +450 -22
  713. package/dist/store/twin-collapse.d.ts.map +1 -1
  714. package/dist/store/twin-collapse.js +1552 -49
  715. package/dist/store/twin-collapse.js.map +1 -1
  716. package/dist/store/umbrella-data-accessor.d.ts +10 -3
  717. package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
  718. package/dist/store/umbrella-data-accessor.js +14 -4
  719. package/dist/store/umbrella-data-accessor.js.map +1 -1
  720. package/dist/store/validation-schemas.d.ts +402 -50
  721. package/dist/store/validation-schemas.d.ts.map +1 -1
  722. package/dist/store/with-retry.d.ts +36 -0
  723. package/dist/store/with-retry.d.ts.map +1 -1
  724. package/dist/store/with-retry.js +51 -0
  725. package/dist/store/with-retry.js.map +1 -1
  726. package/dist/store/worktree-build-guard.d.ts +13 -4
  727. package/dist/store/worktree-build-guard.d.ts.map +1 -1
  728. package/dist/store/worktree-build-guard.js +21 -10
  729. package/dist/store/worktree-build-guard.js.map +1 -1
  730. package/dist/store/worktree-isolation-guard.d.ts +121 -10
  731. package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
  732. package/dist/store/worktree-isolation-guard.js +155 -34
  733. package/dist/store/worktree-isolation-guard.js.map +1 -1
  734. package/dist/system/backup.d.ts +7 -0
  735. package/dist/system/backup.d.ts.map +1 -1
  736. package/dist/system/backup.js +5 -0
  737. package/dist/system/backup.js.map +1 -1
  738. package/dist/system/health.d.ts.map +1 -1
  739. package/dist/system/health.js +6 -1
  740. package/dist/system/health.js.map +1 -1
  741. package/dist/system/inject-generate.d.ts.map +1 -1
  742. package/dist/system/inject-generate.js +23 -10
  743. package/dist/system/inject-generate.js.map +1 -1
  744. package/dist/system/project-health.d.ts +17 -2
  745. package/dist/system/project-health.d.ts.map +1 -1
  746. package/dist/system/project-health.js +19 -6
  747. package/dist/system/project-health.js.map +1 -1
  748. package/dist/task-tools/index.d.ts +1 -1
  749. package/dist/task-tools/index.d.ts.map +1 -1
  750. package/dist/task-tools/index.js +1 -1
  751. package/dist/task-tools/index.js.map +1 -1
  752. package/dist/task-tools/score-task-priority.d.ts +38 -0
  753. package/dist/task-tools/score-task-priority.d.ts.map +1 -1
  754. package/dist/task-tools/score-task-priority.js +51 -0
  755. package/dist/task-tools/score-task-priority.js.map +1 -1
  756. package/dist/task-work/claims.d.ts +215 -0
  757. package/dist/task-work/claims.d.ts.map +1 -0
  758. package/dist/task-work/claims.js +272 -0
  759. package/dist/task-work/claims.js.map +1 -0
  760. package/dist/task-work/index.d.ts +47 -3
  761. package/dist/task-work/index.d.ts.map +1 -1
  762. package/dist/task-work/index.js +74 -41
  763. package/dist/task-work/index.js.map +1 -1
  764. package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
  765. package/dist/tasks/ac-coverage-gate.js +3 -0
  766. package/dist/tasks/ac-coverage-gate.js.map +1 -1
  767. package/dist/tasks/ac-table.d.ts +35 -7
  768. package/dist/tasks/ac-table.d.ts.map +1 -1
  769. package/dist/tasks/ac-table.js +119 -14
  770. package/dist/tasks/ac-table.js.map +1 -1
  771. package/dist/tasks/add.d.ts.map +1 -1
  772. package/dist/tasks/add.js +51 -4
  773. package/dist/tasks/add.js.map +1 -1
  774. package/dist/tasks/analyze.d.ts.map +1 -1
  775. package/dist/tasks/analyze.js +3 -4
  776. package/dist/tasks/analyze.js.map +1 -1
  777. package/dist/tasks/backfill-child-projections.js +47 -6
  778. package/dist/tasks/backfill-child-projections.js.map +1 -1
  779. package/dist/tasks/change-set.d.ts +5 -0
  780. package/dist/tasks/change-set.d.ts.map +1 -1
  781. package/dist/tasks/change-set.js +59 -3
  782. package/dist/tasks/change-set.js.map +1 -1
  783. package/dist/tasks/complete.d.ts +16 -0
  784. package/dist/tasks/complete.d.ts.map +1 -1
  785. package/dist/tasks/complete.js +33 -8
  786. package/dist/tasks/complete.js.map +1 -1
  787. package/dist/tasks/completion-evaluation.d.ts.map +1 -1
  788. package/dist/tasks/completion-evaluation.js +3 -0
  789. package/dist/tasks/completion-evaluation.js.map +1 -1
  790. package/dist/tasks/component-pr.d.ts +162 -1
  791. package/dist/tasks/component-pr.d.ts.map +1 -1
  792. package/dist/tasks/component-pr.js +560 -59
  793. package/dist/tasks/component-pr.js.map +1 -1
  794. package/dist/tasks/done-record.d.ts +14 -1
  795. package/dist/tasks/done-record.d.ts.map +1 -1
  796. package/dist/tasks/done-record.js +37 -0
  797. package/dist/tasks/done-record.js.map +1 -1
  798. package/dist/tasks/duplicate-detector.d.ts +20 -1
  799. package/dist/tasks/duplicate-detector.d.ts.map +1 -1
  800. package/dist/tasks/duplicate-detector.js +10 -2
  801. package/dist/tasks/duplicate-detector.js.map +1 -1
  802. package/dist/tasks/engine-wrap-ops.d.ts +19 -10
  803. package/dist/tasks/engine-wrap-ops.d.ts.map +1 -1
  804. package/dist/tasks/engine-wrap-ops.js +38 -10
  805. package/dist/tasks/engine-wrap-ops.js.map +1 -1
  806. package/dist/tasks/evidence.d.ts.map +1 -1
  807. package/dist/tasks/evidence.js +14 -3
  808. package/dist/tasks/evidence.js.map +1 -1
  809. package/dist/tasks/graph-ops.d.ts +9 -2
  810. package/dist/tasks/graph-ops.d.ts.map +1 -1
  811. package/dist/tasks/graph-ops.js +24 -32
  812. package/dist/tasks/graph-ops.js.map +1 -1
  813. package/dist/tasks/plan.d.ts.map +1 -1
  814. package/dist/tasks/plan.js +16 -60
  815. package/dist/tasks/plan.js.map +1 -1
  816. package/dist/tasks/task-context.d.ts.map +1 -1
  817. package/dist/tasks/task-context.js +13 -0
  818. package/dist/tasks/task-context.js.map +1 -1
  819. package/dist/tasks/task-import.d.ts.map +1 -1
  820. package/dist/tasks/task-import.js +21 -12
  821. package/dist/tasks/task-import.js.map +1 -1
  822. package/dist/tasks/task-next.d.ts +25 -2
  823. package/dist/tasks/task-next.d.ts.map +1 -1
  824. package/dist/tasks/task-next.js +32 -13
  825. package/dist/tasks/task-next.js.map +1 -1
  826. package/dist/tasks/update.d.ts.map +1 -1
  827. package/dist/tasks/update.js +7 -5
  828. package/dist/tasks/update.js.map +1 -1
  829. package/dist/upgrade.d.ts +1 -1
  830. package/dist/upgrade.d.ts.map +1 -1
  831. package/dist/upgrade.js +48 -9
  832. package/dist/upgrade.js.map +1 -1
  833. package/dist/validation/compliance.d.ts +5 -1
  834. package/dist/validation/compliance.d.ts.map +1 -1
  835. package/dist/validation/compliance.js +24 -3
  836. package/dist/validation/compliance.js.map +1 -1
  837. package/dist/validation/doctor/checks.d.ts +20 -6
  838. package/dist/validation/doctor/checks.d.ts.map +1 -1
  839. package/dist/validation/doctor/checks.js +51 -8
  840. package/dist/validation/doctor/checks.js.map +1 -1
  841. package/dist/validation/index.d.ts +1 -1
  842. package/dist/validation/index.d.ts.map +1 -1
  843. package/dist/validation/index.js +1 -1
  844. package/dist/validation/index.js.map +1 -1
  845. package/dist/validation/protocol-common.d.ts +47 -2
  846. package/dist/validation/protocol-common.d.ts.map +1 -1
  847. package/dist/validation/protocol-common.js +86 -21
  848. package/dist/validation/protocol-common.js.map +1 -1
  849. package/dist/validation/validate-ops.d.ts.map +1 -1
  850. package/dist/validation/validate-ops.js +2 -3
  851. package/dist/validation/validate-ops.js.map +1 -1
  852. package/migrations/README.md +12 -0
  853. package/migrations/drizzle-cleo-global/20260929010000_t12512-registry-probed-opened/migration.sql +35 -0
  854. package/migrations/drizzle-cleo-global/20260929020000_t12721-git-state-head-committed-at/migration.sql +25 -0
  855. package/migrations/drizzle-cleo-project/20260928120000_t12341-row-uids/migration.sql +169 -0
  856. package/migrations/drizzle-cleo-project/20260929000000_t12535-docs-attachments-union-shape/migration.sql +21 -0
  857. package/migrations/drizzle-cleo-project/20260929120000_t12502-task-claim-leases/migration.sql +77 -0
  858. package/migrations/drizzle-cleo-project/20260929130000_t12736-claim-lease-iso-repair/migration.sql +37 -0
  859. package/migrations/sync-journal/20260929140000_t12342-sync-clock/migration.sql +42 -0
  860. package/package.json +23 -13
  861. package/schemas/project-info.schema.json +10 -4
  862. package/templates/CLEO-INJECTION.md +1 -1
  863. package/templates/CLEO-REFERENCE.md +7 -3
  864. package/templates/cleo-gitignore +11 -0
  865. package/templates/workflows/release-prepare.yml.tmpl +156 -10
@@ -3,8 +3,10 @@
3
3
  *
4
4
  * Implements the data layer for `cleo status`: aggregates identity,
5
5
  * credentials, config-tier state, session, harness, and sentient-daemon
6
- * state into a single typed envelope without performing any network calls
7
- * or credential seeding. Read-only; safe to invoke on every CLI tick.
6
+ * state into a single typed envelope without credential seeding. The only
7
+ * network call is the Cleo Nexus session check, made only when a Nexus token
8
+ * is stored and bounded by a short timeout (T12712). Read-only; safe to
9
+ * invoke on every CLI tick.
8
10
  *
9
11
  * Spec: `docs/plans/E-CONFIG-AUTH-UNIFY.md` §3.3.6 (`CleoStatus` interface)
10
12
  * and §5.3 T-E3-4 (acceptance criteria).
@@ -17,6 +19,7 @@
17
19
  * @epic T9402 (E-CONFIG-AUTH-UNIFY E3)
18
20
  * @task T9423 (T-E3-4)
19
21
  */
22
+ import type { NexusAccountStatus } from '@cleocode/contracts';
20
23
  import type { SeederSourceId } from '../llm/credential-seeders/index.js';
21
24
  import type { StoredAuthType } from '../llm/credentials-store.js';
22
25
  import type { ModelTransport } from '../llm/types-config.js';
@@ -88,13 +91,19 @@ export interface CleoStatus {
88
91
  lastTickAt: number | null;
89
92
  killSwitchActive: boolean;
90
93
  };
94
+ /**
95
+ * Cleo Nexus account sessions: one row per stored API origin, or one
96
+ * "not signed in" row. A 401 from the API reads as `expired` (T12712).
97
+ */
98
+ nexusAccount: NexusAccountStatus[];
91
99
  }
92
100
  /**
93
101
  * Aggregate the full {@link CleoStatus} snapshot.
94
102
  *
95
103
  * Reads identity, credentials, config-tier state, session, harness, and
96
104
  * sentient-daemon state in parallel and folds them into one envelope. No
97
- * network calls; no credential seeding (the pool's `list()` is pure-read).
105
+ * credential seeding (the pool's `list()` is pure-read); the only network
106
+ * call is the bounded Nexus session check, made only when a token is stored.
98
107
  * Sub-blocks degrade independently — a broken session store does not
99
108
  * suppress the credentials block, etc.
100
109
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/status/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU7D;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,QAAQ,EAAE,cAAc,CAAC;IACzB,uEAAuE;IACvE,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC;IAChC,4IAA4I;IAC5I,aAAa,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5C,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,uGAAuG;IACvG,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;IACF,0FAA0F;IAC1F,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,0EAA0E;IAC1E,MAAM,EAAE;QACN,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,gBAAgB,EAAE,MAAM,CAAC;QACzB,yBAAyB,EAAE,OAAO,CAAC;QACnC,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;IACF,8BAA8B;IAC9B,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC;IACF,oEAAoE;IACpE,OAAO,EAAE;QACP,MAAM,EAAE,IAAI,GAAG,aAAa,GAAG,SAAS,CAAC;QACzC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,gCAAgC;IAChC,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH;AAmTD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAoBzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/status/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU7D;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,QAAQ,EAAE,cAAc,CAAC;IACzB,uEAAuE;IACvE,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC;IAChC,4IAA4I;IAC5I,aAAa,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5C,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,uGAAuG;IACvG,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;IACF,0FAA0F;IAC1F,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,0EAA0E;IAC1E,MAAM,EAAE;QACN,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,gBAAgB,EAAE,MAAM,CAAC;QACzB,yBAAyB,EAAE,OAAO,CAAC;QACnC,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;IACF,8BAA8B;IAC9B,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC;IACF,oEAAoE;IACpE,OAAO,EAAE;QACP,MAAM,EAAE,IAAI,GAAG,aAAa,GAAG,SAAS,CAAC;QACzC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,gCAAgC;IAChC,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF;;;OAGG;IACH,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAuVD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAwBzD"}
@@ -3,8 +3,10 @@
3
3
  *
4
4
  * Implements the data layer for `cleo status`: aggregates identity,
5
5
  * credentials, config-tier state, session, harness, and sentient-daemon
6
- * state into a single typed envelope without performing any network calls
7
- * or credential seeding. Read-only; safe to invoke on every CLI tick.
6
+ * state into a single typed envelope without credential seeding. The only
7
+ * network call is the Cleo Nexus session check, made only when a Nexus token
8
+ * is stored and bounded by a short timeout (T12712). Read-only; safe to
9
+ * invoke on every CLI tick.
8
10
  *
9
11
  * Spec: `docs/plans/E-CONFIG-AUTH-UNIFY.md` §3.3.6 (`CleoStatus` interface)
10
12
  * and §5.3 T-E3-4 (acceptance criteria).
@@ -18,6 +20,7 @@
18
20
  * @task T9423 (T-E3-4)
19
21
  */
20
22
  import { existsSync } from 'node:fs';
23
+ import { getNexusAccountStatus } from '../cloud/nexus-auth.js';
21
24
  import { getCleoIdentityPath } from '../identity/cleo-identity.js';
22
25
  import { getCredentialPool } from '../llm/credential-pool.js';
23
26
  import { getConfigPath, getGlobalConfigPath, getProjectRoot } from '../paths.js';
@@ -286,13 +289,34 @@ async function buildSessionBlock(projectRoot) {
286
289
  return {
287
290
  active: true,
288
291
  sessionId: active.id,
289
- focusedTask: active.taskWork?.taskId ?? null,
292
+ focusedTask: await readCallerFocus(projectRoot),
290
293
  };
291
294
  }
292
295
  catch {
293
296
  return { active: false, sessionId: null, focusedTask: null };
294
297
  }
295
298
  }
299
+ /**
300
+ * The caller's live focused task (T12501): THE focus-key rule plus the
301
+ * done-task filter. Never the session row's `taskWork`, which is set at
302
+ * start/spawn, never updated, and skips the filter (T12684). `null` when the
303
+ * focus cannot be read.
304
+ *
305
+ * @internal
306
+ */
307
+ async function readCallerFocus(projectRoot) {
308
+ try {
309
+ const [{ getTaskAccessor }, { readLiveFocus, resolveFocusSessionId }] = await Promise.all([
310
+ import('../store/data-accessor.js'),
311
+ import('../sessions/focus-state-store.js'),
312
+ ]);
313
+ const acc = await getTaskAccessor(projectRoot);
314
+ return (await readLiveFocus(acc, await resolveFocusSessionId(projectRoot))).currentTask;
315
+ }
316
+ catch {
317
+ return null;
318
+ }
319
+ }
296
320
  /**
297
321
  * Build the {@link CleoStatus.daemon} block from the sentient daemon API.
298
322
  * `lastTickAt` is normalised from the daemon's ISO-8601 timestamp to epoch
@@ -315,6 +339,21 @@ async function buildDaemonBlock(projectRoot) {
315
339
  return { running: false, pid: null, lastTickAt: null, killSwitchActive: false };
316
340
  }
317
341
  }
342
+ /**
343
+ * Build the {@link CleoStatus.nexusAccount} block. Checks stored sessions live
344
+ * (bounded by `NEXUS_STATUS_TIMEOUT_MS`); with no stored token it makes no
345
+ * network call. Never throws.
346
+ *
347
+ * @internal
348
+ */
349
+ async function buildNexusAccountBlock() {
350
+ try {
351
+ return await getNexusAccountStatus();
352
+ }
353
+ catch {
354
+ return [];
355
+ }
356
+ }
318
357
  // ---------------------------------------------------------------------------
319
358
  // Public entry point
320
359
  // ---------------------------------------------------------------------------
@@ -323,7 +362,8 @@ async function buildDaemonBlock(projectRoot) {
323
362
  *
324
363
  * Reads identity, credentials, config-tier state, session, harness, and
325
364
  * sentient-daemon state in parallel and folds them into one envelope. No
326
- * network calls; no credential seeding (the pool's `list()` is pure-read).
365
+ * credential seeding (the pool's `list()` is pure-read); the only network
366
+ * call is the bounded Nexus session check, made only when a token is stored.
327
367
  * Sub-blocks degrade independently — a broken session store does not
328
368
  * suppress the credentials block, etc.
329
369
  *
@@ -349,13 +389,14 @@ async function buildDaemonBlock(projectRoot) {
349
389
  */
350
390
  export async function getCleoStatus() {
351
391
  const projectRoot = getProjectRoot();
352
- const [identity, credentials, config, session, harness, daemon] = await Promise.all([
392
+ const [identity, credentials, config, session, harness, daemon, nexusAccount] = await Promise.all([
353
393
  buildIdentityBlock(projectRoot),
354
394
  buildCredentialsBlock(),
355
395
  buildConfigBlock(projectRoot),
356
396
  buildSessionBlock(projectRoot),
357
397
  detectHarness(),
358
398
  buildDaemonBlock(projectRoot),
399
+ buildNexusAccountBlock(),
359
400
  ]);
360
401
  return {
361
402
  identity,
@@ -364,6 +405,7 @@ export async function getCleoStatus() {
364
405
  session,
365
406
  harness,
366
407
  daemon,
408
+ nexusAccount,
367
409
  };
368
410
  }
369
411
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/status/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/status/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Evidence ↔ AC binding pruning — the single write path that removes
3
+ * `tasks_evidence_ac_bindings` rows (T12790).
4
+ *
5
+ * ## Why this exists
6
+ *
7
+ * The consolidated project schema (`drizzle-cleo-project/20260531000001`)
8
+ * declares NO foreign key from `tasks_evidence_ac_bindings.ac_id` to
9
+ * `tasks_task_acceptance_criteria.id`. The legacy table's `ON DELETE CASCADE`
10
+ * did not survive consolidation, so every AC row that left the store —
11
+ * through an AC edit ({@link import('../tasks/ac-table.js').applyAcPlan}) or a
12
+ * hard task delete (the AC rows cascade from `tasks_tasks`) — left its
13
+ * bindings dangling. Adding the FK back would need a table rebuild, so the
14
+ * accessor deletes the bindings explicitly instead, in the same transaction
15
+ * that removes the AC rows.
16
+ *
17
+ * ## History is kept in the audit log, not in the bindings table
18
+ *
19
+ * One reader depends on historical bindings: alias-drift detection in
20
+ * `satisfies-validator.ts` (ADR-079-r2 §3) compares an alias atom's current
21
+ * AC against the AC a previous `satisfies` binding recorded. A binding for a
22
+ * removed AC is meaningless to the coverage gate, but it is exactly the
23
+ * record that says "alias AC2 used to mean X". So before a binding is
24
+ * deleted, its full row is written to `tasks_audit_log` under
25
+ * {@link AC_BINDINGS_PRUNED_ACTION}, keyed by the task that owned the AC, and
26
+ * the drift detector reads those rows as well as the live table.
27
+ *
28
+ * Every function takes the drizzle handle of an ALREADY-OPEN accessor
29
+ * transaction; none of them opens or commits one.
30
+ *
31
+ * @task T12790
32
+ * @adr ADR-079-r2
33
+ */
34
+ import type { AcBindingRow } from '@cleocode/contracts';
35
+ import type { getDb } from './sqlite.js';
36
+ /** Drizzle handle for the project tasks store. */
37
+ type TasksDb = Awaited<ReturnType<typeof getDb>>;
38
+ /** `tasks_audit_log.action` recorded for every batch of pruned bindings. */
39
+ export declare const AC_BINDINGS_PRUNED_ACTION = "ac.bindings.pruned";
40
+ /**
41
+ * Why a batch of bindings was pruned.
42
+ *
43
+ * - `ac-removed` — the AC rows left the task's set in an AC edit.
44
+ * - `task-removed` — the owning task was hard-deleted (its AC rows cascade).
45
+ * - `orphan-repair` — `cleo doctor ac-bindings --fix` removed rows whose AC
46
+ * was already gone before T12790.
47
+ */
48
+ export type AcBindingPruneReason = 'ac-removed' | 'task-removed' | 'orphan-repair';
49
+ /** `details` payload of a {@link AC_BINDINGS_PRUNED_ACTION} audit row. */
50
+ export interface AcBindingsPrunedDetails {
51
+ /** Why the bindings were removed. */
52
+ readonly reason: AcBindingPruneReason;
53
+ /** The AC ids whose bindings were removed. */
54
+ readonly acIds: readonly string[];
55
+ /** The removed binding rows, verbatim. */
56
+ readonly bindings: readonly AcBindingRow[];
57
+ }
58
+ /** Owner key used when an orphan's owning task cannot be inferred. */
59
+ export declare const UNKNOWN_BINDING_OWNER = "unknown";
60
+ /**
61
+ * Generate a task audit log row id in the `log-<epoch>-<rand>` shape.
62
+ *
63
+ * Shared by the task accessor's `appendLog` and the binding prune below, so
64
+ * both write ids of one shape.
65
+ *
66
+ * @task T4837 · T12790
67
+ */
68
+ export declare function generateAuditLogId(): string;
69
+ /**
70
+ * Delete every binding whose `ac_id` is in `acIds`, recording them first in
71
+ * the audit log under `ownerTaskId` (the task that owned those ACs).
72
+ *
73
+ * Call it in the same transaction that removes the AC rows, BEFORE or AFTER
74
+ * the AC delete — the bindings table has no FK, so order does not matter.
75
+ *
76
+ * @param db - drizzle handle of the open accessor transaction
77
+ * @param ownerTaskId - task that owned the removed ACs
78
+ * @param acIds - AC ids leaving the store
79
+ * @param reason - why they are leaving
80
+ * @returns number of bindings removed
81
+ *
82
+ * @task T12790
83
+ */
84
+ export declare function pruneAcBindingsForAcIds(db: TasksDb, ownerTaskId: string, acIds: readonly string[], reason: AcBindingPruneReason, keepBindingsForUids?: readonly string[]): Promise<number>;
85
+ /**
86
+ * Delete the bindings of every AC `taskId` owns — the hard task-delete path
87
+ * (the AC rows go by `ON DELETE CASCADE` from `tasks_tasks`) and the
88
+ * delete-every-AC-row path.
89
+ *
90
+ * @param db - drizzle handle of the open accessor transaction
91
+ * @param taskId - task whose AC rows are all leaving
92
+ * @param reason - `task-removed` (default) or `ac-removed`
93
+ * @returns number of bindings removed
94
+ *
95
+ * @task T12790
96
+ */
97
+ export declare function pruneAcBindingsForTask(db: TasksDb, taskId: string, reason?: AcBindingPruneReason): Promise<number>;
98
+ /**
99
+ * Read every binding whose `ac_id` names no row of
100
+ * `tasks_task_acceptance_criteria`. Read-only.
101
+ *
102
+ * @param db - drizzle handle for the project tasks store
103
+ * @returns the dangling bindings, oldest first
104
+ *
105
+ * @task T12790
106
+ */
107
+ export declare function selectOrphanAcBindings(db: TasksDb): Promise<AcBindingRow[]>;
108
+ /**
109
+ * Infer the task that owned an orphan binding's AC.
110
+ *
111
+ * Only `satisfies:<source>-><target>#<ac>` atom ids name it (the target owns
112
+ * the AC). Every other atom shape yields {@link UNKNOWN_BINDING_OWNER}.
113
+ *
114
+ * @param binding - an orphan binding
115
+ * @returns owning task id, or `'unknown'`
116
+ *
117
+ * @task T12790
118
+ */
119
+ export declare function inferBindingOwnerTask(binding: AcBindingRow): string;
120
+ /**
121
+ * Remove every orphan binding, one audit row per inferred owning task.
122
+ *
123
+ * @param db - drizzle handle of the open accessor transaction
124
+ * @returns the removed bindings
125
+ *
126
+ * @task T12790
127
+ */
128
+ export declare function pruneOrphanAcBindings(db: TasksDb): Promise<AcBindingRow[]>;
129
+ /**
130
+ * Read the bindings that were pruned from ACs owned by `ownerTaskId`, from
131
+ * their {@link AC_BINDINGS_PRUNED_ACTION} audit rows. Read-only.
132
+ *
133
+ * This is where binding history lives once the rows leave
134
+ * `tasks_evidence_ac_bindings`; alias-drift detection reads it.
135
+ *
136
+ * @param db - drizzle handle for the project tasks store
137
+ * @param ownerTaskId - task that owned the pruned ACs
138
+ * @returns the pruned binding rows (malformed audit payloads are skipped)
139
+ *
140
+ * @task T12790
141
+ */
142
+ export declare function selectPrunedAcBindings(db: TasksDb, ownerTaskId: string): Promise<AcBindingRow[]>;
143
+ export {};
144
+ //# sourceMappingURL=ac-binding-prune.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ac-binding-prune.d.ts","sourceRoot":"","sources":["../../src/store/ac-binding-prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,kDAAkD;AAClD,KAAK,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;AAEjD,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,cAAc,GAAG,eAAe,CAAC;AAEnF,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACtC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;CAC5C;AAED,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,YAAY,CAAC;AA2B/C;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AA2CD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,OAAO,EACX,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE,oBAAoB,EAC5B,mBAAmB,GAAE,SAAS,MAAM,EAAO,GAC1C,OAAO,CAAC,MAAM,CAAC,CA+CjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,oBAAqC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA2BjF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAGnE;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAahF;AAiBD;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,OAAO,EACX,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,EAAE,CAAC,CAyBzB"}
@@ -0,0 +1,293 @@
1
+ /**
2
+ * Evidence ↔ AC binding pruning — the single write path that removes
3
+ * `tasks_evidence_ac_bindings` rows (T12790).
4
+ *
5
+ * ## Why this exists
6
+ *
7
+ * The consolidated project schema (`drizzle-cleo-project/20260531000001`)
8
+ * declares NO foreign key from `tasks_evidence_ac_bindings.ac_id` to
9
+ * `tasks_task_acceptance_criteria.id`. The legacy table's `ON DELETE CASCADE`
10
+ * did not survive consolidation, so every AC row that left the store —
11
+ * through an AC edit ({@link import('../tasks/ac-table.js').applyAcPlan}) or a
12
+ * hard task delete (the AC rows cascade from `tasks_tasks`) — left its
13
+ * bindings dangling. Adding the FK back would need a table rebuild, so the
14
+ * accessor deletes the bindings explicitly instead, in the same transaction
15
+ * that removes the AC rows.
16
+ *
17
+ * ## History is kept in the audit log, not in the bindings table
18
+ *
19
+ * One reader depends on historical bindings: alias-drift detection in
20
+ * `satisfies-validator.ts` (ADR-079-r2 §3) compares an alias atom's current
21
+ * AC against the AC a previous `satisfies` binding recorded. A binding for a
22
+ * removed AC is meaningless to the coverage gate, but it is exactly the
23
+ * record that says "alias AC2 used to mean X". So before a binding is
24
+ * deleted, its full row is written to `tasks_audit_log` under
25
+ * {@link AC_BINDINGS_PRUNED_ACTION}, keyed by the task that owned the AC, and
26
+ * the drift detector reads those rows as well as the live table.
27
+ *
28
+ * Every function takes the drizzle handle of an ALREADY-OPEN accessor
29
+ * transaction; none of them opens or commits one.
30
+ *
31
+ * @task T12790
32
+ * @adr ADR-079-r2
33
+ */
34
+ import { and, eq, inArray, isNotNull, isNull, notInArray, or } from 'drizzle-orm';
35
+ import { tasksAuditLog } from './schema/cleo-project/audit.js';
36
+ import * as schema from './tasks-schema.js';
37
+ /** `tasks_audit_log.action` recorded for every batch of pruned bindings. */
38
+ export const AC_BINDINGS_PRUNED_ACTION = 'ac.bindings.pruned';
39
+ /** Owner key used when an orphan's owning task cannot be inferred. */
40
+ export const UNKNOWN_BINDING_OWNER = 'unknown';
41
+ /** Map a selected drizzle row to the contracts shape. */
42
+ function toBindingRow(r) {
43
+ return {
44
+ id: r.id,
45
+ evidenceAtomId: r.evidenceAtomId,
46
+ acId: r.acId,
47
+ bindingType: r.bindingType,
48
+ createdAt: r.createdAt,
49
+ };
50
+ }
51
+ const BINDING_COLUMNS = {
52
+ id: schema.evidenceAcBindings.id,
53
+ evidenceAtomId: schema.evidenceAcBindings.evidenceAtomId,
54
+ acId: schema.evidenceAcBindings.acId,
55
+ bindingType: schema.evidenceAcBindings.bindingType,
56
+ createdAt: schema.evidenceAcBindings.createdAt,
57
+ };
58
+ /**
59
+ * Generate a task audit log row id in the `log-<epoch>-<rand>` shape.
60
+ *
61
+ * Shared by the task accessor's `appendLog` and the binding prune below, so
62
+ * both write ids of one shape.
63
+ *
64
+ * @task T4837 · T12790
65
+ */
66
+ export function generateAuditLogId() {
67
+ const epoch = Math.floor(Date.now() / 1000);
68
+ const rand = Math.random().toString(36).slice(2, 8);
69
+ return `log-${epoch}-${rand}`;
70
+ }
71
+ /**
72
+ * Record `bindings` in the audit log, then delete them — one audit row for
73
+ * the batch. No-op when `bindings` is empty.
74
+ */
75
+ async function archiveAndDelete(db, ownerTaskId, reason, bindings) {
76
+ if (bindings.length === 0)
77
+ return;
78
+ const details = {
79
+ reason,
80
+ acIds: [...new Set(bindings.map((b) => b.acId))],
81
+ bindings,
82
+ };
83
+ await db
84
+ .insert(tasksAuditLog)
85
+ .values({
86
+ id: generateAuditLogId(),
87
+ timestamp: new Date().toISOString(),
88
+ action: AC_BINDINGS_PRUNED_ACTION,
89
+ taskId: ownerTaskId,
90
+ actor: 'system',
91
+ detailsJson: JSON.stringify(details),
92
+ beforeJson: null,
93
+ afterJson: null,
94
+ sessionId: null,
95
+ })
96
+ .run();
97
+ await db
98
+ .delete(schema.evidenceAcBindings)
99
+ .where(inArray(schema.evidenceAcBindings.id, bindings.map((b) => b.id)))
100
+ .run();
101
+ }
102
+ /**
103
+ * Delete every binding whose `ac_id` is in `acIds`, recording them first in
104
+ * the audit log under `ownerTaskId` (the task that owned those ACs).
105
+ *
106
+ * Call it in the same transaction that removes the AC rows, BEFORE or AFTER
107
+ * the AC delete — the bindings table has no FK, so order does not matter.
108
+ *
109
+ * @param db - drizzle handle of the open accessor transaction
110
+ * @param ownerTaskId - task that owned the removed ACs
111
+ * @param acIds - AC ids leaving the store
112
+ * @param reason - why they are leaving
113
+ * @returns number of bindings removed
114
+ *
115
+ * @task T12790
116
+ */
117
+ export async function pruneAcBindingsForAcIds(db, ownerTaskId, acIds, reason, keepBindingsForUids = []) {
118
+ if (acIds.length === 0)
119
+ return 0;
120
+ // T12341: a binding follows its criterion's uid (`ac_uid`) across edits.
121
+ // - The removed rows are read for THIS task only: AC ids derive from display
122
+ // ids, so one id can have named another task's criterion (T12799).
123
+ // - A binding that records a uid goes when that uid is one of the removed
124
+ // rows' and the same write does not carry it onto a new row (an edit keeps
125
+ // its evidence, stale until re-verified); a binding naming another
126
+ // criterion's uid stays, even when its recorded ac_id matches.
127
+ // - A binding without a uid (written before the fill) goes by its ac_id,
128
+ // unless that id's criterion carries its uid onto a new row.
129
+ const owned = await db
130
+ .select({ id: schema.taskAcceptanceCriteria.id, uid: schema.taskAcceptanceCriteria.uid })
131
+ .from(schema.taskAcceptanceCriteria)
132
+ .where(and(eq(schema.taskAcceptanceCriteria.taskId, ownerTaskId), inArray(schema.taskAcceptanceCriteria.id, acIds)))
133
+ .all();
134
+ const uidOfId = new Map(owned.map((r) => [r.id, r.uid]));
135
+ const uids = new Set(owned.map((r) => r.uid).filter((u) => u !== null));
136
+ const keep = new Set(keepBindingsForUids);
137
+ const rows = await db
138
+ .select({ ...BINDING_COLUMNS, acUid: schema.evidenceAcBindings.acUid })
139
+ .from(schema.evidenceAcBindings)
140
+ .where(uids.size > 0
141
+ ? or(inArray(schema.evidenceAcBindings.acId, acIds), inArray(schema.evidenceAcBindings.acUid, [...uids]))
142
+ : inArray(schema.evidenceAcBindings.acId, acIds))
143
+ .all();
144
+ const removed = new Set(acIds);
145
+ const bindings = rows
146
+ .filter((r) => {
147
+ if (r.acUid !== null)
148
+ return uids.has(r.acUid) && !keep.has(r.acUid);
149
+ if (!removed.has(r.acId))
150
+ return false;
151
+ const carried = uidOfId.get(r.acId);
152
+ return !(carried && keep.has(carried));
153
+ })
154
+ .map(toBindingRow);
155
+ await archiveAndDelete(db, ownerTaskId, reason, bindings);
156
+ return bindings.length;
157
+ }
158
+ /**
159
+ * Delete the bindings of every AC `taskId` owns — the hard task-delete path
160
+ * (the AC rows go by `ON DELETE CASCADE` from `tasks_tasks`) and the
161
+ * delete-every-AC-row path.
162
+ *
163
+ * @param db - drizzle handle of the open accessor transaction
164
+ * @param taskId - task whose AC rows are all leaving
165
+ * @param reason - `task-removed` (default) or `ac-removed`
166
+ * @returns number of bindings removed
167
+ *
168
+ * @task T12790
169
+ */
170
+ export async function pruneAcBindingsForTask(db, taskId, reason = 'task-removed') {
171
+ const acRows = await db
172
+ .select({ id: schema.taskAcceptanceCriteria.id })
173
+ .from(schema.taskAcceptanceCriteria)
174
+ .where(eq(schema.taskAcceptanceCriteria.taskId, taskId))
175
+ .all();
176
+ return pruneAcBindingsForAcIds(db, taskId, acRows.map((r) => r.id), reason);
177
+ }
178
+ /**
179
+ * Read every binding whose `ac_id` names no row of
180
+ * `tasks_task_acceptance_criteria`. Read-only.
181
+ *
182
+ * @param db - drizzle handle for the project tasks store
183
+ * @returns the dangling bindings, oldest first
184
+ *
185
+ * @task T12790
186
+ */
187
+ export async function selectOrphanAcBindings(db) {
188
+ const rows = await db
189
+ .select(BINDING_COLUMNS)
190
+ .from(schema.evidenceAcBindings)
191
+ .where(and(notInArray(schema.evidenceAcBindings.acId, db.select({ id: schema.taskAcceptanceCriteria.id }).from(schema.taskAcceptanceCriteria)),
192
+ // T12341: a binding recorded under an older id of a criterion that
193
+ // still exists (same `ac_uid`) is stale evidence, not an orphan.
194
+ or(isNull(schema.evidenceAcBindings.acUid), notInArray(schema.evidenceAcBindings.acUid, db
195
+ .select({ uid: schema.taskAcceptanceCriteria.uid })
196
+ .from(schema.taskAcceptanceCriteria)
197
+ .where(isNotNull(schema.taskAcceptanceCriteria.uid))))))
198
+ .orderBy(schema.evidenceAcBindings.createdAt, schema.evidenceAcBindings.id)
199
+ .all();
200
+ return rows.map(toBindingRow);
201
+ }
202
+ /**
203
+ * Infer the task that owned an orphan binding's AC.
204
+ *
205
+ * Only `satisfies:<source>-><target>#<ac>` atom ids name it (the target owns
206
+ * the AC). Every other atom shape yields {@link UNKNOWN_BINDING_OWNER}.
207
+ *
208
+ * @param binding - an orphan binding
209
+ * @returns owning task id, or `'unknown'`
210
+ *
211
+ * @task T12790
212
+ */
213
+ export function inferBindingOwnerTask(binding) {
214
+ const match = /^satisfies:[^>]*->([^#]+)#/.exec(binding.evidenceAtomId);
215
+ return match?.[1] ?? UNKNOWN_BINDING_OWNER;
216
+ }
217
+ /**
218
+ * Remove every orphan binding, one audit row per inferred owning task.
219
+ *
220
+ * @param db - drizzle handle of the open accessor transaction
221
+ * @returns the removed bindings
222
+ *
223
+ * @task T12790
224
+ */
225
+ export async function pruneOrphanAcBindings(db) {
226
+ const orphans = await selectOrphanAcBindings(db);
227
+ const byOwner = new Map();
228
+ for (const row of orphans) {
229
+ const owner = inferBindingOwnerTask(row);
230
+ const group = byOwner.get(owner);
231
+ if (group)
232
+ group.push(row);
233
+ else
234
+ byOwner.set(owner, [row]);
235
+ }
236
+ for (const [owner, group] of byOwner) {
237
+ await archiveAndDelete(db, owner, 'orphan-repair', group);
238
+ }
239
+ return orphans;
240
+ }
241
+ /** Narrow a parsed JSON value to an {@link AcBindingRow}. */
242
+ function isBindingRow(value) {
243
+ if (value === null)
244
+ return false;
245
+ const row = value;
246
+ return (typeof row.id === 'string' &&
247
+ typeof row.evidenceAtomId === 'string' &&
248
+ typeof row.acId === 'string' &&
249
+ (row.bindingType === 'direct' ||
250
+ row.bindingType === 'satisfies' ||
251
+ row.bindingType === 'coverage') &&
252
+ typeof row.createdAt === 'string');
253
+ }
254
+ /**
255
+ * Read the bindings that were pruned from ACs owned by `ownerTaskId`, from
256
+ * their {@link AC_BINDINGS_PRUNED_ACTION} audit rows. Read-only.
257
+ *
258
+ * This is where binding history lives once the rows leave
259
+ * `tasks_evidence_ac_bindings`; alias-drift detection reads it.
260
+ *
261
+ * @param db - drizzle handle for the project tasks store
262
+ * @param ownerTaskId - task that owned the pruned ACs
263
+ * @returns the pruned binding rows (malformed audit payloads are skipped)
264
+ *
265
+ * @task T12790
266
+ */
267
+ export async function selectPrunedAcBindings(db, ownerTaskId) {
268
+ const rows = await db
269
+ .select({ detailsJson: tasksAuditLog.detailsJson })
270
+ .from(tasksAuditLog)
271
+ .where(and(eq(tasksAuditLog.action, AC_BINDINGS_PRUNED_ACTION), eq(tasksAuditLog.taskId, ownerTaskId)))
272
+ .all();
273
+ const out = [];
274
+ for (const row of rows) {
275
+ if (typeof row.detailsJson !== 'string')
276
+ continue;
277
+ let parsed;
278
+ try {
279
+ parsed = JSON.parse(row.detailsJson);
280
+ }
281
+ catch {
282
+ continue;
283
+ }
284
+ const bindings = parsed?.bindings;
285
+ if (!Array.isArray(bindings))
286
+ continue;
287
+ for (const b of bindings)
288
+ if (isBindingRow(b))
289
+ out.push(b);
290
+ }
291
+ return out;
292
+ }
293
+ //# sourceMappingURL=ac-binding-prune.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ac-binding-prune.js","sourceRoot":"","sources":["../../src/store/ac-binding-prune.ts"],"names":[],"mappings":"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"}