@cleocode/core 2026.6.6 → 2026.6.8

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 (168) hide show
  1. package/dist/db/index.d.ts +5 -1
  2. package/dist/db/index.d.ts.map +1 -1
  3. package/dist/db/index.js +5 -1
  4. package/dist/db/index.js.map +1 -1
  5. package/dist/dispatch/contracts/output-contracts.d.ts +36 -0
  6. package/dist/dispatch/contracts/output-contracts.d.ts.map +1 -0
  7. package/dist/dispatch/contracts/output-contracts.js +38 -0
  8. package/dist/dispatch/contracts/output-contracts.js.map +1 -0
  9. package/dist/dispatch/describe-operation.d.ts +98 -0
  10. package/dist/dispatch/describe-operation.d.ts.map +1 -0
  11. package/dist/dispatch/describe-operation.js +101 -0
  12. package/dist/dispatch/describe-operation.js.map +1 -0
  13. package/dist/docs/build-provenance-graph.d.ts +12 -0
  14. package/dist/docs/build-provenance-graph.d.ts.map +1 -1
  15. package/dist/docs/build-provenance-graph.js +52 -0
  16. package/dist/docs/build-provenance-graph.js.map +1 -1
  17. package/dist/docs/docs-read-model.d.ts +40 -0
  18. package/dist/docs/docs-read-model.d.ts.map +1 -1
  19. package/dist/docs/docs-read-model.js +29 -0
  20. package/dist/docs/docs-read-model.js.map +1 -1
  21. package/dist/docs/export-document.js +1794 -1235
  22. package/dist/docs/export-document.js.map +3 -3
  23. package/dist/docs/index.d.ts +4 -0
  24. package/dist/docs/index.d.ts.map +1 -1
  25. package/dist/docs/index.js +2 -0
  26. package/dist/docs/index.js.map +1 -1
  27. package/dist/docs/read-doc.d.ts +60 -0
  28. package/dist/docs/read-doc.d.ts.map +1 -0
  29. package/dist/docs/read-doc.js +188 -0
  30. package/dist/docs/read-doc.js.map +1 -0
  31. package/dist/docs/wikilinks.d.ts +119 -0
  32. package/dist/docs/wikilinks.d.ts.map +1 -0
  33. package/dist/docs/wikilinks.js +217 -0
  34. package/dist/docs/wikilinks.js.map +1 -0
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +5 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/internal.d.ts +2 -0
  40. package/dist/internal.d.ts.map +1 -1
  41. package/dist/internal.js +6 -0
  42. package/dist/internal.js.map +1 -1
  43. package/dist/llm/index.d.ts +1 -3
  44. package/dist/llm/index.d.ts.map +1 -1
  45. package/dist/llm/index.js +1 -2
  46. package/dist/llm/index.js.map +1 -1
  47. package/dist/llm/model-metadata.d.ts +14 -0
  48. package/dist/llm/model-metadata.d.ts.map +1 -1
  49. package/dist/llm/model-metadata.js +23 -0
  50. package/dist/llm/model-metadata.js.map +1 -1
  51. package/dist/llm/model-runner.d.ts.map +1 -1
  52. package/dist/llm/model-runner.js +104 -74
  53. package/dist/llm/model-runner.js.map +1 -1
  54. package/dist/llm/plugin-facade.js +1947 -1364
  55. package/dist/llm/plugin-facade.js.map +3 -3
  56. package/dist/llm/provider-registry/builtin/anthropic.d.ts.map +1 -1
  57. package/dist/llm/provider-registry/builtin/anthropic.js +4 -0
  58. package/dist/llm/provider-registry/builtin/anthropic.js.map +1 -1
  59. package/dist/llm/provider-registry/builtin/gemini.d.ts.map +1 -1
  60. package/dist/llm/provider-registry/builtin/gemini.js +4 -0
  61. package/dist/llm/provider-registry/builtin/gemini.js.map +1 -1
  62. package/dist/llm/provider-registry/builtin/ollama.d.ts.map +1 -1
  63. package/dist/llm/provider-registry/builtin/ollama.js +4 -0
  64. package/dist/llm/provider-registry/builtin/ollama.js.map +1 -1
  65. package/dist/llm/provider-registry/builtin/openai.d.ts.map +1 -1
  66. package/dist/llm/provider-registry/builtin/openai.js +6 -0
  67. package/dist/llm/provider-registry/builtin/openai.js.map +1 -1
  68. package/dist/llm/transports/index.d.ts +5 -3
  69. package/dist/llm/transports/index.d.ts.map +1 -1
  70. package/dist/llm/transports/index.js +5 -2
  71. package/dist/llm/transports/index.js.map +1 -1
  72. package/dist/reconciliation/reconciliation-engine.d.ts.map +1 -1
  73. package/dist/reconciliation/reconciliation-engine.js +3 -0
  74. package/dist/reconciliation/reconciliation-engine.js.map +1 -1
  75. package/dist/release/plan.d.ts +27 -0
  76. package/dist/release/plan.d.ts.map +1 -1
  77. package/dist/release/plan.js +36 -2
  78. package/dist/release/plan.js.map +1 -1
  79. package/dist/release/provenance-fk.d.ts +74 -0
  80. package/dist/release/provenance-fk.d.ts.map +1 -0
  81. package/dist/release/provenance-fk.js +122 -0
  82. package/dist/release/provenance-fk.js.map +1 -0
  83. package/dist/release/reconcile.d.ts +2 -53
  84. package/dist/release/reconcile.d.ts.map +1 -1
  85. package/dist/release/reconcile.js +13 -93
  86. package/dist/release/reconcile.js.map +1 -1
  87. package/dist/sticky/convert.d.ts.map +1 -1
  88. package/dist/sticky/convert.js +3 -0
  89. package/dist/sticky/convert.js.map +1 -1
  90. package/dist/store/dual-scope-db.d.ts +83 -0
  91. package/dist/store/dual-scope-db.d.ts.map +1 -1
  92. package/dist/store/dual-scope-db.js +135 -6
  93. package/dist/store/dual-scope-db.js.map +1 -1
  94. package/dist/store/exodus/abort-events.d.ts +116 -0
  95. package/dist/store/exodus/abort-events.d.ts.map +1 -0
  96. package/dist/store/exodus/abort-events.js +130 -0
  97. package/dist/store/exodus/abort-events.js.map +1 -0
  98. package/dist/store/exodus/column-transforms.d.ts +35 -8
  99. package/dist/store/exodus/column-transforms.d.ts.map +1 -1
  100. package/dist/store/exodus/column-transforms.js +47 -13
  101. package/dist/store/exodus/column-transforms.js.map +1 -1
  102. package/dist/store/exodus/count-parity.d.ts +71 -0
  103. package/dist/store/exodus/count-parity.d.ts.map +1 -0
  104. package/dist/store/exodus/count-parity.js +124 -0
  105. package/dist/store/exodus/count-parity.js.map +1 -0
  106. package/dist/store/exodus/health.d.ts +70 -0
  107. package/dist/store/exodus/health.d.ts.map +1 -0
  108. package/dist/store/exodus/health.js +130 -0
  109. package/dist/store/exodus/health.js.map +1 -0
  110. package/dist/store/exodus/index.d.ts +4 -0
  111. package/dist/store/exodus/index.d.ts.map +1 -1
  112. package/dist/store/exodus/index.js +4 -0
  113. package/dist/store/exodus/index.js.map +1 -1
  114. package/dist/store/exodus/migrate.d.ts.map +1 -1
  115. package/dist/store/exodus/migrate.js +98 -31
  116. package/dist/store/exodus/migrate.js.map +1 -1
  117. package/dist/store/exodus/plan.d.ts +48 -4
  118. package/dist/store/exodus/plan.d.ts.map +1 -1
  119. package/dist/store/exodus/plan.js +67 -9
  120. package/dist/store/exodus/plan.js.map +1 -1
  121. package/dist/store/exodus/seal.d.ts +69 -0
  122. package/dist/store/exodus/seal.d.ts.map +1 -0
  123. package/dist/store/exodus/seal.js +73 -0
  124. package/dist/store/exodus/seal.js.map +1 -0
  125. package/dist/store/exodus/types.d.ts +24 -1
  126. package/dist/store/exodus/types.d.ts.map +1 -1
  127. package/dist/store/exodus/types.js.map +1 -1
  128. package/dist/store/exodus/verify-migration.d.ts.map +1 -1
  129. package/dist/store/exodus/verify-migration.js +53 -26
  130. package/dist/store/exodus/verify-migration.js.map +1 -1
  131. package/dist/store/repair-malformed-dbs.d.ts +87 -0
  132. package/dist/store/repair-malformed-dbs.d.ts.map +1 -0
  133. package/dist/store/repair-malformed-dbs.js +188 -0
  134. package/dist/store/repair-malformed-dbs.js.map +1 -0
  135. package/dist/store/schema/attachments.d.ts +133 -0
  136. package/dist/store/schema/attachments.d.ts.map +1 -1
  137. package/dist/store/schema/attachments.js +63 -0
  138. package/dist/store/schema/attachments.js.map +1 -1
  139. package/dist/tasks/add.d.ts +13 -0
  140. package/dist/tasks/add.d.ts.map +1 -1
  141. package/dist/tasks/add.js +50 -18
  142. package/dist/tasks/add.js.map +1 -1
  143. package/dist/tasks/archive.d.ts.map +1 -1
  144. package/dist/tasks/archive.js +12 -7
  145. package/dist/tasks/archive.js.map +1 -1
  146. package/dist/tasks/child-disposition.d.ts +66 -0
  147. package/dist/tasks/child-disposition.d.ts.map +1 -0
  148. package/dist/tasks/child-disposition.js +80 -0
  149. package/dist/tasks/child-disposition.js.map +1 -0
  150. package/dist/tasks/delete-preview.js +1 -1
  151. package/dist/tasks/delete-preview.js.map +1 -1
  152. package/dist/tasks/deletion-strategy.d.ts +21 -3
  153. package/dist/tasks/deletion-strategy.d.ts.map +1 -1
  154. package/dist/tasks/deletion-strategy.js +61 -15
  155. package/dist/tasks/deletion-strategy.js.map +1 -1
  156. package/dist/tasks/engine-wrap.d.ts +8 -0
  157. package/dist/tasks/engine-wrap.d.ts.map +1 -1
  158. package/dist/tasks/engine-wrap.js +22 -9
  159. package/dist/tasks/engine-wrap.js.map +1 -1
  160. package/dist/tasks/update.d.ts.map +1 -1
  161. package/dist/tasks/update.js +12 -0
  162. package/dist/tasks/update.js.map +1 -1
  163. package/migrations/drizzle-tasks/20260605000001_t11826-docs-wikilinks/migration.sql +110 -0
  164. package/package.json +12 -12
  165. package/dist/llm/transports/openai.d.ts +0 -181
  166. package/dist/llm/transports/openai.d.ts.map +0 -1
  167. package/dist/llm/transports/openai.js +0 -645
  168. package/dist/llm/transports/openai.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/exodus/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/exodus/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -8,9 +8,13 @@
