@cleocode/core 2026.10.17 → 2026.10.18-rc.ci.688

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 (188) hide show
  1. package/dist/audit-prune.d.ts +37 -8
  2. package/dist/audit-prune.d.ts.map +1 -1
  3. package/dist/audit-prune.js +46 -12
  4. package/dist/audit-prune.js.map +1 -1
  5. package/dist/build-provenance.json +2 -2
  6. package/dist/cloud/manifest-check.d.ts +21 -0
  7. package/dist/cloud/manifest-check.d.ts.map +1 -1
  8. package/dist/cloud/manifest-check.js +46 -1
  9. package/dist/cloud/manifest-check.js.map +1 -1
  10. package/dist/cloud/nexus-vault.d.ts +19 -0
  11. package/dist/cloud/nexus-vault.d.ts.map +1 -1
  12. package/dist/cloud/nexus-vault.js +134 -23
  13. package/dist/cloud/nexus-vault.js.map +1 -1
  14. package/dist/cloud/signing.d.ts.map +1 -1
  15. package/dist/cloud/signing.js +4 -0
  16. package/dist/cloud/signing.js.map +1 -1
  17. package/dist/doctor/row-identity.d.ts.map +1 -1
  18. package/dist/doctor/row-identity.js +2 -1
  19. package/dist/doctor/row-identity.js.map +1 -1
  20. package/dist/git/work-tree.d.ts +17 -0
  21. package/dist/git/work-tree.d.ts.map +1 -1
  22. package/dist/git/work-tree.js +30 -0
  23. package/dist/git/work-tree.js.map +1 -1
  24. package/dist/goal/close.d.ts +95 -0
  25. package/dist/goal/close.d.ts.map +1 -0
  26. package/dist/goal/close.js +497 -0
  27. package/dist/goal/close.js.map +1 -0
  28. package/dist/goal/draft.d.ts +81 -0
  29. package/dist/goal/draft.d.ts.map +1 -0
  30. package/dist/goal/draft.js +331 -0
  31. package/dist/goal/draft.js.map +1 -0
  32. package/dist/hooks/release-gate.d.ts +3 -0
  33. package/dist/hooks/release-gate.d.ts.map +1 -1
  34. package/dist/hooks/release-gate.js +4 -1
  35. package/dist/hooks/release-gate.js.map +1 -1
  36. package/dist/orchestration/lean-gain.d.ts +26 -0
  37. package/dist/orchestration/lean-gain.d.ts.map +1 -0
  38. package/dist/orchestration/lean-gain.js +61 -0
  39. package/dist/orchestration/lean-gain.js.map +1 -0
  40. package/dist/release/backfill.d.ts.map +1 -1
  41. package/dist/release/backfill.js +15 -5
  42. package/dist/release/backfill.js.map +1 -1
  43. package/dist/release/ci-evidence.d.ts +90 -5
  44. package/dist/release/ci-evidence.d.ts.map +1 -1
  45. package/dist/release/ci-evidence.js +277 -4
  46. package/dist/release/ci-evidence.js.map +1 -1
  47. package/dist/release/plan.d.ts +4 -1
  48. package/dist/release/plan.d.ts.map +1 -1
  49. package/dist/release/plan.js +10 -2
  50. package/dist/release/plan.js.map +1 -1
  51. package/dist/release/reconcile.d.ts +10 -0
  52. package/dist/release/reconcile.d.ts.map +1 -1
  53. package/dist/release/reconcile.js +42 -19
  54. package/dist/release/reconcile.js.map +1 -1
  55. package/dist/release/release-manifest.d.ts +2 -1
  56. package/dist/release/release-manifest.d.ts.map +1 -1
  57. package/dist/release/release-manifest.js +15 -1
  58. package/dist/release/release-manifest.js.map +1 -1
  59. package/dist/resources/admission-ledger.d.ts +21 -4
  60. package/dist/resources/admission-ledger.d.ts.map +1 -1
  61. package/dist/resources/admission-ledger.js +102 -19
  62. package/dist/resources/admission-ledger.js.map +1 -1
  63. package/dist/resources/run-class.d.ts +22 -0
  64. package/dist/resources/run-class.d.ts.map +1 -1
  65. package/dist/resources/run-class.js +81 -0
  66. package/dist/resources/run-class.js.map +1 -1
  67. package/dist/sessions/handoff.d.ts +2 -2
  68. package/dist/sessions/handoff.js +2 -2
  69. package/dist/store/audit-log-schema.d.ts +106 -39
  70. package/dist/store/audit-log-schema.d.ts.map +1 -1
  71. package/dist/store/audit-log-schema.js +6 -3
  72. package/dist/store/audit-log-schema.js.map +1 -1
  73. package/dist/store/row-identity-registry.d.ts +42 -6
  74. package/dist/store/row-identity-registry.d.ts.map +1 -1
  75. package/dist/store/row-identity-registry.js +256 -34
  76. package/dist/store/row-identity-registry.js.map +1 -1
  77. package/dist/store/row-identity.d.ts.map +1 -1
  78. package/dist/store/row-identity.js +16 -4
  79. package/dist/store/row-identity.js.map +1 -1
  80. package/dist/store/schema/cleo-global/nexus.d.ts +16 -0
  81. package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
  82. package/dist/store/schema/cleo-global/nexus.js +4 -1
  83. package/dist/store/schema/cleo-global/nexus.js.map +1 -1
  84. package/dist/store/schema/cleo-project/audit.d.ts +48 -0
  85. package/dist/store/schema/cleo-project/audit.d.ts.map +1 -1
  86. package/dist/store/schema/cleo-project/audit.js +15 -1
  87. package/dist/store/schema/cleo-project/audit.js.map +1 -1
  88. package/dist/store/schema/cleo-project/lifecycle.d.ts +112 -0
  89. package/dist/store/schema/cleo-project/lifecycle.d.ts.map +1 -1
  90. package/dist/store/schema/cleo-project/lifecycle.js +36 -4
  91. package/dist/store/schema/cleo-project/lifecycle.js.map +1 -1
  92. package/dist/store/schema/cleo-project/provenance-commits.d.ts +48 -0
  93. package/dist/store/schema/cleo-project/provenance-commits.d.ts.map +1 -1
  94. package/dist/store/schema/cleo-project/provenance-commits.js +10 -1
  95. package/dist/store/schema/cleo-project/provenance-commits.js.map +1 -1
  96. package/dist/store/schema/cleo-project/provenance-rest.d.ts +128 -0
  97. package/dist/store/schema/cleo-project/provenance-rest.d.ts.map +1 -1
  98. package/dist/store/schema/cleo-project/provenance-rest.js +25 -1
  99. package/dist/store/schema/cleo-project/provenance-rest.js.map +1 -1
  100. package/dist/store/schema/cleo-project/tasks-core.d.ts +16 -0
  101. package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
  102. package/dist/store/schema/cleo-project/tasks-core.js +6 -1
  103. package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
  104. package/dist/store/session-store.d.ts +5 -4
  105. package/dist/store/session-store.d.ts.map +1 -1
  106. package/dist/store/session-store.js +19 -5
  107. package/dist/store/session-store.js.map +1 -1
  108. package/dist/store/sync/apply/parent-delete.d.ts.map +1 -1
  109. package/dist/store/sync/apply/parent-delete.js +8 -0
  110. package/dist/store/sync/apply/parent-delete.js.map +1 -1
  111. package/dist/store/sync/apply/write-api.d.ts +3 -2
  112. package/dist/store/sync/apply/write-api.d.ts.map +1 -1
  113. package/dist/store/sync/apply/write-api.js +19 -0
  114. package/dist/store/sync/apply/write-api.js.map +1 -1
  115. package/dist/store/sync/capture.d.ts +11 -0
  116. package/dist/store/sync/capture.d.ts.map +1 -1
  117. package/dist/store/sync/capture.js +13 -3
  118. package/dist/store/sync/capture.js.map +1 -1
  119. package/dist/store/sync/flags.d.ts +10 -0
  120. package/dist/store/sync/flags.d.ts.map +1 -1
  121. package/dist/store/sync/flags.js +43 -5
  122. package/dist/store/sync/flags.js.map +1 -1
  123. package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
  124. package/dist/store/sync/timestamp-canon.js +37 -0
  125. package/dist/store/sync/timestamp-canon.js.map +1 -1
  126. package/dist/store/tasks-schema.d.ts +1 -1
  127. package/dist/store/tasks-schema.d.ts.map +1 -1
  128. package/dist/store/tasks-schema.js +5 -1
  129. package/dist/store/tasks-schema.js.map +1 -1
  130. package/dist/store/twin-collapse.d.ts +2 -1
  131. package/dist/store/twin-collapse.d.ts.map +1 -1
  132. package/dist/store/twin-collapse.js +128 -104
  133. package/dist/store/twin-collapse.js.map +1 -1
  134. package/dist/store/validation-schemas.d.ts +390 -38
  135. package/dist/store/validation-schemas.d.ts.map +1 -1
  136. package/dist/store/vault-manifest.d.ts +9 -2
  137. package/dist/store/vault-manifest.d.ts.map +1 -1
  138. package/dist/store/vault-manifest.js +25 -4
  139. package/dist/store/vault-manifest.js.map +1 -1
  140. package/dist/system/health.d.ts.map +1 -1
  141. package/dist/system/health.js +3 -2
  142. package/dist/system/health.js.map +1 -1
  143. package/dist/tasks/affected-packages.d.ts +21 -2
  144. package/dist/tasks/affected-packages.d.ts.map +1 -1
  145. package/dist/tasks/affected-packages.js +96 -8
  146. package/dist/tasks/affected-packages.js.map +1 -1
  147. package/dist/tasks/affected-scope.d.ts +7 -2
  148. package/dist/tasks/affected-scope.d.ts.map +1 -1
  149. package/dist/tasks/affected-scope.js +158 -14
  150. package/dist/tasks/affected-scope.js.map +1 -1
  151. package/dist/tasks/change-set.d.ts +10 -0
  152. package/dist/tasks/change-set.d.ts.map +1 -1
  153. package/dist/tasks/change-set.js +70 -3
  154. package/dist/tasks/change-set.js.map +1 -1
  155. package/dist/tasks/done-plan.d.ts +11 -5
  156. package/dist/tasks/done-plan.d.ts.map +1 -1
  157. package/dist/tasks/done-plan.js +54 -10
  158. package/dist/tasks/done-plan.js.map +1 -1
  159. package/dist/tasks/done-record.d.ts.map +1 -1
  160. package/dist/tasks/done-record.js +25 -0
  161. package/dist/tasks/done-record.js.map +1 -1
  162. package/dist/tasks/evidence.d.ts.map +1 -1
  163. package/dist/tasks/evidence.js +22 -2
  164. package/dist/tasks/evidence.js.map +1 -1
  165. package/dist/tasks/gate-result-cache.d.ts.map +1 -1
  166. package/dist/tasks/gate-result-cache.js +24 -3
  167. package/dist/tasks/gate-result-cache.js.map +1 -1
  168. package/dist/tasks/gate-runner.d.ts +27 -3
  169. package/dist/tasks/gate-runner.d.ts.map +1 -1
  170. package/dist/tasks/gate-runner.js +77 -29
  171. package/dist/tasks/gate-runner.js.map +1 -1
  172. package/dist/tasks/qa-run-binding.d.ts +22 -3
  173. package/dist/tasks/qa-run-binding.d.ts.map +1 -1
  174. package/dist/tasks/qa-run-binding.js +46 -4
  175. package/dist/tasks/qa-run-binding.js.map +1 -1
  176. package/dist/tasks/test-run-binding.d.ts +21 -3
  177. package/dist/tasks/test-run-binding.d.ts.map +1 -1
  178. package/dist/tasks/test-run-binding.js +60 -14
  179. package/dist/tasks/test-run-binding.js.map +1 -1
  180. package/dist/tasks/tool-cache.d.ts.map +1 -1
  181. package/dist/tasks/tool-cache.js +24 -12
  182. package/dist/tasks/tool-cache.js.map +1 -1
  183. package/migrations/drizzle-cleo-global/20261016130000_t13777-nexus-audit-row-uids/migration.sql +18 -0
  184. package/migrations/drizzle-cleo-project/20261015100000_t12914-lifecycle-release-row-uids/migration.sql +88 -0
  185. package/migrations/drizzle-cleo-project/20261016130000_t13777-log-row-uids/migration.sql +42 -0
  186. package/migrations/drizzle-cleo-project/20261016140000_t13777-audit-collapse/migration.sql +31 -0
  187. package/package.json +18 -18
  188. package/templates/CLEO-REFERENCE.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp-canon.js","sourceRoot":"","sources":["../../../src/store/sync/timestamp-canon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timestamp-canon.js","sourceRoot":"","sources":["../../../src/store/sync/timestamp-canon.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export { AGENT_INSTANCE_STATUSES, AGENT_TYPES, agentErrorLog, agentInstances, }
