@cleocode/core 2026.10.5 → 2026.10.6

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 (321) hide show
  1. package/dist/bootstrap.d.ts +13 -0
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/bootstrap.js +21 -32
  4. package/dist/bootstrap.js.map +1 -1
  5. package/dist/build-provenance.json +2 -2
  6. package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
  7. package/dist/cloud/nexus-cloud-status.js +3 -1
  8. package/dist/cloud/nexus-cloud-status.js.map +1 -1
  9. package/dist/cloud/nexus-device.d.ts +1 -1
  10. package/dist/cloud/nexus-presence-refresh.d.ts.map +1 -1
  11. package/dist/cloud/nexus-presence-refresh.js +20 -13
  12. package/dist/cloud/nexus-presence-refresh.js.map +1 -1
  13. package/dist/cloud/nexus-vault.d.ts.map +1 -1
  14. package/dist/cloud/nexus-vault.js +4 -1
  15. package/dist/cloud/nexus-vault.js.map +1 -1
  16. package/dist/docs/derive-links.d.ts +69 -0
  17. package/dist/docs/derive-links.d.ts.map +1 -0
  18. package/dist/docs/derive-links.js +85 -0
  19. package/dist/docs/derive-links.js.map +1 -0
  20. package/dist/docs/docs-generator.d.ts.map +1 -1
  21. package/dist/docs/docs-generator.js +2 -0
  22. package/dist/docs/docs-generator.js.map +1 -1
  23. package/dist/docs/docs-update.d.ts.map +1 -1
  24. package/dist/docs/docs-update.js +24 -4
  25. package/dist/docs/docs-update.js.map +1 -1
  26. package/dist/docs/fetch-result.d.ts +77 -0
  27. package/dist/docs/fetch-result.d.ts.map +1 -0
  28. package/dist/docs/fetch-result.js +132 -0
  29. package/dist/docs/fetch-result.js.map +1 -0
  30. package/dist/docs/supersede.d.ts.map +1 -1
  31. package/dist/docs/supersede.js +9 -0
  32. package/dist/docs/supersede.js.map +1 -1
  33. package/dist/doctor/db-substrate.d.ts.map +1 -1
  34. package/dist/doctor/db-substrate.js +64 -29
  35. package/dist/doctor/db-substrate.js.map +1 -1
  36. package/dist/doctor/row-identity-refill.d.ts.map +1 -1
  37. package/dist/doctor/row-identity-refill.js +25 -10
  38. package/dist/doctor/row-identity-refill.js.map +1 -1
  39. package/dist/doctor/row-identity.d.ts.map +1 -1
  40. package/dist/doctor/row-identity.js +8 -2
  41. package/dist/doctor/row-identity.js.map +1 -1
  42. package/dist/doctor/sync-repair.d.ts +5 -0
  43. package/dist/doctor/sync-repair.d.ts.map +1 -1
  44. package/dist/doctor/sync-repair.js +11 -0
  45. package/dist/doctor/sync-repair.js.map +1 -1
  46. package/dist/doctor/sync-triggers.d.ts.map +1 -1
  47. package/dist/doctor/sync-triggers.js +3 -17
  48. package/dist/doctor/sync-triggers.js.map +1 -1
  49. package/dist/hygiene/validate-spawn-readiness.d.ts +6 -1
  50. package/dist/hygiene/validate-spawn-readiness.d.ts.map +1 -1
  51. package/dist/hygiene/validate-spawn-readiness.js +11 -6
  52. package/dist/hygiene/validate-spawn-readiness.js.map +1 -1
  53. package/dist/init.d.ts.map +1 -1
  54. package/dist/init.js +10 -1
  55. package/dist/init.js.map +1 -1
  56. package/dist/injection.d.ts +37 -12
  57. package/dist/injection.d.ts.map +1 -1
  58. package/dist/injection.js +152 -35
  59. package/dist/injection.js.map +1 -1
  60. package/dist/memory/brain-search.d.ts.map +1 -1
  61. package/dist/memory/brain-search.js +7 -32
  62. package/dist/memory/brain-search.js.map +1 -1
  63. package/dist/memory/pipeline-manifest-sqlite.d.ts +2 -0
  64. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  65. package/dist/memory/pipeline-manifest-sqlite.js +51 -9
  66. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  67. package/dist/nexus/assessment-projection.d.ts +96 -1
  68. package/dist/nexus/assessment-projection.d.ts.map +1 -1
  69. package/dist/nexus/assessment-projection.js +135 -0
  70. package/dist/nexus/assessment-projection.js.map +1 -1
  71. package/dist/nexus/assessment-store.d.ts +54 -0
  72. package/dist/nexus/assessment-store.d.ts.map +1 -1
  73. package/dist/nexus/assessment-store.js +161 -2
  74. package/dist/nexus/assessment-store.js.map +1 -1
  75. package/dist/nexus/knowledge.d.ts +19 -0
  76. package/dist/nexus/knowledge.d.ts.map +1 -1
  77. package/dist/nexus/knowledge.js +56 -2
  78. package/dist/nexus/knowledge.js.map +1 -1
  79. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  80. package/dist/orchestrate/spawn-ops.js +12 -1
  81. package/dist/orchestrate/spawn-ops.js.map +1 -1
  82. package/dist/release/commit-presence.d.ts +24 -0
  83. package/dist/release/commit-presence.d.ts.map +1 -1
  84. package/dist/release/commit-presence.js +31 -0
  85. package/dist/release/commit-presence.js.map +1 -1
  86. package/dist/release/plan.d.ts +8 -6
  87. package/dist/release/plan.d.ts.map +1 -1
  88. package/dist/release/plan.js +11 -6
  89. package/dist/release/plan.js.map +1 -1
  90. package/dist/release/reconcile.d.ts.map +1 -1
  91. package/dist/release/reconcile.js +10 -8
  92. package/dist/release/reconcile.js.map +1 -1
  93. package/dist/release/verify-provenance.d.ts.map +1 -1
  94. package/dist/release/verify-provenance.js +6 -8
  95. package/dist/release/verify-provenance.js.map +1 -1
  96. package/dist/resources/admission-ledger.d.ts +66 -0
  97. package/dist/resources/admission-ledger.d.ts.map +1 -1
  98. package/dist/resources/admission-ledger.js +145 -6
  99. package/dist/resources/admission-ledger.js.map +1 -1
  100. package/dist/resources/run-class.d.ts +71 -0
  101. package/dist/resources/run-class.d.ts.map +1 -1
  102. package/dist/resources/run-class.js +203 -0
  103. package/dist/resources/run-class.js.map +1 -1
  104. package/dist/resources/run-governed.d.ts +2 -0
  105. package/dist/resources/run-governed.d.ts.map +1 -1
  106. package/dist/resources/run-governed.js +1 -0
  107. package/dist/resources/run-governed.js.map +1 -1
  108. package/dist/scaffold/ensure-config.d.ts +20 -9
  109. package/dist/scaffold/ensure-config.d.ts.map +1 -1
  110. package/dist/scaffold/ensure-config.js +56 -23
  111. package/dist/scaffold/ensure-config.js.map +1 -1
  112. package/dist/scaffold/ensure-skills.d.ts +10 -0
  113. package/dist/scaffold/ensure-skills.d.ts.map +1 -1
  114. package/dist/scaffold/ensure-skills.js +47 -3
  115. package/dist/scaffold/ensure-skills.js.map +1 -1
  116. package/dist/scaffold/upgrade-file-journal.d.ts +79 -0
  117. package/dist/scaffold/upgrade-file-journal.d.ts.map +1 -0
  118. package/dist/scaffold/upgrade-file-journal.js +111 -0
  119. package/dist/scaffold/upgrade-file-journal.js.map +1 -0
  120. package/dist/session/engine-ops.d.ts.map +1 -1
  121. package/dist/session/engine-ops.js +10 -2
  122. package/dist/session/engine-ops.js.map +1 -1
  123. package/dist/sessions/index.d.ts.map +1 -1
  124. package/dist/sessions/index.js +3 -0
  125. package/dist/sessions/index.js.map +1 -1
  126. package/dist/spawn/worktree-lock-holder.d.ts +59 -1
  127. package/dist/spawn/worktree-lock-holder.d.ts.map +1 -1
  128. package/dist/spawn/worktree-lock-holder.js +114 -0
  129. package/dist/spawn/worktree-lock-holder.js.map +1 -1
  130. package/dist/store/attachment-store.d.ts.map +1 -1
  131. package/dist/store/attachment-store.js +38 -0
  132. package/dist/store/attachment-store.js.map +1 -1
  133. package/dist/store/backup-recover.d.ts +4 -4
  134. package/dist/store/backup-recover.d.ts.map +1 -1
  135. package/dist/store/backup-recover.js +11 -4
  136. package/dist/store/backup-recover.js.map +1 -1
  137. package/dist/store/backup-sidecar.d.ts +19 -1
  138. package/dist/store/backup-sidecar.d.ts.map +1 -1
  139. package/dist/store/backup-sidecar.js +57 -6
  140. package/dist/store/backup-sidecar.js.map +1 -1
  141. package/dist/store/db-helpers.js +1 -1
  142. package/dist/store/display-id-alias.js +1 -1
  143. package/dist/store/display-id-alias.js.map +1 -1
  144. package/dist/store/dual-scope-db.d.ts +2 -0
  145. package/dist/store/dual-scope-db.d.ts.map +1 -1
  146. package/dist/store/dual-scope-db.js +28 -16
  147. package/dist/store/dual-scope-db.js.map +1 -1
  148. package/dist/store/exodus/archive.d.ts +42 -2
  149. package/dist/store/exodus/archive.d.ts.map +1 -1
  150. package/dist/store/exodus/archive.js +81 -4
  151. package/dist/store/exodus/archive.js.map +1 -1
  152. package/dist/store/exodus/bare-family.d.ts +104 -0
  153. package/dist/store/exodus/bare-family.d.ts.map +1 -0
  154. package/dist/store/exodus/bare-family.js +470 -0
  155. package/dist/store/exodus/bare-family.js.map +1 -0
  156. package/dist/store/exodus/column-transforms.d.ts.map +1 -1
  157. package/dist/store/exodus/column-transforms.js +15 -8
  158. package/dist/store/exodus/column-transforms.js.map +1 -1
  159. package/dist/store/exodus/health.d.ts +2 -0
  160. package/dist/store/exodus/health.d.ts.map +1 -1
  161. package/dist/store/exodus/health.js +7 -1
  162. package/dist/store/exodus/health.js.map +1 -1
  163. package/dist/store/exodus/index.d.ts +2 -2
  164. package/dist/store/exodus/index.d.ts.map +1 -1
  165. package/dist/store/exodus/index.js +2 -2
  166. package/dist/store/exodus/index.js.map +1 -1
  167. package/dist/store/exodus/migrate.d.ts.map +1 -1
  168. package/dist/store/exodus/migrate.js +30 -1
  169. package/dist/store/exodus/migrate.js.map +1 -1
  170. package/dist/store/exodus/on-open.d.ts +11 -0
  171. package/dist/store/exodus/on-open.d.ts.map +1 -1
  172. package/dist/store/exodus/on-open.js +26 -1
  173. package/dist/store/exodus/on-open.js.map +1 -1
  174. package/dist/store/exodus/prior-recoveries.d.ts +3 -2
  175. package/dist/store/exodus/prior-recoveries.d.ts.map +1 -1
  176. package/dist/store/exodus/prior-recoveries.js +7 -3
  177. package/dist/store/exodus/prior-recoveries.js.map +1 -1
  178. package/dist/store/exodus/reconcile.d.ts +44 -6
  179. package/dist/store/exodus/reconcile.d.ts.map +1 -1
  180. package/dist/store/exodus/reconcile.js +246 -173
  181. package/dist/store/exodus/reconcile.js.map +1 -1
  182. package/dist/store/exodus/recovery.d.ts +48 -0
  183. package/dist/store/exodus/recovery.d.ts.map +1 -1
  184. package/dist/store/exodus/recovery.js +104 -6
  185. package/dist/store/exodus/recovery.js.map +1 -1
  186. package/dist/store/exodus/seal.d.ts.map +1 -1
  187. package/dist/store/exodus/seal.js +4 -2
  188. package/dist/store/exodus/seal.js.map +1 -1
  189. package/dist/store/exodus/table-order.d.ts +6 -0
  190. package/dist/store/exodus/table-order.d.ts.map +1 -1
  191. package/dist/store/exodus/table-order.js +15 -0
  192. package/dist/store/exodus/table-order.js.map +1 -1
  193. package/dist/store/exodus/types.d.ts +4 -0
  194. package/dist/store/exodus/types.d.ts.map +1 -1
  195. package/dist/store/exodus/types.js +4 -0
  196. package/dist/store/exodus/types.js.map +1 -1
  197. package/dist/store/exodus/verify-migration.d.ts.map +1 -1
  198. package/dist/store/exodus/verify-migration.js +22 -17
  199. package/dist/store/exodus/verify-migration.js.map +1 -1
  200. package/dist/store/identity-share.d.ts +14 -0
  201. package/dist/store/identity-share.d.ts.map +1 -1
  202. package/dist/store/identity-share.js +33 -0
  203. package/dist/store/identity-share.js.map +1 -1
  204. package/dist/store/lock.d.ts +33 -0
  205. package/dist/store/lock.d.ts.map +1 -1
  206. package/dist/store/lock.js +60 -0
  207. package/dist/store/lock.js.map +1 -1
  208. package/dist/store/portable-bundle-import.d.ts.map +1 -1
  209. package/dist/store/portable-bundle-import.js +7 -0
  210. package/dist/store/portable-bundle-import.js.map +1 -1
  211. package/dist/store/portable-bundle-scan.d.ts +3 -2
  212. package/dist/store/portable-bundle-scan.d.ts.map +1 -1
  213. package/dist/store/portable-bundle-scan.js +7 -5
  214. package/dist/store/portable-bundle-scan.js.map +1 -1
  215. package/dist/store/portable-bundle.d.ts +1 -1
  216. package/dist/store/portable-bundle.d.ts.map +1 -1
  217. package/dist/store/portable-bundle.js +9 -1
  218. package/dist/store/portable-bundle.js.map +1 -1
  219. package/dist/store/repair-malformed-dbs.d.ts.map +1 -1
  220. package/dist/store/repair-malformed-dbs.js +36 -6
  221. package/dist/store/repair-malformed-dbs.js.map +1 -1
  222. package/dist/store/restore-marker.d.ts +20 -2
  223. package/dist/store/restore-marker.d.ts.map +1 -1
  224. package/dist/store/restore-marker.js +41 -1
  225. package/dist/store/restore-marker.js.map +1 -1
  226. package/dist/store/row-identity-flag.d.ts +9 -6
  227. package/dist/store/row-identity-flag.d.ts.map +1 -1
  228. package/dist/store/row-identity-flag.js +10 -7
  229. package/dist/store/row-identity-flag.js.map +1 -1
  230. package/dist/store/row-identity-registry.d.ts +4 -3
  231. package/dist/store/row-identity-registry.d.ts.map +1 -1
  232. package/dist/store/row-identity-registry.js +132 -31
  233. package/dist/store/row-identity-registry.js.map +1 -1
  234. package/dist/store/row-identity.d.ts +81 -14
  235. package/dist/store/row-identity.d.ts.map +1 -1
  236. package/dist/store/row-identity.js +238 -32
  237. package/dist/store/row-identity.js.map +1 -1
  238. package/dist/store/schema/cleo-shared/brain.d.ts +368 -0
  239. package/dist/store/schema/cleo-shared/brain.d.ts.map +1 -1
  240. package/dist/store/schema/cleo-shared/brain.js +104 -2
  241. package/dist/store/schema/cleo-shared/brain.js.map +1 -1
  242. package/dist/store/sync/apply/applier.d.ts +5 -0
  243. package/dist/store/sync/apply/applier.d.ts.map +1 -1
  244. package/dist/store/sync/apply/applier.js +5 -1
  245. package/dist/store/sync/apply/applier.js.map +1 -1
  246. package/dist/store/sync/apply/parent-delete.d.ts.map +1 -1
  247. package/dist/store/sync/apply/parent-delete.js +4 -0
  248. package/dist/store/sync/apply/parent-delete.js.map +1 -1
  249. package/dist/store/sync/capture.d.ts +13 -1
  250. package/dist/store/sync/capture.d.ts.map +1 -1
  251. package/dist/store/sync/capture.js +31 -3
  252. package/dist/store/sync/capture.js.map +1 -1
  253. package/dist/store/sync/flags.d.ts +14 -5
  254. package/dist/store/sync/flags.d.ts.map +1 -1
  255. package/dist/store/sync/flags.js +20 -8
  256. package/dist/store/sync/flags.js.map +1 -1
  257. package/dist/store/sync/genesis.d.ts +130 -0
  258. package/dist/store/sync/genesis.d.ts.map +1 -0
  259. package/dist/store/sync/genesis.js +337 -0
  260. package/dist/store/sync/genesis.js.map +1 -0
  261. package/dist/store/sync/repair.d.ts +2 -2
  262. package/dist/store/sync/repair.d.ts.map +1 -1
  263. package/dist/store/sync/repair.js +55 -15
  264. package/dist/store/sync/repair.js.map +1 -1
  265. package/dist/store/sync/sealer.d.ts +14 -0
  266. package/dist/store/sync/sealer.d.ts.map +1 -1
  267. package/dist/store/sync/sealer.js +27 -6
  268. package/dist/store/sync/sealer.js.map +1 -1
  269. package/dist/store/sync/segments.d.ts +124 -0
  270. package/dist/store/sync/segments.d.ts.map +1 -0
  271. package/dist/store/sync/segments.js +267 -0
  272. package/dist/store/sync/segments.js.map +1 -0
  273. package/dist/store/sync/sequencing.d.ts +44 -1
  274. package/dist/store/sync/sequencing.d.ts.map +1 -1
  275. package/dist/store/sync/sequencing.js +59 -2
  276. package/dist/store/sync/sequencing.js.map +1 -1
  277. package/dist/store/sync/timestamp-canon.d.ts +6 -3
  278. package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
  279. package/dist/store/sync/timestamp-canon.js +55 -4
  280. package/dist/store/sync/timestamp-canon.js.map +1 -1
  281. package/dist/store/sync/txn-signing.d.ts +69 -0
  282. package/dist/store/sync/txn-signing.d.ts.map +1 -0
  283. package/dist/store/sync/txn-signing.js +81 -0
  284. package/dist/store/sync/txn-signing.js.map +1 -0
  285. package/dist/store/table-classification.d.ts.map +1 -1
  286. package/dist/store/table-classification.js +30 -0
  287. package/dist/store/table-classification.js.map +1 -1
  288. package/dist/store/twin-collapse.d.ts.map +1 -1
  289. package/dist/store/twin-collapse.js +65 -2
  290. package/dist/store/twin-collapse.js.map +1 -1
  291. package/dist/system/backup.d.ts +3 -2
  292. package/dist/system/backup.d.ts.map +1 -1
  293. package/dist/system/backup.js +43 -17
  294. package/dist/system/backup.js.map +1 -1
  295. package/dist/system/health.d.ts.map +1 -1
  296. package/dist/system/health.js +2 -1
  297. package/dist/system/health.js.map +1 -1
  298. package/dist/tasks/affected-packages.d.ts +26 -0
  299. package/dist/tasks/affected-packages.d.ts.map +1 -1
  300. package/dist/tasks/affected-packages.js +95 -28
  301. package/dist/tasks/affected-packages.js.map +1 -1
  302. package/dist/tasks/change-set.d.ts.map +1 -1
  303. package/dist/tasks/change-set.js +14 -4
  304. package/dist/tasks/change-set.js.map +1 -1
  305. package/dist/tasks/done-plan.d.ts.map +1 -1
  306. package/dist/tasks/done-plan.js +50 -4
  307. package/dist/tasks/done-plan.js.map +1 -1
  308. package/dist/tasks/test-run-binding.d.ts +14 -0
  309. package/dist/tasks/test-run-binding.d.ts.map +1 -1
  310. package/dist/tasks/test-run-binding.js +35 -4
  311. package/dist/tasks/test-run-binding.js.map +1 -1
  312. package/dist/upgrade.d.ts +6 -0
  313. package/dist/upgrade.d.ts.map +1 -1
  314. package/dist/upgrade.js +58 -11
  315. package/dist/upgrade.js.map +1 -1
  316. package/migrations/drizzle-cleo-global/20261010120000_t12894-brain-row-uids/migration.sql +88 -0
  317. package/migrations/drizzle-cleo-project/20261010120000_t12894-brain-row-uids/migration.sql +92 -0
  318. package/migrations/sync-journal/20261007120000_t12343-segment-outbox/migration.sql +38 -0
  319. package/package.json +13 -13
  320. package/templates/CLEO-INJECTION.md +1 -1
  321. package/templates/CLEO-REFERENCE.md +2 -2