8
8
  * @task T11248 (E5 · SG-DB-SUBSTRATE-V2)
9
9
  * @saga T11242
10
10
  */
11
+ export { clearExodusAborts, emitExodusAbort, exodusAbortEvents, getRecordedExodusAbort, } from './abort-events.js';
11
12
  export { archiveMigratedSources, archiveSourceDb, archiveStrandedResidue, detectStrandedResidue, exodusArchiveDir, exodusMarkerPath, hasExodusCompleteMarker, writeExodusCompleteMarker, } from './archive.js';
13
+ export { computeCountParity, } from './count-parity.js';
14
+ export { buildExodusHealth, } from './health.js';
12
15
  export { clearExodusJournal, runExodusMigrate } from './migrate.js';
13
16
  export { buildExodusPlan, deriveStagingDirName, sourcesPresent } from './plan.js';
17
+ export { sealExodus, } from './seal.js';
14
18
  export { runExodusStatus } from './status.js';
15
19
  export { isDerivedOrInternalTable, resolveConsolidatedTableName, reverseLookup, } from './table-name-map.js';
16
20
  export { EXODUS_TARGET_SCHEMA_VERSION, } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/exodus/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAGL,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EAErB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EAEvB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,GAY7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/exodus/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,iBAAiB,EAEjB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EAErB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EAEvB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,GAKlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAIL,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,GAY7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/store/exodus/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgHG;AA4BH,OAAO,KAAK,EAEV,mBAAmB,EACnB,UAAU,EAMX,MAAM,YAAY,CAAC;AAiEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAiB9D;AAqkBD;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,EAChB,iBAAiB,UAAQ,EACzB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAoK9B"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/store/exodus/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgHG;AA8BH,OAAO,KAAK,EAEV,mBAAmB,EACnB,UAAU,EAMX,MAAM,YAAY,CAAC;AAiEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAiB9D;AAknBD;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,EAChB,iBAAiB,UAAQ,EACzB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA6L9B"}
@@ -111,13 +111,14 @@
111
111
  * agent_credentials/brain_release_links tables)
112
112
  * @saga T11242
113
113
  */
114
- import { copyFileSync, existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync, } from 'node:fs';
114
+ import { copyFileSync, existsSync, mkdirSync, readFileSync, renameSync, statSync, unlinkSync, writeFileSync, } from 'node:fs';
115
115
  import { join } from 'node:path';
116
116
  import { getLogger } from '../../logger.js';
117
117
  import { getCleoVersion } from '../../scaffold/ensure-config.js';
118
118
  import { openDualScopeDbAtPath } from '../dual-scope-db.js';
119
119
  import { openCleoDbSnapshot } from '../open-cleo-db.js';
120
120
  import { buildEpochToIsoExpr, detectIsoGlobColumns, ENUM_NORMALIZATIONS, enumNormExpr, NUMERIC_CLAMPS, numericClampExpr, typeDefaultLiteral, } from './column-transforms.js';
121
+ import { STAGING_HEADROOM_FACTOR } from './plan.js';
121
122
  import { resolveConsolidatedTableName, resolveTableTargetScope } from './table-name-map.js';
122
123
  import { EXODUS_TARGET_SCHEMA_VERSION } from './types.js';
123
124
  const log = getLogger('exodus-migrate');
@@ -253,6 +254,24 @@ function releaseAdvisoryLock(dbPath) {
253
254
  // Ignore — lock may already be gone
254
255
  }
255
256
  }
257
+ /**
258
+ * Return a file's size in bytes, or `0` when it cannot be stat'd (T11838).
259
+ *
260
+ * Used to decide whether a source exceeds the staging-copy skip threshold. A
261
+ * non-existent / unreadable source is treated as 0 bytes (it is filtered out of
262
+ * the copy loop separately), so it never trips the large-source skip branch.
263
+ *
264
+ * @param filePath - Absolute path to the file to stat.
265
+ * @returns The file size in bytes, or `0` on any stat failure.
266
+ */
267
+ function safeStatBytes(filePath) {
268
+ try {
269
+ return statSync(filePath).size;
270
+ }
271
+ catch {
272
+ return 0;
273
+ }
274
+ }
256
275
  // ---------------------------------------------------------------------------