17
17
  export type { NewWarpChainInstanceRow, NewWarpChainRow, WarpChainInstanceRow, WarpChainRow, } from './schema/chain-schema.js';
18
18
  export { warpChainInstances, warpChains } from './schema/chain-schema.js';
19
19
  export type { NewTasksTokenUsageRow as NewTokenUsageRow, TasksTokenUsageRow as TokenUsageRow, } from './schema/cleo-project/audit.js';
20
- export { tasksSchemaMeta as schemaMeta, tasksTokenUsage as tokenUsage, } from './schema/cleo-project/audit.js';
20
+ export { tasksAuditLog as auditLog, tasksSchemaMeta as schemaMeta, tasksTokenUsage as tokenUsage, } from './schema/cleo-project/audit.js';
21
21
  export type { DocsAttachmentRefRow as AttachmentRefRow, DocsAttachmentRow as AttachmentRow, NewDocsAttachmentRefRow as NewAttachmentRefRow, NewDocsAttachmentRow as NewAttachmentRow, } from './schema/cleo-project/docs.js';
22
22
  export { docsAttachmentRefs as attachmentRefs, docsAttachments, docsAttachments as attachments, } from './schema/cleo-project/docs.js';
23
23
  export type { NewTasksLifecycleEvidenceRow as NewLifecycleEvidenceRow, NewTasksLifecycleGateResultRow as NewLifecycleGateResultRow, NewTasksLifecyclePipelineRow as NewLifecyclePipelineRow, NewTasksLifecycleStageRow as NewLifecycleStageRow, NewTasksLifecycleTransitionRow as NewLifecycleTransitionRow, TasksLifecycleEvidenceRow as LifecycleEvidenceRow, TasksLifecycleGateResultRow as LifecycleGateResultRow, TasksLifecyclePipelineRow as LifecyclePipelineRow, TasksLifecycleStageRow as LifecycleStageRow, TasksLifecycleTransitionRow as LifecycleTransitionRow, } from './schema/cleo-project/lifecycle.js';