@@ -154,6 +154,50 @@ export declare function footprintForTool(canonical: CanonicalTool, totalBytes?:
154
154
  * ```
155
155
  */
156
156
  export declare function planFootprintBytes(plan: Pick<HeavyToolResourcePlan, 'workspaceConcurrency' | 'workers' | 'heapMb'>): number;
157
+ /**
158
+ * Whether a git client hook is installed for the repository at `cwd`
159
+ * (T13452): `git rev-parse --git-path hooks/<name>` honours `core.hooksPath`,
160
+ * and the file must exist and be executable. Any failure reads as installed,
161
+ * which keeps the heavier charge.
162
+ *
163
+ * @param cwd - Where the command runs.
164
+ * @param hook - Hook name (`pre-push`, `pre-commit`).
165
+ * @param globals - The command's git global options (`-C`, `-c`), passed through.
166
+ */
167
+ export declare function gitHookInstalled(cwd: string, hook: string, globals?: readonly string[]): boolean;
168
+ /** What a `cleo run` job is planned with and charged (T13367). */
169
+ export interface RunFootprintPlan {
170
+ /** Env overlay for the child (heap ceiling, workers); empty for a light run. */
171
+ readonly overlay: Readonly<Record<string, string>>;
172
+ /** The heap and worker plan, or `null` for a light run. */
173
+ readonly resources: HeavyToolResourcePlan | null;
174
+ /** Bytes to ask the ledger for; absent means the class default. */
175
+ readonly footprintBytes?: number;
176
+ /** Why, for the ledger entry and `doctor tool-locks`. */
177
+ readonly footprintReason: string;
178
+ /** Test files the run names, when it names them (T13132). */
179
+ readonly namedFiles: number | null;
180
+ }
181
+ /**
182
+ * Plan and charge a `cleo run` job by its real scope (T13367).
183
+ *
184
+ * A formatter on named files is charged {@link LIGHT_FOOTPRINT_BYTES} with no
185
+ * heap plan. A single Node linter on files, or a one-project `tsc -p`, is
186
+ * charged one process. Anything else gets the class's heavy-run plan, with a
187
+ * named-file test run capped at one worker per file (T13132). An explicit
188
+ * `full-build` is never shrunk.
189
+ *
190
+ * @param cls - the resolved class.
191
+ * @param argv - the command.
192
+ * @param env - the environment the child would inherit. @defaultValue process.env
193
+ * @param totalRamGib - total RAM in GiB, for tests. @defaultValue os.totalmem()
194
+ *
195
+ * @example
196
+ * ```ts
197
+ * planRunFootprint('scoped-build', ['pnpm', 'biome', 'check', 'a.ts', 'b.ts']).footprintBytes; // 1 GiB
198
+ * ```
199
+ */
200
+ export declare function planRunFootprint(cls: ResourceClass, argv: readonly string[], env?: NodeJS.ProcessEnv, totalRamGib?: number, hookInstalled?: (hook: string, globals: readonly string[]) => boolean): RunFootprintPlan;
157
201
  /** Governor classes whose admission is the ledger's. */
158
202
  export declare const LEDGER_CLASSES: ReadonlySet<ResourceClass>;
159
203
  /**
@@ -203,6 +247,8 @@ export interface LedgerEntry {
203
247
  readonly scope?: AdmissionScope;
204
248
  /** The CLEO task the run is evidence for, when known (T13132). */
205
249
  readonly task?: string;
250
+ /** Why the run is charged `footprintBytes` (`biome check on 2 named paths`), when known (T13367). */
251
+ readonly footprintReason?: string;
206
252
  /**
207
253
  * Holds the machine-wide exclusive slot: no other exclusive entry is
208
254
  * admitted while it is (T13237). Set for the `full-build` class.
@@ -340,6 +386,11 @@ export interface PassContext {
340
386
  * saturated). Light runs take `lightShare` (memory alone), so CPU saturation
341
387
  * never serialises them behind a heavy run (T13132). Either still admits the
342
388
  * oldest waiting entry when nothing is admitted; `none` admits nothing.
389
+ * - A head blocked by bytes past its reservation stops everything behind it,
390
+ * except up to {@link TINY_LANE_SLOTS} tiny runs ({@link LIGHT_FOOTPRINT_BYTES}
391
+ * or less) that fit the memory budget (T13367). The lane is open only until
392
+ * the head has waited {@link TINY_LANE_WINDOWS} reservation windows, and
393
+ * never for a head that needs the whole budget (T13389).
343
394
  *
344
395
  * @param entries - the ledger.
345
396
  * @param ctx - capacity, pressure share and clock.
@@ -351,6 +402,19 @@ export interface PassContext {
351
402
  * ```
352
403
  */
353
404
  export declare function schedulePass(entries: readonly LedgerEntry[], ctx: PassContext): LedgerEntry[];
405
+ /**
406
+ * At most this many tiny runs ({@link LIGHT_FOOTPRINT_BYTES} or less) may pass
407
+ * a queue head that has been reserved (T13367). A two-file formatter run then
408
+ * never waits minutes behind a blocked heavy build, and the head is delayed by
409
+ * at most this many gigabytes of short runs.
410
+ */
411
+ export declare const TINY_LANE_SLOTS = 3;
412
+ /**
413
+ * The tiny lane stays open until the blocked head has waited this many
414
+ * reservation windows ({@link LEDGER_RESERVATION_MS} each; 6 minutes), then
415
+ * closes so the head cannot be starved (T13389).
416
+ */
417
+ export declare const TINY_LANE_WINDOWS = 3;
354
418
  /**
355
419
  * Split a {@link ADMISSION_ENV} value into its id and nonce, or `null`.
356
420
  *
@@ -438,6 +502,8 @@ export interface AdmissionRequest {
438
502
  readonly scope?: AdmissionScope;
439
503
  /** The CLEO task it is evidence for, for status (T13132). */
440
504
  readonly task?: string;
505
+ /** Why it is charged `footprintBytes`, for status (T13367). */
506
+ readonly footprintReason?: string;
441
507
  /** Take the machine-wide exclusive slot (T13237: a `full-build`). */
442
508
  readonly exclusive?: boolean;
443
509
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admission-ledger.d.ts","sourceRoot":"","sources":["../../src/resources/admission-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admission-ledger.d.ts","sourceRoot":"","sources":["../../src/resources/admission-ledger.ts"],"names":[],"mappings":"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"}
@@ -65,16 +65,17 @@
65
65
  */
66
66
  import { execFileSync } from 'node:child_process';
67
67
  import { randomBytes } from 'node:crypto';
68
- import { mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs';
68
+ import { accessSync, constants as fsConstants, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync, } from 'node:fs';
69
69
  import { hostname, totalmem } from 'node:os';
70
- import { join } from 'node:path';
70
+ import { isAbsolute, join } from 'node:path';
71
71
  import lockfile from 'proper-lockfile';
72
72
  import { getLogger } from '../logger.js';
73
73
  import { getCleoHome } from '../paths.js';
74
- import { admissionCapacityBytes, admissionReserveBytes, defaultSingleProcessHeapMb, GIB_PER_WORKER, HEAVY_TOOL_HEAP_MB, heavyToolWorkers, isHeavyTool, isMemoryBoundTool, } from '../tasks/heavy-tool-env.js';
74
+ import { admissionCapacityBytes, admissionReserveBytes, defaultSingleProcessHeapMb, GIB_PER_WORKER, HEAVY_TOOL_HEAP_MB, heavyToolWorkers, isHeavyTool, isMemoryBoundTool, planHeavyToolEnv, } from '../tasks/heavy-tool-env.js';
75
75
  import { pressureScore, ResourceMonitor } from './monitor.js';
76
76
  import { checkMemoryGate, MEMORY_GATE_RETRY_AFTER_MS, } from './pressure-gate.js';
77
77
  import { processAncestors, processGroupOf } from './run-admission.js';
78
+ import { canonicalForClass, gitHookFor, namedTestFileCount, runFootprint } from './run-class.js';
78
79
  import { ownProcessStartedAt, systemPidProbe } from './slot-holder.js';
79
80
  import { followToolGroups, isProbeableId } from './tool-groups.js';
80
81
  let _log = null;
@@ -203,6 +204,90 @@ export function planFootprintBytes(plan) {
203
204
  const processes = Math.max(1, plan.workspaceConcurrency) * Math.max(1, plan.workers);
204
205
  return processes * (Math.max(0, plan.heapMb) + PROCESS_OVERHEAD_MB) * 1024 * 1024;
205
206
  }
207
+ /**
208
+ * Whether a git client hook is installed for the repository at `cwd`
209
+ * (T13452): `git rev-parse --git-path hooks/<name>` honours `core.hooksPath`,
210
+ * and the file must exist and be executable. Any failure reads as installed,
211
+ * which keeps the heavier charge.
212
+ *
213
+ * @param cwd - Where the command runs.
214
+ * @param hook - Hook name (`pre-push`, `pre-commit`).
215
+ * @param globals - The command's git global options (`-C`, `-c`), passed through.
216
+ */
217
+ export function gitHookInstalled(cwd, hook, globals = []) {
218
+ try {
219
+ // The command's own global options (`-C <dir>`, `-c core.hooksPath=…`)
220
+ // pick the repository and hooks directory it will use (T13458).
221
+ const path = execFileSync('git', [...globals, 'rev-parse', '--path-format=absolute', '--git-path', `hooks/${hook}`], { cwd, encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'], timeout: 5_000 }).trim();
222
+ accessSync(isAbsolute(path) ? path : join(cwd, path), fsConstants.X_OK);
223
+ return true;
224
+ }
225
+ catch (err) {
226
+ const code = err.code;
227
+ return code !== 'ENOENT' && code !== 'EACCES';
228
+ }
229
+ }
230
+ /**
231
+ * Plan and charge a `cleo run` job by its real scope (T13367).
232
+ *
233
+ * A formatter on named files is charged {@link LIGHT_FOOTPRINT_BYTES} with no
234
+ * heap plan. A single Node linter on files, or a one-project `tsc -p`, is
235
+ * charged one process. Anything else gets the class's heavy-run plan, with a
236
+ * named-file test run capped at one worker per file (T13132). An explicit
237
+ * `full-build` is never shrunk.
238
+ *
239
+ * @param cls - the resolved class.
240
+ * @param argv - the command.
241
+ * @param env - the environment the child would inherit. @defaultValue process.env
242
+ * @param totalRamGib - total RAM in GiB, for tests. @defaultValue os.totalmem()
243
+ *
244
+ * @example
245
+ * ```ts
246
+ * planRunFootprint('scoped-build', ['pnpm', 'biome', 'check', 'a.ts', 'b.ts']).footprintBytes; // 1 GiB
247
+ * ```
248
+ */
249
+ export function planRunFootprint(cls, argv, env = process.env, totalRamGib = totalmem() / GIB, hookInstalled = (hook, globals) => gitHookInstalled(process.cwd(), hook, globals)) {
250
+ let scope = cls === 'full-build' ? null : runFootprint(argv);
251
+ // T13452: a hooked git push/commit keeps the class plan, because whatever
252
+ // the hook runs (tests, a build) rides this admission.
253
+ const probe = scope?.size === 'light' ? gitHookFor(argv) : null;
254
+ const hook = probe?.hooks.find((h) => hookInstalled(h, probe.globals));
255
+ if (hook !== undefined) {
256
+ scope = { size: 'class', reason: `runs the ${hook} hook` };
257
+ }
258
+ if (scope?.size === 'light') {
259
+ return {
260
+ overlay: {},
261
+ resources: null,
262
+ footprintBytes: LIGHT_FOOTPRINT_BYTES,
263
+ footprintReason: scope.reason,
264
+ namedFiles: null,
265
+ };
266
+ }
267
+ if (scope?.size === 'single-process') {
268
+ const { overlay, resources } = planHeavyToolEnv('typecheck', env, totalRamGib);
269
+ return {
270
+ overlay,
271
+ resources,
272
+ ...(resources !== null ? { footprintBytes: planFootprintBytes(resources) } : {}),
273
+ footprintReason: scope.reason,
274
+ namedFiles: null,
275
+ };
276
+ }
277
+ const namedFiles = namedTestFileCount(cls, argv);
278
+ const { overlay, resources } = planHeavyToolEnv(canonicalForClass(cls), env, totalRamGib, namedFiles ?? undefined);
279
+ return {
280
+ overlay,
281
+ resources,
282
+ ...(resources !== null ? { footprintBytes: planFootprintBytes(resources) } : {}),
283
+ footprintReason: namedFiles !== null
284
+ ? `${namedFiles} named test file${namedFiles === 1 ? '' : 's'}`
285
+ : scope?.size === 'class' && scope.reason !== 'sized by its class'
286
+ ? `${cls} plan: ${scope.reason}`
287
+ : `${cls} plan`,
288
+ namedFiles,
289
+ };
290
+ }
206
291
  /** Governor classes whose admission is the ledger's. */
207
292
  export const LEDGER_CLASSES = new Set([
208
293
  'test-run',
@@ -556,6 +641,11 @@ function charged(entry, capacityBytes) {
556
641
  * saturated). Light runs take `lightShare` (memory alone), so CPU saturation
557
642
  * never serialises them behind a heavy run (T13132). Either still admits the
558
643
  * oldest waiting entry when nothing is admitted; `none` admits nothing.
644
+ * - A head blocked by bytes past its reservation stops everything behind it,
645
+ * except up to {@link TINY_LANE_SLOTS} tiny runs ({@link LIGHT_FOOTPRINT_BYTES}
646
+ * or less) that fit the memory budget (T13367). The lane is open only until
647
+ * the head has waited {@link TINY_LANE_WINDOWS} reservation windows, and
648
+ * never for a head that needs the whole budget (T13389).
559
649
  *
560
650
  * @param entries - the ledger.
561
651
  * @param ctx - capacity, pressure share and clock.
@@ -586,6 +676,8 @@ export function schedulePass(entries, ctx) {
586
676
  let heavyRunning = ctx.foreign?.count ?? 0;
587
677
  // T13237: admitted exclusive runs (a full-build holds the machine-wide slot).
588
678
  let exclusiveRunning = 0;
679
+ // T13367: admitted tiny runs, for the tiny lane past a blocked head.
680
+ let tinyRunning = 0;
589
681
  for (const e of entries) {
590
682
  if (e.state === 'admitted') {
591
683
  used += charged(e, ctx.capacityBytes);
@@ -594,6 +686,8 @@ export function schedulePass(entries, ctx) {
594
686
  heavyRunning++;
595
687
  if (e.exclusive === true)
596
688
  exclusiveRunning++;
689
+ if (isTiny(e))
690
+ tinyRunning++;
597
691
  }
598
692
  }
599
693
  const fits = (w, cost) => {
@@ -615,6 +709,9 @@ export function schedulePass(entries, ctx) {
615
709
  // Bytes held for a reserved heavy head that only the `one` rule blocks: light
616
710
  // runs may still pass it, but only within what is left after its share.
617
711
  let reservedForHead = null;
712
+ // A head blocked by bytes past its reservation stops every run behind it
713
+ // except the tiny lane (T13367).
714
+ let headBlocked = false;
618
715
  /** Admit `w` (every admission goes through here, so the counters stay true). */
619
716
  const take = (w, cost) => {
620
717
  admit.add(w.id);
@@ -624,9 +721,23 @@ export function schedulePass(entries, ctx) {
624
721
  heavyRunning++;
625
722
  if (w.exclusive === true)
626
723
  exclusiveRunning++;
724
+ if (isTiny(w))
725
+ tinyRunning++;
627
726
  };
628
727
  for (const w of waiting) {
629
728
  const cost = charged(w, ctx.capacityBytes);
729
+ if (headBlocked) {
730
+ // Only the tiny lane passes a byte-blocked head: a formatter on two
731
+ // files, within the memory budget, at most TINY_LANE_SLOTS at once.
732
+ if (isTiny(w) &&
733
+ tinyRunning < TINY_LANE_SLOTS &&
734
+ w.exclusive !== true &&
735
+ lightShare !== 'none' &&
736
+ used + cost <= lightBudget) {
737
+ take(w, cost);
738
+ }
739
+ continue;
740
+ }
630
741
  if (reservedForHead !== null) {
631
742
  // Only light runs pass a reserved head, within what its share leaves —
632
743
  // and never a second exclusive run (T13237, #1899 review HIGH: a full
@@ -660,8 +771,18 @@ export function schedulePass(entries, ctx) {
660
771
  const exclusiveOnly = w.exclusive === true &&
661
772
  exclusiveRunning > 0 &&
662
773
  used + cost <= (isHeavy(w) ? heavyBudget : lightBudget);
663
- if (!cpuOnly && !exclusiveOnly)
664
- break;
774
+ if (!cpuOnly && !exclusiveOnly) {
775
+ // T13367, #2005 review HIGH (T13389): the tiny lane may pass a
776
+ // byte-blocked head only for a bounded window, and never a head that
777
+ // needs the whole budget (it starts only once nothing runs). Then
778
+ // the lane closes, running work drains and the head starts: steady
779
+ // small arrivals cannot starve it.
780
+ const laneOpen = cost < lightBudget && ctx.nowMs - w.enqueuedAtMs < reservationMs * TINY_LANE_WINDOWS;
781
+ if (!laneOpen)
782
+ break;
783
+ headBlocked = true;
784
+ continue;
785
+ }
665
786
  reservedForHead = cost;
666
787
  }
667
788
  }
@@ -670,6 +791,23 @@ export function schedulePass(entries, ctx) {
670
791
  ? { ...e, state: 'admitted', admittedAtMs: ctx.nowMs, heartbeatAtMs: ctx.nowMs }
671
792
  : e);
672
793
  }
794
+ /**
795
+ * At most this many tiny runs ({@link LIGHT_FOOTPRINT_BYTES} or less) may pass
796
+ * a queue head that has been reserved (T13367). A two-file formatter run then
797
+ * never waits minutes behind a blocked heavy build, and the head is delayed by
798
+ * at most this many gigabytes of short runs.
799
+ */
800
+ export const TINY_LANE_SLOTS = 3;
801
+ /**
802
+ * The tiny lane stays open until the blocked head has waited this many
803
+ * reservation windows ({@link LEDGER_RESERVATION_MS} each; 6 minutes), then
804
+ * closes so the head cannot be starved (T13389).
805
+ */
806
+ export const TINY_LANE_WINDOWS = 3;
807
+ /** Whether an entry is a tiny run (a formatter on named files): {@link LIGHT_FOOTPRINT_BYTES} or less. */
808
+ function isTiny(e) {
809
+ return e.footprintBytes <= LIGHT_FOOTPRINT_BYTES;
810
+ }
673
811
  /** Whether an entry is a heavy (multi-process) run: above {@link HEAVY_FOOTPRINT_BYTES}. */
674
812
  function isHeavy(e) {
675
813
  return e.footprintBytes > HEAVY_FOOTPRINT_BYTES;
@@ -787,7 +925,7 @@ export function describeScope(e) {
787
925
  export function describeHolders(entries, nowMs) {
788
926
  return entries
789
927
  .filter((e) => e.state === 'admitted')
790
- .map((e) => `${e.label}${describeScope(e)} pid ${e.pid} (${e.command})${e.cwd ? ` in ${e.cwd}` : ''}, ${gib(e.footprintBytes)}, for ${age(nowMs - (e.admittedAtMs ?? e.enqueuedAtMs))}`);
928
+ .map((e) => `${e.label}${describeScope(e)} pid ${e.pid} (${e.command})${e.cwd ? ` in ${e.cwd}` : ''}, ${gib(e.footprintBytes)}${e.footprintReason ? ` (${e.footprintReason})` : ''}, for ${age(nowMs - (e.admittedAtMs ?? e.enqueuedAtMs))}`);
791
929
  }
792
930
  /** Commands too generic to name a lock-taking wrapper. */
793
931
  const GENERIC_PROGRAMS = new Set([
@@ -1102,6 +1240,7 @@ async function admitInner(req, opts) {
1102
1240
  toolGroups: [],
1103
1241
  ...(req.scope !== undefined ? { scope: req.scope } : {}),
1104
1242
  ...(req.task !== undefined ? { task: req.task } : {}),
1243
+ ...(req.footprintReason !== undefined ? { footprintReason: req.footprintReason } : {}),
1105
1244
  ...(req.exclusive === true ? { exclusive: true } : {}),
1106
1245
  };
1107
1246
  /** One pass: reap, (re-)enqueue ourselves, schedule; returns our entry's state. */
@@ -1 +1 @@
1
- {"version":3,"file":"admission-ledger.js","sourceRoot":"","sources":["../../src/resources/admission-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admission-ledger.js","sourceRoot":"","sources":["../../src/resources/admission-ledger.ts"],"names":[],"mappings":"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"}