257
276
  // Unique ATTACH alias per source DB (T11531)
258
277
  // ---------------------------------------------------------------------------
@@ -598,40 +617,65 @@ function copyTableFromAttached(targetNativeDb, srcNativeDb, attachAlias, legacyT
598
617
  // on CHECK constraint violations (dangerous — must detect and report).
599
618
  // `targetSchema` is `main` by default; for cross-scope nexus graph tables
600
619
  // (ADR-090 T11539) it is the ATTACH alias of the project consolidated cleo.db.
620
+ // Capture the target row count BEFORE the INSERT so a deficit can be classified
621
+ // precisely (T11835). A row that fails to copy because its PK already exists is
622
+ // accounted for by a pre-existing target row; only a shortfall those rows
623
+ // cannot explain is genuine constraint loss. (The prior code claimed it "did
624
+ // not know existingBefore" and hard-coded a CHECK-violation guess — which fired
625
+ // on every idempotent re-run against an already-populated target.)
626
+ const existingBeforeRow = targetNativeDb
627
+ .prepare(`SELECT COUNT(*) AS c FROM "${targetSchema}"."${targetTableName}"`)
628
+ .get();
629
+ const existingBefore = Number(existingBeforeRow?.c ?? 0);
601
630
  const stmt = targetNativeDb.prepare(`INSERT OR IGNORE INTO "${targetSchema}"."${targetTableName}" (${colList}) ` +
602
631
  `SELECT ${selectList} FROM "${attachAlias}"."${legacyTableName}"`);
603
632
  const result = stmt.run();
604
633
  const rowsCopied = result.changes ?? 0;
605
- // --- Step 7: No-swallow assertion (ROOT CAUSE 1b T11546) ---
606
- //
607
- // If rowsCopied < sourceCount, rows were silently dropped. This can happen for
608
- // two reasons:
609
- // a) PK/UNIQUE conflict on idempotent resume — EXPECTED and SAFE (the data
610
- // is already in the target from a previous run).
611
- // b) CHECK / NOT NULL / type constraint violation — DATA LOSS, must error.
634
+ // --- Step 7: No-swallow assertion idempotent dedup vs real loss (T11835) ---
612
635
  //
613
- // We distinguish these by counting existing target rows BEFORE the INSERT
614
- // and comparing: if (existingBefore + sourceCount) > rowsCopied + existingBefore,
615
- // some rows were dropped by constraints rather than deduplicated. However,
616
- // since we are mid-transaction and do not know existingBefore (prior sources
617
- // may have written to the same table), we take a simpler approach: if
618
- // rowsCopied == 0 AND sourceCount > 0, this is almost certainly a constraint
619
- // failure (a full-table dedup on resume would be extremely unusual). If
620
- // rowsCopied < sourceCount but > 0, it may be a partial dedup. We log a
621
- // warning for partial losses and a hard error for full (0-row) losses.
636
+ // When `rowsCopied < sourceCount`, INSERT OR IGNORE dropped rows for one of two
637
+ // VERY different reasons:
638
+ // a) PK/UNIQUE conflict the row is ALREADY in the target (a re-run against
639
+ // a populated cleo.db, or an earlier source in this same migration wrote
640
+ // the same key). EXPECTED, idempotent, ZERO loss.
641
+ // b) CHECK / NOT NULL / type / enum constraint the row was REJECTED.
642
+ // Genuine DATA LOSS that must be surfaced.
622
643
  //
623
- // The verifier (`runExodusVerify`) catches any remaining discrepancy post-hoc.
644
+ // `existingBefore` (target rows present before this INSERT) tells them apart
645
+ // precisely: a PK-deduped source row is accounted for by a pre-existing target
646
+ // row, so `existingBefore + rowsCopied` is the number of source rows provably
647
+ // present after the INSERT. If that is >= sourceCount every source row is
648
+ // present (idempotent — no loss, no error); a smaller value is the genuine
649
+ // shortfall. The verifier (`verifyMigration`) independently re-confirms via
650
+ // COUNT(*) parity.
624
651
  if (rowsCopied < sourceCount) {
625
- const dropped = sourceCount - rowsCopied;
626
- if (rowsCopied === 0) {
627
- // Full table drop almost certainly a CHECK or type constraint failure.
628
- const reason = `INSERT OR IGNORE dropped ALL ${sourceCount} rows from '${legacyTableName}'→'${targetTableName}' (rowsCopied=0, sourceCount=${sourceCount}). Likely a CHECK/type constraint violation check epoch coercion or enum values.`;
629
- log.error({ legacyTableName, targetTableName, sourceName, sourceCount, rowsCopied }, `Exodus: ${reason}`);
630
- return { rowsCopied: 0, skipped: false, reason };
652
+ const presentAccountedFor = existingBefore + rowsCopied;
653
+ if (presentAccountedFor >= sourceCount) {
654
+ // Idempotent: every source row is already in the target (PK dedup on a
655
+ // re-run / already-populated target). NOT data loss no error reason; the
656
+ // table is journaled `done` with the rows it actually needed to copy.
657
+ log.info({ legacyTableName, targetTableName, sourceName, sourceCount, rowsCopied, existingBefore }, `Exodus: '${legacyTableName}'→'${targetTableName}' ${sourceCount - rowsCopied} of ` +
658
+ `${sourceCount} row(s) already present in target (idempotent PK dedup), ${rowsCopied} ` +
659
+ `newly copied; no loss`);
660
+ return { rowsCopied, skipped: false };
631
661
  }
632
- // Partial drop could be UNIQUE dedup on resume or a real constraint drop.
633
- // Log as warning and let the verifier catch genuine losses.
634
- log.warn({ legacyTableName, targetTableName, sourceName, sourceCount, rowsCopied, dropped }, `Exodus: INSERT OR IGNORE dropped ${dropped}/${sourceCount} rows from '${legacyTableName}'→'${targetTableName}' — may be idempotent-resume dedup or a constraint violation; verify will confirm`);
662
+ // Genuine shortfall: more rows are missing than the pre-existing target rows
663
+ // can explain a CHECK / NOT NULL / type / enum constraint rejected them.
664
+ const missing = sourceCount - presentAccountedFor;
665
+ const reason = `INSERT OR IGNORE lost ${missing} of ${sourceCount} rows from ` +
666
+ `'${legacyTableName}'→'${targetTableName}' (rowsCopied=${rowsCopied}, ` +
667
+ `existingBefore=${existingBefore}) — a CHECK/NOT NULL/type/enum constraint rejected ` +
668
+ `them (NOT PK dedup); inspect epoch coercion + enum normalization. verify will confirm.`;
669
+ log.error({
670
+ legacyTableName,
671
+ targetTableName,
672
+ sourceName,
673
+ sourceCount,
674
+ rowsCopied,
675
+ existingBefore,
676
+ missing,
677
+ }, `Exodus: ${reason}`);
678
+ return { rowsCopied, skipped: false, reason };
635
679
  }
636
680
  return { rowsCopied, skipped: false };
637
681
  }
@@ -669,14 +713,21 @@ function checkSchemaVersion(journal, forceCrossVersion) {
669
713
  */
670
714
  export async function runExodusMigrate(plan, forceCrossVersion = false, onProgress) {
671
715
  const { sources, stagingDir, diskPreflight, projectDbPath, globalDbPath } = plan;
672
- // AC8: disk pre-flight
716
+ // AC8 (right-sized — T11838): disk pre-flight. The requirement is
717
+ // `1.2 × largestSource + consolidatedEstimate`, NOT 3× the SUM of all sources.
673
718
  if (!diskPreflight) {
719
+ const shortfall = Math.max(0, plan.requiredBytes - plan.availableBytes);
674
720
  return {
675
721
  ok: false,
676
722
  tables: [],
677
723
  stagingDir,
678
724
  backupPaths: [],
679
- error: `Insufficient disk space: need ≥3× source size (${plan.totalSourceBytes} bytes source, ${plan.availableBytes} bytes available). Free up space or use a different storage location.`,
725
+ error: `Insufficient disk space for exodus: need ≥${plan.requiredBytes} bytes ` +
726
+ `(≈${STAGING_HEADROOM_FACTOR}× largest source ${plan.largestSourceBytes} + ` +
727
+ `consolidated estimate ${plan.totalSourceBytes}), but only ${plan.availableBytes} bytes ` +
728
+ `are free on the target filesystem — ${shortfall} bytes short. ` +
729
+ `Free up at least ${shortfall} bytes (e.g. \`cleo backup prune\`, clear caches), ` +
730
+ `or move the .cleo/ directory to a larger volume, then retry.`,
680
731
  };
681
732
  }
682
733
  // Ensure staging directory exists (AC5)
@@ -724,12 +775,28 @@ export async function runExodusMigrate(plan, forceCrossVersion = false, onProgre
724
775
  let projectHandle = null;
725
776
  let globalHandle = null;
726
777
  try {
727
- // 1. Back up existing source DBs into staging dir and acquire advisory locks
778
+ // 1. Back up existing source DBs into staging dir and acquire advisory locks.
779
+ //
780
+ // T11838: the full `copyFileSync` staging backup is SKIPPED for sources
781
+ // larger than `plan.stagingCopyThresholdBytes`. On a successful cutover the
782
+ // legacy source is ARCHIVED (renamed into `_archive/`, not deleted — see
783
+ // archive.ts / T11777), so a redundant full-file backup of a multi-GB source
784
+ // only doubles its disk + I/O cost. The staging copy's sole remaining value
785
+ // is a rollback fallback if the migration crashes BEFORE archival; the
786
+ // consolidated target is written on a dedicated isolated handle and the
787
+ // source is never mutated in place, so skipping it for large sources cannot
788
+ // lose data. Small sources keep the cheap backup (common-case safety).
728
789
  for (const src of sources) {
729
790
  if (!existsSync(src.path))
730
791
  continue;
731
792
  const backupDest = join(stagingDir, `${src.name.replace(/[^a-z0-9-]/g, '_')}-backup.db`);
732
- if (!existsSync(backupDest)) {
793
+ const srcBytes = safeStatBytes(src.path);
794
+ const skipStagingCopy = srcBytes > plan.stagingCopyThresholdBytes;
795
+ if (skipStagingCopy) {
796
+ onProgress?.(`Skipping full staging copy of ${src.name} (${srcBytes} bytes > ` +
797
+ `${plan.stagingCopyThresholdBytes} threshold) — source is archived, not deleted, on success.`);
798
+ }
799
+ else if (!existsSync(backupDest)) {
733
800
  onProgress?.(`Backing up ${src.name} → staging dir…`);
734
801
  copyFileSync(src.path, backupDest);
735
802
  backupPaths.push(backupDest);
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/store/exodus/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/store/exodus/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgHG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAW5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,GAAG,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAExC,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG,cAAuB,CAAC;AAErD,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG,qBAA8B,CAAC;AAExD;;GAEG;AACH,SAAS,gBAAgB,CAAC,EAAgB;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,GAAG,EAA0B,CAAC;QACrF,OAAO,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,EAAgB;IAClC,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN,8HAA8H,CAC/H;SACA,GAAG,EAA6B,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,UAAkB,EAAE,OAAsB;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,GAAG,WAAW,MAAM,CAAC;IACrC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACxE,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,UAAkB;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAkB,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,UAAU,CAAC,WAAW,CAAC,CAAC;QACxB,GAAG,CAAC,IAAI,CACN,EAAE,UAAU,EAAE,EACd,wFAAwF,CACzF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,EAAE,GAAG,EAAE,UAAU,EAAE,EACnB,iGAAiG,CAClG,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,aAAqB;IACxC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,cAAc,EAAE;QAC7B,mBAAmB,EAAE,4BAA4B;QACjD,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,aAAa;QACb,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,SAAS,QAAQ,CAAC,MAAc;IAC9B,OAAO,GAAG,MAAM,GAAG,oBAAoB,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,CAAC;QACH,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,MAAM,IAAI,GAAG,IAAI;SACd,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,qFAAqF;IACrF,OAAO,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC;AACjC,CAAC;AA+CD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,kBAAkB,GAAmC,IAAI,GAAG,CAAC;IACjE,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,OAAO,EAAE,cAAc,CAAC;IACzB,CAAC,iBAAiB,EAAE,cAAc,CAAC;IACnC,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAClC,CAAC,YAAY,EAAE,SAAS,CAAC;IACzB,CAAC,OAAO,EAAE,cAAc,CAAC;IACzB,CAAC,OAAO,EAAE,cAAc,CAAC;IACzB,CAAC,QAAQ,EAAE,cAAc,CAAC;CAC3B,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACrC,wEAAwE;IACxE,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACjD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,SAAS,eAAe,CACtB,WAAmB,EACnB,WAAmB,EACnB,eAAuB,EACvB,GAAW,EACX,OAAe,EACf,OAAqE,EACrE,WAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,WAAW,MAAM,WAAW,MAAM,GAAG,GAAG,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,SAAS,CAAC;IAC9F,MAAM,uBAAuB,GAAG,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;IAErF,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAC7E,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAC5C,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,kFAAkF;QAClF,gEAAgE;QAChE,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO,YAAY,OAAO,aAAa,GAAG,GAAG,CAAC;QAChD,CAAC;QACD,OAAO,GAAG,OAAO,QAAQ,GAAG,GAAG,CAAC;IAClC,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,YAAY,SAAS,KAAK,UAAU,SAAS,GAAG,GAAG,CAAC;QAC7D,CAAC;QACD,OAAO,GAAG,SAAS,QAAQ,GAAG,GAAG,CAAC;IACpC,CAAC;IAED,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,wEAAwE;QACxE,6EAA6E;QAC7E,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,YAAY,QAAQ,KAAK,UAAU,SAAS,GAAG,GAAG,CAAC;QAC5D,CAAC;QACD,OAAO,GAAG,QAAQ,QAAQ,GAAG,GAAG,CAAC;IACnC,CAAC;IAED,qEAAqE;IACrE,iDAAiD;IACjD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,YAAY,MAAM,KAAK,UAAU,SAAS,GAAG,GAAG,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,SAAS,qBAAqB,CAC5B,cAA4B,EAC5B,WAAyB,EACzB,WAAmB,EACnB,eAAuB,EACvB,UAAkB,EAClB,YAAY,GAAG,MAAM;IAErB,4EAA4E;IAC5E,MAAM,UAAU,GAAG,4BAA4B,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE7E,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAC1D,uCAAuC,UAAU,CAAC,MAAM,EAAE,CAC3D,CAAC;QACF,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC;IAE9C,qEAAqE;IACrE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,sBAAsB,eAAe,IAAI,CAAC,CAAC,GAAG,EAKlF,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAEpE,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,8BAA8B,eAAe,GAAG,CAAC,CAAC,GAAG,EAElF,CAAC;IACT,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAEhE,6DAA6D;IAC7D,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,cAAc;SAC7B,OAAO,CACN,qBAAqB,YAAY,gDAAgD,aAAa,GAAG,CAClG;SACA,GAAG,EAA6B,CAAC;IAEpC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,uDAAuD;QACvD,MAAM,MAAM,GAAG,wBAAwB,eAAe,oCAAoC,eAAe,IAAI,CAAC;QAC9G,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,EAC3E,WAAW,MAAM,EAAE,CACpB,CAAC;QACF,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAClD,CAAC;IAED,+EAA+E;IAC/E,MAAM,SAAS,GAAG,cAAc;SAC7B,OAAO,CAAC,WAAW,YAAY,iBAAiB,eAAe,IAAI,CAAC;SACpE,GAAG,EAAuF,CAAC;IAE9F,kEAAkE;IAClE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,0DAA0D;IAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,0CAA0C,eAAe,iBAAiB,eAAe,GAAG,CAAC;QAC5G,GAAG,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,WAAW,MAAM,EAAE,CAAC,CAAC;QAChF,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,EAChF,gHAAgH,CACjH,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,EAAE;IACF,kFAAkF;IAClF,8EAA8E;IAC9E,wEAAwE;IACxE,mFAAmF;IACnF,mFAAmF;IACnF,gBAAgB;IAChB,MAAM,WAAW,GAAG,oBAAoB,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IACxF,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAErD,0EAA0E;IAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnE,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACzB,2EAA2E;QAC3E,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CACN;gBACE,eAAe;gBACf,eAAe;gBACf,UAAU;gBACV,WAAW;gBACX,aAAa;aACd,EACD,iEAAiE,WAAW,CAAC,MAAM,4BAA4B,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,EAAE;IACF,0EAA0E;IAC1E,8DAA8D;IAC9D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAClD,mBAAmB,CAAC,GAAG,CAAC,GAAG,eAAe,IAAI,GAAG,EAAE,CAAC,CACrD,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,EAChE,iDAAiD,cAAc,CAAC,MAAM,qBAAqB,CAC5F,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,yCAAyC;IACzC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/C,cAAc,CAAC,GAAG,CAAC,GAAG,eAAe,IAAI,GAAG,EAAE,CAAC,CAChD,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,EAC7D,iDAAiD,WAAW,CAAC,MAAM,qBAAqB,CACzF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,EAAE;IACF,sEAAsE;IACtE,wFAAwF;IACxF,0EAA0E;IAC1E,yFAAyF;IACzF,6EAA6E;IAC7E,wCAAwC;IACxC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACpC,OAAO,eAAe,CACpB,WAAW,EACX,eAAe,EACf,eAAe,EACf,GAAG,EACH,OAAO,EACP,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,EAAE;IACF,2EAA2E;IAC3E,iFAAiF;IACjF,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,kBAAkB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG;QACrB,GAAG,WAAW;QACd,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YACjC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACxD,CAAC,CAAC;KACH,CAAC;IAEF,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7C,qEAAqE;IACrE,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,0EAA0E;IAC1E,6EAA6E;IAC7E,gFAAgF;IAChF,mEAAmE;IACnE,MAAM,iBAAiB,GAAG,cAAc;SACrC,OAAO,CAAC,8BAA8B,YAAY,MAAM,eAAe,GAAG,CAAC;SAC3E,GAAG,EAAmC,CAAC;IAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CACjC,0BAA0B,YAAY,MAAM,eAAe,MAAM,OAAO,IAAI;QAC1E,UAAU,UAAU,UAAU,WAAW,MAAM,eAAe,GAAG,CACpE,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAI,MAAyC,CAAC,OAAO,IAAI,CAAC,CAAC;IAE3E,gFAAgF;IAChF,EAAE;IACF,gFAAgF;IAChF,0BAA0B;IAC1B,+EAA+E;IAC/E,8EAA8E;IAC9E,uDAAuD;IACvD,yEAAyE;IACzE,gDAAgD;IAChD,EAAE;IACF,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,mBAAmB;IACnB,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,mBAAmB,GAAG,cAAc,GAAG,UAAU,CAAC;QACxD,IAAI,mBAAmB,IAAI,WAAW,EAAE,CAAC;YACvC,uEAAuE;YACvE,2EAA2E;YAC3E,sEAAsE;YACtE,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,EACzF,YAAY,eAAe,MAAM,eAAe,OAAO,WAAW,GAAG,UAAU,MAAM;gBACnF,GAAG,WAAW,4DAA4D,UAAU,GAAG;gBACvF,uBAAuB,CAC1B,CAAC;YACF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACxC,CAAC;QACD,6EAA6E;QAC7E,2EAA2E;QAC3E,MAAM,OAAO,GAAG,WAAW,GAAG,mBAAmB,CAAC;QAClD,MAAM,MAAM,GACV,yBAAyB,OAAO,OAAO,WAAW,aAAa;YAC/D,IAAI,eAAe,MAAM,eAAe,iBAAiB,UAAU,IAAI;YACvE,kBAAkB,cAAc,qDAAqD;YACrF,wFAAwF,CAAC;QAC3F,GAAG,CAAC,KAAK,CACP;YACE,eAAe;YACf,eAAe;YACf,UAAU;YACV,WAAW;YACX,UAAU;YACV,cAAc;YACd,OAAO;SACR,EACD,WAAW,MAAM,EAAE,CACpB,CAAC;QACF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,OAAsB,EAAE,iBAA0B;IAC5E,IAAI,OAAO,CAAC,mBAAmB,KAAK,4BAA4B,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,oCAAoC,OAAO,CAAC,mBAAmB,cAAc,4BAA4B,EAAE,CAAC;QACxH,IAAI,iBAAiB,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,6CAA6C,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,2CAA2C,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAgB,EAChB,iBAAiB,GAAG,KAAK,EACzB,UAAkC;IAElC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEjF,kEAAkE;IAClE,+EAA+E;IAC/E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,EAAE;YACV,UAAU;YACV,WAAW,EAAE,EAAE;YACf,KAAK,EACH,6CAA6C,IAAI,CAAC,aAAa,SAAS;gBACxE,KAAK,uBAAuB,oBAAoB,IAAI,CAAC,kBAAkB,KAAK;gBAC5E,yBAAyB,IAAI,CAAC,gBAAgB,eAAe,IAAI,CAAC,cAAc,SAAS;gBACzF,uCAAuC,SAAS,gBAAgB;gBAChE,oBAAoB,SAAS,qDAAqD;gBAClF,8DAA8D;SACjE,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,8DAA8D;IAC9D,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM;QACR,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,IAAI,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,EAAE;gBACV,UAAU;gBACV,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,kEAAkE;aAC1E,CAAC;QACJ,CAAC;QACD,UAAU,EAAE,CAAC,yCAAyC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,eAAe,GAAsB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,4EAA4E;IAC5E,8EAA8E;IAC9E,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,8EAA8E;IAC9E,2EAA2E;IAC3E,oBAAoB;IACpB,IAAI,aAAa,GAA6B,IAAI,CAAC;IACnD,IAAI,YAAY,GAA6B,IAAI,CAAC;IAElD,IAAI,CAAC;QACH,8EAA8E;QAC9E,EAAE;QACF,wEAAwE;QACxE,4EAA4E;QAC5E,yEAAyE;QACzE,6EAA6E;QAC7E,4EAA4E;QAC5E,uEAAuE;QACvE,wEAAwE;QACxE,4EAA4E;QAC5E,uEAAuE;QACvE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,eAAe,GAAG,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC;YAClE,IAAI,eAAe,EAAE,CAAC;gBACpB,UAAU,EAAE,CACV,iCAAiC,GAAG,CAAC,IAAI,KAAK,QAAQ,WAAW;oBAC/D,GAAG,IAAI,CAAC,yBAAyB,4DAA4D,CAChG,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,UAAU,EAAE,CAAC,cAAc,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC;gBACtD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;YACD,8BAA8B;YAC9B,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,wEAAwE;QACxE,2EAA2E;QAC3E,iEAAiE;QACjE,UAAU,EAAE,CAAC,0EAA0E,CAAC,CAAC;QACzF,aAAa,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE;YAC/E,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,UAAU,EAAE,CAAC,yEAAyE,CAAC,CAAC;QACxF,YAAY,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE;YAC5E,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,2EAA2E;QAC3E,SAAS,eAAe,CAAC,MAAuB;YAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,EAA6B,CAAC;YAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,MAAM,IAAI,OAAQ,MAAkC,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;gBACnF,OAAO,MAAsB,CAAC;YAChC,CAAC;YACD,wEAAwE;YACxE,IAAI,OAAQ,aAAoD,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC3F,OAAO,aAAwC,CAAC;YAClD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAEnD,uCAAuC;QACvC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChG,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9F,MAAM,YAAY,CAChB,SAAS,EACT,cAAc,EACd,aAAa,EACb,OAAO,EACP,UAAU,EACV,eAAe,EACf,UAAU,CACX,CAAC;QACF,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,6EAA6E;QAC7E,2EAA2E;QAC3E,MAAM,YAAY,CAChB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,OAAO,EACP,UAAU,EACV,eAAe,EACf,UAAU,EACV,aAAa,CACd,CAAC;QAEF,uBAAuB;QACvB,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAC9C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChF,CAAC;YAAS,CAAC;QACT,6EAA6E;QAC7E,0EAA0E;QAC1E,8EAA8E;QAC9E,IAAI,CAAC;YACH,aAAa,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QACD,IAAI,CAAC;YACH,YAAY,EAAE,KAAK,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QACD,yBAAyB;QACzB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,KAAK,UAAU,YAAY,CACzB,KAAkB,EAClB,OAA6B,EAC7B,cAA4B,EAC5B,OAAsB,EACtB,UAAkB,EAClB,eAAkC,EAClC,UAAkC,EAClC,oBAA6B;IAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,UAAU,EAAE,CAAC,aAAa,KAAK,iBAAiB,CAAC,CAAC;IAElD,4EAA4E;IAC5E,uEAAuE;IACvE,6EAA6E;IAC7E,cAAc,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACjD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,0DAA0D,CAAC,CAAC;IAEhF,IAAI,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjD,0EAA0E;YAC1E,gEAAgE;YAChE,cAAc,CAAC,IAAI,CAAC,oBAAoB,WAAW,SAAS,WAAW,GAAG,CAAC,CAAC;YAC5E,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,WAAW,GAAG,CAAC,CAAC;YAE7D,0EAA0E;YAC1E,yEAAyE;YACzE,wEAAwE;YACxE,2EAA2E;YAC3E,0EAA0E;YAC1E,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,oBAAoB,EAAE,CAAC;gBACzB,UAAU,GAAG,WAAW,WAAW,EAAE,CAAC;gBACtC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClE,cAAc,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,SAAS,UAAU,GAAG,CAAC,CAAC;gBAChF,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,qCAAqC,UAAU,GAAG,CAAC,CAAC;YACjF,CAAC;YAED,wEAAwE;YACxE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEnC,oEAAoE;gBACpE,mEAAmE;gBACnE,6BAA6B;gBAC7B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,IAAI,MAAM,GAAG,IAAI,CAAC;gBAElB,IAAI,CAAC;oBACH,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;wBAC/B,iCAAiC;wBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAC5D,CAAC;wBACF,IAAI,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;4BAChC,UAAU,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,SAAS,4BAA4B,CAAC,CAAC;4BACvE,eAAe,CAAC,IAAI,CAAC;gCACnB,QAAQ,EAAE,GAAG,CAAC,IAAI;gCAClB,SAAS;gCACT,UAAU,EAAE,QAAQ,CAAC,UAAU;gCAC/B,OAAO,EAAE,KAAK;6BACf,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;wBAED,UAAU,EAAE,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC;wBACtD,IAAI,UAAU,GAAG,CAAC,CAAC;wBACnB,IAAI,MAAM,GAAyB,MAAM,CAAC;wBAC1C,IAAI,QAA4B,CAAC;wBACjC,IAAI,OAAO,GAAG,KAAK,CAAC;wBAEpB,IAAI,CAAC;4BACH,gFAAgF;4BAChF,6EAA6E;4BAC7E,mFAAmF;4BACnF,EAAE;4BACF,oEAAoE;4BACpE,mEAAmE;4BACnE,iEAAiE;4BACjE,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;4BAC3E,MAAM,YAAY,GAAG,cAAc,KAAK,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;4BAClF,IAAI,cAAc,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gCAC5C,MAAM,IAAI,KAAK,CACb,UAAU,SAAS,WAAW,GAAG,CAAC,IAAI,eAAe,cAAc,SAAS;oCAC1E,kDAAkD,KAAK,wBAAwB,CAClF,CAAC;4BACJ,CAAC;4BACD,MAAM,UAAU,GAAG,qBAAqB,CACtC,cAAc,EACd,IAAI,CAAC,EAAE,EACP,WAAW,EACX,SAAS,EACT,GAAG,CAAC,IAAI,EACR,YAAY,CACb,CAAC;4BACF,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;4BACnC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gCACvB,MAAM,GAAG,SAAS,CAAC;gCACnB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;gCAC7B,OAAO,GAAG,IAAI,CAAC;4BACjB,CAAC;iCAAM,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gCAC7B,+DAA+D;gCAC/D,mEAAmE;gCACnE,4DAA4D;gCAC5D,EAAE;gCACF,+DAA+D;gCAC/D,mEAAmE;gCACnE,8DAA8D;gCAC9D,gEAAgE;gCAChE,mEAAmE;gCACnE,iDAAiD;gCACjD,mEAAmE;gCACnE,kEAAkE;gCAClE,+DAA+D;gCAC/D,2CAA2C;gCAC3C,MAAM,GAAG,SAAS,CAAC;gCACnB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;gCAC7B,4FAA4F;4BAC9F,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;4BACjF,MAAM,GAAG,SAAS,CAAC;4BACnB,QAAQ,GAAG,GAAG,CAAC;4BACf,OAAO,GAAG,IAAI,CAAC;wBACjB,CAAC;wBAED,uBAAuB;wBACvB,MAAM,KAAK,GAAsB;4BAC/B,QAAQ,EAAE,GAAG,CAAC,IAAI;4BAClB,SAAS;4BACT,MAAM;4BACN,UAAU;4BACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACzC,CAAC;wBAEF,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAC5D,CAAC;wBACF,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;4BACb,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;wBAC9B,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC7B,CAAC;wBACD,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBAC7C,gEAAgE;wBAChE,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBAElC,eAAe,CAAC,IAAI,CAAC;4BACnB,QAAQ,EAAE,GAAG,CAAC,IAAI;4BAClB,SAAS;4BACT,UAAU;4BACV,OAAO;4BACP,MAAM,EAAE,QAAQ;yBACjB,CAAC,CAAC;oBACL,CAAC;oBAED,6CAA6C;oBAC7C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM,GAAG,KAAK,CAAC;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,CAAC;4BACH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAClC,CAAC;wBAAC,MAAM,CAAC;4BACP,yBAAyB;wBAC3B,CAAC;oBACH,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,iDAAiD;gBACjD,IAAI,CAAC,KAAK,EAAE,CAAC;gBAEb,wEAAwE;gBACxE,mDAAmD;gBACnD,IAAI,CAAC;oBACH,cAAc,CAAC,IAAI,CAAC,oBAAoB,WAAW,GAAG,CAAC,CAAC;oBACxD,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,WAAW,GAAG,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,iEAAiE;oBACjE,uEAAuE;oBACvE,GAAG,CAAC,IAAI,CACN,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EACnD,oDAAoD,CACrD,CAAC;gBACJ,CAAC;gBAED,uEAAuE;gBACvE,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,cAAc,CAAC,IAAI,CAAC,oBAAoB,UAAU,GAAG,CAAC,CAAC;wBACvD,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,kCAAkC,UAAU,GAAG,CAAC,CAAC;oBAC9E,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,GAAG,CAAC,IAAI,CACN,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAClD,gEAAgE,CACjE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,4BAA4B;IAChC,CAAC;YAAS,CAAC;QACT,gFAAgF;QAChF,6EAA6E;QAC7E,+EAA+E;QAC/E,wDAAwD;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAKpE,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CACN,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EACnE,0CAA0C,OAAO,CAAC,MAAM,0FAA0F,CACnJ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,0DAA0D,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CACN,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EACxB,yGAAyG,CAC1G,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,kDAAkD,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,uDAAuD,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -5,15 +5,58 @@
5
5
  * combined size, free-disk availability, staging directory — BEFORE any
6
6
  * writes occur. A `--dry-run` caller can print the plan and exit early.
7
7
  *
8
- * ## Disk pre-flight (AC8)
8
+ * ## Disk pre-flight (AC8 · right-sized T11838)
9
9
  *
10
- * `availableBytes >= 3 * totalSourceBytes` must hold before migration begins.
11
- * The check uses `statvfs` via `node:fs.statfsSync()` (Node 18+).
10
+ * The original gate required `availableBytes >= 3 * totalSourceBytes` an
11
+ * over-estimate that blocked large-fleet migrations even with ample headroom:
12
+ * exodus never holds 3× the SUM of every source on disk at once. It copies one
13
+ * source into staging at a time (lock released before the next) and writes a
14
+ * single consolidated cleo.db whose size approximates the sum of source ROW data.
15
+ *
16
+ * The right-sized requirement is therefore
17
+ * `STAGING_HEADROOM_FACTOR * largestSourceBytes + consolidatedEstimate`, where
18
+ * `consolidatedEstimate ≈ totalSourceBytes` ({@link computeRequiredBytes}). The
19
+ * check uses `statvfs` via `node:fs.statfsSync()` (Node 18+).
12
20
  *
13
21
  * @task T11248 (E5 · SG-DB-SUBSTRATE-V2)
22
+ * @task T11838 (right-sized preflight + optional staging copy for large sources)
14
23
  * @saga T11242
15
24
  */
16
25
  import type { ExodusPlan, LegacyDbDescriptor } from './types.js';
26
+ /**
27
+ * Headroom multiplier applied to the LARGEST single source when sizing the
28
+ * staging-copy footprint. The staging dir only ever holds ONE source backup at a
29
+ * time (its advisory lock is released before the next source is touched), so the
30
+ * peak staging footprint is the largest source plus a small slack for the
31
+ * write-then-rename journal + SQLite sidecars — hence `1.2×`, not `3×` of the SUM.
32
+ *
33
+ * @task T11838
34
+ */
35
+ export declare const STAGING_HEADROOM_FACTOR: 1.2;
36
+ /**
37
+ * Per-source byte threshold above which the full staging `copyFileSync` backup
38
+ * is skipped (the source is archived, not deleted, on success). Sized at 256 MiB
39
+ * — comfortably above the small project DBs (tasks/conduit/skills/signaldock are
40
+ * sub-MB to low-MB) but below the large global stores (a multi-GB `brain.db` or
41
+ * `nexus.db`) whose redundant full-file copy is the costly case T11838 removes.
42
+ *
43
+ * @task T11838
44
+ */
45
+ export declare const STAGING_COPY_SKIP_THRESHOLD_BYTES: number;
46
+ /**
47
+ * Compute the right-sized free-disk requirement for an exodus run (T11838).
48
+ *
49
+ * `STAGING_HEADROOM_FACTOR * largestSourceBytes` covers the peak staging-copy
50
+ * footprint (one source at a time, plus slack), and `totalSourceBytes` is the
51
+ * consolidated-cleo.db estimate (every source's row data lands there). The two
52
+ * are additive because staging and the consolidated DB coexist on disk until the
53
+ * sources are archived.
54
+ *
55
+ * @param totalSourceBytes - Combined size of all source DB files in bytes.
56
+ * @param largestSourceBytes - Size of the single largest source DB in bytes.
57
+ * @returns The minimum free bytes the target filesystem must have.
58
+ */
59
+ export declare function computeRequiredBytes(totalSourceBytes: number, largestSourceBytes: number): number;
17
60
  /**
18
61
  * Derive the staging directory name from the current ISO-8601 timestamp.
19
62
  *
@@ -31,7 +74,8 @@ export declare function deriveStagingDirName(): string;
31
74
  * `process.cwd()`.
32
75
  * @returns {@link ExodusPlan} describing sources, disk availability, and paths.
33
76
  *
34
- * @task T11248 (AC8 — disk pre-flight)
77
+ * @task T11248 (AC8 — disk pre-flight)
78
+ * @task T11838 (right-sized: largest-source factor + consolidated estimate)
35
79
  */
36
80
  export declare function buildExodusPlan(cwd?: string): ExodusPlan;
37
81
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/store/exodus/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA8EjE;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AA0BD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CA+BxD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAErE"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/store/exodus/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMjE;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAG,GAAY,CAAC;AAEpD;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,QAAoB,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAEjG;AA8ED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AA0BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAwCxD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAErE"}
@@ -5,12 +5,21 @@
5
5
  * combined size, free-disk availability, staging directory — BEFORE any
6
6
  * writes occur. A `--dry-run` caller can print the plan and exit early.
7
7
  *
8
- * ## Disk pre-flight (AC8)
8
+ * ## Disk pre-flight (AC8 · right-sized T11838)
9
9
  *
10
- * `availableBytes >= 3 * totalSourceBytes` must hold before migration begins.
11
- * The check uses `statvfs` via `node:fs.statfsSync()` (Node 18+).
10
+ * The original gate required `availableBytes >= 3 * totalSourceBytes` an
11
+ * over-estimate that blocked large-fleet migrations even with ample headroom:
12
+ * exodus never holds 3× the SUM of every source on disk at once. It copies one
13
+ * source into staging at a time (lock released before the next) and writes a
14
+ * single consolidated cleo.db whose size approximates the sum of source ROW data.
15
+ *
16
+ * The right-sized requirement is therefore
17
+ * `STAGING_HEADROOM_FACTOR * largestSourceBytes + consolidatedEstimate`, where
18
+ * `consolidatedEstimate ≈ totalSourceBytes` ({@link computeRequiredBytes}). The
19
+ * check uses `statvfs` via `node:fs.statfsSync()` (Node 18+).
12
20
  *
13
21
  * @task T11248 (E5 · SG-DB-SUBSTRATE-V2)
22
+ * @task T11838 (right-sized preflight + optional staging copy for large sources)
14
23
  * @saga T11242
15
24
  */
16
25
  import { existsSync, readdirSync, statfsSync, statSync } from 'node:fs';
@@ -18,6 +27,45 @@ import { join } from 'node:path';
18
27
  import { getCleoHome, resolveCleoDir } from '../../paths.js';
19
28
  import { resolveDualScopeDbPath } from '../dual-scope-db.js';
20
29
  // ---------------------------------------------------------------------------
30
+ // Disk pre-flight sizing constants (right-sized — T11838)
31
+ // ---------------------------------------------------------------------------
32
+ /**
33
+ * Headroom multiplier applied to the LARGEST single source when sizing the
34
+ * staging-copy footprint. The staging dir only ever holds ONE source backup at a
35
+ * time (its advisory lock is released before the next source is touched), so the
36
+ * peak staging footprint is the largest source plus a small slack for the
37
+ * write-then-rename journal + SQLite sidecars — hence `1.2×`, not `3×` of the SUM.
38
+ *
39
+ * @task T11838
40
+ */
41
+ export const STAGING_HEADROOM_FACTOR = 1.2;
42
+ /**
43
+ * Per-source byte threshold above which the full staging `copyFileSync` backup
44
+ * is skipped (the source is archived, not deleted, on success). Sized at 256 MiB
45
+ * — comfortably above the small project DBs (tasks/conduit/skills/signaldock are
46
+ * sub-MB to low-MB) but below the large global stores (a multi-GB `brain.db` or
47
+ * `nexus.db`) whose redundant full-file copy is the costly case T11838 removes.
48
+ *
49
+ * @task T11838
50
+ */
51
+ export const STAGING_COPY_SKIP_THRESHOLD_BYTES = 256 * 1024 * 1024; // 256 MiB
52
+ /**
53
+ * Compute the right-sized free-disk requirement for an exodus run (T11838).
54
+ *
55
+ * `STAGING_HEADROOM_FACTOR * largestSourceBytes` covers the peak staging-copy
56
+ * footprint (one source at a time, plus slack), and `totalSourceBytes` is the
57
+ * consolidated-cleo.db estimate (every source's row data lands there). The two
58
+ * are additive because staging and the consolidated DB coexist on disk until the
59
+ * sources are archived.
60
+ *
61
+ * @param totalSourceBytes - Combined size of all source DB files in bytes.
62
+ * @param largestSourceBytes - Size of the single largest source DB in bytes.
63
+ * @returns The minimum free bytes the target filesystem must have.
64
+ */
65
+ export function computeRequiredBytes(totalSourceBytes, largestSourceBytes) {
66
+ return Math.ceil(STAGING_HEADROOM_FACTOR * largestSourceBytes) + totalSourceBytes;
67
+ }
68
+ // ---------------------------------------------------------------------------
21
69
  // Legacy DB descriptors (AC2 — 6 per-machine source DBs mapped to 2 targets)
22
70
  // ---------------------------------------------------------------------------
23
71
  /**
@@ -137,17 +185,24 @@ function findExistingStaging(cleoDir) {
137
185
  * `process.cwd()`.
138
186
  * @returns {@link ExodusPlan} describing sources, disk availability, and paths.
139
187
  *
140
- * @task T11248 (AC8 — disk pre-flight)
188
+ * @task T11248 (AC8 — disk pre-flight)
189
+ * @task T11838 (right-sized: largest-source factor + consolidated estimate)
141
190
  */
142
191
  export function buildExodusPlan(cwd) {
143
192
  const cleoDir = resolveCleoDir(cwd);
144
193
  const sources = buildSourceDescriptors(cwd);
145
- // Compute total source size (only existing files count toward the check)
146
- const totalSourceBytes = sources.reduce((sum, s) => sum + safeFileBytes(s.path), 0);
147
- // Disk pre-flight: check against the directory that will hold the staging data
148
- // (the .cleo/ dir, which is where both the backup and staging live).
194
+ // Per-source sizes (only existing files contribute) drive both the total
195
+ // and the largest-single-source factor of the right-sized preflight (T11838).
196
+ const sourceBytes = sources.map((s) => safeFileBytes(s.path));
197
+ const totalSourceBytes = sourceBytes.reduce((sum, b) => sum + b, 0);
198
+ const largestSourceBytes = sourceBytes.reduce((max, b) => Math.max(max, b), 0);
199
+ // Right-sized disk pre-flight (T11838): exodus never holds 3× the SUM of all
200
+ // sources at once — it stages ONE source at a time and writes one consolidated
201
+ // cleo.db (≈ totalSourceBytes). Check against the directory that will hold the
202
+ // staging data (the .cleo/ dir, where both backup + staging live).
203
+ const requiredBytes = computeRequiredBytes(totalSourceBytes, largestSourceBytes);
149
204
  const availableBytes = getAvailableBytes(cleoDir);
150
- const diskPreflight = totalSourceBytes === 0 || availableBytes >= 3 * totalSourceBytes;
205
+ const diskPreflight = totalSourceBytes === 0 || availableBytes >= requiredBytes;
151
206
  // Staging directory — resume if a previous one exists
152
207
  const existingStaging = findExistingStaging(cleoDir);
153
208
  const stagingDir = existingStaging ?? join(cleoDir, deriveStagingDirName());
@@ -158,8 +213,11 @@ export function buildExodusPlan(cwd) {
158
213
  return {
159
214
  sources,
160
215
  totalSourceBytes,
216
+ largestSourceBytes,
217
+ requiredBytes,
161
218
  availableBytes,
162
219
  diskPreflight,
220
+ stagingCopyThresholdBytes: STAGING_COPY_SKIP_THRESHOLD_BYTES,
163
221
  stagingDir,
164
222
  resumeFromStaging,
165
223
  projectDbPath,
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/store/exodus/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/store/exodus/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAY,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,UAAU;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,gBAAwB,EAAE,kBAA0B;IACvF,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;AACpF,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,GAAY;IAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO;QACL,4DAA4D;QAC5D;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;YAC/B,WAAW,EAAE,SAAS;SACvB;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;YAC/B,WAAW,EAAE,SAAS;SACvB;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;YACjC,WAAW,EAAE,SAAS;SACvB;QACD,0DAA0D;QAC1D;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;YAChC,WAAW,EAAE,QAAQ;SACtB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;YACrC,WAAW,EAAE,QAAQ;SACtB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;YACjC,WAAW,EAAE,QAAQ;SACtB;KACO,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,2EAA2E;QAC3E,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE;SACnB,WAAW,EAAE;SACb,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,kBAAkB,GAAG,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,OAAO;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;aACtE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,EAAE;aACN,OAAO,EAAE,CAAC,CAAC,oBAAoB;QAClC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAE5C,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/E,6EAA6E;IAC7E,+EAA+E;IAC/E,+EAA+E;IAC/E,mEAAmE;IACnE,MAAM,aAAa,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,gBAAgB,KAAK,CAAC,IAAI,cAAc,IAAI,aAAa,CAAC;IAEhF,sDAAsD;IACtD,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,eAAe,KAAK,IAAI,CAAC;IAEnD,sCAAsC;IACtC,MAAM,aAAa,GAAG,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAEtD,OAAO;QACL,OAAO;QACP,gBAAgB;QAChB,kBAAkB;QAClB,aAAa;QACb,cAAc;QACd,aAAa;QACb,yBAAyB,EAAE,iCAAiC;QAC5D,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,OAA6B;IAC1D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC"}