@@ -1 +1 @@
1
- {"version":3,"file":"tasks-schema.d.ts","sourceRoot":"","sources":["../../src/store/tasks-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks-schema.d.ts","sourceRoot":"","sources":["../../src/store/tasks-schema.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,11 @@ export { warpChainInstances, warpChains } from './schema/chain-schema.js';
28
28
  // the same change. `store/twin-collapse.ts` carries the bare rows into the
29
29
  // twin (key-aware, atomic) at every open, before any read: the initial
30
30
  // collapse, then whatever an older build wrote to the bare table since.
31
- export { tasksSchemaMeta as schemaMeta, tasksTokenUsage as tokenUsage, } from './schema/cleo-project/audit.js';
31
+ // TWIN COLLAPSE (T13777) — `audit_log` → `tasks_audit_log`, a DRAIN like the
32
+ // token pair: every drizzle `schema.auditLog` reader and the dispatch audit
33
+ // writer use the twin, which syncs; the rows an older build writes to the bare
34
+ // table are drained into it at every open (`AUDIT_LOG` in twin-collapse.ts).
35
+ export { tasksAuditLog as auditLog, tasksSchemaMeta as schemaMeta, tasksTokenUsage as tokenUsage, } from './schema/cleo-project/audit.js';
32
36
  export { docsAttachmentRefs as attachmentRefs, docsAttachments, docsAttachments as attachments, } from './schema/cleo-project/docs.js';
33
37
  // COMPLETE-CUTOVER (T12017 · gh#1107) — lifecycle domain → PREFIXED tables.
34
38
  //
@@ -1 +1 @@
1
- {"version":3,"file":"tasks-schema.js","sourceRoot":"","sources":["../../src/store/tasks-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks-schema.js","sourceRoot":"","sources":["../../src/store/tasks-schema.ts"],"names":[],"mappings":"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"}
@@ -361,7 +361,8 @@ export declare function setFreezeBuildForTests(override: {
361
361
  /** Phrases the freeze message must never contain (older builds' retry and recovery matchers). */
362
362
  export declare const DOCS_FROZEN_FORBIDDEN: readonly string[];
363
363
  /**
364
- * Override the token drain's chunk size, for tests (`undefined` restores it).
364
+ * Override the drains' chunk size (token usage and audit log), for tests
365
+ * (`undefined` restores it).
365
366
  *
366
367
  * @param size - Rows per drain transaction.
367
368
  * @task T13115
@@ -1 +1 @@
1
- {"version":3,"file":"twin-collapse.d.ts","sourceRoot":"","sources":["../../src/store/twin-collapse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"twin-collapse.d.ts","sourceRoot":"","sources":["../../src/store/twin-collapse.ts"],"names":[],"mappings":"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"}
@@ -205,6 +205,7 @@ import { getCleoVersion } from '../scaffold/ensure-config.js';
205
205
  import { isPinnedBackup, pinBackup, readBackupSidecar, restoreBackupSidecar, unpinBackup, } from './backup-sidecar.js';
206
206
  import { blobFileForRow, pinBlob, restoreBlob } from './blob-keep.js';
207
207
  import { planMigrationSnapshot, writeMigrationSnapshot } from './pre-repair-snapshot.js';
208
+ import { DRAINED_TWINS } from './row-identity-registry.js';
208
209
  import { withSuspectAccounting } from './sync/structural.js';
209
210
  const log = getLogger('twin-collapse');
210
211
  /** Prefix of the marker key holding a pair's collapse state. */
@@ -1500,48 +1501,47 @@ const DOCS = {
1500
1501
  }
1501
1502
  },
1502
1503
  };
1503
- // ── token_usage (T13115) ─────────────────────────────────────────────────────
1504
- /** The bare token table and its twin (the runtime has written the twin since T13111). */
1505
- const TOKEN_BARE = 'token_usage';
1506
- const TOKEN_TWIN = 'tasks_token_usage';
1507
- /** Most bare token rows one drain transaction decides; a longer backlog drains in several. */
1508
- const TOKEN_DRAIN_CHUNK = 2000;
1509
- let tokenDrainChunk = TOKEN_DRAIN_CHUNK;
1504
+ // ── id-keyed drains: token_usage (T13115), audit_log (T13777) ───────────────
1505
+ /** Most bare rows one drain transaction decides; a longer backlog drains in several. */
1506
+ const DRAIN_CHUNK = 2000;
1507
+ let drainChunk = DRAIN_CHUNK;
1510
1508
  /**
1511
- * Override the token drain's chunk size, for tests (`undefined` restores it).
1509
+ * Override the drains' chunk size (token usage and audit log), for tests
1510
+ * (`undefined` restores it).
1512
1511
  *
1513
1512
  * @param size - Rows per drain transaction.
1514
1513
  * @task T13115
1515
1514
  */
1516
1515
  export function setTokenDrainChunkForTests(size) {
1517
- tokenDrainChunk = size ?? TOKEN_DRAIN_CHUNK;
1516
+ drainChunk = size ?? DRAIN_CHUNK;
1518
1517
  }
1519
- /** The token columns both tables hold (a cut-down legacy shape carries what it has). */
1520
- const tokenColumns = (db) => sharedColumns(db, TOKEN_BARE, TOKEN_TWIN);
1521
1518
  /** JSON of `cols` of one row (missing values as null). */
1522
1519
  const rowJson = (row, cols) => JSON.stringify(cols.map((c) => row[c] ?? null));
1523
- /** The token shape, or `null` when the tables share no `id` column (nothing is ever drained). */
1524
- function tokenShape(db, schema) {
1525
- const shared = tokenColumns(db);
1520
+ /** The drain shape, or `null` when `id` does not travel (nothing is ever drained). */
1521
+ function drainShape(db, spec, schema) {
1522
+ const twinHas = new Set(columnsOf(db, 'main', spec.twin));
1523
+ const all = columnsOf(db, 'main', spec.bare);
1524
+ const shared = all.filter((c) => twinHas.has(spec.rename[c] ?? c));
1526
1525
  if (!shared.includes('id'))
1527
1526
  return null;
1528
- const all = columnsOf(db, 'main', TOKEN_BARE);
1527
+ const twinCols = shared.map((c) => spec.rename[c] ?? c);
1529
1528
  const list = (cols) => cols.map(quoteIdent).join(', ');
1530
1529
  return {
1531
1530
  shared,
1531
+ twinCols,
1532
1532
  all,
1533
1533
  bareOnly: all.filter((c) => !shared.includes(c)),
1534
- twinRow: db.prepare(`SELECT ${list(shared)} FROM ${schema}.${TOKEN_TWIN} WHERE "id" = ?`),
1535
- bareById: db.prepare(`SELECT ${list(all)} FROM main.${TOKEN_BARE} WHERE "id" = ?`),
1534
+ twinRow: db.prepare(`SELECT ${list(twinCols)} FROM ${schema}.${spec.twin} WHERE "id" = ?`),
1535
+ bareById: db.prepare(`SELECT ${list(all)} FROM main.${spec.bare} WHERE "id" = ?`),
1536
1536
  };
1537
1537
  }
1538
- /** One twin token row as the JSON of the shared columns, or `undefined` when absent. */
1539
- function twinTokenJson(shape, id) {
1538
+ /** One twin row as the JSON of the carried columns, or `undefined` when absent. */
1539
+ function twinRowJson(shape, id) {
1540
1540
  const row = shape.twinRow.get(id);
1541
- return row === undefined ? undefined : rowJson(row, shape.shared);
1541
+ return row === undefined ? undefined : rowJson(row, shape.twinCols);
1542
1542
  }
1543
1543
  /** The hash that stands for every bare row with this id (its change identity), or `undefined`. */
1544
- function bareTokenHash(shape, id) {
1544
+ function bareRowHash(shape, id) {
1545
1545
  const rows = shape.bareById.all(id);
1546
1546
  if (rows.length === 0)
1547
1547
  return undefined;
@@ -1549,29 +1549,29 @@ function bareTokenHash(shape, id) {
1549
1549
  return sha(fulls.length === 1 ? fulls[0] : JSON.stringify(fulls));
1550
1550
  }
1551
1551
  /** Bare ids a cut-down table without a key holds more than once (empty when `id` is the key). */
1552
- function duplicateTokenIds(db) {
1552
+ function duplicateBareIds(db, spec) {
1553
1553
  return db
1554
- .prepare(`SELECT "id" AS id FROM main.${TOKEN_BARE} WHERE "id" IS NOT NULL GROUP BY "id" HAVING count(*) > 1`)
1554
+ .prepare(`SELECT "id" AS id FROM main.${spec.bare} WHERE "id" IS NOT NULL GROUP BY "id" HAVING count(*) > 1`)
1555
1555
  .all().map((r) => String(r.id));
1556
1556
  }
1557
1557
  /**
1558
- * Bare token rows by id, as the hash of the whole row (the change identity a
1559
- * marker records). Read in full: used to detect a change when no change
1560
- * counter can be trusted, and by `cleo doctor`.
1558
+ * Bare rows by id, as the hash of the whole row (the change identity a marker
1559
+ * records). Read in full: used to detect a change when no change counter can
1560
+ * be trusted, and by `cleo doctor`.
1561
1561
  */
1562
- function bareTokenHashes(db) {
1563
- const shape = tokenShape(db, 'main');
1562
+ function bareRowHashes(db, spec) {
1563
+ const shape = drainShape(db, spec, 'main');
1564
1564
  if (shape === null)
1565
1565
  return {};
1566
- const dups = new Set(duplicateTokenIds(db));
1566
+ const dups = new Set(duplicateBareIds(db, spec));
1567
1567
  const out = {};
1568
1568
  for (const id of dups) {
1569
- const h = bareTokenHash(shape, id);
1569
+ const h = bareRowHash(shape, id);
1570
1570
  if (h !== undefined)
1571
1571
  out[id] = h;
1572
1572
  }
1573
1573
  const rows = db
1574
- .prepare(`SELECT ${shape.all.map(quoteIdent).join(', ')} FROM main.${TOKEN_BARE} WHERE "id" IS NOT NULL`)
1574
+ .prepare(`SELECT ${shape.all.map(quoteIdent).join(', ')} FROM main.${spec.bare} WHERE "id" IS NOT NULL`)
1575
1575
  .iterate();
1576
1576
  for (const r of rows) {
1577
1577
  const id = String(r['id']);
@@ -1585,9 +1585,9 @@ function bareTokenHashes(db) {
1585
1585
  * count and highest rowid. `undefined` (compare full hashes) when the table
1586
1586
  * has no rowid.
1587
1587
  */
1588
- function tokenChangeSeq(db) {
1588
+ function bareChangeSeq(db, spec) {
1589
1589
  try {
1590
- const r = db.prepare(`SELECT count(*) AS n, max(rowid) AS m FROM main.${TOKEN_BARE}`).get();
1590
+ const r = db.prepare(`SELECT count(*) AS n, max(rowid) AS m FROM main.${spec.bare}`).get();
1591
1591
  return r === undefined ? undefined : `${r.n}:${r.m ?? 0}`;
1592
1592
  }
1593
1593
  catch {
@@ -1595,9 +1595,9 @@ function tokenChangeSeq(db) {
1595
1595
  }
1596
1596
  }
1597
1597
  /**
1598
- * Plan one bounded step of the drain: at most {@link TOKEN_DRAIN_CHUNK} bare
1599
- * rows an earlier merge did not leave behind are decided, streamed rather than
1600
- * read in full:
1598
+ * Plan one bounded step of a drain: at most {@link DRAIN_CHUNK} bare rows an
1599
+ * earlier merge did not leave behind are decided, streamed rather than read
1600
+ * in full:
1601
1601
  *
1602
1602
  * - the twin lacks it → carried (`set`), then removed from the bare table;
1603
1603
  * - the twin holds an identical copy (a store an older build reconciled holds
@@ -1616,10 +1616,10 @@ function tokenChangeSeq(db) {
1616
1616
  * remain), so a long backlog drains in several transactions without any row
1617
1617
  * being taken for "left behind" before it was decided.
1618
1618
  */
1619
- function planTokenUsage(db, state) {
1619
+ function planDrain(db, spec, state) {
1620
1620
  const plan = { ...emptyPlan(), leftBehind: new Map(), fullHashes: new Map() };
1621
1621
  const left = plan.leftBehind;
1622
- const shape = tokenShape(db, 'main');
1622
+ const shape = drainShape(db, spec, 'main');
1623
1623
  if (shape === null)
1624
1624
  return plan;
1625
1625
  const last = state?.hashes?.bare ?? {};
@@ -1631,17 +1631,17 @@ function planTokenUsage(db, state) {
1631
1631
  : reason);
1632
1632
  };
1633
1633
  const visited = new Set();
1634
- const dups = duplicateTokenIds(db);
1634
+ const dups = duplicateBareIds(db, spec);
1635
1635
  for (const id of dups) {
1636
1636
  visited.add(id);
1637
- const hash = bareTokenHash(shape, id);
1637
+ const hash = bareRowHash(shape, id);
1638
1638
  if (hash !== undefined)
1639
- keepLeft(id, hash, `${id}: not carried (${TOKEN_BARE} holds this id more than once)`);
1639
+ keepLeft(id, hash, `${id}: not carried (${spec.bare} holds this id more than once)`);
1640
1640
  }
1641
1641
  const dupSet = new Set(dups);
1642
1642
  let decided = 0;
1643
1643
  const rows = db
1644
- .prepare(`SELECT ${shape.all.map(quoteIdent).join(', ')} FROM main.${TOKEN_BARE} WHERE "id" IS NOT NULL`)
1644
+ .prepare(`SELECT ${shape.all.map(quoteIdent).join(', ')} FROM main.${spec.bare} WHERE "id" IS NOT NULL`)
1645
1645
  .iterate();
1646
1646
  for (const r of rows) {
1647
1647
  const id = String(r['id']);
@@ -1650,10 +1650,10 @@ function planTokenUsage(db, state) {
1650
1650
  const hash = sha(rowJson(r, shape.all));
1651
1651
  if (last[id] === hash) {
1652
1652
  visited.add(id);
1653
- keepLeft(id, hash, `${id}: left in ${TOKEN_BARE} by an earlier merge`);
1653
+ keepLeft(id, hash, `${id}: left in ${spec.bare} by an earlier merge`);
1654
1654
  continue;
1655
1655
  }
1656
- if (decided >= tokenDrainChunk) {
1656
+ if (decided >= drainChunk) {
1657
1657
  plan.truncated = true;
1658
1658
  break;
1659
1659
  }
@@ -1661,11 +1661,11 @@ function planTokenUsage(db, state) {
1661
1661
  decided++;
1662
1662
  const extra = shape.bareOnly.filter((c) => (r[c] ?? null) !== null);
1663
1663
  if (extra.length > 0) {
1664
- keepLeft(id, hash, `${id}: not carried (${TOKEN_TWIN} has no column ${extra.join(', ')})`);
1664
+ keepLeft(id, hash, `${id}: not carried (${spec.twin} has no column ${extra.join(', ')})`);
1665
1665
  continue;
1666
1666
  }
1667
1667
  const json = rowJson(r, shape.shared);
1668
- const twin = twinTokenJson(shape, id);
1668
+ const twin = twinRowJson(shape, id);
1669
1669
  if (twin === undefined) {
1670
1670
  plan.set.set(id, json);
1671
1671
  plan.fullHashes?.set(id, hash);
@@ -1673,50 +1673,50 @@ function planTokenUsage(db, state) {
1673
1673
  else if (twin === json)
1674
1674
  plan.del.push(id);
1675
1675
  else
1676
- keepLeft(id, hash, `${id}: kept in ${TOKEN_BARE} (${TOKEN_TWIN} holds another copy)`);
1676
+ keepLeft(id, hash, `${id}: kept in ${spec.bare} (${spec.twin} holds another copy)`);
1677
1677
  }
1678
1678
  // Rows left behind earlier that this bounded pass did not reach stay left
1679
1679
  // behind while they are unchanged.
1680
1680
  if (plan.truncated) {
1681
1681
  for (const [id, hash] of Object.entries(last)) {
1682
- if (!visited.has(id) && bareTokenHash(shape, id) === hash)
1682
+ if (!visited.has(id) && bareRowHash(shape, id) === hash)
1683
1683
  left.set(id, hash);
1684
1684
  }
1685
1685
  }
1686
1686
  return plan;
1687
1687
  }
1688
1688
  /**
1689
- * Carry a token plan into `tasks_token_usage`, one row at a time, each in its
1690
- * own savepoint and re-read before it counts. A row the twin refuses (a
1691
- * CHECK, NOT NULL or type mismatch from a differing shape, or a value it
1689
+ * Carry a drain plan into the twin, one row at a time, each in its own
1690
+ * savepoint and re-read before it counts. A row the twin refuses (a CHECK,
1691
+ * NOT NULL, UNIQUE or type mismatch from a differing shape, or a value it
1692
1692
  * stores differently) is rolled back, listed as a conflict and left where it
1693
1693
  * is (recorded in `leftBehind`): one bad row never fails the merge, so the
1694
1694
  * open is never blocked by it. A carried row and every row of `del` are then
1695
1695
  * deleted from the bare table.
1696
1696
  */
1697
- function applyTokenUsage(db, plan) {
1697
+ function applyDrain(db, spec, plan) {
1698
1698
  const refused = new Set();
1699
- const shape = tokenShape(db, 'main');
1699
+ const shape = drainShape(db, spec, 'main');
1700
1700
  if (shape === null)
1701
1701
  return { inserted: 0, replaced: 0, deleted: 0, refused };
1702
- const insert = db.prepare(`INSERT INTO main.${TOKEN_TWIN} (${shape.shared.map(quoteIdent).join(', ')}) ` +
1703
- `VALUES (${shape.shared.map(() => '?').join(', ')})`);
1704
- const removeBare = db.prepare(`DELETE FROM main.${TOKEN_BARE} WHERE "id" = ?`);
1702
+ const insert = db.prepare(`INSERT INTO main.${spec.twin} (${shape.twinCols.map(quoteIdent).join(', ')}) ` +
1703
+ `VALUES (${shape.twinCols.map(() => '?').join(', ')})`);
1704
+ const removeBare = db.prepare(`DELETE FROM main.${spec.bare} WHERE "id" = ?`);
1705
1705
  let inserted = 0;
1706
1706
  let deleted = 0;
1707
1707
  for (const [id, json] of plan.set) {
1708
- db.exec('SAVEPOINT token_usage_row');
1708
+ db.exec(`SAVEPOINT ${spec.savepoint}`);
1709
1709
  try {
1710
1710
  insert.run(...JSON.parse(json));
1711
- if (twinTokenJson(shape, id) !== json)
1711
+ if (twinRowJson(shape, id) !== json)
1712
1712
  // @sync-invariant none:local-only re-reads a row this device's own drain just inserted; the savepoint rolls it back and the row stays in the bare table
1713
1713
  throw new Error('the stored row differs');
1714
- db.exec('RELEASE token_usage_row');
1714
+ db.exec(`RELEASE ${spec.savepoint}`);
1715
1715
  inserted++;
1716
1716
  }
1717
1717
  catch (error) {
1718
- db.exec('ROLLBACK TO token_usage_row');
1719
- db.exec('RELEASE token_usage_row');
1718
+ db.exec(`ROLLBACK TO ${spec.savepoint}`);
1719
+ db.exec(`RELEASE ${spec.savepoint}`);
1720
1720
  plan.conflicts.push(`${id}: not carried (${error instanceof Error ? error.message : error})`);
1721
1721
  plan.skipped++;
1722
1722
  refused.add(id);
@@ -1732,61 +1732,85 @@ function applyTokenUsage(db, plan) {
1732
1732
  return { inserted, replaced: 0, deleted, refused };
1733
1733
  }
1734
1734
  /**
1735
- * `token_usage` → `tasks_token_usage`, a DRAIN rather than a mirror. Token rows
1736
- * are append-only telemetry with random ids, and since T13111 this build reads
1737
- * and writes only the twin. So each merge moves the bare rows into the twin
1738
- * and deletes them from the bare table, the second sanctioned bare write after
1739
- * {@link mirrorCounterToBare}: the bare table becomes the inbox of rows an
1740
- * older build writes, empty after every open unless a row is left behind (see
1741
- * {@link planTokenUsage}). `cleo token` reports then cover all history, and
1742
- * `cleo token delete` / `clear` need to touch the twin only.
1735
+ * A lossless drain pair for {@link DrainSpec}: each merge moves the bare rows
1736
+ * into the twin and deletes them from the bare table, so the bare table becomes
1737
+ * the inbox of rows an older build writes, empty after every open unless a row
1738
+ * is left behind (see {@link planDrain}).
1743
1739
  *
1744
1740
  * - Lossless: a bare row is deleted only when the twin holds every value of
1745
1741
  * it, so no snapshot is taken and no marker names one.
1746
- * - Bounded: a merge decides at most {@link TOKEN_DRAIN_CHUNK} rows per
1742
+ * - Bounded: a merge decides at most {@link DRAIN_CHUNK} rows per
1747
1743
  * `BEGIN IMMEDIATE`, so a long legacy table drains in several short
1748
1744
  * transactions instead of holding the write lock for all of it.
1749
1745
  * - Degrades nothing: the twin is correct whatever the bare table holds, so a
1750
1746
  * failed merge is recorded (`cleo doctor twin-collapse`) and retried at the
1751
1747
  * next open; no shadow is built and no write is refused.
1752
- * - Only the columns both tables hold are carried, so a cut-down legacy shape
1753
- * on either side drains what it can and never fails the open.
1748
+ * - Only the columns the twin has a place for are carried, so a cut-down
1749
+ * legacy shape on either side drains what it can and never fails the open.
1754
1750
  * - An unchanged bare table costs one `count`/`max(rowid)` read.
1755
1751
  */
1756
- const TOKEN_USAGE = {
1757
- table: TOKEN_BARE,
1758
- twin: TOKEN_TWIN,
1759
- kvTable: 'tasks_schema_meta',
1760
- tables: [TOKEN_BARE, TOKEN_TWIN, 'tasks_schema_meta'],
1761
- lossless: true,
1762
- bareHashes: (db) => bareTokenHashes(db),
1763
- // The twin is not tracked: the bare side is drained, never compared.
1764
- twinHashes: () => ({}),
1765
- changeSeq: (db) => tokenChangeSeq(db),
1766
- plan: (db, state) => planTokenUsage(db, state),
1767
- apply(db, plan) {
1768
- const { refused, ...counts } = applyTokenUsage(db, plan);
1769
- const shape = tokenShape(db, 'main');
1770
- if (shape === null)
1752
+ function drainPair(spec) {
1753
+ return {
1754
+ table: spec.bare,
1755
+ twin: spec.twin,
1756
+ kvTable: 'tasks_schema_meta',
1757
+ tables: [spec.bare, spec.twin, 'tasks_schema_meta'],
1758
+ lossless: true,
1759
+ bareHashes: (db) => bareRowHashes(db, spec),
1760
+ // The twin is not tracked: the bare side is drained, never compared.
1761
+ twinHashes: () => ({}),
1762
+ changeSeq: (db) => bareChangeSeq(db, spec),
1763
+ plan: (db, state) => planDrain(db, spec, state),
1764
+ apply(db, plan) {
1765
+ const { refused, ...counts } = applyDrain(db, spec, plan);
1766
+ const shape = drainShape(db, spec, 'main');
1767
+ if (shape === null)
1768
+ return counts;
1769
+ const left = db.prepare(`SELECT 1 FROM main.${spec.bare} WHERE "id" = ?`);
1770
+ for (const [id, json] of plan.set) {
1771
+ if (refused.has(id))
1772
+ continue;
1773
+ if (twinRowJson(shape, id) !== json)
1774
+ // @sync-invariant none:local-only verifies this device's own collapse transaction before commit; a mismatch rolls the whole drain back
1775
+ throw new Error(`${spec.bare} collapse did not verify the carried row ${id}`);
1776
+ }
1777
+ for (const id of [...plan.set.keys(), ...plan.del]) {
1778
+ if (!refused.has(id) && left.get(id) !== undefined)
1779
+ // @sync-invariant none:local-only verifies this device's own collapse transaction before commit; a mismatch rolls the whole drain back
1780
+ throw new Error(`${spec.bare} collapse did not verify the drain of ${id}`);
1781
+ }
1771
1782
  return counts;
1772
- const left = db.prepare(`SELECT 1 FROM main.${TOKEN_BARE} WHERE "id" = ?`);
1773
- for (const [id, json] of plan.set) {
1774
- if (refused.has(id))
1775
- continue;
1776
- if (twinTokenJson(shape, id) !== json)
1777
- // @sync-invariant none:local-only verifies this device's own collapse transaction before commit; a mismatch rolls the whole drain back
1778
- throw new Error(`token_usage collapse did not verify the carried row ${id}`);
1779
- }
1780
- for (const id of [...plan.set.keys(), ...plan.del]) {
1781
- if (!refused.has(id) && left.get(id) !== undefined)
1782
- // @sync-invariant none:local-only verifies this device's own collapse transaction before commit; a mismatch rolls the whole drain back
1783
- throw new Error(`token_usage collapse did not verify the drain of ${id}`);
1784
- }
1785
- return counts;
1786
- },
1787
- };
1783
+ },
1784
+ };
1785
+ }
1786
+ /**
1787
+ * `token_usage` → `tasks_token_usage` (T13115): token rows are append-only
1788
+ * telemetry with random ids, and since T13111 this build reads and writes only
1789
+ * the twin, so `cleo token` reports cover all history, and `cleo token delete`
1790
+ * / `clear` need to touch the twin only.
1791
+ */
1792
+ const TOKEN_USAGE = drainPair({
1793
+ bare: 'token_usage',
1794
+ twin: DRAINED_TWINS['token_usage'] ?? 'tasks_token_usage',
1795
+ rename: {},
1796
+ savepoint: 'token_usage_row',
1797
+ });
1798
+ /**
1799
+ * `audit_log` → `tasks_audit_log` (T13777): the dispatch audit, append-only
1800
+ * with UUID ids, which this build writes into the twin, so one audit table
1801
+ * syncs and every reader sees all history. The bare `idempotency_key` lands
1802
+ * in `dispatch_idempotency_key`: a dispatch request may record several rows
1803
+ * under one key (a failed attempt, then its retry), which the twin's
1804
+ * UNIQUE(project_hash, domain, operation, idempotency_key) would refuse.
1805
+ */
1806
+ const AUDIT_LOG = drainPair({
1807
+ bare: 'audit_log',
1808
+ twin: DRAINED_TWINS['audit_log'] ?? 'tasks_audit_log',
1809
+ rename: { idempotency_key: 'dispatch_idempotency_key' },
1810
+ savepoint: 'audit_log_row',
1811
+ });
1788
1812
  /** The pairs this build collapses, in order. */
1789
- const PAIRS = [SCHEMA_META, STICKY_TAGS, DOCS, TOKEN_USAGE];
1813
+ const PAIRS = [SCHEMA_META, STICKY_TAGS, DOCS, TOKEN_USAGE, AUDIT_LOG];
1790
1814
  /** Connections serving TEMP shadows because their collapse failed. */
1791
1815
  const degraded = new WeakMap();
1792
1816
  /**