niceeval 0.16.2 → 0.17.0

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 (258) hide show
  1. package/dist/cli/bootstrap.cjs +7 -1
  2. package/dist/cli/bootstrap.cjs.map +1 -1
  3. package/dist/cli/project-configuration.cjs +8 -11
  4. package/dist/cli/project-configuration.cjs.map +1 -1
  5. package/dist/expect/index.cjs.map +1 -1
  6. package/dist/expect/index.d.cts +1 -0
  7. package/dist/expect/index.d.mts +1 -0
  8. package/dist/expect/index.d.ts +1 -0
  9. package/dist/experiment/host/cli/contribution.cjs +6 -11
  10. package/dist/experiment/host/cli/contribution.cjs.map +1 -1
  11. package/dist/experiment/host/cli/contribution.d.cts +0 -16
  12. package/dist/experiment/host/cli/contribution.d.mts +0 -16
  13. package/dist/experiment/host/cli/contribution.d.ts +0 -16
  14. package/dist/experiment/host/operations.cjs +3 -3
  15. package/dist/experiment/host/operations.cjs.map +1 -1
  16. package/dist/experiment/host/types.cjs.map +1 -1
  17. package/dist/experiment/host/types.d.cts +0 -4
  18. package/dist/experiment/host/types.d.mts +0 -4
  19. package/dist/experiment/host/types.d.ts +0 -4
  20. package/dist/fresh-import.cjs +2 -2
  21. package/dist/fresh-import.cjs.map +1 -1
  22. package/dist/fresh-import.d.cts +3 -3
  23. package/dist/fresh-import.d.mts +3 -3
  24. package/dist/fresh-import.d.ts +3 -3
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.d.cts +1 -0
  27. package/dist/index.d.mts +1 -0
  28. package/dist/index.d.ts +1 -0
  29. package/dist/inspection/codec.cjs.map +1 -1
  30. package/dist/inspection/codec.d.cts +1 -1
  31. package/dist/inspection/codec.d.mts +1 -1
  32. package/dist/inspection/codec.d.ts +1 -1
  33. package/dist/inspection/facts.cjs +66 -9
  34. package/dist/inspection/facts.cjs.map +1 -1
  35. package/dist/inspection/facts.d.cts +4 -0
  36. package/dist/inspection/facts.d.mts +4 -0
  37. package/dist/inspection/facts.d.ts +4 -0
  38. package/dist/inspection/facts.js +4 -2
  39. package/dist/inspection/index.cjs +1 -3
  40. package/dist/inspection/index.cjs.map +1 -1
  41. package/dist/inspection/index.d.cts +1 -1
  42. package/dist/inspection/index.d.mts +1 -1
  43. package/dist/inspection/index.d.ts +1 -1
  44. package/dist/inspection/index.js +44 -48
  45. package/dist/inspection/limits.cjs +3 -1
  46. package/dist/inspection/limits.cjs.map +1 -1
  47. package/dist/inspection/limits.d.cts +2 -0
  48. package/dist/inspection/limits.d.mts +2 -0
  49. package/dist/inspection/limits.d.ts +2 -0
  50. package/dist/inspection/limits.js +6 -4
  51. package/dist/inspection/project-source.cjs +4 -1
  52. package/dist/inspection/project-source.cjs.map +1 -1
  53. package/dist/inspection/protocol.cjs +10 -18
  54. package/dist/inspection/protocol.cjs.map +1 -1
  55. package/dist/inspection/protocol.d.cts +111 -173
  56. package/dist/inspection/protocol.d.mts +111 -173
  57. package/dist/inspection/protocol.d.ts +111 -173
  58. package/dist/inspection/public.mjs +73 -109
  59. package/dist/inspection/results.cjs +12 -48
  60. package/dist/inspection/results.cjs.map +1 -1
  61. package/dist/inspection/results.d.cts +124 -122
  62. package/dist/inspection/results.d.mts +124 -122
  63. package/dist/inspection/results.d.ts +124 -122
  64. package/dist/inspection/results.js +16 -20
  65. package/dist/inspection/select.cjs +80 -117
  66. package/dist/inspection/select.cjs.map +1 -1
  67. package/dist/inspection/source.cjs +14 -15
  68. package/dist/inspection/source.cjs.map +1 -1
  69. package/dist/inspection/source.d.cts +6 -3
  70. package/dist/inspection/source.d.mts +6 -3
  71. package/dist/inspection/source.d.ts +6 -3
  72. package/dist/inspection/trace.cjs +1 -1
  73. package/dist/inspection/trace.cjs.map +1 -1
  74. package/dist/load-config.cjs +17 -11
  75. package/dist/load-config.cjs.map +1 -1
  76. package/dist/load-config.d.cts +3 -2
  77. package/dist/load-config.d.mts +3 -2
  78. package/dist/load-config.d.ts +3 -2
  79. package/dist/o11y/adapter-usage-projection.cjs +5 -1
  80. package/dist/o11y/adapter-usage-projection.cjs.map +1 -1
  81. package/dist/o11y/adapter-usage-projection.d.cts +109 -1
  82. package/dist/o11y/adapter-usage-projection.d.mts +109 -1
  83. package/dist/o11y/adapter-usage-projection.d.ts +109 -1
  84. package/dist/o11y/cache-read.cjs +113 -0
  85. package/dist/o11y/cache-read.cjs.map +1 -0
  86. package/dist/o11y/cache-read.d.cts +80 -0
  87. package/dist/o11y/cache-read.d.mts +80 -0
  88. package/dist/o11y/cache-read.d.ts +80 -0
  89. package/dist/o11y/cache-read.js +8 -0
  90. package/dist/o11y/cache-read.js.map +1 -0
  91. package/dist/o11y/eval-usage.cjs +4 -1
  92. package/dist/o11y/eval-usage.cjs.map +1 -1
  93. package/dist/o11y/eval-usage.d.cts +4 -1
  94. package/dist/o11y/eval-usage.d.mts +4 -1
  95. package/dist/o11y/eval-usage.d.ts +4 -1
  96. package/dist/record/host/sqlite-host.cjs +188 -53
  97. package/dist/record/host/sqlite-host.cjs.map +1 -1
  98. package/dist/record/host/sqlite-host.d.cts +37 -1
  99. package/dist/record/host/sqlite-host.d.mts +37 -1
  100. package/dist/record/host/sqlite-host.d.ts +37 -1
  101. package/dist/record/host/sqlite-host.js +16 -8
  102. package/dist/record/maintenance/runtime.cjs +3 -3
  103. package/dist/record/maintenance/runtime.cjs.map +1 -1
  104. package/dist/record/sqlite/admission-repository.cjs +18 -18
  105. package/dist/record/sqlite/admission-repository.cjs.map +1 -1
  106. package/dist/record/sqlite/case-repository.cjs +6 -6
  107. package/dist/record/sqlite/case-repository.cjs.map +1 -1
  108. package/dist/record/sqlite/coordination-repository.cjs +25 -25
  109. package/dist/record/sqlite/coordination-repository.cjs.map +1 -1
  110. package/dist/record/sqlite/current-schema.cjs +115 -111
  111. package/dist/record/sqlite/current-schema.cjs.map +1 -1
  112. package/dist/record/sqlite/current-schema.d.cts +3 -3
  113. package/dist/record/sqlite/current-schema.d.mts +3 -3
  114. package/dist/record/sqlite/current-schema.d.ts +3 -3
  115. package/dist/record/sqlite/database.cjs +56 -53
  116. package/dist/record/sqlite/database.cjs.map +1 -1
  117. package/dist/record/sqlite/index.cjs +3 -1
  118. package/dist/record/sqlite/index.cjs.map +1 -1
  119. package/dist/record/sqlite/index.d.cts +5 -2
  120. package/dist/record/sqlite/index.d.mts +5 -2
  121. package/dist/record/sqlite/index.d.ts +5 -2
  122. package/dist/record/sqlite/legacy-schema-018.cjs +443 -0
  123. package/dist/record/sqlite/legacy-schema-018.cjs.map +1 -0
  124. package/dist/record/sqlite/legacy-schema-018.d.cts +6 -0
  125. package/dist/record/sqlite/legacy-schema-018.d.mts +6 -0
  126. package/dist/record/sqlite/legacy-schema-018.d.ts +6 -0
  127. package/dist/record/sqlite/legacy-schema-018.js +6 -0
  128. package/dist/record/sqlite/legacy-schema-018.js.map +1 -0
  129. package/dist/record/sqlite/migration.cjs +105 -46
  130. package/dist/record/sqlite/migration.cjs.map +1 -1
  131. package/dist/record/sqlite/migration.d.cts +2 -1
  132. package/dist/record/sqlite/migration.d.mts +2 -1
  133. package/dist/record/sqlite/migration.d.ts +2 -1
  134. package/dist/record/sqlite/portable-capture.cjs +13 -13
  135. package/dist/record/sqlite/portable-capture.cjs.map +1 -1
  136. package/dist/record/sqlite/registry-repository.cjs +22 -22
  137. package/dist/record/sqlite/registry-repository.cjs.map +1 -1
  138. package/dist/record/sqlite/schema.cjs +10 -2
  139. package/dist/record/sqlite/schema.cjs.map +1 -1
  140. package/dist/record/sqlite/schema.d.cts +4 -1
  141. package/dist/record/sqlite/schema.d.mts +4 -1
  142. package/dist/record/sqlite/schema.d.ts +4 -1
  143. package/dist/record/sqlite/schema.js +20 -14
  144. package/dist/record/sqlite/storage-worker.cjs +1 -1
  145. package/dist/record/sqlite/storage-worker.cjs.map +1 -1
  146. package/dist/record/sqlite/storage.cjs +316 -232
  147. package/dist/record/sqlite/storage.cjs.map +1 -1
  148. package/dist/record/sqlite/storage.d.cts +10 -2
  149. package/dist/record/sqlite/storage.d.mts +10 -2
  150. package/dist/record/sqlite/storage.d.ts +10 -2
  151. package/dist/record/sqlite/storage.js +54 -50
  152. package/dist/record/sqlite/types.cjs +1 -1
  153. package/dist/record/sqlite/types.cjs.map +1 -1
  154. package/dist/record/sqlite/types.d.cts +13 -1
  155. package/dist/record/sqlite/types.d.mts +13 -1
  156. package/dist/record/sqlite/types.d.ts +13 -1
  157. package/dist/run/cli/contribution.cjs +17 -12
  158. package/dist/run/cli/contribution.cjs.map +1 -1
  159. package/dist/run/host/lifecycle-adapter.cjs +1 -1
  160. package/dist/run/host/lifecycle-adapter.cjs.map +1 -1
  161. package/dist/run/storage/owner-identity.cjs +78 -16
  162. package/dist/run/storage/owner-identity.cjs.map +1 -1
  163. package/dist/run/storage/owner-identity.d.cts +2 -1
  164. package/dist/run/storage/owner-identity.d.mts +2 -1
  165. package/dist/run/storage/owner-identity.d.ts +2 -1
  166. package/dist/run/storage/sqlite.cjs +55 -55
  167. package/dist/run/storage/sqlite.cjs.map +1 -1
  168. package/dist/runner/accept.cjs +12 -42
  169. package/dist/runner/accept.cjs.map +1 -1
  170. package/dist/runner/accept.d.cts +2 -3
  171. package/dist/runner/accept.d.mts +2 -3
  172. package/dist/runner/accept.d.ts +2 -3
  173. package/dist/runner/adapter-usage.cjs +2 -2
  174. package/dist/runner/adapter-usage.cjs.map +1 -1
  175. package/dist/runner/adoption.cjs +14 -26
  176. package/dist/runner/adoption.cjs.map +1 -1
  177. package/dist/runner/adoption.d.cts +5 -13
  178. package/dist/runner/adoption.d.mts +5 -13
  179. package/dist/runner/adoption.d.ts +5 -13
  180. package/dist/runner/adoption.js +2 -4
  181. package/dist/runner/record.cjs +24 -18
  182. package/dist/runner/record.cjs.map +1 -1
  183. package/dist/runner/rename-experiment.cjs +5 -7
  184. package/dist/runner/rename-experiment.cjs.map +1 -1
  185. package/dist/runner/reuse-plan.cjs +37 -18
  186. package/dist/runner/reuse-plan.cjs.map +1 -1
  187. package/dist/runner/reuse-plan.d.cts +4 -1
  188. package/dist/runner/reuse-plan.d.mts +4 -1
  189. package/dist/runner/reuse-plan.d.ts +4 -1
  190. package/dist/runner/setup-prefix-plan.cjs +17 -12
  191. package/dist/runner/setup-prefix-plan.cjs.map +1 -1
  192. package/dist/runner/setup-prefix-plan.d.cts +0 -2
  193. package/dist/runner/setup-prefix-plan.d.mts +0 -2
  194. package/dist/runner/setup-prefix-plan.d.ts +0 -2
  195. package/dist/runner/setup-prefix-plan.js +8 -12
  196. package/dist/sandbox/backend.cjs +10 -1
  197. package/dist/sandbox/backend.cjs.map +1 -1
  198. package/dist/sandbox/backend.d.cts +16 -8
  199. package/dist/sandbox/backend.d.mts +16 -8
  200. package/dist/sandbox/backend.d.ts +16 -8
  201. package/dist/sandbox/backend.js +28 -26
  202. package/dist/sandbox/docker.cjs +7 -1
  203. package/dist/sandbox/docker.cjs.map +1 -1
  204. package/dist/sandbox/e2b-cache-repository.cjs +13 -3
  205. package/dist/sandbox/e2b-cache-repository.cjs.map +1 -1
  206. package/dist/sandbox/e2b-cache-repository.d.cts +3 -0
  207. package/dist/sandbox/e2b-cache-repository.d.mts +3 -0
  208. package/dist/sandbox/e2b-cache-repository.d.ts +3 -0
  209. package/dist/sandbox/e2b-cache-repository.js +16 -12
  210. package/dist/sandbox/e2b.cjs +2 -2
  211. package/dist/sandbox/e2b.cjs.map +1 -1
  212. package/dist/sandbox/incus/materialize.cjs +1 -1
  213. package/dist/sandbox/incus/materialize.cjs.map +1 -1
  214. package/dist/show/contribution.cjs +3 -3
  215. package/dist/show/contribution.cjs.map +1 -1
  216. package/dist/show/model.cjs +14 -13
  217. package/dist/show/model.cjs.map +1 -1
  218. package/dist/show/model.d.cts +7 -7
  219. package/dist/show/model.d.mts +7 -7
  220. package/dist/show/model.d.ts +7 -7
  221. package/dist/show/render.cjs +14 -0
  222. package/dist/show/render.cjs.map +1 -1
  223. package/dist/user-database/storage-worker.cjs +13 -3
  224. package/dist/user-database/storage-worker.cjs.map +1 -1
  225. package/dist/view/app-dist/.vite/manifest.json +2 -2
  226. package/dist/view/app-dist/assets/{index-CmVoXbwG.js → index-B3ijZRph.js} +17 -17
  227. package/dist/view/app-dist/assets/{quality-cost-scatter-BuLISaH4.js → quality-cost-scatter-B--DfJ9s.js} +1 -1
  228. package/dist/view/app-dist/index.html +1 -1
  229. package/dist/view/application-runtime.cjs +8 -0
  230. package/dist/view/application-runtime.cjs.map +1 -0
  231. package/dist/view/application-runtime.d.cts +9 -0
  232. package/dist/view/application-runtime.d.mts +9 -0
  233. package/dist/view/application-runtime.d.ts +9 -0
  234. package/dist/view/application-runtime.js +6 -0
  235. package/dist/view/application-runtime.js.map +1 -0
  236. package/dist/view/cli/contribution.cjs +5 -2
  237. package/dist/view/cli/contribution.cjs.map +1 -1
  238. package/dist/view/cli/contribution.d.cts +2 -1
  239. package/dist/view/cli/contribution.d.mts +2 -1
  240. package/dist/view/cli/contribution.d.ts +2 -1
  241. package/dist/view/function-runtime.mjs +1019 -456
  242. package/dist/view/http-protocol.d.cts +1 -9
  243. package/dist/view/http-protocol.d.mts +1 -9
  244. package/dist/view/http-protocol.d.ts +1 -9
  245. package/dist/view/inspection-host.cjs +39 -30
  246. package/dist/view/inspection-host.cjs.map +1 -1
  247. package/dist/view/inspection-host.d.cts +7545 -2
  248. package/dist/view/inspection-host.d.mts +7545 -2
  249. package/dist/view/inspection-host.d.ts +7545 -2
  250. package/dist/view/server.cjs +8 -5
  251. package/dist/view/server.cjs.map +1 -1
  252. package/dist/view/server.d.cts +4 -2
  253. package/dist/view/server.d.mts +4 -2
  254. package/dist/view/server.d.ts +4 -2
  255. package/docs-site/zh/reference/cli.mdx +1 -2
  256. package/docs-site/zh/tutorials/control-run-cost.mdx +22 -0
  257. package/docs-site/zh/tutorials/niceeval-taste-application.mdx +21 -0
  258. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["storage.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport type { SQLOutputValue } from \"node:sqlite\";\nimport { Result } from \"effect\";\nimport { encodeAttemptLocator, parseAttemptLocator } from \"../../attempt-locator.ts\";\nimport type { AttemptId } from \"../model/identifiers.ts\";\nimport { decodeAttemptPublicationClosure, decodeMemberDocument, encodeMemberDocument } from \"../codec/core.ts\";\nimport { encodeRecordJsonUtf8 } from \"../writer/limits.ts\";\nimport { recordStatement, type RecordDatabase } from \"./database.ts\";\nimport { sqliteError } from \"./errors.ts\";\nimport { assertCanonicalIdentity, attachmentId as recordAttachmentId, attachmentLogicalIdentity, attachmentSealEntry, attemptSealEntry, collectionItemSealEntry, collectionItemLogicalIdentity, contentChunkSealEntry, contentSealEntry, contentId as recordContentId, exactLogicalSealIdentity, exactLogicalSealIdentityFromOrdered, hashCanonicalTuple, memberSealEntry, orderSealEntries, recordSealEntry, referenceSealEntry, runSealEntry, slotSealEntry, } from \"./seal.ts\";\nimport { withImmediateTransaction } from \"./transaction.ts\";\nimport { RECORD_SQLITE_PREPARED_SEAL_TEMP_SQL } from \"./schema.ts\";\nimport { RECORD_SQLITE_CHUNK_BYTES, RECORD_SQLITE_MAX_PAGE_BYTES, RECORD_SQLITE_MAX_PAGE_ROWS, RECORD_SQLITE_MAX_PUBLISH_BYTES, RECORD_SQLITE_MAX_PUBLISH_ROWS, RECORD_SQLITE_MAX_ROW_BYTES, RECORD_SQLITE_MAX_VALIDATION_ROWS, RECORD_SQLITE_MAX_VALIDATION_RUNS, RECORD_SQLITE_VALIDATION_DEADLINE_MS, type AdmitAttachmentInput, type AdmitAttemptInput, type AdmitContentInput, type AttemptLocatorCandidates, type AppendContentChunksInput, type BeginRunInput, type ContentChunkPage, type DiscardAttemptInput, type CollectionItemPage, type FenceRunFinalizationInput, type PersistedCollectionItem, type PersistSealedRunInput, type PublishedSealedRun, type PrepareRunFinalizationInput, type PreparedRunFinalization, type RunFinalization, type SealEntry, type SealEntryKind, type SealedAttachmentDocument, type SealedAttachmentMetadata, type SealedRunCore, type SealedRunCutoff, type SealedRunDocument, type SealedRunSummary, type SealedRunSummaryPage, type SealRunInput, type StageAttachmentInput, type StageAttachmentReferencesInput, type StageCollectionItemsInput, type StageSealEntriesInput, type StageSealEntriesResult, type StageRunCoreInput, } from \"./types.ts\";\nexport function discardAttempt(connection: RecordDatabase, input: DiscardAttemptInput): void {\n requireIdentity(input.runId, \"runId\");\n requireIdentity(input.writerGeneration, \"writerGeneration\");\n requireIdentity(input.attemptId, \"attemptId\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"discard-attempt\", () => {\n const barrier = recordStatement(connection, \"SELECT barrier_state FROM ne18_record_metadata WHERE singleton=1\").get() as Row | undefined;\n if (barrier === undefined || text(barrier, \"barrier_state\") !== \"open\") {\n throw sqliteError(\"record-command-conflict\", \"discard-attempt\", \"ProjectDatabase writer barrier is not open\");\n }\n const run = recordStatement(connection, \"SELECT status,writer_generation FROM ne18_runs WHERE run_id=?\").get(input.runId) as Row | undefined;\n if (run === undefined || text(run, \"status\") !== \"open\" || text(run, \"writer_generation\") !== input.writerGeneration) {\n throw sqliteError(\"record-sqlite-error\", \"discard-attempt\", \"Attempt owner is no longer writable\");\n }\n recordStatement(connection, \"DELETE FROM ne18_attachments WHERE owner_kind='attempt' AND owner_run_id=? AND owner_attempt_id=?\")\n .run(input.runId, input.attemptId);\n recordStatement(connection, \"DELETE FROM ne18_members WHERE target_run_id=? AND origin_run_id=? AND attempt_id=?\")\n .run(input.runId, input.runId, input.attemptId);\n recordStatement(connection, \"DELETE FROM ne18_attempts WHERE origin_run_id=? AND attempt_id=?\")\n .run(input.runId, input.attemptId);\n });\n}\ntype Row = Record<string, SQLOutputValue>;\nconst DIGEST = /^[0-9a-f]{64}$/u;\ninterface CachedSealEntries {\n readonly identity: string;\n readonly count: number;\n readonly mutationSequence?: number;\n}\nconst sealEntryCaches = new WeakMap<RecordDatabase, Map<string, CachedSealEntries>>();\nfunction ensurePreparedSealTables(connection: RecordDatabase): void {\n if (connection.mode !== \"reader\")\n connection.db.exec(RECORD_SQLITE_PREPARED_SEAL_TEMP_SQL);\n}\nfunction spillPreparedSealEntries(connection: RecordDatabase, runId: string, visitClosure: (visit: (entry: SealEntry) => void) => void): {\n readonly identity: string;\n readonly count: number;\n} {\n ensurePreparedSealTables(connection);\n connection.db.exec(\"SAVEPOINT niceeval_prepare_seal\");\n try {\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_raw WHERE run_id=?\").run(runId);\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_ordered WHERE run_id=?\").run(runId);\n const insertRaw = recordStatement(connection, `INSERT INTO temp.niceeval_prepared_seal_raw\n (run_id,entry_kind,logical_identity,digest) VALUES (?,?,?,?)`);\n let count = 0;\n visitClosure((entry) => {\n insertRaw.run(runId, entry.kind, entry.logicalIdentity, entry.digest);\n count += 1;\n });\n const insertOrdered = recordStatement(connection, `INSERT INTO temp.niceeval_prepared_seal_ordered\n (run_id,ordinal,entry_kind,logical_identity,digest) VALUES (?,?,?,?,?)`);\n const orderedRows = recordStatement(connection, `SELECT entry_kind,logical_identity,digest\n FROM temp.niceeval_prepared_seal_raw WHERE run_id=? ORDER BY entry_kind,logical_identity,digest`).iterate(runId) as unknown as Iterable<Row>;\n function* ordered(): Iterable<SealEntry> {\n let ordinal = 0;\n for (const row of orderedRows) {\n const entry = Object.freeze({ kind: sealEntryKind(row, \"entry_kind\"), logicalIdentity: text(row, \"logical_identity\"), digest: text(row, \"digest\") });\n insertOrdered.run(runId, ordinal, entry.kind, entry.logicalIdentity, entry.digest);\n ordinal += 1;\n yield entry;\n }\n }\n const identity = exactLogicalSealIdentityFromOrdered(ordered(), count);\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_raw WHERE run_id=?\").run(runId);\n connection.db.exec(\"RELEASE niceeval_prepare_seal\");\n return Object.freeze({ identity, count });\n }\n catch (cause) {\n connection.db.exec(\"ROLLBACK TO niceeval_prepare_seal; RELEASE niceeval_prepare_seal\");\n throw cause;\n }\n}\nfunction sealEntryCache(connection: RecordDatabase): Map<string, CachedSealEntries> {\n let cache = sealEntryCaches.get(connection);\n if (cache === undefined) {\n cache = new Map();\n sealEntryCaches.set(connection, cache);\n }\n return cache;\n}\nfunction text(row: Row, field: string): string {\n const value = row[field];\n if (typeof value !== \"string\")\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not text`);\n return value;\n}\nfunction integer(row: Row, field: string): number {\n const value = row[field];\n const numeric = typeof value === \"bigint\" ? Number(value) : value;\n if (typeof numeric !== \"number\" || !Number.isSafeInteger(numeric)) {\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not a safe integer`);\n }\n return numeric;\n}\nfunction optionalText(row: Row, field: string): string | undefined {\n const value = row[field];\n if (value === null)\n return undefined;\n if (typeof value !== \"string\")\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not nullable text`);\n return value;\n}\nfunction optionalInteger(row: Row, field: string): number | undefined {\n if (row[field] === null)\n return undefined;\n return integer(row, field);\n}\nfunction ownerKind(row: Row, field: string): import(\"../model/core.ts\").RecordAttachmentOwner {\n const value = text(row, field);\n if (value !== \"run\" && value !== \"attempt\")\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not an owner kind`);\n return value;\n}\nfunction memberAction(row: Row, field: string): \"executed\" | \"carried\" | \"accepted\" | \"not-dispatched\" | \"interrupted\" {\n const value = text(row, field);\n if (value !== \"executed\" && value !== \"carried\" && value !== \"accepted\" && value !== \"not-dispatched\" && value !== \"interrupted\") {\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not a Member action`);\n }\n return value;\n}\nfunction absenceMember(row: Row): {\n readonly action: \"not-dispatched\" | \"interrupted\";\n readonly coreBytes: Uint8Array;\n readonly coreDigest: string;\n} {\n const slotId = text(row, \"slot_id\");\n const absenceReason = text(row, \"absence_reason\");\n const action = absenceReason === \"early-exit-satisfied\" || absenceReason === \"budget-exhausted\" || absenceReason === \"stopped-by-failure\"\n ? \"not-dispatched\" as const\n : absenceReason === \"interrupted-before-publication\" || absenceReason === \"dispatch-failed\"\n ? \"interrupted\" as const\n : undefined;\n if (action === undefined) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${slotId} has an unsupported absence reason`);\n }\n const decoded = decodeMemberDocument({ slotId, action, attempt: null, absenceReason });\n if (Result.isFailure(decoded)) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${slotId} has an invalid absence`);\n }\n const encoded = encodeMemberDocument(decoded.success);\n if (Result.isFailure(encoded)) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${slotId} absence cannot be projected`);\n }\n const coreBytes = encodeRecordJsonUtf8(encoded.success);\n return Object.freeze({ action, coreBytes, coreDigest: digestBytes(coreBytes) });\n}\nfunction sealEntryKind(row: Row, field: string): SealEntryKind {\n const value = text(row, field);\n if (value !== \"record\" && value !== \"run\" && value !== \"slot\" && value !== \"member\" && value !== \"attempt\" &&\n value !== \"attachment\" && value !== \"attachment-reference\" && value !== \"collection-item\" &&\n value !== \"content\" && value !== \"content-chunk\")\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not a Seal entry kind`);\n return value;\n}\nfunction bytes(row: Row, field: string): Uint8Array {\n const value = row[field];\n if (!(value instanceof Uint8Array))\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not bytes`);\n return value;\n}\nfunction digestBytes(value: Uint8Array): string {\n return createHash(\"sha256\").update(value).digest(\"hex\");\n}\nfunction bytesEqual(left: Uint8Array, right: Uint8Array): boolean {\n if (left.byteLength !== right.byteLength)\n return false;\n for (let index = 0; index < left.byteLength; index += 1)\n if (left[index] !== right[index])\n return false;\n return true;\n}\nfunction transferableBytes(value: Uint8Array): Uint8Array {\n return value.buffer instanceof ArrayBuffer && value.byteOffset === 0 && value.byteLength === value.buffer.byteLength\n ? value\n : Uint8Array.from(value);\n}\nfunction requireDigest(value: string, field: string): void {\n if (!DIGEST.test(value))\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} is not a lowercase sha256 digest`);\n}\nfunction requireBytesDigest(value: Uint8Array, digest: string, field: string): void {\n requireDigest(digest, `${field}.digest`);\n if (digestBytes(value) !== digest)\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} bytes do not match their digest`);\n}\nfunction requireNonEmpty(value: string, field: string): void {\n if (value.length === 0)\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} is empty`);\n}\nfunction requireIdentity(value: string, field: string): void {\n try {\n assertCanonicalIdentity(value, field);\n }\n catch (cause) {\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", cause instanceof Error ? cause.message : `${field} is invalid`);\n }\n}\nfunction requireAttemptLocator(attemptId: string, locator: string, operation = \"persist-sealed-run\"): void {\n const parsed = parseAttemptLocator(locator);\n if (!parsed.valid || encodeAttemptLocator(attemptId as AttemptId) !== locator) {\n throw sqliteError(\"record-content-invalid\", operation, `Attempt ${attemptId} locator is not its canonical projection`);\n }\n}\nfunction requireOrdinal(value: number, field: string): void {\n if (!Number.isSafeInteger(value) || value < 0)\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} is not a non-negative safe integer`);\n}\nfunction assertContiguous(values: readonly {\n readonly ordinal: number;\n}[], field: string): void {\n values.forEach((value, index) => {\n requireOrdinal(value.ordinal, `${field}[${index}].ordinal`);\n if (value.ordinal !== index)\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} ordinals are not contiguous`);\n });\n}\nfunction orderEntries(entries: readonly SealEntry[]): readonly SealEntry[] {\n return orderSealEntries(entries);\n}\nexport function logicalSealIdentity(entries: readonly SealEntry[]): string {\n return exactLogicalSealIdentity(entries);\n}\nfunction validateInput(input: PersistSealedRunInput): readonly SealEntry[] {\n for (const [field, value] of [\n [\"runId\", input.runId],\n [\"writerGeneration\", input.writerGeneration],\n [\"startedAt\", input.startedAt],\n ] as const)\n requireIdentity(value, field);\n requireBytesDigest(input.recordCoreBytes, input.recordCoreDigest, \"record core\");\n requireBytesDigest(input.runCoreBytes, input.runCoreDigest, \"run core\");\n if (!Number.isFinite(input.deadlineEpochMs))\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", \"deadline is invalid\");\n assertContiguous(input.slots, \"slots\");\n const entries: SealEntry[] = [\n recordSealEntry(input.recordCoreDigest),\n runSealEntry({ runId: input.runId, writerGeneration: input.writerGeneration, startedAt: input.startedAt, coreDigest: input.runCoreDigest }),\n ];\n const unique = new Set<string>();\n const add = (entry: SealEntry): void => {\n requireIdentity(entry.logicalIdentity, `${entry.kind}.identity`);\n requireDigest(entry.digest, `${entry.kind}.digest`);\n const key = `${entry.kind}:${entry.logicalIdentity}`;\n if (unique.has(key))\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `duplicate ${entry.kind} identity ${entry.logicalIdentity}`);\n unique.add(key);\n entries.push(entry);\n };\n let byteCount = input.runCoreBytes.byteLength;\n for (const slot of input.slots) {\n requireIdentity(slot.slotId, \"slot.slotId\");\n requireBytesDigest(slot.coreBytes, slot.coreDigest, `slot ${slot.slotId}`);\n byteCount += slot.coreBytes.byteLength;\n add(slotSealEntry(input.runId, slot));\n }\n for (const attempt of input.attempts) {\n requireIdentity(attempt.attemptId, \"attempt.attemptId\");\n requireAttemptLocator(attempt.attemptId, attempt.attemptLocator);\n requireBytesDigest(attempt.coreBytes, attempt.coreDigest, `attempt ${attempt.attemptId}`);\n byteCount += attempt.coreBytes.byteLength;\n add(attemptSealEntry(input.runId, attempt.attemptId, attempt.attemptLocator, attempt.coreDigest));\n }\n const slotIds = new Set(input.slots.map((slot) => slot.slotId));\n const memberSlots = new Set<string>();\n for (const member of input.members) {\n if (!slotIds.has(member.slotId) || memberSlots.has(member.slotId)) {\n throw sqliteError(\"record-seal-incomplete\", \"persist-sealed-run\", `member coverage conflicts at slot ${member.slotId}`);\n }\n memberSlots.add(member.slotId);\n const hasAttempt = member.originRunId !== undefined && member.attemptId !== undefined;\n const terminal = member.action === \"not-dispatched\" || member.action === \"interrupted\";\n if (terminal === hasAttempt || ((member.originRunId === undefined) !== (member.attemptId === undefined))) {\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `member ${member.slotId} action and attempt locator disagree`);\n }\n if (member.action === \"executed\" && member.originRunId !== input.runId) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `executed member ${member.slotId} points outside its origin run`);\n }\n requireBytesDigest(member.coreBytes, member.coreDigest, `member ${member.slotId}`);\n byteCount += member.coreBytes.byteLength;\n add(memberSealEntry(input.runId, member));\n }\n if (memberSlots.size !== slotIds.size)\n throw sqliteError(\"record-seal-incomplete\", \"persist-sealed-run\", \"sealed run does not have exactly one member per slot\");\n let rowCount = 1 + input.slots.length + input.attempts.length + input.members.length;\n for (const attachment of input.attachments) {\n requireIdentity(attachment.attachmentId, \"attachment.attachmentId\");\n requireIdentity(attachment.family, \"attachment.family\");\n requireIdentity(attachment.logicalIdentity, \"attachment.logicalIdentity\");\n if (attachment.ownerRunId !== input.runId)\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `attachment ${attachment.attachmentId} has a different owner run`);\n if ((attachment.ownerKind === \"attempt\") !== (attachment.ownerAttemptId !== undefined)) {\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `attachment ${attachment.attachmentId} owner shape is invalid`);\n }\n requireBytesDigest(attachment.canonicalBytes, attachment.canonicalDigest, `attachment ${attachment.attachmentId}`);\n requireBytesDigest(attachment.logicalInventoryBytes, attachment.inventoryDigest, `attachment ${attachment.attachmentId} inventory`);\n add(attachmentSealEntry(attachment));\n byteCount += attachment.canonicalBytes.byteLength + attachment.logicalInventoryBytes.byteLength;\n rowCount += 1;\n assertContiguous(attachment.references, `attachment ${attachment.attachmentId} references`);\n for (const reference of attachment.references) {\n requireBytesDigest(reference.canonicalBytes, reference.referenceDigest, `reference ${attachment.attachmentId}/${reference.ordinal}`);\n byteCount += reference.canonicalBytes.byteLength;\n requireIdentity(reference.family, \"reference.family\");\n add(referenceSealEntry(attachment.attachmentId, reference));\n rowCount += 1;\n }\n assertContiguous(attachment.collectionItems, `attachment ${attachment.attachmentId} items`);\n for (const item of attachment.collectionItems) {\n requireBytesDigest(item.canonicalBytes, item.canonicalDigest, `item ${attachment.attachmentId}/${item.ordinal}`);\n requireIdentity(item.logicalIdentity, \"collectionItem.logicalIdentity\");\n add(collectionItemSealEntry(attachment.attachmentId, item));\n byteCount += item.canonicalBytes.byteLength;\n rowCount += 1;\n }\n for (const content of attachment.contents) {\n requireIdentity(content.contentId, \"content.contentId\");\n requireIdentity(content.logicalHandle, \"content.logicalHandle\");\n requireOrdinal(content.byteLength, `content ${content.contentId}.byteLength`);\n requireDigest(content.digest, `content ${content.contentId}.digest`);\n assertContiguous(content.chunks, `content ${content.contentId} chunks`);\n const hash = createHash(\"sha256\");\n let observedBytes = 0;\n for (const chunk of content.chunks) {\n if (chunk.bytes.byteLength > RECORD_SQLITE_CHUNK_BYTES) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"persist-sealed-run\", `content chunk ${content.contentId}/${chunk.ordinal} exceeds ${RECORD_SQLITE_CHUNK_BYTES} bytes`);\n }\n requireBytesDigest(chunk.bytes, chunk.chunkDigest, `content chunk ${content.contentId}/${chunk.ordinal}`);\n hash.update(chunk.bytes);\n observedBytes += chunk.bytes.byteLength;\n byteCount += chunk.bytes.byteLength;\n rowCount += 1;\n add(contentChunkSealEntry(content.contentId, chunk.ordinal, chunk.chunkDigest));\n }\n if (observedBytes !== content.byteLength || hash.digest(\"hex\") !== content.digest) {\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `content ${content.contentId} whole length or digest is invalid`);\n }\n add(contentSealEntry(attachment.attachmentId, { contentId: content.contentId, logicalHandle: content.logicalHandle,\n byteLength: content.byteLength, digest: content.digest, chunkCount: content.chunks.length }));\n rowCount += 1;\n }\n }\n return orderEntries(entries);\n}\nfunction rows(connection: RecordDatabase, sql: string, ...parameters: (string | number)[]): readonly Row[] {\n return recordStatement(connection, sql).all(...parameters) as unknown as readonly Row[];\n}\nfunction visitRunSealEntries(connection: RecordDatabase, runId: string, visit: (entry: SealEntry) => void, verifyPayloadBytes = true, verifyContentChunkBytes = verifyPayloadBytes): void {\n const verified = (row: Row, digestField: string, payloadField: string): string => {\n const value = text(row, digestField);\n requireDigest(value, digestField);\n if (verifyPayloadBytes && digestBytes(bytes(row, payloadField)) !== value) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `${payloadField} does not match ${digestField}`);\n }\n return value;\n };\n const record = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne18_record_metadata WHERE singleton=1\").get() as unknown as Row;\n visit(recordSealEntry(verified(record, \"record_digest\", \"record_payload\")));\n const run = recordStatement(connection, `SELECT run_id,writer_generation,started_at,core_payload,core_digest FROM ne18_runs WHERE run_id=?`).get(runId) as unknown as Row | undefined;\n if (run === undefined)\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} is missing`);\n visit(runSealEntry({ runId: text(run, \"run_id\"), writerGeneration: text(run, \"writer_generation\"), startedAt: text(run, \"started_at\"), coreDigest: verified(run, \"core_digest\", \"core_payload\") }));\n for (const row of recordStatement(connection, \"SELECT slot_id,ordinal,core_payload,core_digest FROM ne18_slots WHERE run_id=?\").iterate(runId) as unknown as Iterable<Row>) {\n visit(slotSealEntry(runId, { slotId: text(row, \"slot_id\"), ordinal: integer(row, \"ordinal\"), coreDigest: verified(row, \"core_digest\", \"core_payload\") }));\n }\n for (const row of recordStatement(connection, \"SELECT attempt_id,attempt_locator,core_payload,core_digest FROM ne18_attempts WHERE origin_run_id=?\").iterate(runId) as unknown as Iterable<Row>) {\n visit(attemptSealEntry(runId, text(row, \"attempt_id\"), text(row, \"attempt_locator\"), verified(row, \"core_digest\", \"core_payload\")));\n }\n for (const row of recordStatement(connection, `SELECT slot_id,origin_run_id,attempt_id,action,core_payload,core_digest FROM ne18_members WHERE target_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n visit(memberSealEntry(runId, { slotId: text(row, \"slot_id\"), originRunId: optionalText(row, \"origin_run_id\"),\n attemptId: optionalText(row, \"attempt_id\"), action: memberAction(row, \"action\"), coreDigest: verified(row, \"core_digest\", \"core_payload\") }));\n }\n for (const row of recordStatement(connection, `SELECT attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,logical_identity,\n canonical_payload,canonical_digest,logical_inventory,inventory_digest FROM ne18_attachments WHERE owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n const canonicalDigest = verified(row, \"canonical_digest\", \"canonical_payload\");\n const inventoryDigest = verified(row, \"inventory_digest\", \"logical_inventory\");\n visit(attachmentSealEntry({ attachmentId: text(row, \"attachment_id\"), ownerKind: ownerKind(row, \"owner_kind\"),\n ownerRunId: text(row, \"owner_run_id\"), ownerAttemptId: optionalText(row, \"owner_attempt_id\"), family: text(row, \"family\"),\n familyRevision: integer(row, \"family_revision\"), logicalIdentity: text(row, \"logical_identity\"), canonicalDigest, inventoryDigest }));\n }\n for (const row of recordStatement(connection, `SELECT r.attachment_id,r.ordinal,r.target_owner_kind,r.target_family,r.canonical_payload,r.reference_digest\n FROM ne18_attachment_references r JOIN ne18_attachments a ON a.attachment_id=r.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n visit(referenceSealEntry(text(row, \"attachment_id\"), { ordinal: integer(row, \"ordinal\"), owner: ownerKind(row, \"target_owner_kind\"),\n family: text(row, \"target_family\"), referenceDigest: verified(row, \"reference_digest\", \"canonical_payload\") }));\n }\n for (const row of recordStatement(connection, `SELECT i.attachment_id,i.ordinal,i.logical_identity,i.canonical_payload,i.canonical_digest\n FROM ne18_collection_items i JOIN ne18_attachments a ON a.attachment_id=i.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n visit(collectionItemSealEntry(text(row, \"attachment_id\"), { ordinal: integer(row, \"ordinal\"), logicalIdentity: text(row, \"logical_identity\"),\n canonicalDigest: verified(row, \"canonical_digest\", \"canonical_payload\") }));\n }\n for (const row of recordStatement(connection, `SELECT c.content_id,c.attachment_id,c.logical_handle,c.byte_length,c.overall_digest,c.chunk_count\n FROM ne18_contents c JOIN ne18_attachments a ON a.attachment_id=c.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n visit(contentSealEntry(text(row, \"attachment_id\"), { contentId: text(row, \"content_id\"), logicalHandle: text(row, \"logical_handle\"),\n byteLength: integer(row, \"byte_length\"), digest: text(row, \"overall_digest\"), chunkCount: integer(row, \"chunk_count\") }));\n }\n const chunkSql = verifyContentChunkBytes\n ? `SELECT c.content_id,c.ordinal,c.bytes,c.chunk_digest FROM ne18_content_chunks c\n JOIN ne18_contents n ON n.content_id=c.content_id JOIN ne18_attachments a ON a.attachment_id=n.attachment_id WHERE a.owner_run_id=?`\n : `SELECT c.content_id,c.ordinal,c.chunk_digest FROM ne18_content_chunks c\n JOIN ne18_contents n ON n.content_id=c.content_id JOIN ne18_attachments a ON a.attachment_id=n.attachment_id WHERE a.owner_run_id=?`;\n for (const row of recordStatement(connection, chunkSql).iterate(runId) as unknown as Iterable<Row>) {\n const chunkDigest = text(row, \"chunk_digest\");\n requireDigest(chunkDigest, \"chunk_digest\");\n if (verifyContentChunkBytes && digestBytes(bytes(row, \"bytes\")) !== chunkDigest) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", \"bytes does not match chunk_digest\");\n }\n visit(contentChunkSealEntry(text(row, \"content_id\"), integer(row, \"ordinal\"), chunkDigest));\n }\n}\nexport function collectRunSealEntries(connection: RecordDatabase, runId: string): readonly SealEntry[] {\n const entries: SealEntry[] = [];\n visitRunSealEntries(connection, runId, (entry) => entries.push(entry));\n return orderEntries(entries);\n}\nfunction runRow(connection: RecordDatabase, runId: string): Row | undefined {\n return recordStatement(connection, `SELECT run_id,status,writer_generation,started_at,core_payload,core_digest,mutation_sequence,\n candidate_seal_identity,candidate_seal_entry_count,candidate_seal_staged_count,logical_seal_identity FROM ne18_runs WHERE run_id=?`)\n .get(runId) as unknown as Row | undefined;\n}\nfunction assertBoundedBatch(operation: string, rowCount: number, byteCount: number): void {\n if (!Number.isSafeInteger(rowCount) || rowCount < 0 || !Number.isSafeInteger(byteCount) || byteCount < 0 ||\n rowCount > RECORD_SQLITE_MAX_PUBLISH_ROWS || byteCount > RECORD_SQLITE_MAX_PUBLISH_BYTES) {\n throw sqliteError(\"record-resource-limit-exceeded\", operation, `staging batch exceeds its bound (${rowCount} rows, ${byteCount} bytes)`);\n }\n}\nfunction assertBoundedRow(operation: string, field: string, value: Uint8Array): void {\n if (value.byteLength > RECORD_SQLITE_MAX_ROW_BYTES) {\n throw sqliteError(\"record-resource-limit-exceeded\", operation, `${field} exceeds the ${RECORD_SQLITE_MAX_ROW_BYTES} byte row ceiling`);\n }\n}\nfunction assertRunFence(connection: RecordDatabase, runId: string, writerGeneration: string, operation: string, expectedStatus: \"open\" | \"sealing\" = \"open\"): Row {\n const barrier = recordStatement(connection, \"SELECT barrier_state FROM ne18_record_metadata WHERE singleton=1\").get() as Row | undefined;\n if (barrier === undefined || text(barrier, \"barrier_state\") !== \"open\") {\n throw sqliteError(\"record-command-conflict\", operation, \"ProjectDatabase writer barrier is not open\");\n }\n const active = recordStatement(connection, \"SELECT 1 FROM ne18_run_resources WHERE run_id=? AND terminal_state IS NULL AND current_writer_generation=?\")\n .get(runId, writerGeneration);\n const row = runRow(connection, runId);\n if (active === undefined || row === undefined || text(row, \"writer_generation\") !== writerGeneration || text(row, \"status\") !== expectedStatus) {\n throw sqliteError(\"record-command-conflict\", operation, `Run ${runId} admission fence is missing or changed`);\n }\n return row;\n}\nfunction bumpMutationSequence(connection: RecordDatabase, runId: string): void {\n recordStatement(connection, \"UPDATE ne18_runs SET mutation_sequence=mutation_sequence+1 WHERE run_id=? AND status='open'\").run(runId);\n}\nfunction assertAttachmentFence(connection: RecordDatabase, runId: string, attachmentId: string, operation: string): void {\n const row = recordStatement(connection, `SELECT a.owner_run_id,a.owner_kind,at.publication_state FROM ne18_attachments a\n LEFT JOIN ne18_attempts at ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id\n WHERE a.attachment_id=?`).get(attachmentId) as unknown as Row | undefined;\n if (row === undefined || text(row, \"owner_run_id\") !== runId ||\n (text(row, \"owner_kind\") === \"attempt\" && optionalText(row, \"publication_state\") === \"published\")) {\n throw sqliteError(\"record-command-conflict\", operation, `Attachment ${attachmentId} does not belong to Run ${runId}`);\n }\n}\nexport function beginRun(connection: RecordDatabase, input: BeginRunInput): void {\n requireIdentity(input.runId, \"runId\");\n requireIdentity(input.writerGeneration, \"writerGeneration\");\n requireIdentity(input.startedAt, \"startedAt\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"begin-run\", () => {\n const barrier = recordStatement(connection, \"SELECT barrier_state FROM ne18_record_metadata WHERE singleton=1\").get() as Row | undefined;\n if (barrier === undefined)\n throw sqliteError(\"record-database-invalid\", \"begin-run\", \"ProjectDatabase barrier is missing\");\n if (text(barrier, \"barrier_state\") === \"draining\") {\n throw sqliteError(\"record-command-conflict\", \"begin-run\", \"ProjectDatabase portable gate is draining\");\n }\n if (text(barrier, \"barrier_state\") === \"portable\")\n throw sqliteError(\"record-command-conflict\", \"begin-run\", \"ProjectDatabase must reopen before writer admission\");\n recordStatement(connection, `INSERT OR IGNORE INTO ne18_runs(run_id,status,writer_generation,started_at,core_payload,core_digest,\n mutation_sequence,candidate_seal_identity,candidate_seal_entry_count,candidate_seal_staged_count,logical_seal_identity)\n VALUES (?,'open',?,?,NULL,NULL,0,NULL,NULL,0,NULL)`).run(input.runId, input.writerGeneration, input.startedAt);\n const stored = runRow(connection, input.runId);\n if (stored === undefined || text(stored, \"writer_generation\") !== input.writerGeneration ||\n text(stored, \"started_at\") !== input.startedAt) {\n throw sqliteError(\"record-command-conflict\", \"begin-run\", `Run ${input.runId} conflicts with its durable admission`);\n }\n if (text(stored, \"status\") !== \"open\" && text(stored, \"status\") !== \"sealing\" && text(stored, \"status\") !== \"sealed\") {\n throw sqliteError(\"record-database-invalid\", \"begin-run\", `Run ${input.runId} has an invalid status`);\n }\n });\n}\nexport function admitAttempt(connection: RecordDatabase, input: AdmitAttemptInput): void {\n requireIdentity(input.attemptId, \"attemptId\");\n requireAttemptLocator(input.attemptId, input.attemptLocator, \"admit-attempt\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"admit-attempt\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"admit-attempt\");\n const inserted = recordStatement(connection, `INSERT OR IGNORE INTO ne18_attempts(origin_run_id,attempt_id,attempt_locator,core_payload,core_digest)\n VALUES (?,?,?,NULL,NULL)`).run(input.runId, input.attemptId, input.attemptLocator);\n const stored = recordStatement(connection, \"SELECT origin_run_id,attempt_locator FROM ne18_attempts WHERE origin_run_id=? AND attempt_id=?\")\n .get(input.runId, input.attemptId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"origin_run_id\") !== input.runId || text(stored, \"attempt_locator\") !== input.attemptLocator) {\n throw sqliteError(\"record-command-conflict\", \"admit-attempt\", `Attempt ${input.attemptId} conflicts with its durable admission`);\n }\n if (Number(inserted.changes) > 0)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function admitAttachment(connection: RecordDatabase, input: AdmitAttachmentInput): void {\n if (input.ownerRunId !== input.runId || (input.ownerKind === \"attempt\") !== (input.ownerAttemptId !== undefined)) {\n throw sqliteError(\"record-content-invalid\", \"admit-attachment\", \"attachment owner does not match its Run admission\");\n }\n requireIdentity(input.attachmentId, \"attachmentId\");\n requireIdentity(input.family, \"family\");\n requireIdentity(input.ownerRunId, \"ownerRunId\");\n if (input.ownerAttemptId !== undefined)\n requireIdentity(input.ownerAttemptId, \"ownerAttemptId\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"admit-attachment\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"admit-attachment\");\n if (input.ownerKind === \"attempt\") {\n const admitted = recordStatement(connection, \"SELECT 1 AS admitted FROM ne18_attempts WHERE origin_run_id=? AND attempt_id=?\")\n .get(input.runId, input.ownerAttemptId!) as unknown as Row | undefined;\n if (admitted === undefined)\n throw sqliteError(\"record-command-conflict\", \"admit-attachment\", \"attempt owner is not admitted\");\n }\n const inserted = recordStatement(connection, `INSERT OR IGNORE INTO ne18_attachments(attachment_id,owner_kind,owner_run_id,owner_attempt_id,\n family,family_revision,logical_identity,canonical_payload,canonical_digest,logical_inventory,inventory_digest)\n VALUES (?,?,?,?,?,?,NULL,NULL,NULL,NULL,NULL)`).run(input.attachmentId, input.ownerKind, input.ownerRunId, input.ownerAttemptId ?? null, input.family, input.familyRevision);\n const stored = recordStatement(connection, `SELECT owner_kind,owner_run_id,owner_attempt_id,family,family_revision FROM ne18_attachments\n WHERE attachment_id=?`).get(input.attachmentId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"owner_kind\") !== input.ownerKind || text(stored, \"owner_run_id\") !== input.ownerRunId ||\n optionalText(stored, \"owner_attempt_id\") !== input.ownerAttemptId || text(stored, \"family\") !== input.family ||\n integer(stored, \"family_revision\") !== input.familyRevision) {\n throw sqliteError(\"record-command-conflict\", \"admit-attachment\", `Attachment ${input.attachmentId} conflicts with its durable admission`);\n }\n if (Number(inserted.changes) > 0)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function admitContent(connection: RecordDatabase, input: AdmitContentInput): void {\n requireIdentity(input.contentId, \"contentId\");\n requireIdentity(input.logicalHandle, \"logicalHandle\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"admit-content\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"admit-content\");\n const attachment = recordStatement(connection, `SELECT a.owner_run_id,a.owner_kind,at.publication_state FROM ne18_attachments a\n LEFT JOIN ne18_attempts at ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id WHERE a.attachment_id=?`)\n .get(input.attachmentId) as unknown as Row | undefined;\n if (attachment === undefined || text(attachment, \"owner_run_id\") !== input.runId ||\n (text(attachment, \"owner_kind\") === \"attempt\" && optionalText(attachment, \"publication_state\") === \"published\")) {\n throw sqliteError(\"record-command-conflict\", \"admit-content\", \"attachment admission is missing\");\n }\n const inserted = recordStatement(connection, `INSERT OR IGNORE INTO ne18_contents(content_id,attachment_id,logical_handle,byte_length,overall_digest,chunk_count)\n VALUES (?,?,?,NULL,NULL,NULL)`).run(input.contentId, input.attachmentId, input.logicalHandle);\n const stored = recordStatement(connection, \"SELECT attachment_id,logical_handle FROM ne18_contents WHERE content_id=?\")\n .get(input.contentId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"attachment_id\") !== input.attachmentId || text(stored, \"logical_handle\") !== input.logicalHandle) {\n throw sqliteError(\"record-command-conflict\", \"admit-content\", `Content ${input.contentId} conflicts with its durable admission`);\n }\n if (Number(inserted.changes) > 0)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function stageAttachmentMetadata(connection: RecordDatabase, input: StageAttachmentInput): void {\n const { attachment } = input;\n if (attachment.ownerRunId !== input.runId)\n throw sqliteError(\"record-command-conflict\", \"stage-attachment\", \"attachment owner run differs from staging run\");\n requireBytesDigest(attachment.canonicalBytes, attachment.canonicalDigest, `attachment ${attachment.attachmentId}`);\n requireBytesDigest(attachment.logicalInventoryBytes, attachment.inventoryDigest, `attachment ${attachment.attachmentId} inventory`);\n for (const content of attachment.contents) {\n requireOrdinal(content.byteLength, `content ${content.contentId}.byteLength`);\n requireOrdinal(content.chunkCount, `content ${content.contentId}.chunkCount`);\n requireDigest(content.digest, `content ${content.contentId}.digest`);\n }\n const byteCount = attachment.canonicalBytes.byteLength + attachment.logicalInventoryBytes.byteLength;\n assertBoundedBatch(\"stage-attachment\", 1 + attachment.contents.length, byteCount);\n withImmediateTransaction(connection, input.deadlineEpochMs, \"stage-attachment\", () => {\n recordStatement(connection, `INSERT OR IGNORE INTO ne18_attachments(attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,logical_identity,canonical_payload,canonical_digest,logical_inventory,inventory_digest)\n VALUES (?,?,?,?,?,?,?,?,?,?,?)`).run(attachment.attachmentId, attachment.ownerKind, attachment.ownerRunId, attachment.ownerAttemptId ?? null, attachment.family, attachment.familyRevision, attachment.logicalIdentity, attachment.canonicalBytes, attachment.canonicalDigest, attachment.logicalInventoryBytes, attachment.inventoryDigest);\n for (const content of attachment.contents)\n recordStatement(connection, `INSERT OR IGNORE INTO ne18_contents(content_id,attachment_id,logical_handle,byte_length,overall_digest,chunk_count)\n VALUES (?,?,?,?,?,?)`).run(content.contentId, attachment.attachmentId, content.logicalHandle, content.byteLength, content.digest, content.chunkCount);\n const stored = recordStatement(connection, `SELECT owner_kind,owner_run_id,owner_attempt_id,family,family_revision,logical_identity,\n canonical_payload,canonical_digest,logical_inventory,inventory_digest FROM ne18_attachments WHERE attachment_id=?`)\n .get(attachment.attachmentId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"owner_kind\") !== attachment.ownerKind || text(stored, \"owner_run_id\") !== attachment.ownerRunId ||\n optionalText(stored, \"owner_attempt_id\") !== attachment.ownerAttemptId || text(stored, \"family\") !== attachment.family ||\n integer(stored, \"family_revision\") !== attachment.familyRevision || text(stored, \"logical_identity\") !== attachment.logicalIdentity ||\n text(stored, \"canonical_digest\") !== attachment.canonicalDigest || !bytesEqual(bytes(stored, \"canonical_payload\"), attachment.canonicalBytes) ||\n text(stored, \"inventory_digest\") !== attachment.inventoryDigest || !bytesEqual(bytes(stored, \"logical_inventory\"), attachment.logicalInventoryBytes))\n throw sqliteError(\"record-command-conflict\", \"stage-attachment\", `attachment ${attachment.attachmentId} conflicts with its durable retry`);\n for (const content of attachment.contents) {\n const persisted = recordStatement(connection, `SELECT attachment_id,logical_handle,byte_length,overall_digest,chunk_count\n FROM ne18_contents WHERE content_id=?`).get(content.contentId) as unknown as Row | undefined;\n if (persisted === undefined || text(persisted, \"attachment_id\") !== attachment.attachmentId || text(persisted, \"logical_handle\") !== content.logicalHandle ||\n integer(persisted, \"byte_length\") !== content.byteLength || text(persisted, \"overall_digest\") !== content.digest || integer(persisted, \"chunk_count\") !== content.chunkCount)\n throw sqliteError(\"record-command-conflict\", \"stage-attachment\", `content ${content.contentId} metadata conflicts with its durable retry`);\n }\n });\n}\nfunction validateFinalInput(input: StageRunCoreInput, requireCompleteMembers = true): void {\n requireBytesDigest(input.recordCoreBytes, input.recordCoreDigest, \"record core\");\n requireBytesDigest(input.runCoreBytes, input.runCoreDigest, \"run core\");\n assertBoundedRow(\"finalize-run\", \"record core\", input.recordCoreBytes);\n assertBoundedRow(\"finalize-run\", \"run core\", input.runCoreBytes);\n assertContiguous(input.slots, \"slots\");\n let byteCount = input.recordCoreBytes.byteLength + input.runCoreBytes.byteLength;\n for (const slot of input.slots) {\n requireBytesDigest(slot.coreBytes, slot.coreDigest, `slot ${slot.slotId}`);\n assertBoundedRow(\"finalize-run\", `slot ${slot.slotId}`, slot.coreBytes);\n byteCount += slot.coreBytes.byteLength;\n }\n for (const attempt of input.attempts) {\n requireAttemptLocator(attempt.attemptId, attempt.attemptLocator, \"finalize-run\");\n requireBytesDigest(attempt.coreBytes, attempt.coreDigest, `attempt ${attempt.attemptId}`);\n assertBoundedRow(\"finalize-run\", `attempt ${attempt.attemptId}`, attempt.coreBytes);\n byteCount += attempt.coreBytes.byteLength;\n }\n for (const member of input.members) {\n requireBytesDigest(member.coreBytes, member.coreDigest, `member ${member.slotId}`);\n assertBoundedRow(\"finalize-run\", `member ${member.slotId}`, member.coreBytes);\n byteCount += member.coreBytes.byteLength;\n const hasAttempt = member.originRunId !== undefined && member.attemptId !== undefined;\n const terminal = member.action === \"not-dispatched\" || member.action === \"interrupted\";\n if (terminal === hasAttempt || ((member.originRunId === undefined) !== (member.attemptId === undefined))) {\n throw sqliteError(\"record-content-invalid\", \"finalize-run\", `Member ${member.slotId} action and locator disagree`);\n }\n if (member.action === \"executed\" && member.originRunId !== input.runId) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Executed Member ${member.slotId} has a different origin Run`);\n }\n }\n const finalSlotIds = new Set(input.slots.map((slot) => slot.slotId));\n const finalMemberSlots = new Set(input.members.map((member) => member.slotId));\n if (finalSlotIds.size !== input.slots.length || finalMemberSlots.size !== input.members.length ||\n [...finalMemberSlots].some((slotId) => !finalSlotIds.has(slotId)) ||\n requireCompleteMembers && (finalSlotIds.size !== finalMemberSlots.size || [...finalSlotIds].some((slotId) => !finalMemberSlots.has(slotId)))) {\n throw sqliteError(\"record-seal-incomplete\", \"finalize-run\", \"final Run does not have exactly one Member per Slot\");\n }\n let contentCount = 0;\n for (const attachment of input.attachments) {\n requireIdentity(attachment.attachmentId, \"attachment.attachmentId\");\n requireIdentity(attachment.ownerRunId, \"attachment.ownerRunId\");\n if (attachment.ownerAttemptId !== undefined)\n requireIdentity(attachment.ownerAttemptId, \"attachment.ownerAttemptId\");\n requireIdentity(attachment.family, \"attachment.family\");\n requireIdentity(attachment.logicalIdentity, \"attachment.logicalIdentity\");\n if (attachment.ownerRunId !== input.runId || (attachment.ownerKind === \"attempt\") !== (attachment.ownerAttemptId !== undefined)) {\n throw sqliteError(\"record-content-invalid\", \"finalize-run\", `Attachment ${attachment.attachmentId} owner closure is invalid`);\n }\n requireBytesDigest(attachment.canonicalBytes, attachment.canonicalDigest, `attachment ${attachment.attachmentId}`);\n requireBytesDigest(attachment.logicalInventoryBytes, attachment.inventoryDigest, `attachment ${attachment.attachmentId} inventory`);\n assertBoundedRow(\"finalize-run\", `attachment ${attachment.attachmentId}`, attachment.canonicalBytes);\n assertBoundedRow(\"finalize-run\", `attachment ${attachment.attachmentId} inventory`, attachment.logicalInventoryBytes);\n byteCount += attachment.canonicalBytes.byteLength + attachment.logicalInventoryBytes.byteLength;\n contentCount += attachment.contents.length;\n for (const content of attachment.contents) {\n requireOrdinal(content.byteLength, `content ${content.contentId}.byteLength`);\n requireOrdinal(content.chunkCount, `content ${content.contentId}.chunkCount`);\n requireDigest(content.digest, `content ${content.contentId}.digest`);\n }\n }\n assertBoundedBatch(\"finalize-run\", 2 + input.slots.length + input.attempts.length + input.members.length + input.attachments.length + contentCount, byteCount);\n}\nfunction assertFinalInputStored(connection: RecordDatabase, input: StageRunCoreInput): void {\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"writer_generation\") !== input.writerGeneration || text(header, \"started_at\") !== input.startedAt ||\n text(header, \"core_digest\") !== input.runCoreDigest || !bytesEqual(bytes(header, \"core_payload\"), input.runCoreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Run ${input.runId} conflicts with committed finalization`);\n }\n const record = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne18_record_metadata WHERE singleton=1\").get() as unknown as Row;\n if (text(record, \"record_digest\") !== input.recordCoreDigest || !bytesEqual(bytes(record, \"record_payload\"), input.recordCoreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", \"Project RecordDocument conflicts with committed finalization\");\n }\n const counts = recordStatement(connection, `SELECT (SELECT count(*) FROM ne18_slots WHERE run_id=?) slots,\n (SELECT count(*) FROM ne18_attempts WHERE origin_run_id=?) attempts,(SELECT count(*) FROM ne18_members WHERE target_run_id=?) members,\n (SELECT count(*) FROM ne18_attachments WHERE owner_run_id=?) attachments`).get(input.runId, input.runId, input.runId, input.runId) as unknown as Row;\n if (integer(counts, \"slots\") !== input.slots.length || integer(counts, \"attempts\") !== input.attempts.length ||\n integer(counts, \"members\") !== input.members.length || integer(counts, \"attachments\") !== input.attachments.length) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", \"committed inventory differs from retry input\");\n }\n for (const slot of input.slots) {\n const stored = recordStatement(connection, \"SELECT ordinal,core_payload,core_digest FROM ne18_slots WHERE run_id=? AND slot_id=?\").get(input.runId, slot.slotId) as unknown as Row | undefined;\n if (stored === undefined || integer(stored, \"ordinal\") !== slot.ordinal || text(stored, \"core_digest\") !== slot.coreDigest || !bytesEqual(bytes(stored, \"core_payload\"), slot.coreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Slot ${slot.slotId} conflicts with committed finalization`);\n }\n }\n for (const attempt of input.attempts) {\n const stored = recordStatement(connection, \"SELECT attempt_locator,core_payload,core_digest FROM ne18_attempts WHERE origin_run_id=? AND attempt_id=?\").get(input.runId, attempt.attemptId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"attempt_locator\") !== attempt.attemptLocator || text(stored, \"core_digest\") !== attempt.coreDigest || !bytesEqual(bytes(stored, \"core_payload\"), attempt.coreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Attempt ${attempt.attemptId} conflicts with committed finalization`);\n }\n }\n for (const member of input.members) {\n const stored = recordStatement(connection, \"SELECT origin_run_id,attempt_id,action,core_payload,core_digest FROM ne18_members WHERE target_run_id=? AND slot_id=?\").get(input.runId, member.slotId) as unknown as Row | undefined;\n if (stored === undefined || optionalText(stored, \"origin_run_id\") !== member.originRunId || optionalText(stored, \"attempt_id\") !== member.attemptId ||\n text(stored, \"action\") !== member.action || text(stored, \"core_digest\") !== member.coreDigest || !bytesEqual(bytes(stored, \"core_payload\"), member.coreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Member ${member.slotId} conflicts with committed finalization`);\n }\n }\n for (const attachment of input.attachments) {\n const stored = recordStatement(connection, `SELECT owner_kind,owner_run_id,owner_attempt_id,family,family_revision,logical_identity,canonical_payload,canonical_digest,logical_inventory,inventory_digest\n FROM ne18_attachments WHERE attachment_id=? AND owner_run_id=?`).get(attachment.attachmentId, input.runId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"owner_kind\") !== attachment.ownerKind || text(stored, \"owner_run_id\") !== attachment.ownerRunId ||\n optionalText(stored, \"owner_attempt_id\") !== attachment.ownerAttemptId || text(stored, \"family\") !== attachment.family ||\n integer(stored, \"family_revision\") !== attachment.familyRevision ||\n text(stored, \"logical_identity\") !== attachment.logicalIdentity || text(stored, \"canonical_digest\") !== attachment.canonicalDigest ||\n !bytesEqual(bytes(stored, \"canonical_payload\"), attachment.canonicalBytes) || text(stored, \"inventory_digest\") !== attachment.inventoryDigest ||\n !bytesEqual(bytes(stored, \"logical_inventory\"), attachment.logicalInventoryBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Attachment ${attachment.attachmentId} conflicts with committed finalization`);\n }\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne18_contents WHERE attachment_id=?\").get(attachment.attachmentId) as unknown as Row;\n if (integer(count, \"count\") !== attachment.contents.length)\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Attachment ${attachment.attachmentId} Content inventory differs`);\n for (const content of attachment.contents) {\n const persisted = recordStatement(connection, \"SELECT logical_handle,byte_length,overall_digest,chunk_count FROM ne18_contents WHERE content_id=? AND attachment_id=?\")\n .get(content.contentId, attachment.attachmentId) as unknown as Row | undefined;\n if (persisted === undefined || text(persisted, \"logical_handle\") !== content.logicalHandle || integer(persisted, \"byte_length\") !== content.byteLength ||\n text(persisted, \"overall_digest\") !== content.digest || integer(persisted, \"chunk_count\") !== content.chunkCount) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Content ${content.contentId} conflicts with committed finalization`);\n }\n }\n }\n}\nfunction preparedSealBatch(connection: RecordDatabase, runId: string, expectedIdentity: string, expectedCount: number, startOrdinal: number, maximumRows: number): readonly SealEntry[] {\n const cached = sealEntryCache(connection).get(runId);\n if (cached === undefined || cached.count !== expectedCount || cached.identity !== expectedIdentity) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"bounded Seal staging requires a prepared closure capability\");\n }\n const result: SealEntry[] = [];\n let expectedOrdinal = startOrdinal;\n for (const row of recordStatement(connection, `SELECT ordinal,entry_kind,logical_identity,digest\n FROM temp.niceeval_prepared_seal_ordered WHERE run_id=? AND ordinal>=? ORDER BY ordinal LIMIT ?`)\n .iterate(runId, startOrdinal, maximumRows) as unknown as Iterable<Row>) {\n if (integer(row, \"ordinal\") !== expectedOrdinal) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"prepared Seal closure is not a contiguous ordered prefix\");\n }\n result.push(Object.freeze({\n kind: sealEntryKind(row, \"entry_kind\"),\n logicalIdentity: text(row, \"logical_identity\"),\n digest: text(row, \"digest\"),\n }));\n expectedOrdinal += 1;\n }\n if (startOrdinal < expectedCount && result.length === 0) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"prepared Seal closure ended before its declared count\");\n }\n return Object.freeze(result);\n}\nexport function stageSealEntries(connection: RecordDatabase, input: StageSealEntriesInput): StageSealEntriesResult {\n requireOrdinal(input.startOrdinal, \"Seal batch startOrdinal\");\n if (!Number.isSafeInteger(input.maximumRows) || input.maximumRows < 1 || input.maximumRows > 256) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"prepare-seal\", \"Seal batch maximumRows must be between 1 and 256\");\n }\n const existing = runRow(connection, input.runId);\n if (existing !== undefined && text(existing, \"writer_generation\") === input.writerGeneration && text(existing, \"status\") === \"sealed\") {\n const count = integer(existing, \"candidate_seal_entry_count\");\n if (text(existing, \"logical_seal_identity\") !== input.expectedLogicalSealIdentity) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"sealed retry carries a different logical Seal identity\");\n }\n if (integer(existing, \"candidate_seal_staged_count\") !== count) {\n throw sqliteError(\"record-seal-incomplete\", \"prepare-seal\", \"sealed Run does not have its complete staged Seal inventory\");\n }\n return Object.freeze({ nextOrdinal: null, stagedCount: 0 });\n }\n const header = assertRunFence(connection, input.runId, input.writerGeneration, \"prepare-seal\", \"sealing\");\n const expectedCount = integer(header, \"candidate_seal_entry_count\");\n const stagedBefore = integer(header, \"candidate_seal_staged_count\");\n if (text(header, \"candidate_seal_identity\") !== input.expectedLogicalSealIdentity || input.startOrdinal > expectedCount || input.startOrdinal > stagedBefore) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"Seal batch does not match the finalization fence\");\n }\n const batch = preparedSealBatch(connection, input.runId, input.expectedLogicalSealIdentity, expectedCount, input.startOrdinal, input.maximumRows);\n withImmediateTransaction(connection, input.deadlineEpochMs, \"prepare-seal\", () => {\n const current = assertRunFence(connection, input.runId, input.writerGeneration, \"prepare-seal\", \"sealing\");\n if (integer(current, \"candidate_seal_staged_count\") !== stagedBefore) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"Seal staged prefix changed before batch transaction\");\n }\n const insert = recordStatement(connection, \"INSERT OR IGNORE INTO ne18_run_seal_entries(run_id,ordinal,entry_kind,logical_identity,digest) VALUES (?,?,?,?,?)\");\n const read = recordStatement(connection, \"SELECT entry_kind,logical_identity,digest FROM ne18_run_seal_entries WHERE run_id=? AND ordinal=?\");\n batch.forEach((entry, index) => {\n const ordinal = input.startOrdinal + index;\n insert.run(input.runId, ordinal, entry.kind, entry.logicalIdentity, entry.digest);\n const stored = read.get(input.runId, ordinal) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"entry_kind\") !== entry.kind || text(stored, \"logical_identity\") !== entry.logicalIdentity ||\n text(stored, \"digest\") !== entry.digest) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", `Seal candidate ${ordinal} conflicts with its durable retry`);\n }\n });\n const next = input.startOrdinal + batch.length;\n const advanced = recordStatement(connection, `UPDATE ne18_runs SET candidate_seal_staged_count=?\n WHERE run_id=? AND status='sealing' AND candidate_seal_staged_count=?`).run(Math.max(stagedBefore, next), input.runId, stagedBefore);\n if (Number(advanced.changes) !== 1)\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"Seal staged prefix changed during batch transaction\");\n });\n const next = input.startOrdinal + batch.length;\n return Object.freeze({ nextOrdinal: next === expectedCount ? null : next, stagedCount: batch.length });\n}\n/** Reads the durable identity shared by every Run, including after a project move. */\nexport function readRecordCore(connection: RecordDatabase): Uint8Array | undefined {\n const row = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne18_record_metadata WHERE singleton=1\").get() as Row | undefined;\n if (row === undefined || row.record_payload === null)\n return undefined;\n const payload = bytes(row, \"record_payload\");\n requireBytesDigest(payload, text(row, \"record_digest\"), \"record core\");\n return transferableBytes(payload);\n}\nfunction preserveRecordCore(connection: RecordDatabase, input: StageRunCoreInput): void {\n const existing = readRecordCore(connection);\n if (existing !== undefined && !bytesEqual(existing, input.recordCoreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"publish-record-core\", \"Existing Record identity cannot be replaced\");\n }\n if (existing === undefined) {\n recordStatement(connection, \"UPDATE ne18_record_metadata SET record_payload=?,record_digest=? WHERE singleton=1\").run(input.recordCoreBytes, input.recordCoreDigest);\n }\n}\n/** One bounded transaction that publishes final Core/metadata but not a Seal fence. */\nexport function stageRunFinalMetadata(connection: RecordDatabase, input: StageRunCoreInput): void {\n validateFinalInput(input);\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"writer_generation\") !== input.writerGeneration || text(header, \"started_at\") !== input.startedAt) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Run ${input.runId} admission fence is missing or changed`);\n }\n if (text(header, \"status\") === \"open\") {\n withImmediateTransaction(connection, input.deadlineEpochMs, \"stage-final-metadata\", () => {\n const current = assertRunFence(connection, input.runId, input.writerGeneration, \"finalize-run\");\n if (text(current, \"status\") !== \"open\")\n throw sqliteError(\"record-command-conflict\", \"stage-final-metadata\", \"Run final metadata fence changed\");\n preserveRecordCore(connection, input);\n recordStatement(connection, \"UPDATE ne18_runs SET core_payload=?,core_digest=? WHERE run_id=? AND status='open'\").run(input.runCoreBytes, input.runCoreDigest, input.runId);\n for (const slot of input.slots)\n recordStatement(connection, \"INSERT OR IGNORE INTO ne18_slots(run_id,slot_id,ordinal,core_payload,core_digest) VALUES (?,?,?,?,?)\").run(input.runId, slot.slotId, slot.ordinal, slot.coreBytes, slot.coreDigest);\n for (const attempt of input.attempts)\n recordStatement(connection, \"UPDATE ne18_attempts SET core_payload=?,core_digest=? WHERE origin_run_id=? AND attempt_id=?\").run(attempt.coreBytes, attempt.coreDigest, input.runId, attempt.attemptId);\n for (const member of input.members)\n recordStatement(connection, \"INSERT OR REPLACE INTO ne18_members(target_run_id,slot_id,origin_run_id,attempt_id,action,core_payload,core_digest) VALUES (?,?,?,?,?,?,?)\")\n .run(input.runId, member.slotId, member.originRunId ?? null, member.attemptId ?? null, member.action, member.coreBytes, member.coreDigest);\n for (const attachment of input.attachments) {\n recordStatement(connection, `UPDATE ne18_attachments SET logical_identity=?,canonical_payload=?,canonical_digest=?,logical_inventory=?,inventory_digest=?\n WHERE attachment_id=? AND owner_run_id=? AND NOT (owner_kind='attempt' AND EXISTS\n (SELECT 1 FROM ne18_attempts WHERE origin_run_id=ne18_attachments.owner_run_id AND attempt_id=ne18_attachments.owner_attempt_id AND publication_state='published'))`).run(attachment.logicalIdentity, attachment.canonicalBytes, attachment.canonicalDigest, attachment.logicalInventoryBytes, attachment.inventoryDigest, attachment.attachmentId, input.runId);\n for (const content of attachment.contents)\n recordStatement(connection, `UPDATE ne18_contents SET byte_length=?,overall_digest=?,chunk_count=?\n WHERE content_id=? AND attachment_id=? AND NOT EXISTS (SELECT 1 FROM ne18_attachments a JOIN ne18_attempts at\n ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id\n WHERE a.attachment_id=ne18_contents.attachment_id AND a.owner_kind='attempt' AND at.publication_state='published')`)\n .run(content.byteLength, content.digest, content.chunkCount, content.contentId, attachment.attachmentId);\n }\n bumpMutationSequence(connection, input.runId);\n assertFinalInputStored(connection, input);\n });\n }\n assertFinalInputStored(connection, input);\n}\n/** Publishes the closed Core/attachments available for completed Attempts while the Run remains open. */\nexport function stageRunPublicationMetadata(connection: RecordDatabase, input: StageRunCoreInput): void {\n validateFinalInput(input, false);\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"writer_generation\") !== input.writerGeneration || text(header, \"started_at\") !== input.startedAt) {\n throw sqliteError(\"record-command-conflict\", \"publish-attempt-metadata\", `Run ${input.runId} admission fence is missing or changed`);\n }\n withImmediateTransaction(connection, input.deadlineEpochMs, \"publish-attempt-metadata\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"publish-attempt-metadata\");\n preserveRecordCore(connection, input);\n recordStatement(connection, \"UPDATE ne18_runs SET core_payload=?,core_digest=? WHERE run_id=? AND status='open'\").run(input.runCoreBytes, input.runCoreDigest, input.runId);\n for (const slot of input.slots)\n recordStatement(connection, \"INSERT OR REPLACE INTO ne18_slots(run_id,slot_id,ordinal,core_payload,core_digest) VALUES (?,?,?,?,?)\").run(input.runId, slot.slotId, slot.ordinal, slot.coreBytes, slot.coreDigest);\n for (const attempt of input.attempts)\n recordStatement(connection, `UPDATE ne18_attempts SET core_payload=?,core_digest=?,\n publication_state=CASE WHEN publication_state='staging' THEN 'sealing' ELSE publication_state END\n WHERE origin_run_id=? AND attempt_id=?`).run(attempt.coreBytes, attempt.coreDigest, input.runId, attempt.attemptId);\n for (const member of input.members)\n recordStatement(connection, \"INSERT OR REPLACE INTO ne18_members(target_run_id,slot_id,origin_run_id,attempt_id,action,core_payload,core_digest) VALUES (?,?,?,?,?,?,?)\")\n .run(input.runId, member.slotId, member.originRunId ?? null, member.attemptId ?? null, member.action, member.coreBytes, member.coreDigest);\n for (const attachment of input.attachments) {\n recordStatement(connection, `UPDATE ne18_attachments SET logical_identity=?,canonical_payload=?,canonical_digest=?,logical_inventory=?,inventory_digest=?\n WHERE attachment_id=? AND owner_run_id=? AND NOT (owner_kind='attempt' AND EXISTS\n (SELECT 1 FROM ne18_attempts WHERE origin_run_id=ne18_attachments.owner_run_id AND attempt_id=ne18_attachments.owner_attempt_id AND publication_state='published'))`).run(attachment.logicalIdentity, attachment.canonicalBytes, attachment.canonicalDigest, attachment.logicalInventoryBytes, attachment.inventoryDigest, attachment.attachmentId, input.runId);\n for (const content of attachment.contents)\n recordStatement(connection, `UPDATE ne18_contents SET byte_length=?,overall_digest=?,chunk_count=?\n WHERE content_id=? AND attachment_id=? AND NOT EXISTS (SELECT 1 FROM ne18_attachments a JOIN ne18_attempts at\n ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id\n WHERE a.attachment_id=ne18_contents.attachment_id AND a.owner_kind='attempt' AND at.publication_state='published')`)\n .run(content.byteLength, content.digest, content.chunkCount, content.contentId, attachment.attachmentId);\n }\n bumpMutationSequence(connection, input.runId);\n });\n}\n/** Heavy closure verification is read-only and therefore holds no FIFO writer ticket. */\nexport function prepareRunFinalization(connection: RecordDatabase, input: PrepareRunFinalizationInput): PreparedRunFinalization {\n if (Date.now() >= input.deadlineEpochMs)\n throw sqliteError(\"record-resource-limit-exceeded\", \"prepare-finalization\", \"finalization preparation exceeded its deadline\");\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"writer_generation\") !== input.writerGeneration) {\n throw sqliteError(\"record-command-conflict\", \"prepare-finalization\", \"Run admission fence is missing or changed\");\n }\n const status = text(header, \"status\");\n if (status !== \"open\" && status !== \"sealing\" && status !== \"sealed\") {\n throw sqliteError(\"record-command-conflict\", \"prepare-finalization\", `Run ${input.runId} is not finalizable`);\n }\n const mutationSequence = integer(header, \"mutation_sequence\");\n // Every append transaction already validates the exact chunk bytes/digest\n // pair before committing. Preparation therefore validates the durable\n // logical/ordinal/length closure and streams only stored digests into a\n // disk-backed canonical sort. Exact byte re-hashing remains mandatory for\n // pinned readers and full-database verification.\n verifyRunPayloadClosures(connection, input.runId, false);\n const prepared = spillPreparedSealEntries(connection, input.runId, (visit) => visitRunSealEntries(connection, input.runId, visit, false));\n const candidateIdentity = prepared.identity;\n if (Date.now() >= input.deadlineEpochMs)\n throw sqliteError(\"record-resource-limit-exceeded\", \"prepare-finalization\", \"finalization preparation exceeded its deadline\");\n const after = runRow(connection, input.runId)!;\n if (integer(after, \"mutation_sequence\") !== mutationSequence || text(after, \"status\") !== status) {\n throw sqliteError(\"record-command-conflict\", \"prepare-finalization\", \"Run staging changed during closure preparation\");\n }\n if (status !== \"open\") {\n const storedIdentity = status === \"sealed\" ? text(after, \"logical_seal_identity\") : text(after, \"candidate_seal_identity\");\n if (storedIdentity !== candidateIdentity || integer(after, \"candidate_seal_entry_count\") !== prepared.count) {\n throw sqliteError(\"record-seal-incomplete\", \"prepare-finalization\", \"durable finalization fence differs from its closure\");\n }\n }\n sealEntryCache(connection).set(input.runId, Object.freeze({ identity: candidateIdentity, count: prepared.count, mutationSequence }));\n return Object.freeze({ runId: input.runId, writerGeneration: input.writerGeneration, logicalSealIdentity: candidateIdentity, sealEntryCount: prepared.count, mutationSequence });\n}\n/** One bounded transaction atomically installs the previously prepared fence. */\nexport function fenceRunFinalization(connection: RecordDatabase, input: FenceRunFinalizationInput): RunFinalization {\n const cached = sealEntryCache(connection).get(input.runId);\n if (cached === undefined || cached.mutationSequence !== input.mutationSequence || cached.identity !== input.expectedLogicalSealIdentity ||\n cached.count !== input.expectedSealEntryCount) {\n throw sqliteError(\"record-command-conflict\", \"fence-finalization\", \"prepared finalization capability is missing or changed\");\n }\n const before = runRow(connection, input.runId);\n if (before === undefined || text(before, \"writer_generation\") !== input.writerGeneration) {\n throw sqliteError(\"record-command-conflict\", \"fence-finalization\", \"Run admission fence is missing or changed\");\n }\n if (text(before, \"status\") === \"open\") {\n withImmediateTransaction(connection, input.deadlineEpochMs, \"fence-finalization\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"fence-finalization\");\n const changed = recordStatement(connection, `UPDATE ne18_runs SET status='sealing',candidate_seal_identity=?,candidate_seal_entry_count=?\n WHERE run_id=? AND status='open' AND writer_generation=? AND mutation_sequence=?`).run(input.expectedLogicalSealIdentity, input.expectedSealEntryCount, input.runId, input.writerGeneration, input.mutationSequence);\n if (Number(changed.changes) !== 1)\n throw sqliteError(\"record-command-conflict\", \"fence-finalization\", \"Run staging changed before finalization fence\");\n });\n }\n const header = runRow(connection, input.runId)!;\n const identity = text(header, \"status\") === \"sealed\" ? text(header, \"logical_seal_identity\") : text(header, \"candidate_seal_identity\");\n if (identity !== input.expectedLogicalSealIdentity || integer(header, \"candidate_seal_entry_count\") !== input.expectedSealEntryCount) {\n throw sqliteError(\"record-command-conflict\", \"fence-finalization\", \"durable finalization fence differs from prepared closure\");\n }\n return Object.freeze({ runId: input.runId, writerGeneration: input.writerGeneration, logicalSealIdentity: identity, sealEntryCount: input.expectedSealEntryCount });\n}\n/** Compatibility composite for direct callers without a coordination ticket. */\nexport function finalizeRun(connection: RecordDatabase, input: StageRunCoreInput): RunFinalization {\n stageRunFinalMetadata(connection, input);\n const prepared = prepareRunFinalization(connection, { runId: input.runId, writerGeneration: input.writerGeneration, deadlineEpochMs: input.deadlineEpochMs });\n return fenceRunFinalization(connection, {\n runId: input.runId, writerGeneration: input.writerGeneration, mutationSequence: prepared.mutationSequence,\n expectedLogicalSealIdentity: prepared.logicalSealIdentity, expectedSealEntryCount: prepared.sealEntryCount,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n}\nexport const stageRunCore = stageRunFinalMetadata;\nexport function stageAttachmentReferences(connection: RecordDatabase, input: StageAttachmentReferencesInput): void {\n for (const reference of input.references) {\n requireBytesDigest(reference.canonicalBytes, reference.referenceDigest, `reference ${input.attachmentId}/${reference.ordinal}`);\n assertBoundedRow(\"stage-references\", `reference ${input.attachmentId}/${reference.ordinal}`, reference.canonicalBytes);\n }\n assertBoundedBatch(\"stage-references\", input.references.length, input.references.reduce((sum, value) => sum + value.canonicalBytes.byteLength, 0));\n withImmediateTransaction(connection, input.deadlineEpochMs, \"stage-references\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"stage-references\");\n assertAttachmentFence(connection, input.runId, input.attachmentId, \"stage-references\");\n let changed = false;\n for (const reference of input.references) {\n const stored = recordStatement(connection, `SELECT target_owner_kind,target_family,canonical_payload,reference_digest FROM ne18_attachment_references\n WHERE attachment_id=? AND ordinal=?`).get(input.attachmentId, reference.ordinal) as unknown as Row | undefined;\n if (stored === undefined) {\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne18_attachment_references WHERE attachment_id=?\").get(input.attachmentId) as unknown as Row;\n if (reference.ordinal !== integer(count, \"count\"))\n throw sqliteError(\"record-command-conflict\", \"stage-references\", \"reference batch does not extend the committed prefix\");\n recordStatement(connection, `INSERT INTO ne18_attachment_references(attachment_id,ordinal,target_owner_kind,target_family,canonical_payload,reference_digest)\n VALUES (?,?,?,?,?,?)`).run(input.attachmentId, reference.ordinal, reference.owner, reference.family, reference.canonicalBytes, reference.referenceDigest);\n changed = true;\n }\n else if (text(stored, \"target_owner_kind\") !== reference.owner || text(stored, \"target_family\") !== reference.family ||\n text(stored, \"reference_digest\") !== reference.referenceDigest || !bytesEqual(bytes(stored, \"canonical_payload\"), reference.canonicalBytes))\n throw sqliteError(\"record-command-conflict\", \"stage-references\", `Reference ${input.attachmentId}/${reference.ordinal} conflicts with its committed retry`);\n }\n if (changed)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function stageCollectionItems(connection: RecordDatabase, input: StageCollectionItemsInput): void {\n for (const item of input.items) {\n requireBytesDigest(item.canonicalBytes, item.canonicalDigest, `item ${input.attachmentId}/${item.ordinal}`);\n assertBoundedRow(\"stage-collection-items\", `item ${input.attachmentId}/${item.ordinal}`, item.canonicalBytes);\n const expectedLogicalIdentity = collectionItemLogicalIdentity(item.ordinal, item.canonicalDigest);\n if (item.logicalIdentity !== expectedLogicalIdentity) {\n throw sqliteError(\"record-content-invalid\", \"stage-collection-items\", `Item ${input.attachmentId}/${item.ordinal} logical identity is invalid`);\n }\n }\n assertBoundedBatch(\"stage-collection-items\", input.items.length, input.items.reduce((sum, value) => sum + value.canonicalBytes.byteLength, 0));\n withImmediateTransaction(connection, input.deadlineEpochMs, \"stage-collection-items\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"stage-collection-items\");\n assertAttachmentFence(connection, input.runId, input.attachmentId, \"stage-collection-items\");\n let changed = false;\n for (const item of input.items) {\n const stored = recordStatement(connection, `SELECT logical_identity,canonical_payload,canonical_digest FROM ne18_collection_items\n WHERE attachment_id=? AND ordinal=?`).get(input.attachmentId, item.ordinal) as unknown as Row | undefined;\n if (stored === undefined) {\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne18_collection_items WHERE attachment_id=?\").get(input.attachmentId) as unknown as Row;\n if (item.ordinal !== integer(count, \"count\"))\n throw sqliteError(\"record-command-conflict\", \"stage-collection-items\", \"collection batch does not extend the committed prefix\");\n recordStatement(connection, `INSERT INTO ne18_collection_items(attachment_id,ordinal,logical_identity,canonical_payload,canonical_digest)\n VALUES (?,?,?,?,?)`).run(input.attachmentId, item.ordinal, item.logicalIdentity, item.canonicalBytes, item.canonicalDigest);\n changed = true;\n }\n else if (text(stored, \"logical_identity\") !== item.logicalIdentity || text(stored, \"canonical_digest\") !== item.canonicalDigest ||\n !bytesEqual(bytes(stored, \"canonical_payload\"), item.canonicalBytes))\n throw sqliteError(\"record-command-conflict\", \"stage-collection-items\", `Item ${input.attachmentId}/${item.ordinal} conflicts with its committed retry`);\n }\n if (changed)\n bumpMutationSequence(connection, input.runId);\n });\n}\nfunction batchesByBytes<T>(values: readonly T[], bytesOf: (value: T) => number, maxRows = 256): readonly (readonly T[])[] {\n const batches: T[][] = [];\n let batch: T[] = [];\n let byteCount = 0;\n for (const value of values) {\n const size = bytesOf(value);\n if (batch.length > 0 && (batch.length >= maxRows || byteCount + size > RECORD_SQLITE_MAX_PUBLISH_BYTES)) {\n batches.push(batch);\n batch = [];\n byteCount = 0;\n }\n batch.push(value);\n byteCount += size;\n }\n if (batch.length > 0)\n batches.push(batch);\n return batches;\n}\nfunction assertRunHeader(row: Row, input: Pick<StageRunCoreInput, \"runId\" | \"writerGeneration\" | \"startedAt\" | \"runCoreBytes\" | \"runCoreDigest\">): void {\n if (text(row, \"writer_generation\") !== input.writerGeneration ||\n text(row, \"started_at\") !== input.startedAt ||\n text(row, \"core_digest\") !== input.runCoreDigest ||\n digestBytes(bytes(row, \"core_payload\")) !== input.runCoreDigest)\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `run ${input.runId} already exists with a different identity`);\n}\nfunction assertSealedRetryExact(connection: RecordDatabase, input: PersistSealedRunInput): void {\n assertFinalInputStored(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n startedAt: input.startedAt,\n recordCoreBytes: input.recordCoreBytes,\n recordCoreDigest: input.recordCoreDigest,\n runCoreBytes: input.runCoreBytes,\n runCoreDigest: input.runCoreDigest,\n slots: input.slots,\n attempts: input.attempts,\n members: input.members,\n attachments: input.attachments.map((attachment) => ({\n attachmentId: attachment.attachmentId,\n ownerKind: attachment.ownerKind,\n ownerRunId: attachment.ownerRunId,\n ...(attachment.ownerAttemptId === undefined ? {} : { ownerAttemptId: attachment.ownerAttemptId }),\n family: attachment.family,\n familyRevision: attachment.familyRevision,\n logicalIdentity: attachment.logicalIdentity,\n canonicalBytes: attachment.canonicalBytes,\n canonicalDigest: attachment.canonicalDigest,\n logicalInventoryBytes: attachment.logicalInventoryBytes,\n inventoryDigest: attachment.inventoryDigest,\n contents: attachment.contents.map((content) => ({ contentId: content.contentId, logicalHandle: content.logicalHandle,\n byteLength: content.byteLength, digest: content.digest, chunkCount: content.chunks.length })),\n })),\n deadlineEpochMs: input.deadlineEpochMs,\n });\n for (const attachment of input.attachments) {\n const counts = recordStatement(connection, `SELECT\n (SELECT count(*) FROM ne18_attachment_references WHERE attachment_id=?) reference_count,\n (SELECT count(*) FROM ne18_collection_items WHERE attachment_id=?) item_count`).get(attachment.attachmentId, attachment.attachmentId) as unknown as Row;\n if (integer(counts, \"reference_count\") !== attachment.references.length || integer(counts, \"item_count\") !== attachment.collectionItems.length) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Attachment ${attachment.attachmentId} retry inventory differs`);\n }\n for (const reference of attachment.references) {\n const row = recordStatement(connection, `SELECT target_owner_kind,target_family,canonical_payload,reference_digest FROM ne18_attachment_references\n WHERE attachment_id=? AND ordinal=?`).get(attachment.attachmentId, reference.ordinal) as unknown as Row | undefined;\n if (row === undefined || ownerKind(row, \"target_owner_kind\") !== reference.owner || text(row, \"target_family\") !== reference.family ||\n text(row, \"reference_digest\") !== reference.referenceDigest || !bytesEqual(bytes(row, \"canonical_payload\"), reference.canonicalBytes)) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Reference ${attachment.attachmentId}/${reference.ordinal} retry differs`);\n }\n }\n for (const item of attachment.collectionItems) {\n const row = recordStatement(connection, `SELECT logical_identity,canonical_payload,canonical_digest FROM ne18_collection_items\n WHERE attachment_id=? AND ordinal=?`).get(attachment.attachmentId, item.ordinal) as unknown as Row | undefined;\n if (row === undefined || text(row, \"logical_identity\") !== item.logicalIdentity || text(row, \"canonical_digest\") !== item.canonicalDigest ||\n !bytesEqual(bytes(row, \"canonical_payload\"), item.canonicalBytes)) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Collection item ${attachment.attachmentId}/${item.ordinal} retry differs`);\n }\n }\n for (const content of attachment.contents) {\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne18_content_chunks WHERE content_id=?\").get(content.contentId) as unknown as Row;\n if (integer(count, \"count\") !== content.chunks.length)\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Content ${content.contentId} retry chunk count differs`);\n for (const chunk of content.chunks) {\n const row = recordStatement(connection, \"SELECT bytes,chunk_digest FROM ne18_content_chunks WHERE content_id=? AND ordinal=?\")\n .get(content.contentId, chunk.ordinal) as unknown as Row | undefined;\n if (row === undefined || text(row, \"chunk_digest\") !== chunk.chunkDigest || !bytesEqual(bytes(row, \"bytes\"), chunk.bytes)) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Content chunk ${content.contentId}/${chunk.ordinal} retry differs`);\n }\n }\n }\n }\n}\nexport function persistSealedRun(connection: RecordDatabase, input: PersistSealedRunInput): SealedRunSummary {\n const expectedEntries = validateInput(input);\n const expectedIdentity = logicalSealIdentity(expectedEntries);\n if (input.expectedLogicalSealIdentity !== undefined && input.expectedLogicalSealIdentity !== expectedIdentity) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", \"caller logical Seal identity does not match frozen closure\");\n }\n const existing = runRow(connection, input.runId);\n if (existing !== undefined && text(existing, \"status\") === \"sealed\") {\n assertRunHeader(existing, input);\n assertSealedRetryExact(connection, input);\n if (text(existing, \"logical_seal_identity\") !== expectedIdentity) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `sealed retry for ${input.runId} has a different closure`);\n }\n verifyStoredSeal(connection, input.runId, expectedEntries, expectedIdentity);\n return readSealedRunSummary(connection, input.runId)!;\n }\n beginRun(connection, input);\n for (const attempt of input.attempts)\n admitAttempt(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n attemptId: attempt.attemptId,\n attemptLocator: attempt.attemptLocator,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n for (const attachment of input.attachments) {\n admitAttachment(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n attachmentId: attachment.attachmentId,\n ownerKind: attachment.ownerKind,\n ownerRunId: attachment.ownerRunId,\n ...(attachment.ownerAttemptId === undefined ? {} : { ownerAttemptId: attachment.ownerAttemptId }),\n family: attachment.family,\n familyRevision: attachment.familyRevision,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n for (const content of attachment.contents)\n admitContent(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n attachmentId: attachment.attachmentId,\n contentId: content.contentId,\n logicalHandle: content.logicalHandle,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n for (const batch of batchesByBytes(attachment.references, (value) => value.canonicalBytes.byteLength)) {\n stageAttachmentReferences(connection, { runId: input.runId, writerGeneration: input.writerGeneration, attachmentId: attachment.attachmentId, references: batch, deadlineEpochMs: input.deadlineEpochMs });\n }\n for (const batch of batchesByBytes(attachment.collectionItems, (value) => value.canonicalBytes.byteLength)) {\n stageCollectionItems(connection, { runId: input.runId, writerGeneration: input.writerGeneration, attachmentId: attachment.attachmentId, items: batch, deadlineEpochMs: input.deadlineEpochMs });\n }\n for (const content of attachment.contents) {\n for (const batch of batchesByBytes(content.chunks, (value) => value.bytes.byteLength, 128)) {\n appendContentChunks(connection, { runId: input.runId, writerGeneration: input.writerGeneration, contentId: content.contentId, chunks: batch, deadlineEpochMs: input.deadlineEpochMs });\n }\n }\n }\n const finalized = finalizeRun(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n startedAt: input.startedAt,\n recordCoreBytes: input.recordCoreBytes,\n recordCoreDigest: input.recordCoreDigest,\n runCoreBytes: input.runCoreBytes,\n runCoreDigest: input.runCoreDigest,\n slots: input.slots,\n attempts: input.attempts,\n members: input.members,\n attachments: input.attachments.map((attachment) => ({\n attachmentId: attachment.attachmentId,\n ownerKind: attachment.ownerKind,\n ownerRunId: attachment.ownerRunId,\n ...(attachment.ownerAttemptId === undefined ? {} : { ownerAttemptId: attachment.ownerAttemptId }),\n family: attachment.family,\n familyRevision: attachment.familyRevision,\n logicalIdentity: attachment.logicalIdentity,\n canonicalBytes: attachment.canonicalBytes,\n canonicalDigest: attachment.canonicalDigest,\n logicalInventoryBytes: attachment.logicalInventoryBytes,\n inventoryDigest: attachment.inventoryDigest,\n contents: attachment.contents.map((content) => ({ contentId: content.contentId, logicalHandle: content.logicalHandle,\n byteLength: content.byteLength, digest: content.digest, chunkCount: content.chunks.length })),\n })),\n deadlineEpochMs: input.deadlineEpochMs,\n });\n if (finalized.logicalSealIdentity !== expectedIdentity)\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", \"bulk input differs from finalized closure\");\n let sealOrdinal: number | null = 0;\n while (sealOrdinal !== null) {\n sealOrdinal = stageSealEntries(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n expectedLogicalSealIdentity: expectedIdentity,\n startOrdinal: sealOrdinal,\n maximumRows: 256,\n deadlineEpochMs: input.deadlineEpochMs,\n }).nextOrdinal;\n }\n return sealRun(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n expectedLogicalSealIdentity: expectedIdentity,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n}\nexport function sealRun(connection: RecordDatabase, input: SealRunInput): SealedRunSummary {\n publishRunSeal(connection, input);\n const header = runRow(connection, input.runId)!;\n verifyStoredSealStreaming(connection, input.runId, input.expectedLogicalSealIdentity, integer(header, \"candidate_seal_entry_count\"));\n return readSealedRunSummary(connection, input.runId)!;\n}\n/** Constant-row atomic publication; staged Seal rows become visible through the parent status. */\nexport function publishRunSeal(connection: RecordDatabase, input: SealRunInput): void {\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"writer_generation\") !== input.writerGeneration) {\n throw sqliteError(\"record-command-conflict\", \"seal-run\", \"Run publication fence changed\");\n }\n if (text(header, \"status\") === \"sealed\") {\n if (text(header, \"logical_seal_identity\") !== input.expectedLogicalSealIdentity) {\n throw sqliteError(\"record-command-conflict\", \"seal-run\", \"sealed retry carries a different logical Seal identity\");\n }\n if (integer(header, \"candidate_seal_staged_count\") !== integer(header, \"candidate_seal_entry_count\")) {\n throw sqliteError(\"record-seal-incomplete\", \"seal-run\", \"sealed Run does not have its complete staged Seal inventory\");\n }\n return;\n }\n if (text(header, \"status\") !== \"sealing\" || text(header, \"candidate_seal_identity\") !== input.expectedLogicalSealIdentity) {\n throw sqliteError(\"record-command-conflict\", \"seal-run\", \"Run is not at the expected finalization fence\");\n }\n if (integer(header, \"candidate_seal_staged_count\") !== integer(header, \"candidate_seal_entry_count\")) {\n throw sqliteError(\"record-seal-incomplete\", \"seal-run\", \"Seal candidate inventory is not completely staged\");\n }\n withImmediateTransaction(connection, input.deadlineEpochMs, \"seal-run\", () => {\n const changed = recordStatement(connection, `UPDATE ne18_runs SET status='sealed',logical_seal_identity=?\n WHERE run_id=? AND status='sealing' AND writer_generation=? AND candidate_seal_identity=?\n AND candidate_seal_staged_count=candidate_seal_entry_count`).run(input.expectedLogicalSealIdentity, input.runId, input.writerGeneration, input.expectedLogicalSealIdentity);\n if (Number(changed.changes) !== 1)\n throw sqliteError(\"record-command-conflict\", \"seal-run\", \"Run publication fence changed before commit\");\n });\n sealEntryCache(connection).delete(input.runId);\n}\nfunction verifyStoredSealStreaming(connection: RecordDatabase, runId: string, identity: string, expectedCount: number): void {\n ensurePreparedSealTables(connection);\n try {\n // Validate every payload byte and every derived logical closure exactly\n // once. The canonical spill may then consume the just-validated Content\n // chunk digests without materializing the BLOBs a second time.\n verifyRunPayloadClosures(connection, runId, true);\n const actual = spillPreparedSealEntries(connection, runId, (visit) => visitRunSealEntries(connection, runId, visit, true, false));\n if (actual.count !== expectedCount || actual.identity !== identity) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} exact Seal identity or count differs from its closure`);\n }\n const statement = recordStatement(connection, `SELECT entry_kind,logical_identity,digest FROM ne18_run_seal_entries\n WHERE run_id=? AND ordinal=?`);\n let ordinal = 0;\n for (const row of recordStatement(connection, `SELECT ordinal,entry_kind,logical_identity,digest\n FROM temp.niceeval_prepared_seal_ordered WHERE run_id=? ORDER BY ordinal`).iterate(runId) as unknown as Iterable<Row>) {\n if (integer(row, \"ordinal\") !== ordinal) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} prepared Seal ordinals are not contiguous`);\n }\n const entry = {\n kind: sealEntryKind(row, \"entry_kind\"),\n logicalIdentity: text(row, \"logical_identity\"),\n digest: text(row, \"digest\"),\n } as const;\n const stored = statement.get(runId, ordinal) as unknown as Row | undefined;\n if (stored === undefined || sealEntryKind(stored, \"entry_kind\") !== entry.kind ||\n text(stored, \"logical_identity\") !== entry.logicalIdentity || text(stored, \"digest\") !== entry.digest) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} Seal entry ${ordinal} differs from its closure`);\n }\n ordinal += 1;\n }\n const storedCount = recordStatement(connection, \"SELECT count(*) AS count FROM ne18_run_seal_entries WHERE run_id=?\").get(runId) as unknown as Row;\n if (ordinal !== expectedCount || integer(storedCount, \"count\") !== ordinal) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} exact Seal does not match its closure`);\n }\n }\n finally {\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_raw WHERE run_id=?\").run(runId);\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_ordered WHERE run_id=?\").run(runId);\n }\n}\nfunction verifyStoredSeal(connection: RecordDatabase, runId: string, actual: readonly SealEntry[], identity: string): void {\n if (logicalSealIdentity(actual) !== identity) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `run ${runId} exact Seal does not match its closure`);\n }\n verifyStoredSealStreaming(connection, runId, identity, actual.length);\n}\nexport function verifyAllSealedRuns(connection: RecordDatabase, requireSealedOnly = false, deadlineEpochMs = Date.now() + RECORD_SQLITE_VALIDATION_DEADLINE_MS): number {\n const checkDeadline = (): void => {\n if (!Number.isSafeInteger(deadlineEpochMs) || Date.now() >= deadlineEpochMs) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"verify-database\", \"Record validation exceeded its deadline\");\n }\n };\n checkDeadline();\n const admission = recordStatement(connection, `SELECT\n (SELECT count(*) FROM ne18_runs) run_count,\n (SELECT count(*) FROM ne18_runs)+(SELECT count(*) FROM ne18_slots)+(SELECT count(*) FROM ne18_attempts)+(SELECT count(*) FROM ne18_members)+\n (SELECT count(*) FROM ne18_attachments)+(SELECT count(*) FROM ne18_attachment_references)+(SELECT count(*) FROM ne18_collection_items)+\n (SELECT count(*) FROM ne18_contents)+(SELECT count(*) FROM ne18_content_chunks)+(SELECT count(*) FROM ne18_run_seal_entries) row_count`).get() as unknown as Row;\n if (integer(admission, \"run_count\") > RECORD_SQLITE_MAX_VALIDATION_RUNS || integer(admission, \"row_count\") > RECORD_SQLITE_MAX_VALIDATION_ROWS) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"verify-database\", \"Record validation inventory exceeds its hostile-input ceiling\");\n }\n const integrity = recordStatement(connection, \"PRAGMA quick_check\").all() as unknown as readonly Row[];\n checkDeadline();\n if (integrity.length !== 1 || text(integrity[0]!, \"quick_check\") !== \"ok\") {\n throw sqliteError(\"record-database-invalid\", \"verify-database\", \"SQLite quick_check failed\");\n }\n const foreignKeys = recordStatement(connection, \"PRAGMA foreign_key_check\").all();\n if (foreignKeys.length !== 0)\n throw sqliteError(\"record-database-invalid\", \"verify-database\", \"foreign key check failed\");\n const runRows = recordStatement(connection, \"SELECT run_id,status,logical_seal_identity FROM ne18_runs ORDER BY run_id\")\n .iterate() as unknown as Iterable<Row>;\n let sealed = 0;\n for (const row of runRows) {\n checkDeadline();\n const runId = text(row, \"run_id\");\n const status = text(row, \"status\");\n if (status !== \"sealed\") {\n if (requireSealedOnly)\n throw sqliteError(\"record-database-invalid\", \"verify-database\", `database contains unpublished run ${runId}`);\n continue;\n }\n sealed += 1;\n const header = runRow(connection, runId)!;\n if (integer(header, \"candidate_seal_staged_count\") !== integer(header, \"candidate_seal_entry_count\")) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-database\", `Run ${runId} staged Seal inventory is incomplete`);\n }\n verifyStoredSealStreaming(connection, runId, text(row, \"logical_seal_identity\"), integer(header, \"candidate_seal_entry_count\"));\n }\n checkDeadline();\n return sealed;\n}\nfunction verifyRunPayloadClosures(connection: RecordDatabase, runId: string, verifyPayloadBytes = true): void {\n const attempts = recordStatement(connection, \"SELECT attempt_id,attempt_locator FROM ne18_attempts WHERE origin_run_id=?\")\n .iterate(runId) as unknown as Iterable<Row>;\n for (const attempt of attempts) {\n const attemptId = text(attempt, \"attempt_id\");\n const locator = text(attempt, \"attempt_locator\");\n try {\n requireAttemptLocator(attemptId, locator, \"verify-seal\");\n }\n catch (cause) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", cause instanceof Error ? cause.message : `Attempt ${attemptId} locator is invalid`);\n }\n }\n const attachments = recordStatement(connection, `SELECT attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,\n logical_identity,canonical_digest,logical_inventory,inventory_digest FROM ne18_attachments WHERE owner_run_id=?`)\n .iterate(runId) as unknown as Iterable<Row>;\n for (const attachment of attachments) {\n const attachmentId = text(attachment, \"attachment_id\");\n if (digestBytes(bytes(attachment, \"logical_inventory\")) !== text(attachment, \"inventory_digest\")) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `attachment ${attachmentId} inventory digest is invalid`);\n }\n const owner = ownerKind(attachment, \"owner_kind\");\n const expectedAttachmentId = recordAttachmentId({\n runId: text(attachment, \"owner_run_id\"),\n owner,\n ...(owner === \"attempt\" ? { attemptId: optionalText(attachment, \"owner_attempt_id\") ?? undefined } : {}),\n family: text(attachment, \"family\"),\n });\n const expectedLogicalIdentity = attachmentLogicalIdentity(attachmentId, text(attachment, \"canonical_digest\"), text(attachment, \"inventory_digest\"));\n if (attachmentId !== expectedAttachmentId || text(attachment, \"logical_identity\") !== expectedLogicalIdentity || integer(attachment, \"family_revision\") < 1) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `attachment ${attachmentId} logical identity is invalid`);\n }\n for (const [label, counts] of [\n [\"reference\", recordStatement(connection, \"SELECT count(*) AS count,min(ordinal) AS minimum,max(ordinal) AS maximum FROM ne18_attachment_references WHERE attachment_id=?\").get(attachmentId)],\n [\"collection item\", recordStatement(connection, \"SELECT count(*) AS count,min(ordinal) AS minimum,max(ordinal) AS maximum FROM ne18_collection_items WHERE attachment_id=?\").get(attachmentId)],\n ] as const) {\n const decoded = counts as unknown as Row;\n const count = integer(decoded, \"count\");\n if (count > 0 && (optionalInteger(decoded, \"minimum\") !== 0 || optionalInteger(decoded, \"maximum\") !== count - 1)) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `attachment ${attachmentId} ${label} ordinals are not contiguous`);\n }\n }\n }\n const items = recordStatement(connection, `SELECT i.attachment_id,i.ordinal,i.logical_identity,i.canonical_digest FROM ne18_collection_items i\n JOIN ne18_attachments a ON a.attachment_id=i.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>;\n for (const item of items) {\n const expected = collectionItemLogicalIdentity(integer(item, \"ordinal\"), text(item, \"canonical_digest\"));\n if (text(item, \"logical_identity\") !== expected) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `collection item ${text(item, \"attachment_id\")}/${integer(item, \"ordinal\")} logical identity is invalid`);\n }\n }\n const coverage = recordStatement(connection, `SELECT\n (SELECT count(*) FROM ne18_slots WHERE run_id=?) slot_count,\n (SELECT count(*) FROM ne18_members WHERE target_run_id=?) member_count,\n (SELECT count(*) FROM ne18_slots s LEFT JOIN ne18_members m ON m.target_run_id=s.run_id AND m.slot_id=s.slot_id\n WHERE s.run_id=? AND m.slot_id IS NULL) missing_count`).get(runId, runId, runId) as unknown as Row;\n if (integer(coverage, \"slot_count\") !== integer(coverage, \"member_count\") || integer(coverage, \"missing_count\") !== 0) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} does not have exactly one Member per Slot`);\n }\n const references = recordStatement(connection, `SELECT r.attachment_id,r.ordinal,r.target_owner_kind,r.target_family,\n a.owner_kind source_owner_kind,a.owner_run_id,a.owner_attempt_id FROM ne18_attachment_references r\n JOIN ne18_attachments a ON a.attachment_id=r.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>;\n for (const reference of references) {\n const targetOwner = text(reference, \"target_owner_kind\");\n const sourceOwner = text(reference, \"source_owner_kind\");\n if (targetOwner === \"attempt\" && sourceOwner !== \"attempt\") {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `run-owned attachment ${text(reference, \"attachment_id\")} cannot resolve an attempt reference`);\n }\n const target = targetOwner === \"run\"\n ? recordStatement(connection, `SELECT count(*) AS count FROM ne18_attachments WHERE owner_kind='run' AND owner_run_id=? AND family=?`)\n .get(text(reference, \"owner_run_id\"), text(reference, \"target_family\")) as unknown as Row\n : recordStatement(connection, `SELECT count(*) AS count FROM ne18_attachments WHERE owner_kind='attempt' AND owner_run_id=? AND owner_attempt_id=? AND family=?`)\n .get(text(reference, \"owner_run_id\"), text(reference, \"owner_attempt_id\"), text(reference, \"target_family\")) as unknown as Row;\n if (integer(target, \"count\") !== 1) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `reference ${text(reference, \"attachment_id\")}/${integer(reference, \"ordinal\")} target family is missing`);\n }\n }\n const contents = recordStatement(connection, `SELECT c.content_id,c.attachment_id,c.logical_handle,c.byte_length,c.overall_digest,c.chunk_count FROM ne18_contents c\n JOIN ne18_attachments a ON a.attachment_id=c.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>;\n for (const content of contents) {\n const contentId = text(content, \"content_id\");\n const expectedContentId = recordContentId(text(content, \"attachment_id\"), text(content, \"logical_handle\"));\n if (contentId !== expectedContentId)\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId} logical handle is invalid`);\n if (verifyPayloadBytes) {\n const hash = createHash(\"sha256\");\n let byteLength = 0;\n let ordinal = 0;\n const chunks = recordStatement(connection, \"SELECT ordinal,bytes,chunk_digest FROM ne18_content_chunks WHERE content_id=? ORDER BY ordinal\")\n .iterate(contentId) as unknown as Iterable<Row>;\n for (const chunk of chunks) {\n if (integer(chunk, \"ordinal\") !== ordinal)\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId} chunk ordinals are invalid`);\n const value = bytes(chunk, \"bytes\");\n if (digestBytes(value) !== text(chunk, \"chunk_digest\"))\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId}/${ordinal} digest is invalid`);\n hash.update(value);\n byteLength += value.byteLength;\n ordinal += 1;\n }\n if (ordinal !== integer(content, \"chunk_count\") || byteLength !== integer(content, \"byte_length\") || hash.digest(\"hex\") !== text(content, \"overall_digest\")) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId} whole digest is invalid`);\n }\n }\n else {\n const aggregate = recordStatement(connection, `SELECT count(*) AS count,min(ordinal) AS minimum,max(ordinal) AS maximum,\n coalesce(sum(length(bytes)),0) AS byte_length FROM ne18_content_chunks WHERE content_id=?`).get(contentId) as unknown as Row;\n const chunkCount = integer(content, \"chunk_count\");\n if (integer(aggregate, \"count\") !== chunkCount || integer(aggregate, \"byte_length\") !== integer(content, \"byte_length\") ||\n (chunkCount > 0 && (optionalInteger(aggregate, \"minimum\") !== 0 || optionalInteger(aggregate, \"maximum\") !== chunkCount - 1))) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId} durable chunk closure is invalid`);\n }\n for (const chunk of recordStatement(connection, \"SELECT chunk_digest FROM ne18_content_chunks WHERE content_id=?\").iterate(contentId) as unknown as Iterable<Row>) {\n requireDigest(text(chunk, \"chunk_digest\"), `content ${contentId} chunk digest`);\n }\n }\n }\n}\n/** Summary metadata never materializes Core, Attachment payload or collection rows. */\nexport function readSealedRunSummary(connection: RecordDatabase, runId: string): SealedRunSummary | undefined {\n const row = recordStatement(connection, `SELECT r.run_id,r.writer_generation,r.started_at,\n coalesce(r.logical_seal_identity,'published:' || (SELECT max(p.published_revision)\n FROM ne18_attempt_publications p WHERE p.origin_run_id=r.run_id)) logical_seal_identity,\n (SELECT count(*) FROM ne18_slots WHERE run_id=r.run_id) slot_count,\n CASE WHEN EXISTS (SELECT 1 FROM ne18_run_resources WHERE run_id=r.run_id) THEN\n (SELECT count(*) FROM ne18_run_slot_bindings WHERE target_run_id=r.run_id)+\n (SELECT count(*) FROM ne18_run_slot_absences WHERE run_id=r.run_id)\n ELSE (SELECT count(*) FROM ne18_members WHERE target_run_id=r.run_id) END member_count,\n (SELECT count(*) FROM ne18_attempts a WHERE a.origin_run_id=r.run_id AND\n (NOT EXISTS (SELECT 1 FROM ne18_run_resources WHERE run_id=r.run_id) OR EXISTS\n (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=a.origin_run_id AND p.attempt_id=a.attempt_id))) attempt_count,\n (SELECT count(*) FROM ne18_attachments a WHERE a.owner_run_id=r.run_id AND a.canonical_payload IS NOT NULL AND\n (a.owner_kind='run' OR NOT EXISTS (SELECT 1 FROM ne18_run_resources WHERE run_id=r.run_id) OR EXISTS\n (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id))) attachment_count,\n (SELECT count(*) FROM ne18_contents c JOIN ne18_attachments a ON a.attachment_id=c.attachment_id\n WHERE a.owner_run_id=r.run_id AND a.canonical_payload IS NOT NULL AND\n (a.owner_kind='run' OR NOT EXISTS (SELECT 1 FROM ne18_run_resources WHERE run_id=r.run_id) OR EXISTS\n (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id))) content_count,\n (SELECT coalesce(sum(c.byte_length),0) FROM ne18_contents c JOIN ne18_attachments a ON a.attachment_id=c.attachment_id\n WHERE a.owner_run_id=r.run_id AND a.canonical_payload IS NOT NULL AND\n (a.owner_kind='run' OR NOT EXISTS (SELECT 1 FROM ne18_run_resources WHERE run_id=r.run_id) OR EXISTS\n (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id))) content_bytes,\n (SELECT count(*) FROM ne18_run_seal_entries WHERE run_id=r.run_id) seal_count\n FROM ne18_runs r WHERE r.run_id=? AND NOT EXISTS\n (SELECT 1 FROM ne18_run_deletion_tombstones d WHERE d.run_id=r.run_id)\n AND (r.status='sealed' OR EXISTS (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=r.run_id))`).get(runId) as Row | undefined;\n if (row === undefined)\n return undefined;\n return Object.freeze({ runId: text(row, \"run_id\"), writerGeneration: text(row, \"writer_generation\"),\n startedAt: text(row, \"started_at\"), logicalSealIdentity: text(row, \"logical_seal_identity\"),\n slotCount: integer(row, \"slot_count\"), memberCount: integer(row, \"member_count\"), attemptCount: integer(row, \"attempt_count\"),\n attachmentCount: integer(row, \"attachment_count\"), contentCount: integer(row, \"content_count\"),\n contentByteLength: integer(row, \"content_bytes\"), sealEntryCount: integer(row, \"seal_count\") });\n}\n/** Pinned publication identity, plus a metadata-only count; no Seal hashing. */\nexport function readSealedRunCutoff(connection: RecordDatabase, identity: string): SealedRunCutoff {\n const row = recordStatement(connection, `SELECT count(*) count FROM ne18_runs r\n WHERE NOT EXISTS (SELECT 1 FROM ne18_run_deletion_tombstones d WHERE d.run_id=r.run_id)\n AND (status='sealed' OR EXISTS (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=r.run_id))`).get() as Row;\n return Object.freeze({ identity, runCount: integer(row, \"count\") });\n}\n/** Filter lightweight Run metadata before loading any selected Core or payload. */\nexport function findExperimentRunIds(connection: RecordDatabase, experimentId: string): readonly string[] {\n requireIdentity(experimentId, \"experimentId\");\n const selected = rows(connection, `SELECT r.run_id FROM ne18_runs r\n LEFT JOIN ne18_run_resources resource ON resource.run_id=r.run_id\n WHERE coalesce(resource.experiment_id,json_extract(r.core_payload,'$.experimentId'))=?\n AND NOT EXISTS (SELECT 1 FROM ne18_run_deletion_tombstones d WHERE d.run_id=r.run_id)\n AND (r.status='sealed' OR EXISTS (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=r.run_id))\n ORDER BY r.run_id LIMIT ?`, experimentId, RECORD_SQLITE_MAX_VALIDATION_RUNS + 1);\n if (selected.length > RECORD_SQLITE_MAX_VALIDATION_RUNS) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"find-experiment-runs\", \"Experiment exceeds its Run ceiling\");\n }\n return Object.freeze(selected.map((row) => text(row, \"run_id\")));\n}\nexport function listSealedRunSummaries(connection: RecordDatabase, afterRunId = \"\", pageSize = 100): readonly SealedRunSummary[] {\n if (!Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > 256) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"list-sealed-runs\", \"page size must be between 1 and 256\");\n }\n const runIds = rows(connection, `SELECT run_id FROM ne18_runs WHERE run_id>?\n AND NOT EXISTS (SELECT 1 FROM ne18_run_deletion_tombstones d WHERE d.run_id=ne18_runs.run_id)\n AND (status='sealed' OR EXISTS\n (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=ne18_runs.run_id)) ORDER BY run_id LIMIT ?`, afterRunId, pageSize);\n return Object.freeze(runIds.map((row) => {\n const summary = readSealedRunSummary(connection, text(row, \"run_id\"));\n if (summary === undefined)\n throw sqliteError(\"record-database-invalid\", \"list-sealed-runs\", \"sealed Run disappeared during a short read\");\n return summary;\n }));\n}\n/**\n * Computes the stable sealed cutoff without retaining the inventory, then\n * returns one bounded page from the same caller-owned read transaction.\n */\nexport function readSealedRunSummaryPage(connection: RecordDatabase, afterRunId = \"\", pageSize = 100, expectedCutoffIdentity?: string, deadlineEpochMs = Date.now() + RECORD_SQLITE_VALIDATION_DEADLINE_MS, pinnedCutoff?: SealedRunCutoff): SealedRunSummaryPage {\n requireIdentity(afterRunId === \"\" ? \"start\" : afterRunId, \"afterRunId\");\n if (!Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > 256) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"page-sealed-runs\", \"page size must be between 1 and 256\");\n }\n const cutoff = pinnedCutoff ?? (() => {\n const cutoffHash = createHash(\"sha256\");\n cutoffHash.update(\"[\");\n let runCount = 0;\n const inventory = recordStatement(connection, `SELECT run_id,\n coalesce(logical_seal_identity,'published:' || (SELECT max(p.published_revision) FROM ne18_attempt_publications p\n WHERE p.origin_run_id=ne18_runs.run_id)) logical_seal_identity\n FROM ne18_runs WHERE NOT EXISTS (SELECT 1 FROM ne18_run_deletion_tombstones d WHERE d.run_id=ne18_runs.run_id)\n AND (status='sealed' OR EXISTS\n (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=ne18_runs.run_id))\n ORDER BY run_id`).iterate() as unknown as Iterable<Row>;\n for (const row of inventory) {\n if (runCount >= RECORD_SQLITE_MAX_VALIDATION_RUNS) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"page-sealed-runs\", \"sealed cutoff exceeds its Run ceiling\");\n }\n if ((runCount & 255) === 0 && Date.now() >= deadlineEpochMs) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"page-sealed-runs\", \"sealed cutoff exceeded its deadline\");\n }\n if (runCount > 0)\n cutoffHash.update(\",\");\n cutoffHash.update(JSON.stringify({ runId: text(row, \"run_id\"), logicalSealIdentity: text(row, \"logical_seal_identity\") }));\n runCount += 1;\n }\n cutoffHash.update(\"]\");\n const identity = cutoffHash.digest(\"hex\");\n return Object.freeze({ identity, runCount });\n })();\n const { identity, runCount } = cutoff;\n if (expectedCutoffIdentity !== undefined && expectedCutoffIdentity !== identity) {\n throw sqliteError(\"record-command-conflict\", \"page-sealed-runs\", \"sealed cutoff changed; restart pagination\");\n }\n const pageRows = rows(connection, `SELECT run_id FROM ne18_runs WHERE run_id>?\n AND NOT EXISTS (SELECT 1 FROM ne18_run_deletion_tombstones d WHERE d.run_id=ne18_runs.run_id)\n AND (status='sealed' OR EXISTS\n (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=ne18_runs.run_id)) ORDER BY run_id LIMIT ?`, afterRunId, pageSize + 1);\n const selected = pageRows.slice(0, pageSize);\n const summaries = selected.map((row) => {\n const summary = readSealedRunSummary(connection, text(row, \"run_id\"));\n if (summary === undefined)\n throw sqliteError(\"record-database-invalid\", \"page-sealed-runs\", \"sealed Run disappeared inside pinned read generation\");\n return summary;\n });\n const nextAfterRunId = pageRows.length > pageSize && summaries.length > 0 ? summaries.at(-1)!.runId : null;\n return Object.freeze({\n cutoff: Object.freeze({ identity, runCount }),\n afterRunId,\n summaries: Object.freeze(summaries),\n nextAfterRunId,\n });\n}\n/** Indexed, bounded locator projection. No Core or attachment payload is selected. */\nexport function findAttemptLocatorCandidates(connection: RecordDatabase, locator: string, maximumCandidateRuns: number): AttemptLocatorCandidates {\n if (!parseAttemptLocator(locator).valid) {\n throw sqliteError(\"record-content-invalid\", \"find-attempt-locator\", \"Attempt locator is malformed\");\n }\n if (!Number.isSafeInteger(maximumCandidateRuns) || maximumCandidateRuns < 1 || maximumCandidateRuns > 256) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"find-attempt-locator\", \"candidate Run limit must be between 1 and 256\");\n }\n const matching = rows(connection, `SELECT a.origin_run_id,a.attempt_id FROM ne18_attempts a\n JOIN ne18_runs origin ON origin.run_id=a.origin_run_id\n WHERE a.attempt_locator=? ORDER BY a.origin_run_id,a.attempt_id LIMIT ?`, locator, maximumCandidateRuns + 1);\n const identities = new Set<string>();\n const candidates: AttemptLocatorCandidates[\"candidates\"][number][] = [];\n const add = (candidate: AttemptLocatorCandidates[\"candidates\"][number]): void => {\n if (candidates.length >= maximumCandidateRuns) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"find-attempt-locator\", `Attempt locator exceeds the fixed ${maximumCandidateRuns}-Run candidate limit`);\n }\n candidates.push(Object.freeze(candidate));\n };\n for (const row of matching) {\n const originRunId = text(row, \"origin_run_id\");\n const attemptId = text(row, \"attempt_id\");\n const published = recordStatement(connection, `SELECT 1 FROM ne18_runs r WHERE r.run_id=? AND\n ((r.status='sealed' AND NOT EXISTS (SELECT 1 FROM ne18_run_resources rr WHERE rr.run_id=r.run_id)) OR\n EXISTS (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=r.run_id AND p.attempt_id=?))`).get(originRunId, attemptId);\n if (published === undefined)\n continue;\n identities.add(hashCanonicalTuple(\"niceeval.record.attempt-candidate/v1\", [originRunId, attemptId]));\n add({ locator, originRunId, attemptId, relation: \"origin\", runId: originRunId });\n const targets = rows(connection, `SELECT DISTINCT m.target_run_id FROM ne18_members m\n JOIN ne18_runs target ON target.run_id=m.target_run_id AND target.status='sealed'\n WHERE m.origin_run_id=? AND m.attempt_id=? ORDER BY m.target_run_id LIMIT ?`, originRunId, attemptId, maximumCandidateRuns - candidates.length + 1);\n for (const target of targets)\n add({ locator, originRunId, attemptId, relation: \"target\", runId: text(target, \"target_run_id\") });\n }\n return Object.freeze({ locator, ambiguous: identities.size > 1, candidates: Object.freeze(candidates) });\n}\nexport function readCollectionItemPage(connection: RecordDatabase, attachmentId: string, afterOrdinal: number, pageSize: number): CollectionItemPage {\n if (!Number.isSafeInteger(afterOrdinal) || afterOrdinal < -1)\n throw sqliteError(\"record-content-invalid\", \"read-collection-page\", \"afterOrdinal must be -1 or greater\");\n if (!Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > RECORD_SQLITE_MAX_PAGE_ROWS)\n throw sqliteError(\"record-resource-limit-exceeded\", \"read-collection-page\", `page size must be between 1 and ${RECORD_SQLITE_MAX_PAGE_ROWS}`);\n const pending: {\n readonly ordinal: number;\n readonly logicalIdentity: string;\n readonly payload: Uint8Array;\n readonly canonicalDigest: string;\n }[] = [];\n let cursor = afterOrdinal;\n let pageBytes = 0;\n let hasMore = false;\n const pageRows = recordStatement(connection, `SELECT i.ordinal,i.logical_identity,i.canonical_payload,i.canonical_digest,\n EXISTS(SELECT 1 FROM ne18_collection_items more WHERE more.attachment_id=i.attachment_id AND more.ordinal>i.ordinal) AS has_more\n FROM ne18_collection_items i\n JOIN ne18_attachments a ON a.attachment_id=i.attachment_id JOIN ne18_runs r ON r.run_id=a.owner_run_id\n WHERE i.attachment_id=? AND i.ordinal>? AND\n ((r.status='sealed' AND (NOT EXISTS (SELECT 1 FROM ne18_run_resources rr WHERE rr.run_id=r.run_id) OR a.owner_kind='run')) OR\n (a.owner_kind='attempt' AND EXISTS (SELECT 1 FROM ne18_attempt_publications p\n WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id)))\n ORDER BY i.ordinal LIMIT ?`)\n .iterate(attachmentId, afterOrdinal, pageSize) as unknown as Iterable<Row>;\n for (const row of pageRows) {\n const payload = bytes(row, \"canonical_payload\");\n if (pending.length > 0 && pageBytes + payload.byteLength > RECORD_SQLITE_MAX_PAGE_BYTES) {\n hasMore = true;\n break;\n }\n cursor = integer(row, \"ordinal\");\n pageBytes += payload.byteLength;\n pending.push(Object.freeze({\n ordinal: cursor,\n logicalIdentity: text(row, \"logical_identity\"),\n payload,\n canonicalDigest: text(row, \"canonical_digest\"),\n }));\n hasMore = integer(row, \"has_more\") === 1;\n }\n // One page owns one transferable backing store. Transferring a separate\n // ArrayBuffer for every small row makes long streams retain allocator and\n // structured-clone overhead in proportion to row count.\n const packed = new Uint8Array(pageBytes);\n let packedOffset = 0;\n const items = pending.map((item): PersistedCollectionItem => {\n packed.set(item.payload, packedOffset);\n const canonicalBytes = packed.subarray(packedOffset, packedOffset + item.payload.byteLength);\n packedOffset += item.payload.byteLength;\n return Object.freeze({\n ordinal: item.ordinal,\n logicalIdentity: item.logicalIdentity,\n canonicalBytes,\n canonicalDigest: item.canonicalDigest,\n });\n });\n const nextOrdinal = hasMore ? cursor : null;\n return Object.freeze({ attachmentId, afterOrdinal, items: Object.freeze(items), nextOrdinal });\n}\n/** Bounded sealed Core projection. Collection item bytes and Content chunk bytes are never selected. */\ntype DeferredRecordRead = <A>(read: () => A) => A;\nfunction memoRecordRead<A>(read: () => A, defer?: DeferredRecordRead): () => A {\n if (defer === undefined) {\n const value = read();\n return () => value;\n }\n let cached: {\n readonly value: A;\n } | undefined;\n return () => defer(() => (cached ??= { value: read() }).value);\n}\nexport function readPublishedSealedRun(connection: RecordDatabase, runId: string, defer?: DeferredRecordRead): PublishedSealedRun | undefined {\n const run = recordStatement(connection, `SELECT run_id,writer_generation,started_at,status,\n coalesce(logical_seal_identity,'published:' || (SELECT max(p.published_revision) FROM ne18_attempt_publications p\n WHERE p.origin_run_id=ne18_runs.run_id)) logical_seal_identity,core_payload,core_digest,\n (SELECT p.closure_payload FROM ne18_attempt_publications p WHERE p.origin_run_id=ne18_runs.run_id\n ORDER BY p.published_revision DESC LIMIT 1) publication_closure\n FROM ne18_runs WHERE run_id=?\n AND NOT EXISTS (SELECT 1 FROM ne18_run_deletion_tombstones d WHERE d.run_id=ne18_runs.run_id)\n AND (status='sealed' OR EXISTS\n (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=ne18_runs.run_id))`).get(runId) as unknown as Row | undefined;\n if (run === undefined)\n return undefined;\n let runCoreBytes: Uint8Array;\n let runCoreDigest: string;\n if (text(run, \"status\") === \"sealed\") {\n runCoreBytes = transferableBytes(bytes(run, \"core_payload\"));\n runCoreDigest = text(run, \"core_digest\");\n }\n else {\n let closure: unknown;\n try {\n closure = JSON.parse(Buffer.from(bytes(run, \"publication_closure\")).toString(\"utf8\")) as unknown;\n }\n catch {\n throw sqliteError(\"record-database-invalid\", \"read-published-run-core\", \"Attempt publication closure is invalid\");\n }\n const decoded = decodeAttemptPublicationClosure(closure);\n if (Result.isFailure(decoded)) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run-core\", \"Attempt publication closure format is unsupported\");\n }\n runCoreBytes = new TextEncoder().encode(JSON.stringify(decoded.success.originRun));\n runCoreDigest = digestBytes(runCoreBytes);\n }\n const admission = recordStatement(connection, `SELECT\n 1+(SELECT count(*) FROM ne18_slots WHERE run_id=?)+(SELECT count(*) FROM ne18_attempts WHERE origin_run_id=?)+\n (SELECT count(*) FROM ne18_members WHERE target_run_id=?)+(SELECT count(*) FROM ne18_attachments WHERE owner_run_id=?)+\n (SELECT count(*) FROM ne18_attachment_references rr JOIN ne18_attachments aa ON aa.attachment_id=rr.attachment_id WHERE aa.owner_run_id=?)+\n (SELECT count(*) FROM ne18_contents cc JOIN ne18_attachments aa ON aa.attachment_id=cc.attachment_id WHERE aa.owner_run_id=?) row_count,\n coalesce(length(r.core_payload),(SELECT max(length(p.closure_payload)) FROM ne18_attempt_publications p WHERE p.origin_run_id=r.run_id),0)+\n (SELECT coalesce(sum(length(core_payload)),0) FROM ne18_slots WHERE run_id=?)+\n (SELECT coalesce(sum(length(core_payload)),0) FROM ne18_attempts WHERE origin_run_id=?)+\n (SELECT coalesce(sum(length(core_payload)),0) FROM ne18_members WHERE target_run_id=?)+\n (SELECT coalesce(sum(length(canonical_payload)+length(logical_inventory)),0) FROM ne18_attachments WHERE owner_run_id=?)+\n (SELECT coalesce(sum(length(rr.canonical_payload)),0) FROM ne18_attachment_references rr JOIN ne18_attachments aa ON aa.attachment_id=rr.attachment_id WHERE aa.owner_run_id=?) byte_count\n FROM ne18_runs r WHERE r.run_id=? AND (r.status='sealed' OR EXISTS\n (SELECT 1 FROM ne18_attempt_publications p WHERE p.origin_run_id=r.run_id))`).get(runId, runId, runId, runId, runId, runId, runId, runId, runId, runId, runId, runId) as unknown as Row;\n assertBoundedBatch(\"read-sealed-run-core\", integer(admission, \"row_count\"), integer(admission, \"byte_count\"));\n const record = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne18_record_metadata WHERE singleton=1\").get() as unknown as Row;\n const slots = rows(connection, \"SELECT slot_id,ordinal,core_payload,core_digest FROM ne18_slots WHERE run_id=? ORDER BY ordinal\", runId)\n .map((row) => Object.freeze({ slotId: text(row, \"slot_id\"), ordinal: integer(row, \"ordinal\"), coreBytes: transferableBytes(bytes(row, \"core_payload\")), coreDigest: text(row, \"core_digest\") }));\n const publicationResource = recordStatement(connection, \"SELECT created_revision FROM ne18_run_resources WHERE run_id=?\").get(runId) as Row | undefined;\n const publicationManaged = publicationResource !== undefined;\n const attempts = rows(connection, publicationManaged\n ? `SELECT a.attempt_id,a.attempt_locator,a.core_payload,a.core_digest,p.published_revision FROM ne18_attempts a\n JOIN ne18_attempt_publications p ON p.origin_run_id=a.origin_run_id AND p.attempt_id=a.attempt_id\n WHERE a.origin_run_id=? AND EXISTS (SELECT 1 FROM ne18_attempt_publications p\n WHERE p.origin_run_id=a.origin_run_id AND p.attempt_id=a.attempt_id) ORDER BY a.attempt_id`\n : \"SELECT attempt_id,attempt_locator,core_payload,core_digest FROM ne18_attempts WHERE origin_run_id=? ORDER BY attempt_id\", runId)\n .map((row) => {\n if (!(row.core_payload instanceof Uint8Array))\n throw sqliteError(\"record-database-invalid\", \"read-published-run-core\", `Attempt ${text(row, \"attempt_id\")} Core is not published`);\n const attemptId = text(row, \"attempt_id\");\n return Object.freeze({ attemptId, attemptLocator: text(row, \"attempt_locator\"), coreBytes: transferableBytes(bytes(row, \"core_payload\")), coreDigest: text(row, \"core_digest\"),\n ...(publicationManaged ? { publicationIdentity: Object.freeze({ originRunId: runId, attemptId, revision: integer(row, \"published_revision\") }) } : {}) });\n });\n const memberRows = publicationManaged\n ? [\n ...rows(connection, `SELECT 'binding' publication_kind,b.slot_id,b.origin_run_id,b.attempt_id,b.action,b.attempt_publication_revision,b.binding_revision,\n m.origin_run_id member_origin_run_id,m.attempt_id member_attempt_id,m.action member_action,\n m.core_payload,m.core_digest,p.published_revision\n FROM ne18_run_slot_bindings b\n LEFT JOIN ne18_members m ON m.target_run_id=b.target_run_id AND m.slot_id=b.slot_id\n LEFT JOIN ne18_attempt_publications p ON p.attempt_id=b.attempt_id AND p.origin_run_id=b.origin_run_id\n AND p.published_revision=b.attempt_publication_revision\n WHERE b.target_run_id=?`, runId),\n ...rows(connection, `SELECT 'absence' publication_kind,a.slot_id,NULL origin_run_id,NULL attempt_id,\n NULL action,NULL attempt_publication_revision,NULL member_origin_run_id,NULL member_attempt_id,\n NULL member_action,NULL core_payload,NULL core_digest,NULL published_revision,a.reason absence_reason\n FROM ne18_run_slot_absences a\n WHERE a.run_id=?`, runId),\n ].sort((left, right) => text(left, \"slot_id\").localeCompare(text(right, \"slot_id\")))\n : rows(connection, \"SELECT slot_id,origin_run_id,attempt_id,action,core_payload,core_digest FROM ne18_members WHERE target_run_id=? ORDER BY slot_id\", runId);\n const members = memberRows\n .map((row) => {\n const attemptId = optionalText(row, \"attempt_id\");\n if (publicationManaged) {\n const kind = text(row, \"publication_kind\");\n if (kind === \"absence\") {\n if (attemptId !== undefined || optionalText(row, \"origin_run_id\") !== undefined) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${text(row, \"slot_id\")} has an invalid absence binding`);\n }\n const projected = absenceMember(row);\n return Object.freeze({\n slotId: text(row, \"slot_id\"),\n action: projected.action,\n coreBytes: transferableBytes(projected.coreBytes),\n coreDigest: projected.coreDigest,\n });\n }\n const bindingInvalid = kind === \"binding\" && (attemptId === undefined\n || optionalInteger(row, \"published_revision\") !== optionalInteger(row, \"attempt_publication_revision\")\n || optionalText(row, \"member_origin_run_id\") !== optionalText(row, \"origin_run_id\")\n || optionalText(row, \"member_attempt_id\") !== attemptId\n || optionalText(row, \"member_action\") !== optionalText(row, \"action\"));\n if (bindingInvalid) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${text(row, \"slot_id\")} does not close over one matching Member`);\n }\n }\n return Object.freeze({ slotId: text(row, \"slot_id\"),\n ...(publicationManaged && attemptId !== undefined ? { bindingRevision: integer(row, \"binding_revision\") } : {}), ...(optionalText(row, \"origin_run_id\") === undefined ? {} : { originRunId: optionalText(row, \"origin_run_id\") }),\n ...(attemptId === undefined ? {} : { attemptId }), action: memberAction(row, \"action\"),\n ...(publicationManaged && attemptId !== undefined\n ? { publicationIdentity: Object.freeze({ originRunId: text(row, \"origin_run_id\"), attemptId, revision: integer(row, \"published_revision\") }) }\n : {}),\n coreBytes: transferableBytes(bytes(row, \"core_payload\")), coreDigest: text(row, \"core_digest\") });\n });\n const attachmentRows = rows(connection, `SELECT attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,\n logical_identity,canonical_digest,inventory_digest\n FROM ne18_attachments a WHERE owner_run_id=?${publicationManaged ? ` AND canonical_payload IS NOT NULL AND\n (owner_kind='run' OR EXISTS (SELECT 1 FROM ne18_attempt_publications p\n WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id))` : \"\"} ORDER BY attachment_id`, runId);\n const attachments: SealedAttachmentMetadata[] = attachmentRows.map((row) => {\n const attachmentId = text(row, \"attachment_id\");\n const payload = memoRecordRead(() => {\n const stored = recordStatement(connection, `SELECT canonical_payload,logical_inventory FROM ne18_attachments WHERE attachment_id=?`)\n .get(attachmentId) as Row;\n return { canonicalBytes: transferableBytes(bytes(stored, \"canonical_payload\")),\n logicalInventoryBytes: transferableBytes(bytes(stored, \"logical_inventory\")) };\n }, defer);\n const references = memoRecordRead(() => Object.freeze(rows(connection, `SELECT ordinal,target_owner_kind,target_family,canonical_payload,reference_digest\n FROM ne18_attachment_references WHERE attachment_id=? ORDER BY ordinal`, attachmentId).map((reference) => Object.freeze({\n ordinal: integer(reference, \"ordinal\"), owner: ownerKind(reference, \"target_owner_kind\"), family: text(reference, \"target_family\"),\n canonicalBytes: transferableBytes(bytes(reference, \"canonical_payload\")), referenceDigest: text(reference, \"reference_digest\"),\n }))), defer);\n const contents = memoRecordRead(() => Object.freeze(rows(connection, `SELECT content_id,logical_handle,byte_length,overall_digest,chunk_count\n FROM ne18_contents WHERE attachment_id=? ORDER BY content_id`, attachmentId).map((content) => Object.freeze({\n contentId: text(content, \"content_id\"), logicalHandle: text(content, \"logical_handle\"), byteLength: integer(content, \"byte_length\"),\n digest: text(content, \"overall_digest\"), chunkCount: integer(content, \"chunk_count\"),\n }))), defer);\n const collection = memoRecordRead(() => {\n const aggregate = recordStatement(connection, `SELECT count(*) item_count,coalesce(sum(length(canonical_payload)),0) item_bytes\n FROM ne18_collection_items WHERE attachment_id=?`).get(attachmentId) as Row;\n return { count: integer(aggregate, \"item_count\"), byteLength: integer(aggregate, \"item_bytes\") };\n }, defer);\n return Object.freeze({ attachmentId, ownerKind: ownerKind(row, \"owner_kind\"), ownerRunId: text(row, \"owner_run_id\"),\n ...(optionalText(row, \"owner_attempt_id\") === undefined ? {} : { ownerAttemptId: optionalText(row, \"owner_attempt_id\") }),\n family: text(row, \"family\"), familyRevision: integer(row, \"family_revision\"), logicalIdentity: text(row, \"logical_identity\"),\n get canonicalBytes() { return payload().canonicalBytes; }, canonicalDigest: text(row, \"canonical_digest\"),\n get logicalInventoryBytes() { return payload().logicalInventoryBytes; }, inventoryDigest: text(row, \"inventory_digest\"),\n get references() { return references(); }, get contents() { return contents(); },\n get collectionItemCount() { return collection().count; }, get collectionItemByteLength() { return collection().byteLength; } });\n });\n const core: SealedRunCore = Object.freeze({ runId: text(run, \"run_id\"), writerGeneration: text(run, \"writer_generation\"), startedAt: text(run, \"started_at\"),\n logicalSealIdentity: text(run, \"logical_seal_identity\"), ...(publicationManaged ? { publicationManaged: true, createdRevision: integer(publicationResource!, \"created_revision\") } : {}), recordCoreBytes: transferableBytes(bytes(record, \"record_payload\")),\n recordCoreDigest: text(record, \"record_digest\"), runCoreBytes, runCoreDigest,\n slots: Object.freeze(slots), attempts: Object.freeze(attempts), members: Object.freeze(members), attachments: Object.freeze(attachments) });\n return Object.freeze({ core, get summary() { return readSealedRunSummary(connection, runId)!; } });\n}\n/** Inspection may defer Attachment reads within its existing pinned session. */\nexport function readSealedRunCore(connection: RecordDatabase, runId: string, defer?: DeferredRecordRead): SealedRunCore | undefined {\n return readPublishedSealedRun(connection, runId, defer)?.core;\n}\n/** Fixed, decoded projection sufficient to rebuild sealed Core and attachment metadata. */\nexport function readSealedRunDocument(connection: RecordDatabase, runId: string): SealedRunDocument | undefined {\n const run = recordStatement(connection, `SELECT run_id,writer_generation,started_at,logical_seal_identity,core_payload,core_digest\n FROM ne18_runs WHERE run_id=? AND status='sealed'`).get(runId) as unknown as Row | undefined;\n if (run === undefined)\n return undefined;\n const whole = recordStatement(connection, `SELECT count(*) row_count,coalesce(sum(length(i.canonical_payload)),0) byte_count\n FROM ne18_collection_items i JOIN ne18_attachments a ON a.attachment_id=i.attachment_id WHERE a.owner_run_id=?`).get(runId) as unknown as Row;\n assertBoundedBatch(\"read-sealed-run-document\", integer(whole, \"row_count\"), integer(whole, \"byte_count\"));\n const record = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne18_record_metadata WHERE singleton=1\")\n .get() as unknown as Row;\n const slots = rows(connection, \"SELECT slot_id,ordinal,core_payload,core_digest FROM ne18_slots WHERE run_id=? ORDER BY ordinal\", runId)\n .map((row) => Object.freeze({ slotId: text(row, \"slot_id\"), ordinal: integer(row, \"ordinal\"), coreBytes: transferableBytes(bytes(row, \"core_payload\")), coreDigest: text(row, \"core_digest\") }));\n const attempts = rows(connection, \"SELECT attempt_id,attempt_locator,core_payload,core_digest FROM ne18_attempts WHERE origin_run_id=? ORDER BY attempt_id\", runId)\n .map((row) => Object.freeze({ attemptId: text(row, \"attempt_id\"), attemptLocator: text(row, \"attempt_locator\"), coreBytes: transferableBytes(bytes(row, \"core_payload\")), coreDigest: text(row, \"core_digest\") }));\n const members = rows(connection, `SELECT slot_id,origin_run_id,attempt_id,action,core_payload,core_digest FROM ne18_members\n WHERE target_run_id=? ORDER BY slot_id`, runId).map((row) => Object.freeze({\n slotId: text(row, \"slot_id\"),\n ...(optionalText(row, \"origin_run_id\") === undefined ? {} : { originRunId: optionalText(row, \"origin_run_id\") }),\n ...(optionalText(row, \"attempt_id\") === undefined ? {} : { attemptId: optionalText(row, \"attempt_id\") }),\n action: memberAction(row, \"action\"),\n coreBytes: transferableBytes(bytes(row, \"core_payload\")),\n coreDigest: text(row, \"core_digest\"),\n }));\n const attachmentRows = rows(connection, `SELECT attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,\n logical_identity,canonical_payload,canonical_digest,logical_inventory,inventory_digest FROM ne18_attachments\n WHERE owner_run_id=? ORDER BY attachment_id`, runId);\n const attachments: SealedAttachmentDocument[] = attachmentRows.map((row) => {\n const attachmentId = text(row, \"attachment_id\");\n const references = rows(connection, `SELECT ordinal,target_owner_kind,target_family,\n canonical_payload,reference_digest FROM ne18_attachment_references WHERE attachment_id=? ORDER BY ordinal`, attachmentId)\n .map((reference) => Object.freeze({\n ordinal: integer(reference, \"ordinal\"),\n owner: ownerKind(reference, \"target_owner_kind\"),\n family: text(reference, \"target_family\"),\n canonicalBytes: transferableBytes(bytes(reference, \"canonical_payload\")),\n referenceDigest: text(reference, \"reference_digest\"),\n }));\n const collectionItems = rows(connection, `SELECT ordinal,logical_identity,canonical_payload,canonical_digest\n FROM ne18_collection_items WHERE attachment_id=? ORDER BY ordinal`, attachmentId).map((item) => Object.freeze({\n ordinal: integer(item, \"ordinal\"),\n logicalIdentity: text(item, \"logical_identity\"),\n canonicalBytes: transferableBytes(bytes(item, \"canonical_payload\")),\n canonicalDigest: text(item, \"canonical_digest\"),\n }));\n const contents = rows(connection, `SELECT content_id,logical_handle,byte_length,overall_digest,chunk_count\n FROM ne18_contents WHERE attachment_id=? ORDER BY content_id`, attachmentId).map((content) => Object.freeze({\n contentId: text(content, \"content_id\"),\n logicalHandle: text(content, \"logical_handle\"),\n byteLength: integer(content, \"byte_length\"),\n digest: text(content, \"overall_digest\"),\n chunkCount: integer(content, \"chunk_count\"),\n }));\n const decodedOwnerKind = ownerKind(row, \"owner_kind\");\n return Object.freeze({\n attachmentId,\n ownerKind: decodedOwnerKind,\n ownerRunId: text(row, \"owner_run_id\"),\n ...(optionalText(row, \"owner_attempt_id\") === undefined ? {} : { ownerAttemptId: optionalText(row, \"owner_attempt_id\") }),\n family: text(row, \"family\"),\n familyRevision: integer(row, \"family_revision\"),\n logicalIdentity: text(row, \"logical_identity\"),\n canonicalBytes: transferableBytes(bytes(row, \"canonical_payload\")),\n canonicalDigest: text(row, \"canonical_digest\"),\n logicalInventoryBytes: transferableBytes(bytes(row, \"logical_inventory\")),\n inventoryDigest: text(row, \"inventory_digest\"),\n references: Object.freeze(references),\n collectionItems: Object.freeze(collectionItems),\n contents: Object.freeze(contents),\n });\n });\n return Object.freeze({\n runId: text(run, \"run_id\"),\n writerGeneration: text(run, \"writer_generation\"),\n startedAt: text(run, \"started_at\"),\n logicalSealIdentity: text(run, \"logical_seal_identity\"),\n recordCoreBytes: transferableBytes(bytes(record, \"record_payload\")),\n recordCoreDigest: text(record, \"record_digest\"),\n runCoreBytes: transferableBytes(bytes(run, \"core_payload\")),\n runCoreDigest: text(run, \"core_digest\"),\n slots: Object.freeze(slots),\n attempts: Object.freeze(attempts),\n members: Object.freeze(members),\n attachments: Object.freeze(attachments),\n });\n}\nexport function appendContentChunks(connection: RecordDatabase, input: AppendContentChunksInput): void {\n assertBoundedBatch(\"append-content-chunks\", input.chunks.length, input.chunks.reduce((sum, value) => sum + value.bytes.byteLength, 0));\n let previousOrdinal: number | undefined;\n for (const chunk of input.chunks) {\n requireOrdinal(chunk.ordinal, `content ${input.contentId} chunk ordinal`);\n if (previousOrdinal !== undefined && chunk.ordinal !== previousOrdinal + 1) {\n throw sqliteError(\"record-content-invalid\", \"append-content-chunks\", \"content chunk batch is not sequential\");\n }\n previousOrdinal = chunk.ordinal;\n if (chunk.bytes.byteLength > RECORD_SQLITE_CHUNK_BYTES)\n throw sqliteError(\"record-resource-limit-exceeded\", \"append-content-chunks\", \"content chunk exceeds durable row ceiling\");\n requireBytesDigest(chunk.bytes, chunk.chunkDigest, `content chunk ${input.contentId}/${chunk.ordinal}`);\n }\n withImmediateTransaction(connection, input.deadlineEpochMs, \"append-content-chunks\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"append-content-chunks\");\n const metadata = recordStatement(connection, `SELECT a.owner_run_id,a.owner_kind,r.status,at.publication_state FROM ne18_contents c\n JOIN ne18_attachments a ON a.attachment_id=c.attachment_id JOIN ne18_runs r ON r.run_id=a.owner_run_id\n LEFT JOIN ne18_attempts at ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id\n WHERE c.content_id=?`).get(input.contentId) as unknown as Row | undefined;\n if (metadata === undefined || text(metadata, \"owner_run_id\") !== input.runId || text(metadata, \"status\") !== \"open\" ||\n (text(metadata, \"owner_kind\") === \"attempt\" && optionalText(metadata, \"publication_state\") === \"published\")) {\n throw sqliteError(\"record-command-conflict\", \"append-content-chunks\", \"Content admission is missing or no longer open\");\n }\n let changed = false;\n for (const chunk of input.chunks) {\n const stored = recordStatement(connection, \"SELECT bytes,chunk_digest FROM ne18_content_chunks WHERE content_id=? AND ordinal=?\")\n .get(input.contentId, chunk.ordinal) as unknown as Row | undefined;\n if (stored === undefined) {\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne18_content_chunks WHERE content_id=?\").get(input.contentId) as unknown as Row;\n if (chunk.ordinal !== integer(count, \"count\"))\n throw sqliteError(\"record-command-conflict\", \"append-content-chunks\", \"Content batch does not extend the committed prefix\");\n recordStatement(connection, \"INSERT INTO ne18_content_chunks(content_id,ordinal,bytes,chunk_digest) VALUES (?,?,?,?)\")\n .run(input.contentId, chunk.ordinal, chunk.bytes, chunk.chunkDigest);\n changed = true;\n }\n else if (text(stored, \"chunk_digest\") !== chunk.chunkDigest || !bytesEqual(bytes(stored, \"bytes\"), chunk.bytes)) {\n throw sqliteError(\"record-command-conflict\", \"append-content-chunks\", `Chunk ${input.contentId}/${chunk.ordinal} conflicts with its committed retry`);\n }\n }\n if (changed)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function readContentChunkPage(connection: RecordDatabase, contentId: string, afterOrdinal: number, pageSize: number): ContentChunkPage {\n if (!Number.isSafeInteger(afterOrdinal) || afterOrdinal < -1)\n throw sqliteError(\"record-content-invalid\", \"read-content-page\", \"afterOrdinal must be -1 or greater\");\n if (!Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > RECORD_SQLITE_MAX_PAGE_ROWS)\n throw sqliteError(\"record-resource-limit-exceeded\", \"read-content-page\", `page size must be between 1 and ${RECORD_SQLITE_MAX_PAGE_ROWS}`);\n const page: {\n readonly ordinal: number;\n readonly bytes: Uint8Array;\n readonly chunkDigest: string;\n }[] = [];\n let cursor = afterOrdinal;\n let pageBytes = 0;\n let hasMore = false;\n const pageRows = recordStatement(connection, `SELECT c.ordinal,c.bytes,c.chunk_digest,\n EXISTS(SELECT 1 FROM ne18_content_chunks more WHERE more.content_id=c.content_id AND more.ordinal>c.ordinal) AS has_more\n FROM ne18_content_chunks c\n JOIN ne18_contents n ON n.content_id=c.content_id JOIN ne18_attachments a ON a.attachment_id=n.attachment_id\n JOIN ne18_runs r ON r.run_id=a.owner_run_id WHERE c.content_id=? AND c.ordinal>? AND\n ((r.status='sealed' AND (NOT EXISTS (SELECT 1 FROM ne18_run_resources rr WHERE rr.run_id=r.run_id) OR a.owner_kind='run')) OR\n (a.owner_kind='attempt' AND EXISTS (SELECT 1 FROM ne18_attempt_publications p\n WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id)))\n ORDER BY c.ordinal LIMIT ?`).iterate(contentId, afterOrdinal, pageSize) as unknown as Iterable<Row>;\n for (const row of pageRows) {\n const value = bytes(row, \"bytes\");\n if (page.length > 0 && pageBytes + value.byteLength > RECORD_SQLITE_MAX_PAGE_BYTES) {\n hasMore = true;\n break;\n }\n cursor = integer(row, \"ordinal\");\n pageBytes += value.byteLength;\n page.push(Object.freeze({ ordinal: cursor, bytes: transferableBytes(value), chunkDigest: text(row, \"chunk_digest\") }));\n hasMore = integer(row, \"has_more\") === 1;\n }\n const nextOrdinal = hasMore ? cursor : null;\n return Object.freeze({ contentId, afterOrdinal, chunks: Object.freeze(page), nextOrdinal });\n}\n"]}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["storage.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport type { SQLOutputValue } from \"node:sqlite\";\nimport { Result } from \"effect\";\nimport { encodeAttemptLocator, parseAttemptLocator } from \"../../attempt-locator.ts\";\nimport type { AttemptId } from \"../model/identifiers.ts\";\nimport { decodeRunDocument, decodeAttemptPublicationClosure, decodeMemberDocument, encodeMemberDocument } from \"../codec/core.ts\";\nimport { encodeRecordJsonUtf8 } from \"../writer/limits.ts\";\nimport { recordStatement, type RecordDatabase } from \"./database.ts\";\nimport { sqliteError } from \"./errors.ts\";\nimport { assertCanonicalIdentity, attachmentId as recordAttachmentId, attachmentLogicalIdentity, attachmentSealEntry, attemptSealEntry, collectionItemSealEntry, collectionItemLogicalIdentity, contentChunkSealEntry, contentSealEntry, contentId as recordContentId, exactLogicalSealIdentity, exactLogicalSealIdentityFromOrdered, hashCanonicalTuple, memberSealEntry, orderSealEntries, recordSealEntry, referenceSealEntry, runSealEntry, slotSealEntry, } from \"./seal.ts\";\nimport { withImmediateTransaction } from \"./transaction.ts\";\nimport { RECORD_SQLITE_PREPARED_SEAL_TEMP_SQL } from \"./schema.ts\";\nimport { RECORD_SQLITE_CHUNK_BYTES, RECORD_SQLITE_MAX_PAGE_BYTES, RECORD_SQLITE_MAX_PAGE_ROWS, RECORD_SQLITE_MAX_PUBLISH_BYTES, RECORD_SQLITE_MAX_PUBLISH_ROWS, RECORD_SQLITE_MAX_ROW_BYTES, RECORD_SQLITE_MAX_VALIDATION_ROWS, RECORD_SQLITE_MAX_VALIDATION_RUNS, RECORD_SQLITE_VALIDATION_DEADLINE_MS, type AdmitAttachmentInput, type AdmitAttemptInput, type AdmitContentInput, type AttemptLocatorCandidates, type AppendContentChunksInput, type BeginRunInput, type ContentChunkPage, type DiscardAttemptInput, type CollectionItemPage, type FenceRunFinalizationInput, type PersistedCollectionItem, type PersistSealedRunInput, type PublishedSealedRun, type PrepareRunFinalizationInput, type PreparedRunFinalization, type RunFinalization, type SealEntry, type SealEntryKind, type SealedAttachmentDocument, type SealedAttachmentMetadata, type SealedRunCore, type SealedRunCutoff, type SealedRunDocument, type SealedRunSummary, type SealedRunSummaryPage, type SealRunInput, type StageAttachmentInput, type StageAttachmentReferencesInput, type StageCollectionItemsInput, type StageSealEntriesInput, type StageSealEntriesResult, type StageRunCoreInput, type SourceBarrierRequest, type SourceBarrierCandidate, } from \"./types.ts\";\nexport function discardAttempt(connection: RecordDatabase, input: DiscardAttemptInput): void {\n requireIdentity(input.runId, \"runId\");\n requireIdentity(input.writerGeneration, \"writerGeneration\");\n requireIdentity(input.attemptId, \"attemptId\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"discard-attempt\", () => {\n const barrier = recordStatement(connection, \"SELECT barrier_state FROM ne19_record_metadata WHERE singleton=1\").get() as Row | undefined;\n if (barrier === undefined || text(barrier, \"barrier_state\") !== \"open\") {\n throw sqliteError(\"record-command-conflict\", \"discard-attempt\", \"ProjectDatabase writer barrier is not open\");\n }\n const run = recordStatement(connection, \"SELECT status,writer_generation FROM ne19_runs WHERE run_id=?\").get(input.runId) as Row | undefined;\n if (run === undefined || text(run, \"status\") !== \"open\" || text(run, \"writer_generation\") !== input.writerGeneration) {\n throw sqliteError(\"record-sqlite-error\", \"discard-attempt\", \"Attempt owner is no longer writable\");\n }\n recordStatement(connection, \"DELETE FROM ne19_attachments WHERE owner_kind='attempt' AND owner_run_id=? AND owner_attempt_id=?\")\n .run(input.runId, input.attemptId);\n recordStatement(connection, \"DELETE FROM ne19_members WHERE target_run_id=? AND origin_run_id=? AND attempt_id=?\")\n .run(input.runId, input.runId, input.attemptId);\n recordStatement(connection, \"DELETE FROM ne19_attempts WHERE origin_run_id=? AND attempt_id=?\")\n .run(input.runId, input.attemptId);\n });\n}\ntype Row = Record<string, SQLOutputValue>;\nconst DIGEST = /^[0-9a-f]{64}$/u;\ninterface CachedSealEntries {\n readonly identity: string;\n readonly count: number;\n readonly mutationSequence?: number;\n}\nconst sealEntryCaches = new WeakMap<RecordDatabase, Map<string, CachedSealEntries>>();\nfunction ensurePreparedSealTables(connection: RecordDatabase): void {\n if (connection.mode !== \"reader\")\n connection.db.exec(RECORD_SQLITE_PREPARED_SEAL_TEMP_SQL);\n}\nfunction spillPreparedSealEntries(connection: RecordDatabase, runId: string, visitClosure: (visit: (entry: SealEntry) => void) => void): {\n readonly identity: string;\n readonly count: number;\n} {\n ensurePreparedSealTables(connection);\n connection.db.exec(\"SAVEPOINT niceeval_prepare_seal\");\n try {\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_raw WHERE run_id=?\").run(runId);\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_ordered WHERE run_id=?\").run(runId);\n const insertRaw = recordStatement(connection, `INSERT INTO temp.niceeval_prepared_seal_raw\n (run_id,entry_kind,logical_identity,digest) VALUES (?,?,?,?)`);\n let count = 0;\n visitClosure((entry) => {\n insertRaw.run(runId, entry.kind, entry.logicalIdentity, entry.digest);\n count += 1;\n });\n const insertOrdered = recordStatement(connection, `INSERT INTO temp.niceeval_prepared_seal_ordered\n (run_id,ordinal,entry_kind,logical_identity,digest) VALUES (?,?,?,?,?)`);\n const orderedRows = recordStatement(connection, `SELECT entry_kind,logical_identity,digest\n FROM temp.niceeval_prepared_seal_raw WHERE run_id=? ORDER BY entry_kind,logical_identity,digest`).iterate(runId) as unknown as Iterable<Row>;\n function* ordered(): Iterable<SealEntry> {\n let ordinal = 0;\n for (const row of orderedRows) {\n const entry = Object.freeze({ kind: sealEntryKind(row, \"entry_kind\"), logicalIdentity: text(row, \"logical_identity\"), digest: text(row, \"digest\") });\n insertOrdered.run(runId, ordinal, entry.kind, entry.logicalIdentity, entry.digest);\n ordinal += 1;\n yield entry;\n }\n }\n const identity = exactLogicalSealIdentityFromOrdered(ordered(), count);\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_raw WHERE run_id=?\").run(runId);\n connection.db.exec(\"RELEASE niceeval_prepare_seal\");\n return Object.freeze({ identity, count });\n }\n catch (cause) {\n connection.db.exec(\"ROLLBACK TO niceeval_prepare_seal; RELEASE niceeval_prepare_seal\");\n throw cause;\n }\n}\nfunction sealEntryCache(connection: RecordDatabase): Map<string, CachedSealEntries> {\n let cache = sealEntryCaches.get(connection);\n if (cache === undefined) {\n cache = new Map();\n sealEntryCaches.set(connection, cache);\n }\n return cache;\n}\nfunction text(row: Row, field: string): string {\n const value = row[field];\n if (typeof value !== \"string\")\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not text`);\n return value;\n}\nfunction integer(row: Row, field: string): number {\n const value = row[field];\n const numeric = typeof value === \"bigint\" ? Number(value) : value;\n if (typeof numeric !== \"number\" || !Number.isSafeInteger(numeric)) {\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not a safe integer`);\n }\n return numeric;\n}\nfunction optionalText(row: Row, field: string): string | undefined {\n const value = row[field];\n if (value === null)\n return undefined;\n if (typeof value !== \"string\")\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not nullable text`);\n return value;\n}\nfunction optionalInteger(row: Row, field: string): number | undefined {\n if (row[field] === null)\n return undefined;\n return integer(row, field);\n}\nfunction ownerKind(row: Row, field: string): import(\"../model/core.ts\").RecordAttachmentOwner {\n const value = text(row, field);\n if (value !== \"run\" && value !== \"attempt\")\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not an owner kind`);\n return value;\n}\nfunction memberAction(row: Row, field: string): \"executed\" | \"carried\" | \"accepted\" | \"not-dispatched\" | \"interrupted\" {\n const value = text(row, field);\n if (value !== \"executed\" && value !== \"carried\" && value !== \"accepted\" && value !== \"not-dispatched\" && value !== \"interrupted\") {\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not a Member action`);\n }\n return value;\n}\nfunction absenceMember(row: Row): {\n readonly action: \"not-dispatched\" | \"interrupted\";\n readonly coreBytes: Uint8Array;\n readonly coreDigest: string;\n} {\n const slotId = text(row, \"slot_id\");\n const absenceReason = text(row, \"absence_reason\");\n const action = absenceReason === \"early-exit-satisfied\" || absenceReason === \"budget-exhausted\" || absenceReason === \"stopped-by-failure\"\n ? \"not-dispatched\" as const\n : absenceReason === \"interrupted-before-publication\" || absenceReason === \"dispatch-failed\"\n ? \"interrupted\" as const\n : undefined;\n if (action === undefined) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${slotId} has an unsupported absence reason`);\n }\n const decoded = decodeMemberDocument({ slotId, action, attempt: null, absenceReason });\n if (Result.isFailure(decoded)) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${slotId} has an invalid absence`);\n }\n const encoded = encodeMemberDocument(decoded.success);\n if (Result.isFailure(encoded)) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${slotId} absence cannot be projected`);\n }\n const coreBytes = encodeRecordJsonUtf8(encoded.success);\n return Object.freeze({ action, coreBytes, coreDigest: digestBytes(coreBytes) });\n}\nfunction sealEntryKind(row: Row, field: string): SealEntryKind {\n const value = text(row, field);\n if (value !== \"record\" && value !== \"run\" && value !== \"slot\" && value !== \"member\" && value !== \"attempt\" &&\n value !== \"attachment\" && value !== \"attachment-reference\" && value !== \"collection-item\" &&\n value !== \"content\" && value !== \"content-chunk\")\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not a Seal entry kind`);\n return value;\n}\nfunction bytes(row: Row, field: string): Uint8Array {\n const value = row[field];\n if (!(value instanceof Uint8Array))\n throw sqliteError(\"record-database-invalid\", \"decode-row\", `${field} is not bytes`);\n return value;\n}\nfunction digestBytes(value: Uint8Array): string {\n return createHash(\"sha256\").update(value).digest(\"hex\");\n}\nfunction bytesEqual(left: Uint8Array, right: Uint8Array): boolean {\n if (left.byteLength !== right.byteLength)\n return false;\n for (let index = 0; index < left.byteLength; index += 1)\n if (left[index] !== right[index])\n return false;\n return true;\n}\nfunction transferableBytes(value: Uint8Array): Uint8Array {\n return value.buffer instanceof ArrayBuffer && value.byteOffset === 0 && value.byteLength === value.buffer.byteLength\n ? value\n : Uint8Array.from(value);\n}\nfunction requireDigest(value: string, field: string): void {\n if (!DIGEST.test(value))\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} is not a lowercase sha256 digest`);\n}\nfunction requireBytesDigest(value: Uint8Array, digest: string, field: string): void {\n requireDigest(digest, `${field}.digest`);\n if (digestBytes(value) !== digest)\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} bytes do not match their digest`);\n}\nfunction requireNonEmpty(value: string, field: string): void {\n if (value.length === 0)\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} is empty`);\n}\nfunction requireIdentity(value: string, field: string): void {\n try {\n assertCanonicalIdentity(value, field);\n }\n catch (cause) {\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", cause instanceof Error ? cause.message : `${field} is invalid`);\n }\n}\nfunction requireAttemptLocator(attemptId: string, locator: string, operation = \"persist-sealed-run\"): void {\n const parsed = parseAttemptLocator(locator);\n if (!parsed.valid || encodeAttemptLocator(attemptId as AttemptId) !== locator) {\n throw sqliteError(\"record-content-invalid\", operation, `Attempt ${attemptId} locator is not its canonical projection`);\n }\n}\nfunction requireOrdinal(value: number, field: string): void {\n if (!Number.isSafeInteger(value) || value < 0)\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} is not a non-negative safe integer`);\n}\nfunction assertContiguous(values: readonly {\n readonly ordinal: number;\n}[], field: string): void {\n values.forEach((value, index) => {\n requireOrdinal(value.ordinal, `${field}[${index}].ordinal`);\n if (value.ordinal !== index)\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `${field} ordinals are not contiguous`);\n });\n}\nfunction orderEntries(entries: readonly SealEntry[]): readonly SealEntry[] {\n return orderSealEntries(entries);\n}\nexport function logicalSealIdentity(entries: readonly SealEntry[]): string {\n return exactLogicalSealIdentity(entries);\n}\nfunction validateInput(input: PersistSealedRunInput): readonly SealEntry[] {\n for (const [field, value] of [\n [\"runId\", input.runId],\n [\"writerGeneration\", input.writerGeneration],\n [\"startedAt\", input.startedAt],\n ] as const)\n requireIdentity(value, field);\n requireBytesDigest(input.recordCoreBytes, input.recordCoreDigest, \"record core\");\n requireBytesDigest(input.runCoreBytes, input.runCoreDigest, \"run core\");\n if (!Number.isFinite(input.deadlineEpochMs))\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", \"deadline is invalid\");\n assertContiguous(input.slots, \"slots\");\n const entries: SealEntry[] = [\n recordSealEntry(input.recordCoreDigest),\n runSealEntry({ runId: input.runId, writerGeneration: input.writerGeneration, startedAt: input.startedAt, coreDigest: input.runCoreDigest }),\n ];\n const unique = new Set<string>();\n const add = (entry: SealEntry): void => {\n requireIdentity(entry.logicalIdentity, `${entry.kind}.identity`);\n requireDigest(entry.digest, `${entry.kind}.digest`);\n const key = `${entry.kind}:${entry.logicalIdentity}`;\n if (unique.has(key))\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `duplicate ${entry.kind} identity ${entry.logicalIdentity}`);\n unique.add(key);\n entries.push(entry);\n };\n let byteCount = input.runCoreBytes.byteLength;\n for (const slot of input.slots) {\n requireIdentity(slot.slotId, \"slot.slotId\");\n requireBytesDigest(slot.coreBytes, slot.coreDigest, `slot ${slot.slotId}`);\n byteCount += slot.coreBytes.byteLength;\n add(slotSealEntry(input.runId, slot));\n }\n for (const attempt of input.attempts) {\n requireIdentity(attempt.attemptId, \"attempt.attemptId\");\n requireAttemptLocator(attempt.attemptId, attempt.attemptLocator);\n requireBytesDigest(attempt.coreBytes, attempt.coreDigest, `attempt ${attempt.attemptId}`);\n byteCount += attempt.coreBytes.byteLength;\n add(attemptSealEntry(input.runId, attempt.attemptId, attempt.attemptLocator, attempt.coreDigest));\n }\n const slotIds = new Set(input.slots.map((slot) => slot.slotId));\n const memberSlots = new Set<string>();\n for (const member of input.members) {\n if (!slotIds.has(member.slotId) || memberSlots.has(member.slotId)) {\n throw sqliteError(\"record-seal-incomplete\", \"persist-sealed-run\", `member coverage conflicts at slot ${member.slotId}`);\n }\n memberSlots.add(member.slotId);\n const hasAttempt = member.originRunId !== undefined && member.attemptId !== undefined;\n const terminal = member.action === \"not-dispatched\" || member.action === \"interrupted\";\n if (terminal === hasAttempt || ((member.originRunId === undefined) !== (member.attemptId === undefined))) {\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `member ${member.slotId} action and attempt locator disagree`);\n }\n if (member.action === \"executed\" && member.originRunId !== input.runId) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `executed member ${member.slotId} points outside its origin run`);\n }\n requireBytesDigest(member.coreBytes, member.coreDigest, `member ${member.slotId}`);\n byteCount += member.coreBytes.byteLength;\n add(memberSealEntry(input.runId, member));\n }\n if (memberSlots.size !== slotIds.size)\n throw sqliteError(\"record-seal-incomplete\", \"persist-sealed-run\", \"sealed run does not have exactly one member per slot\");\n let rowCount = 1 + input.slots.length + input.attempts.length + input.members.length;\n for (const attachment of input.attachments) {\n requireIdentity(attachment.attachmentId, \"attachment.attachmentId\");\n requireIdentity(attachment.family, \"attachment.family\");\n requireIdentity(attachment.logicalIdentity, \"attachment.logicalIdentity\");\n if (attachment.ownerRunId !== input.runId)\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `attachment ${attachment.attachmentId} has a different owner run`);\n if ((attachment.ownerKind === \"attempt\") !== (attachment.ownerAttemptId !== undefined)) {\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `attachment ${attachment.attachmentId} owner shape is invalid`);\n }\n requireBytesDigest(attachment.canonicalBytes, attachment.canonicalDigest, `attachment ${attachment.attachmentId}`);\n requireBytesDigest(attachment.logicalInventoryBytes, attachment.inventoryDigest, `attachment ${attachment.attachmentId} inventory`);\n add(attachmentSealEntry(attachment));\n byteCount += attachment.canonicalBytes.byteLength + attachment.logicalInventoryBytes.byteLength;\n rowCount += 1;\n assertContiguous(attachment.references, `attachment ${attachment.attachmentId} references`);\n for (const reference of attachment.references) {\n requireBytesDigest(reference.canonicalBytes, reference.referenceDigest, `reference ${attachment.attachmentId}/${reference.ordinal}`);\n byteCount += reference.canonicalBytes.byteLength;\n requireIdentity(reference.family, \"reference.family\");\n add(referenceSealEntry(attachment.attachmentId, reference));\n rowCount += 1;\n }\n assertContiguous(attachment.collectionItems, `attachment ${attachment.attachmentId} items`);\n for (const item of attachment.collectionItems) {\n requireBytesDigest(item.canonicalBytes, item.canonicalDigest, `item ${attachment.attachmentId}/${item.ordinal}`);\n requireIdentity(item.logicalIdentity, \"collectionItem.logicalIdentity\");\n add(collectionItemSealEntry(attachment.attachmentId, item));\n byteCount += item.canonicalBytes.byteLength;\n rowCount += 1;\n }\n for (const content of attachment.contents) {\n requireIdentity(content.contentId, \"content.contentId\");\n requireIdentity(content.logicalHandle, \"content.logicalHandle\");\n requireOrdinal(content.byteLength, `content ${content.contentId}.byteLength`);\n requireDigest(content.digest, `content ${content.contentId}.digest`);\n assertContiguous(content.chunks, `content ${content.contentId} chunks`);\n const hash = createHash(\"sha256\");\n let observedBytes = 0;\n for (const chunk of content.chunks) {\n if (chunk.bytes.byteLength > RECORD_SQLITE_CHUNK_BYTES) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"persist-sealed-run\", `content chunk ${content.contentId}/${chunk.ordinal} exceeds ${RECORD_SQLITE_CHUNK_BYTES} bytes`);\n }\n requireBytesDigest(chunk.bytes, chunk.chunkDigest, `content chunk ${content.contentId}/${chunk.ordinal}`);\n hash.update(chunk.bytes);\n observedBytes += chunk.bytes.byteLength;\n byteCount += chunk.bytes.byteLength;\n rowCount += 1;\n add(contentChunkSealEntry(content.contentId, chunk.ordinal, chunk.chunkDigest));\n }\n if (observedBytes !== content.byteLength || hash.digest(\"hex\") !== content.digest) {\n throw sqliteError(\"record-content-invalid\", \"persist-sealed-run\", `content ${content.contentId} whole length or digest is invalid`);\n }\n add(contentSealEntry(attachment.attachmentId, { contentId: content.contentId, logicalHandle: content.logicalHandle,\n byteLength: content.byteLength, digest: content.digest, chunkCount: content.chunks.length }));\n rowCount += 1;\n }\n }\n return orderEntries(entries);\n}\nfunction rows(connection: RecordDatabase, sql: string, ...parameters: (string | number)[]): readonly Row[] {\n return recordStatement(connection, sql).all(...parameters) as unknown as readonly Row[];\n}\nfunction visitRunSealEntries(connection: RecordDatabase, runId: string, visit: (entry: SealEntry) => void, verifyPayloadBytes = true, verifyContentChunkBytes = verifyPayloadBytes): void {\n const verified = (row: Row, digestField: string, payloadField: string): string => {\n const value = text(row, digestField);\n requireDigest(value, digestField);\n if (verifyPayloadBytes && digestBytes(bytes(row, payloadField)) !== value) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `${payloadField} does not match ${digestField}`);\n }\n return value;\n };\n const record = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne19_record_metadata WHERE singleton=1\").get() as unknown as Row;\n visit(recordSealEntry(verified(record, \"record_digest\", \"record_payload\")));\n const run = recordStatement(connection, `SELECT run_id,writer_generation,started_at,core_payload,core_digest FROM ne19_runs WHERE run_id=?`).get(runId) as unknown as Row | undefined;\n if (run === undefined)\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} is missing`);\n visit(runSealEntry({ runId: text(run, \"run_id\"), writerGeneration: text(run, \"writer_generation\"), startedAt: text(run, \"started_at\"), coreDigest: verified(run, \"core_digest\", \"core_payload\") }));\n for (const row of recordStatement(connection, \"SELECT slot_id,ordinal,core_payload,core_digest FROM ne19_slots WHERE run_id=?\").iterate(runId) as unknown as Iterable<Row>) {\n visit(slotSealEntry(runId, { slotId: text(row, \"slot_id\"), ordinal: integer(row, \"ordinal\"), coreDigest: verified(row, \"core_digest\", \"core_payload\") }));\n }\n for (const row of recordStatement(connection, \"SELECT attempt_id,attempt_locator,core_payload,core_digest FROM ne19_attempts WHERE origin_run_id=?\").iterate(runId) as unknown as Iterable<Row>) {\n visit(attemptSealEntry(runId, text(row, \"attempt_id\"), text(row, \"attempt_locator\"), verified(row, \"core_digest\", \"core_payload\")));\n }\n for (const row of recordStatement(connection, `SELECT slot_id,origin_run_id,attempt_id,action,core_payload,core_digest FROM ne19_members WHERE target_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n visit(memberSealEntry(runId, { slotId: text(row, \"slot_id\"), originRunId: optionalText(row, \"origin_run_id\"),\n attemptId: optionalText(row, \"attempt_id\"), action: memberAction(row, \"action\"), coreDigest: verified(row, \"core_digest\", \"core_payload\") }));\n }\n for (const row of recordStatement(connection, `SELECT attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,logical_identity,\n canonical_payload,canonical_digest,logical_inventory,inventory_digest FROM ne19_attachments WHERE owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n const canonicalDigest = verified(row, \"canonical_digest\", \"canonical_payload\");\n const inventoryDigest = verified(row, \"inventory_digest\", \"logical_inventory\");\n visit(attachmentSealEntry({ attachmentId: text(row, \"attachment_id\"), ownerKind: ownerKind(row, \"owner_kind\"),\n ownerRunId: text(row, \"owner_run_id\"), ownerAttemptId: optionalText(row, \"owner_attempt_id\"), family: text(row, \"family\"),\n familyRevision: integer(row, \"family_revision\"), logicalIdentity: text(row, \"logical_identity\"), canonicalDigest, inventoryDigest }));\n }\n for (const row of recordStatement(connection, `SELECT r.attachment_id,r.ordinal,r.target_owner_kind,r.target_family,r.canonical_payload,r.reference_digest\n FROM ne19_attachment_references r JOIN ne19_attachments a ON a.attachment_id=r.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n visit(referenceSealEntry(text(row, \"attachment_id\"), { ordinal: integer(row, \"ordinal\"), owner: ownerKind(row, \"target_owner_kind\"),\n family: text(row, \"target_family\"), referenceDigest: verified(row, \"reference_digest\", \"canonical_payload\") }));\n }\n for (const row of recordStatement(connection, `SELECT i.attachment_id,i.ordinal,i.logical_identity,i.canonical_payload,i.canonical_digest\n FROM ne19_collection_items i JOIN ne19_attachments a ON a.attachment_id=i.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n visit(collectionItemSealEntry(text(row, \"attachment_id\"), { ordinal: integer(row, \"ordinal\"), logicalIdentity: text(row, \"logical_identity\"),\n canonicalDigest: verified(row, \"canonical_digest\", \"canonical_payload\") }));\n }\n for (const row of recordStatement(connection, `SELECT c.content_id,c.attachment_id,c.logical_handle,c.byte_length,c.overall_digest,c.chunk_count\n FROM ne19_contents c JOIN ne19_attachments a ON a.attachment_id=c.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>) {\n visit(contentSealEntry(text(row, \"attachment_id\"), { contentId: text(row, \"content_id\"), logicalHandle: text(row, \"logical_handle\"),\n byteLength: integer(row, \"byte_length\"), digest: text(row, \"overall_digest\"), chunkCount: integer(row, \"chunk_count\") }));\n }\n const chunkSql = verifyContentChunkBytes\n ? `SELECT c.content_id,c.ordinal,c.bytes,c.chunk_digest FROM ne19_content_chunks c\n JOIN ne19_contents n ON n.content_id=c.content_id JOIN ne19_attachments a ON a.attachment_id=n.attachment_id WHERE a.owner_run_id=?`\n : `SELECT c.content_id,c.ordinal,c.chunk_digest FROM ne19_content_chunks c\n JOIN ne19_contents n ON n.content_id=c.content_id JOIN ne19_attachments a ON a.attachment_id=n.attachment_id WHERE a.owner_run_id=?`;\n for (const row of recordStatement(connection, chunkSql).iterate(runId) as unknown as Iterable<Row>) {\n const chunkDigest = text(row, \"chunk_digest\");\n requireDigest(chunkDigest, \"chunk_digest\");\n if (verifyContentChunkBytes && digestBytes(bytes(row, \"bytes\")) !== chunkDigest) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", \"bytes does not match chunk_digest\");\n }\n visit(contentChunkSealEntry(text(row, \"content_id\"), integer(row, \"ordinal\"), chunkDigest));\n }\n}\nexport function collectRunSealEntries(connection: RecordDatabase, runId: string): readonly SealEntry[] {\n const entries: SealEntry[] = [];\n visitRunSealEntries(connection, runId, (entry) => entries.push(entry));\n return orderEntries(entries);\n}\nfunction runRow(connection: RecordDatabase, runId: string): Row | undefined {\n return recordStatement(connection, `SELECT run_id,experiment_id,status,writer_generation,started_at,core_payload,core_digest,mutation_sequence,\n candidate_seal_identity,candidate_seal_entry_count,candidate_seal_staged_count,logical_seal_identity FROM ne19_runs WHERE run_id=?`)\n .get(runId) as unknown as Row | undefined;\n}\nfunction assertBoundedBatch(operation: string, rowCount: number, byteCount: number): void {\n if (!Number.isSafeInteger(rowCount) || rowCount < 0 || !Number.isSafeInteger(byteCount) || byteCount < 0 ||\n rowCount > RECORD_SQLITE_MAX_PUBLISH_ROWS || byteCount > RECORD_SQLITE_MAX_PUBLISH_BYTES) {\n throw sqliteError(\"record-resource-limit-exceeded\", operation, `staging batch exceeds its bound (${rowCount} rows, ${byteCount} bytes)`);\n }\n}\nfunction assertBoundedRow(operation: string, field: string, value: Uint8Array): void {\n if (value.byteLength > RECORD_SQLITE_MAX_ROW_BYTES) {\n throw sqliteError(\"record-resource-limit-exceeded\", operation, `${field} exceeds the ${RECORD_SQLITE_MAX_ROW_BYTES} byte row ceiling`);\n }\n}\nfunction assertRunFence(connection: RecordDatabase, runId: string, writerGeneration: string, operation: string, expectedStatus: \"open\" | \"sealing\" = \"open\"): Row {\n const barrier = recordStatement(connection, \"SELECT barrier_state FROM ne19_record_metadata WHERE singleton=1\").get() as Row | undefined;\n if (barrier === undefined || text(barrier, \"barrier_state\") !== \"open\") {\n throw sqliteError(\"record-command-conflict\", operation, \"ProjectDatabase writer barrier is not open\");\n }\n const active = recordStatement(connection, \"SELECT 1 FROM ne19_run_resources WHERE run_id=? AND terminal_state IS NULL AND current_writer_generation=?\")\n .get(runId, writerGeneration);\n const row = runRow(connection, runId);\n if (active === undefined || row === undefined || text(row, \"writer_generation\") !== writerGeneration || text(row, \"status\") !== expectedStatus) {\n throw sqliteError(\"record-command-conflict\", operation, `Run ${runId} admission fence is missing or changed`);\n }\n return row;\n}\nfunction bumpMutationSequence(connection: RecordDatabase, runId: string): void {\n recordStatement(connection, \"UPDATE ne19_runs SET mutation_sequence=mutation_sequence+1 WHERE run_id=? AND status='open'\").run(runId);\n}\nfunction assertAttachmentFence(connection: RecordDatabase, runId: string, attachmentId: string, operation: string): void {\n const row = recordStatement(connection, `SELECT a.owner_run_id,a.owner_kind,at.publication_state FROM ne19_attachments a\n LEFT JOIN ne19_attempts at ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id\n WHERE a.attachment_id=?`).get(attachmentId) as unknown as Row | undefined;\n if (row === undefined || text(row, \"owner_run_id\") !== runId ||\n (text(row, \"owner_kind\") === \"attempt\" && optionalText(row, \"publication_state\") === \"published\")) {\n throw sqliteError(\"record-command-conflict\", operation, `Attachment ${attachmentId} does not belong to Run ${runId}`);\n }\n}\nfunction validatedRunExperimentId(bytes: Uint8Array, runId: string): string {\n let decoded: ReturnType<typeof decodeRunDocument>;\n try {\n decoded = decodeRunDocument(JSON.parse(new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes)));\n }\n catch (cause) {\n throw sqliteError(\"record-content-invalid\", \"run-experiment-identity\", \"Run Core is not valid JSON\", cause);\n }\n if (Result.isFailure(decoded) || decoded.success.runId !== runId) {\n throw sqliteError(\"record-content-invalid\", \"run-experiment-identity\", \"Run Core identity is invalid\");\n }\n return decoded.success.experimentId;\n}\nexport function beginRun(connection: RecordDatabase, input: BeginRunInput): void {\n requireIdentity(input.runId, \"runId\");\n requireIdentity(input.experimentId, \"experimentId\");\n requireIdentity(input.writerGeneration, \"writerGeneration\");\n requireIdentity(input.startedAt, \"startedAt\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"begin-run\", () => {\n const barrier = recordStatement(connection, \"SELECT barrier_state FROM ne19_record_metadata WHERE singleton=1\").get() as Row | undefined;\n if (barrier === undefined)\n throw sqliteError(\"record-database-invalid\", \"begin-run\", \"ProjectDatabase barrier is missing\");\n if (text(barrier, \"barrier_state\") === \"draining\") {\n throw sqliteError(\"record-command-conflict\", \"begin-run\", \"ProjectDatabase portable gate is draining\");\n }\n if (text(barrier, \"barrier_state\") === \"portable\")\n throw sqliteError(\"record-command-conflict\", \"begin-run\", \"ProjectDatabase must reopen before writer admission\");\n recordStatement(connection, `INSERT OR IGNORE INTO ne19_runs(run_id,experiment_id,status,writer_generation,started_at,core_payload,core_digest,\n mutation_sequence,candidate_seal_identity,candidate_seal_entry_count,candidate_seal_staged_count,logical_seal_identity)\n VALUES (?,?,'open',?,?,NULL,NULL,0,NULL,NULL,0,NULL)`).run(input.runId, input.experimentId, input.writerGeneration, input.startedAt);\n const stored = runRow(connection, input.runId);\n if (stored === undefined || text(stored, \"experiment_id\") !== input.experimentId || text(stored, \"writer_generation\") !== input.writerGeneration ||\n text(stored, \"started_at\") !== input.startedAt) {\n throw sqliteError(\"record-command-conflict\", \"begin-run\", `Run ${input.runId} conflicts with its durable admission`);\n }\n if (text(stored, \"status\") !== \"open\" && text(stored, \"status\") !== \"sealing\" && text(stored, \"status\") !== \"sealed\") {\n throw sqliteError(\"record-database-invalid\", \"begin-run\", `Run ${input.runId} has an invalid status`);\n }\n });\n}\nexport function admitAttempt(connection: RecordDatabase, input: AdmitAttemptInput): void {\n requireIdentity(input.attemptId, \"attemptId\");\n requireAttemptLocator(input.attemptId, input.attemptLocator, \"admit-attempt\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"admit-attempt\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"admit-attempt\");\n const inserted = recordStatement(connection, `INSERT OR IGNORE INTO ne19_attempts(origin_run_id,attempt_id,attempt_locator,core_payload,core_digest)\n VALUES (?,?,?,NULL,NULL)`).run(input.runId, input.attemptId, input.attemptLocator);\n const stored = recordStatement(connection, \"SELECT origin_run_id,attempt_locator FROM ne19_attempts WHERE origin_run_id=? AND attempt_id=?\")\n .get(input.runId, input.attemptId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"origin_run_id\") !== input.runId || text(stored, \"attempt_locator\") !== input.attemptLocator) {\n throw sqliteError(\"record-command-conflict\", \"admit-attempt\", `Attempt ${input.attemptId} conflicts with its durable admission`);\n }\n if (Number(inserted.changes) > 0)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function admitAttachment(connection: RecordDatabase, input: AdmitAttachmentInput): void {\n if (input.ownerRunId !== input.runId || (input.ownerKind === \"attempt\") !== (input.ownerAttemptId !== undefined)) {\n throw sqliteError(\"record-content-invalid\", \"admit-attachment\", \"attachment owner does not match its Run admission\");\n }\n requireIdentity(input.attachmentId, \"attachmentId\");\n requireIdentity(input.family, \"family\");\n requireIdentity(input.ownerRunId, \"ownerRunId\");\n if (input.ownerAttemptId !== undefined)\n requireIdentity(input.ownerAttemptId, \"ownerAttemptId\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"admit-attachment\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"admit-attachment\");\n if (input.ownerKind === \"attempt\") {\n const admitted = recordStatement(connection, \"SELECT 1 AS admitted FROM ne19_attempts WHERE origin_run_id=? AND attempt_id=?\")\n .get(input.runId, input.ownerAttemptId!) as unknown as Row | undefined;\n if (admitted === undefined)\n throw sqliteError(\"record-command-conflict\", \"admit-attachment\", \"attempt owner is not admitted\");\n }\n const inserted = recordStatement(connection, `INSERT OR IGNORE INTO ne19_attachments(attachment_id,owner_kind,owner_run_id,owner_attempt_id,\n family,family_revision,logical_identity,canonical_payload,canonical_digest,logical_inventory,inventory_digest)\n VALUES (?,?,?,?,?,?,NULL,NULL,NULL,NULL,NULL)`).run(input.attachmentId, input.ownerKind, input.ownerRunId, input.ownerAttemptId ?? null, input.family, input.familyRevision);\n const stored = recordStatement(connection, `SELECT owner_kind,owner_run_id,owner_attempt_id,family,family_revision FROM ne19_attachments\n WHERE attachment_id=?`).get(input.attachmentId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"owner_kind\") !== input.ownerKind || text(stored, \"owner_run_id\") !== input.ownerRunId ||\n optionalText(stored, \"owner_attempt_id\") !== input.ownerAttemptId || text(stored, \"family\") !== input.family ||\n integer(stored, \"family_revision\") !== input.familyRevision) {\n throw sqliteError(\"record-command-conflict\", \"admit-attachment\", `Attachment ${input.attachmentId} conflicts with its durable admission`);\n }\n if (Number(inserted.changes) > 0)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function admitContent(connection: RecordDatabase, input: AdmitContentInput): void {\n requireIdentity(input.contentId, \"contentId\");\n requireIdentity(input.logicalHandle, \"logicalHandle\");\n withImmediateTransaction(connection, input.deadlineEpochMs, \"admit-content\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"admit-content\");\n const attachment = recordStatement(connection, `SELECT a.owner_run_id,a.owner_kind,at.publication_state FROM ne19_attachments a\n LEFT JOIN ne19_attempts at ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id WHERE a.attachment_id=?`)\n .get(input.attachmentId) as unknown as Row | undefined;\n if (attachment === undefined || text(attachment, \"owner_run_id\") !== input.runId ||\n (text(attachment, \"owner_kind\") === \"attempt\" && optionalText(attachment, \"publication_state\") === \"published\")) {\n throw sqliteError(\"record-command-conflict\", \"admit-content\", \"attachment admission is missing\");\n }\n const inserted = recordStatement(connection, `INSERT OR IGNORE INTO ne19_contents(content_id,attachment_id,logical_handle,byte_length,overall_digest,chunk_count)\n VALUES (?,?,?,NULL,NULL,NULL)`).run(input.contentId, input.attachmentId, input.logicalHandle);\n const stored = recordStatement(connection, \"SELECT attachment_id,logical_handle FROM ne19_contents WHERE content_id=?\")\n .get(input.contentId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"attachment_id\") !== input.attachmentId || text(stored, \"logical_handle\") !== input.logicalHandle) {\n throw sqliteError(\"record-command-conflict\", \"admit-content\", `Content ${input.contentId} conflicts with its durable admission`);\n }\n if (Number(inserted.changes) > 0)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function stageAttachmentMetadata(connection: RecordDatabase, input: StageAttachmentInput): void {\n const { attachment } = input;\n if (attachment.ownerRunId !== input.runId)\n throw sqliteError(\"record-command-conflict\", \"stage-attachment\", \"attachment owner run differs from staging run\");\n requireBytesDigest(attachment.canonicalBytes, attachment.canonicalDigest, `attachment ${attachment.attachmentId}`);\n requireBytesDigest(attachment.logicalInventoryBytes, attachment.inventoryDigest, `attachment ${attachment.attachmentId} inventory`);\n for (const content of attachment.contents) {\n requireOrdinal(content.byteLength, `content ${content.contentId}.byteLength`);\n requireOrdinal(content.chunkCount, `content ${content.contentId}.chunkCount`);\n requireDigest(content.digest, `content ${content.contentId}.digest`);\n }\n const byteCount = attachment.canonicalBytes.byteLength + attachment.logicalInventoryBytes.byteLength;\n assertBoundedBatch(\"stage-attachment\", 1 + attachment.contents.length, byteCount);\n withImmediateTransaction(connection, input.deadlineEpochMs, \"stage-attachment\", () => {\n recordStatement(connection, `INSERT OR IGNORE INTO ne19_attachments(attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,logical_identity,canonical_payload,canonical_digest,logical_inventory,inventory_digest)\n VALUES (?,?,?,?,?,?,?,?,?,?,?)`).run(attachment.attachmentId, attachment.ownerKind, attachment.ownerRunId, attachment.ownerAttemptId ?? null, attachment.family, attachment.familyRevision, attachment.logicalIdentity, attachment.canonicalBytes, attachment.canonicalDigest, attachment.logicalInventoryBytes, attachment.inventoryDigest);\n for (const content of attachment.contents)\n recordStatement(connection, `INSERT OR IGNORE INTO ne19_contents(content_id,attachment_id,logical_handle,byte_length,overall_digest,chunk_count)\n VALUES (?,?,?,?,?,?)`).run(content.contentId, attachment.attachmentId, content.logicalHandle, content.byteLength, content.digest, content.chunkCount);\n const stored = recordStatement(connection, `SELECT owner_kind,owner_run_id,owner_attempt_id,family,family_revision,logical_identity,\n canonical_payload,canonical_digest,logical_inventory,inventory_digest FROM ne19_attachments WHERE attachment_id=?`)\n .get(attachment.attachmentId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"owner_kind\") !== attachment.ownerKind || text(stored, \"owner_run_id\") !== attachment.ownerRunId ||\n optionalText(stored, \"owner_attempt_id\") !== attachment.ownerAttemptId || text(stored, \"family\") !== attachment.family ||\n integer(stored, \"family_revision\") !== attachment.familyRevision || text(stored, \"logical_identity\") !== attachment.logicalIdentity ||\n text(stored, \"canonical_digest\") !== attachment.canonicalDigest || !bytesEqual(bytes(stored, \"canonical_payload\"), attachment.canonicalBytes) ||\n text(stored, \"inventory_digest\") !== attachment.inventoryDigest || !bytesEqual(bytes(stored, \"logical_inventory\"), attachment.logicalInventoryBytes))\n throw sqliteError(\"record-command-conflict\", \"stage-attachment\", `attachment ${attachment.attachmentId} conflicts with its durable retry`);\n for (const content of attachment.contents) {\n const persisted = recordStatement(connection, `SELECT attachment_id,logical_handle,byte_length,overall_digest,chunk_count\n FROM ne19_contents WHERE content_id=?`).get(content.contentId) as unknown as Row | undefined;\n if (persisted === undefined || text(persisted, \"attachment_id\") !== attachment.attachmentId || text(persisted, \"logical_handle\") !== content.logicalHandle ||\n integer(persisted, \"byte_length\") !== content.byteLength || text(persisted, \"overall_digest\") !== content.digest || integer(persisted, \"chunk_count\") !== content.chunkCount)\n throw sqliteError(\"record-command-conflict\", \"stage-attachment\", `content ${content.contentId} metadata conflicts with its durable retry`);\n }\n });\n}\nfunction validateFinalInput(input: StageRunCoreInput, requireCompleteMembers = true): void {\n requireBytesDigest(input.recordCoreBytes, input.recordCoreDigest, \"record core\");\n requireBytesDigest(input.runCoreBytes, input.runCoreDigest, \"run core\");\n assertBoundedRow(\"finalize-run\", \"record core\", input.recordCoreBytes);\n assertBoundedRow(\"finalize-run\", \"run core\", input.runCoreBytes);\n assertContiguous(input.slots, \"slots\");\n let byteCount = input.recordCoreBytes.byteLength + input.runCoreBytes.byteLength;\n for (const slot of input.slots) {\n requireBytesDigest(slot.coreBytes, slot.coreDigest, `slot ${slot.slotId}`);\n assertBoundedRow(\"finalize-run\", `slot ${slot.slotId}`, slot.coreBytes);\n byteCount += slot.coreBytes.byteLength;\n }\n for (const attempt of input.attempts) {\n requireAttemptLocator(attempt.attemptId, attempt.attemptLocator, \"finalize-run\");\n requireBytesDigest(attempt.coreBytes, attempt.coreDigest, `attempt ${attempt.attemptId}`);\n assertBoundedRow(\"finalize-run\", `attempt ${attempt.attemptId}`, attempt.coreBytes);\n byteCount += attempt.coreBytes.byteLength;\n }\n for (const member of input.members) {\n requireBytesDigest(member.coreBytes, member.coreDigest, `member ${member.slotId}`);\n assertBoundedRow(\"finalize-run\", `member ${member.slotId}`, member.coreBytes);\n byteCount += member.coreBytes.byteLength;\n const hasAttempt = member.originRunId !== undefined && member.attemptId !== undefined;\n const terminal = member.action === \"not-dispatched\" || member.action === \"interrupted\";\n if (terminal === hasAttempt || ((member.originRunId === undefined) !== (member.attemptId === undefined))) {\n throw sqliteError(\"record-content-invalid\", \"finalize-run\", `Member ${member.slotId} action and locator disagree`);\n }\n if (member.action === \"executed\" && member.originRunId !== input.runId) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Executed Member ${member.slotId} has a different origin Run`);\n }\n }\n const finalSlotIds = new Set(input.slots.map((slot) => slot.slotId));\n const finalMemberSlots = new Set(input.members.map((member) => member.slotId));\n if (finalSlotIds.size !== input.slots.length || finalMemberSlots.size !== input.members.length ||\n [...finalMemberSlots].some((slotId) => !finalSlotIds.has(slotId)) ||\n requireCompleteMembers && (finalSlotIds.size !== finalMemberSlots.size || [...finalSlotIds].some((slotId) => !finalMemberSlots.has(slotId)))) {\n throw sqliteError(\"record-seal-incomplete\", \"finalize-run\", \"final Run does not have exactly one Member per Slot\");\n }\n let contentCount = 0;\n for (const attachment of input.attachments) {\n requireIdentity(attachment.attachmentId, \"attachment.attachmentId\");\n requireIdentity(attachment.ownerRunId, \"attachment.ownerRunId\");\n if (attachment.ownerAttemptId !== undefined)\n requireIdentity(attachment.ownerAttemptId, \"attachment.ownerAttemptId\");\n requireIdentity(attachment.family, \"attachment.family\");\n requireIdentity(attachment.logicalIdentity, \"attachment.logicalIdentity\");\n if (attachment.ownerRunId !== input.runId || (attachment.ownerKind === \"attempt\") !== (attachment.ownerAttemptId !== undefined)) {\n throw sqliteError(\"record-content-invalid\", \"finalize-run\", `Attachment ${attachment.attachmentId} owner closure is invalid`);\n }\n requireBytesDigest(attachment.canonicalBytes, attachment.canonicalDigest, `attachment ${attachment.attachmentId}`);\n requireBytesDigest(attachment.logicalInventoryBytes, attachment.inventoryDigest, `attachment ${attachment.attachmentId} inventory`);\n assertBoundedRow(\"finalize-run\", `attachment ${attachment.attachmentId}`, attachment.canonicalBytes);\n assertBoundedRow(\"finalize-run\", `attachment ${attachment.attachmentId} inventory`, attachment.logicalInventoryBytes);\n byteCount += attachment.canonicalBytes.byteLength + attachment.logicalInventoryBytes.byteLength;\n contentCount += attachment.contents.length;\n for (const content of attachment.contents) {\n requireOrdinal(content.byteLength, `content ${content.contentId}.byteLength`);\n requireOrdinal(content.chunkCount, `content ${content.contentId}.chunkCount`);\n requireDigest(content.digest, `content ${content.contentId}.digest`);\n }\n }\n assertBoundedBatch(\"finalize-run\", 2 + input.slots.length + input.attempts.length + input.members.length + input.attachments.length + contentCount, byteCount);\n}\nfunction assertFinalInputStored(connection: RecordDatabase, input: StageRunCoreInput): void {\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"writer_generation\") !== input.writerGeneration || text(header, \"started_at\") !== input.startedAt ||\n text(header, \"core_digest\") !== input.runCoreDigest || !bytesEqual(bytes(header, \"core_payload\"), input.runCoreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Run ${input.runId} conflicts with committed finalization`);\n }\n const record = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne19_record_metadata WHERE singleton=1\").get() as unknown as Row;\n if (text(record, \"record_digest\") !== input.recordCoreDigest || !bytesEqual(bytes(record, \"record_payload\"), input.recordCoreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", \"Project RecordDocument conflicts with committed finalization\");\n }\n const counts = recordStatement(connection, `SELECT (SELECT count(*) FROM ne19_slots WHERE run_id=?) slots,\n (SELECT count(*) FROM ne19_attempts WHERE origin_run_id=?) attempts,(SELECT count(*) FROM ne19_members WHERE target_run_id=?) members,\n (SELECT count(*) FROM ne19_attachments WHERE owner_run_id=?) attachments`).get(input.runId, input.runId, input.runId, input.runId) as unknown as Row;\n if (integer(counts, \"slots\") !== input.slots.length || integer(counts, \"attempts\") !== input.attempts.length ||\n integer(counts, \"members\") !== input.members.length || integer(counts, \"attachments\") !== input.attachments.length) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", \"committed inventory differs from retry input\");\n }\n for (const slot of input.slots) {\n const stored = recordStatement(connection, \"SELECT ordinal,core_payload,core_digest FROM ne19_slots WHERE run_id=? AND slot_id=?\").get(input.runId, slot.slotId) as unknown as Row | undefined;\n if (stored === undefined || integer(stored, \"ordinal\") !== slot.ordinal || text(stored, \"core_digest\") !== slot.coreDigest || !bytesEqual(bytes(stored, \"core_payload\"), slot.coreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Slot ${slot.slotId} conflicts with committed finalization`);\n }\n }\n for (const attempt of input.attempts) {\n const stored = recordStatement(connection, \"SELECT attempt_locator,core_payload,core_digest FROM ne19_attempts WHERE origin_run_id=? AND attempt_id=?\").get(input.runId, attempt.attemptId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"attempt_locator\") !== attempt.attemptLocator || text(stored, \"core_digest\") !== attempt.coreDigest || !bytesEqual(bytes(stored, \"core_payload\"), attempt.coreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Attempt ${attempt.attemptId} conflicts with committed finalization`);\n }\n }\n for (const member of input.members) {\n const stored = recordStatement(connection, \"SELECT origin_run_id,attempt_id,action,core_payload,core_digest FROM ne19_members WHERE target_run_id=? AND slot_id=?\").get(input.runId, member.slotId) as unknown as Row | undefined;\n if (stored === undefined || optionalText(stored, \"origin_run_id\") !== member.originRunId || optionalText(stored, \"attempt_id\") !== member.attemptId ||\n text(stored, \"action\") !== member.action || text(stored, \"core_digest\") !== member.coreDigest || !bytesEqual(bytes(stored, \"core_payload\"), member.coreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Member ${member.slotId} conflicts with committed finalization`);\n }\n }\n for (const attachment of input.attachments) {\n const stored = recordStatement(connection, `SELECT owner_kind,owner_run_id,owner_attempt_id,family,family_revision,logical_identity,canonical_payload,canonical_digest,logical_inventory,inventory_digest\n FROM ne19_attachments WHERE attachment_id=? AND owner_run_id=?`).get(attachment.attachmentId, input.runId) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"owner_kind\") !== attachment.ownerKind || text(stored, \"owner_run_id\") !== attachment.ownerRunId ||\n optionalText(stored, \"owner_attempt_id\") !== attachment.ownerAttemptId || text(stored, \"family\") !== attachment.family ||\n integer(stored, \"family_revision\") !== attachment.familyRevision ||\n text(stored, \"logical_identity\") !== attachment.logicalIdentity || text(stored, \"canonical_digest\") !== attachment.canonicalDigest ||\n !bytesEqual(bytes(stored, \"canonical_payload\"), attachment.canonicalBytes) || text(stored, \"inventory_digest\") !== attachment.inventoryDigest ||\n !bytesEqual(bytes(stored, \"logical_inventory\"), attachment.logicalInventoryBytes)) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Attachment ${attachment.attachmentId} conflicts with committed finalization`);\n }\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne19_contents WHERE attachment_id=?\").get(attachment.attachmentId) as unknown as Row;\n if (integer(count, \"count\") !== attachment.contents.length)\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Attachment ${attachment.attachmentId} Content inventory differs`);\n for (const content of attachment.contents) {\n const persisted = recordStatement(connection, \"SELECT logical_handle,byte_length,overall_digest,chunk_count FROM ne19_contents WHERE content_id=? AND attachment_id=?\")\n .get(content.contentId, attachment.attachmentId) as unknown as Row | undefined;\n if (persisted === undefined || text(persisted, \"logical_handle\") !== content.logicalHandle || integer(persisted, \"byte_length\") !== content.byteLength ||\n text(persisted, \"overall_digest\") !== content.digest || integer(persisted, \"chunk_count\") !== content.chunkCount) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Content ${content.contentId} conflicts with committed finalization`);\n }\n }\n }\n}\nfunction preparedSealBatch(connection: RecordDatabase, runId: string, expectedIdentity: string, expectedCount: number, startOrdinal: number, maximumRows: number): readonly SealEntry[] {\n const cached = sealEntryCache(connection).get(runId);\n if (cached === undefined || cached.count !== expectedCount || cached.identity !== expectedIdentity) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"bounded Seal staging requires a prepared closure capability\");\n }\n const result: SealEntry[] = [];\n let expectedOrdinal = startOrdinal;\n for (const row of recordStatement(connection, `SELECT ordinal,entry_kind,logical_identity,digest\n FROM temp.niceeval_prepared_seal_ordered WHERE run_id=? AND ordinal>=? ORDER BY ordinal LIMIT ?`)\n .iterate(runId, startOrdinal, maximumRows) as unknown as Iterable<Row>) {\n if (integer(row, \"ordinal\") !== expectedOrdinal) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"prepared Seal closure is not a contiguous ordered prefix\");\n }\n result.push(Object.freeze({\n kind: sealEntryKind(row, \"entry_kind\"),\n logicalIdentity: text(row, \"logical_identity\"),\n digest: text(row, \"digest\"),\n }));\n expectedOrdinal += 1;\n }\n if (startOrdinal < expectedCount && result.length === 0) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"prepared Seal closure ended before its declared count\");\n }\n return Object.freeze(result);\n}\nexport function stageSealEntries(connection: RecordDatabase, input: StageSealEntriesInput): StageSealEntriesResult {\n requireOrdinal(input.startOrdinal, \"Seal batch startOrdinal\");\n if (!Number.isSafeInteger(input.maximumRows) || input.maximumRows < 1 || input.maximumRows > 256) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"prepare-seal\", \"Seal batch maximumRows must be between 1 and 256\");\n }\n const existing = runRow(connection, input.runId);\n if (existing !== undefined && text(existing, \"writer_generation\") === input.writerGeneration && text(existing, \"status\") === \"sealed\") {\n const count = integer(existing, \"candidate_seal_entry_count\");\n if (text(existing, \"logical_seal_identity\") !== input.expectedLogicalSealIdentity) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"sealed retry carries a different logical Seal identity\");\n }\n if (integer(existing, \"candidate_seal_staged_count\") !== count) {\n throw sqliteError(\"record-seal-incomplete\", \"prepare-seal\", \"sealed Run does not have its complete staged Seal inventory\");\n }\n return Object.freeze({ nextOrdinal: null, stagedCount: 0 });\n }\n const header = assertRunFence(connection, input.runId, input.writerGeneration, \"prepare-seal\", \"sealing\");\n const expectedCount = integer(header, \"candidate_seal_entry_count\");\n const stagedBefore = integer(header, \"candidate_seal_staged_count\");\n if (text(header, \"candidate_seal_identity\") !== input.expectedLogicalSealIdentity || input.startOrdinal > expectedCount || input.startOrdinal > stagedBefore) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"Seal batch does not match the finalization fence\");\n }\n const batch = preparedSealBatch(connection, input.runId, input.expectedLogicalSealIdentity, expectedCount, input.startOrdinal, input.maximumRows);\n withImmediateTransaction(connection, input.deadlineEpochMs, \"prepare-seal\", () => {\n const current = assertRunFence(connection, input.runId, input.writerGeneration, \"prepare-seal\", \"sealing\");\n if (integer(current, \"candidate_seal_staged_count\") !== stagedBefore) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"Seal staged prefix changed before batch transaction\");\n }\n const insert = recordStatement(connection, \"INSERT OR IGNORE INTO ne19_run_seal_entries(run_id,ordinal,entry_kind,logical_identity,digest) VALUES (?,?,?,?,?)\");\n const read = recordStatement(connection, \"SELECT entry_kind,logical_identity,digest FROM ne19_run_seal_entries WHERE run_id=? AND ordinal=?\");\n batch.forEach((entry, index) => {\n const ordinal = input.startOrdinal + index;\n insert.run(input.runId, ordinal, entry.kind, entry.logicalIdentity, entry.digest);\n const stored = read.get(input.runId, ordinal) as unknown as Row | undefined;\n if (stored === undefined || text(stored, \"entry_kind\") !== entry.kind || text(stored, \"logical_identity\") !== entry.logicalIdentity ||\n text(stored, \"digest\") !== entry.digest) {\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", `Seal candidate ${ordinal} conflicts with its durable retry`);\n }\n });\n const next = input.startOrdinal + batch.length;\n const advanced = recordStatement(connection, `UPDATE ne19_runs SET candidate_seal_staged_count=?\n WHERE run_id=? AND status='sealing' AND candidate_seal_staged_count=?`).run(Math.max(stagedBefore, next), input.runId, stagedBefore);\n if (Number(advanced.changes) !== 1)\n throw sqliteError(\"record-command-conflict\", \"prepare-seal\", \"Seal staged prefix changed during batch transaction\");\n });\n const next = input.startOrdinal + batch.length;\n return Object.freeze({ nextOrdinal: next === expectedCount ? null : next, stagedCount: batch.length });\n}\n/** Reads the durable identity shared by every Run, including after a project move. */\nexport function readRecordCore(connection: RecordDatabase): Uint8Array | undefined {\n const row = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne19_record_metadata WHERE singleton=1\").get() as Row | undefined;\n if (row === undefined || row.record_payload === null)\n return undefined;\n const payload = bytes(row, \"record_payload\");\n requireBytesDigest(payload, text(row, \"record_digest\"), \"record core\");\n return transferableBytes(payload);\n}\nfunction preserveRecordCore(connection: RecordDatabase, input: StageRunCoreInput): void {\n const existing = readRecordCore(connection);\n if (existing !== undefined && !bytesEqual(existing, input.recordCoreBytes)) {\n throw sqliteError(\"record-command-conflict\", \"publish-record-core\", \"Existing Record identity cannot be replaced\");\n }\n if (existing === undefined) {\n recordStatement(connection, \"UPDATE ne19_record_metadata SET record_payload=?,record_digest=? WHERE singleton=1\").run(input.recordCoreBytes, input.recordCoreDigest);\n }\n}\n/** One bounded transaction that publishes final Core/metadata but not a Seal fence. */\nexport function stageRunFinalMetadata(connection: RecordDatabase, input: StageRunCoreInput): void {\n validateFinalInput(input);\n const experimentId = validatedRunExperimentId(input.runCoreBytes, input.runId);\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"experiment_id\") !== experimentId || text(header, \"writer_generation\") !== input.writerGeneration || text(header, \"started_at\") !== input.startedAt) {\n throw sqliteError(\"record-command-conflict\", \"finalize-run\", `Run ${input.runId} admission fence is missing or changed`);\n }\n if (text(header, \"status\") === \"open\") {\n withImmediateTransaction(connection, input.deadlineEpochMs, \"stage-final-metadata\", () => {\n const current = assertRunFence(connection, input.runId, input.writerGeneration, \"finalize-run\");\n if (text(current, \"status\") !== \"open\")\n throw sqliteError(\"record-command-conflict\", \"stage-final-metadata\", \"Run final metadata fence changed\");\n preserveRecordCore(connection, input);\n recordStatement(connection, \"UPDATE ne19_runs SET core_payload=?,core_digest=? WHERE run_id=? AND status='open'\").run(input.runCoreBytes, input.runCoreDigest, input.runId);\n for (const slot of input.slots)\n recordStatement(connection, \"INSERT OR IGNORE INTO ne19_slots(run_id,slot_id,ordinal,core_payload,core_digest) VALUES (?,?,?,?,?)\").run(input.runId, slot.slotId, slot.ordinal, slot.coreBytes, slot.coreDigest);\n for (const attempt of input.attempts)\n recordStatement(connection, \"UPDATE ne19_attempts SET core_payload=?,core_digest=? WHERE origin_run_id=? AND attempt_id=?\").run(attempt.coreBytes, attempt.coreDigest, input.runId, attempt.attemptId);\n for (const member of input.members)\n recordStatement(connection, \"INSERT OR REPLACE INTO ne19_members(target_run_id,slot_id,origin_run_id,attempt_id,action,core_payload,core_digest) VALUES (?,?,?,?,?,?,?)\")\n .run(input.runId, member.slotId, member.originRunId ?? null, member.attemptId ?? null, member.action, member.coreBytes, member.coreDigest);\n for (const attachment of input.attachments) {\n recordStatement(connection, `UPDATE ne19_attachments SET logical_identity=?,canonical_payload=?,canonical_digest=?,logical_inventory=?,inventory_digest=?\n WHERE attachment_id=? AND owner_run_id=? AND NOT (owner_kind='attempt' AND EXISTS\n (SELECT 1 FROM ne19_attempts WHERE origin_run_id=ne19_attachments.owner_run_id AND attempt_id=ne19_attachments.owner_attempt_id AND publication_state='published'))`).run(attachment.logicalIdentity, attachment.canonicalBytes, attachment.canonicalDigest, attachment.logicalInventoryBytes, attachment.inventoryDigest, attachment.attachmentId, input.runId);\n for (const content of attachment.contents)\n recordStatement(connection, `UPDATE ne19_contents SET byte_length=?,overall_digest=?,chunk_count=?\n WHERE content_id=? AND attachment_id=? AND NOT EXISTS (SELECT 1 FROM ne19_attachments a JOIN ne19_attempts at\n ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id\n WHERE a.attachment_id=ne19_contents.attachment_id AND a.owner_kind='attempt' AND at.publication_state='published')`)\n .run(content.byteLength, content.digest, content.chunkCount, content.contentId, attachment.attachmentId);\n }\n bumpMutationSequence(connection, input.runId);\n assertFinalInputStored(connection, input);\n });\n }\n assertFinalInputStored(connection, input);\n}\n/** Publishes the closed Core/attachments available for completed Attempts while the Run remains open. */\nexport function stageRunPublicationMetadata(connection: RecordDatabase, input: StageRunCoreInput): void {\n validateFinalInput(input, false);\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"writer_generation\") !== input.writerGeneration || text(header, \"started_at\") !== input.startedAt) {\n throw sqliteError(\"record-command-conflict\", \"publish-attempt-metadata\", `Run ${input.runId} admission fence is missing or changed`);\n }\n withImmediateTransaction(connection, input.deadlineEpochMs, \"publish-attempt-metadata\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"publish-attempt-metadata\");\n preserveRecordCore(connection, input);\n recordStatement(connection, \"UPDATE ne19_runs SET core_payload=?,core_digest=? WHERE run_id=? AND status='open'\").run(input.runCoreBytes, input.runCoreDigest, input.runId);\n for (const slot of input.slots)\n recordStatement(connection, \"INSERT OR REPLACE INTO ne19_slots(run_id,slot_id,ordinal,core_payload,core_digest) VALUES (?,?,?,?,?)\").run(input.runId, slot.slotId, slot.ordinal, slot.coreBytes, slot.coreDigest);\n for (const attempt of input.attempts)\n recordStatement(connection, `UPDATE ne19_attempts SET core_payload=?,core_digest=?,\n publication_state=CASE WHEN publication_state='staging' THEN 'sealing' ELSE publication_state END\n WHERE origin_run_id=? AND attempt_id=?`).run(attempt.coreBytes, attempt.coreDigest, input.runId, attempt.attemptId);\n for (const member of input.members)\n recordStatement(connection, \"INSERT OR REPLACE INTO ne19_members(target_run_id,slot_id,origin_run_id,attempt_id,action,core_payload,core_digest) VALUES (?,?,?,?,?,?,?)\")\n .run(input.runId, member.slotId, member.originRunId ?? null, member.attemptId ?? null, member.action, member.coreBytes, member.coreDigest);\n for (const attachment of input.attachments) {\n recordStatement(connection, `UPDATE ne19_attachments SET logical_identity=?,canonical_payload=?,canonical_digest=?,logical_inventory=?,inventory_digest=?\n WHERE attachment_id=? AND owner_run_id=? AND NOT (owner_kind='attempt' AND EXISTS\n (SELECT 1 FROM ne19_attempts WHERE origin_run_id=ne19_attachments.owner_run_id AND attempt_id=ne19_attachments.owner_attempt_id AND publication_state='published'))`).run(attachment.logicalIdentity, attachment.canonicalBytes, attachment.canonicalDigest, attachment.logicalInventoryBytes, attachment.inventoryDigest, attachment.attachmentId, input.runId);\n for (const content of attachment.contents)\n recordStatement(connection, `UPDATE ne19_contents SET byte_length=?,overall_digest=?,chunk_count=?\n WHERE content_id=? AND attachment_id=? AND NOT EXISTS (SELECT 1 FROM ne19_attachments a JOIN ne19_attempts at\n ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id\n WHERE a.attachment_id=ne19_contents.attachment_id AND a.owner_kind='attempt' AND at.publication_state='published')`)\n .run(content.byteLength, content.digest, content.chunkCount, content.contentId, attachment.attachmentId);\n }\n bumpMutationSequence(connection, input.runId);\n });\n}\n/** Heavy closure verification is read-only and therefore holds no FIFO writer ticket. */\nexport function prepareRunFinalization(connection: RecordDatabase, input: PrepareRunFinalizationInput): PreparedRunFinalization {\n if (Date.now() >= input.deadlineEpochMs)\n throw sqliteError(\"record-resource-limit-exceeded\", \"prepare-finalization\", \"finalization preparation exceeded its deadline\");\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"writer_generation\") !== input.writerGeneration) {\n throw sqliteError(\"record-command-conflict\", \"prepare-finalization\", \"Run admission fence is missing or changed\");\n }\n const status = text(header, \"status\");\n if (status !== \"open\" && status !== \"sealing\" && status !== \"sealed\") {\n throw sqliteError(\"record-command-conflict\", \"prepare-finalization\", `Run ${input.runId} is not finalizable`);\n }\n const mutationSequence = integer(header, \"mutation_sequence\");\n // Every append transaction already validates the exact chunk bytes/digest\n // pair before committing. Preparation therefore validates the durable\n // logical/ordinal/length closure and streams only stored digests into a\n // disk-backed canonical sort. Exact byte re-hashing remains mandatory for\n // pinned readers and full-database verification.\n verifyRunPayloadClosures(connection, input.runId, false);\n const prepared = spillPreparedSealEntries(connection, input.runId, (visit) => visitRunSealEntries(connection, input.runId, visit, false));\n const candidateIdentity = prepared.identity;\n if (Date.now() >= input.deadlineEpochMs)\n throw sqliteError(\"record-resource-limit-exceeded\", \"prepare-finalization\", \"finalization preparation exceeded its deadline\");\n const after = runRow(connection, input.runId)!;\n if (integer(after, \"mutation_sequence\") !== mutationSequence || text(after, \"status\") !== status) {\n throw sqliteError(\"record-command-conflict\", \"prepare-finalization\", \"Run staging changed during closure preparation\");\n }\n if (status !== \"open\") {\n const storedIdentity = status === \"sealed\" ? text(after, \"logical_seal_identity\") : text(after, \"candidate_seal_identity\");\n if (storedIdentity !== candidateIdentity || integer(after, \"candidate_seal_entry_count\") !== prepared.count) {\n throw sqliteError(\"record-seal-incomplete\", \"prepare-finalization\", \"durable finalization fence differs from its closure\");\n }\n }\n sealEntryCache(connection).set(input.runId, Object.freeze({ identity: candidateIdentity, count: prepared.count, mutationSequence }));\n return Object.freeze({ runId: input.runId, writerGeneration: input.writerGeneration, logicalSealIdentity: candidateIdentity, sealEntryCount: prepared.count, mutationSequence });\n}\n/** One bounded transaction atomically installs the previously prepared fence. */\nexport function fenceRunFinalization(connection: RecordDatabase, input: FenceRunFinalizationInput): RunFinalization {\n const cached = sealEntryCache(connection).get(input.runId);\n if (cached === undefined || cached.mutationSequence !== input.mutationSequence || cached.identity !== input.expectedLogicalSealIdentity ||\n cached.count !== input.expectedSealEntryCount) {\n throw sqliteError(\"record-command-conflict\", \"fence-finalization\", \"prepared finalization capability is missing or changed\");\n }\n const before = runRow(connection, input.runId);\n if (before === undefined || text(before, \"writer_generation\") !== input.writerGeneration) {\n throw sqliteError(\"record-command-conflict\", \"fence-finalization\", \"Run admission fence is missing or changed\");\n }\n if (text(before, \"status\") === \"open\") {\n withImmediateTransaction(connection, input.deadlineEpochMs, \"fence-finalization\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"fence-finalization\");\n const changed = recordStatement(connection, `UPDATE ne19_runs SET status='sealing',candidate_seal_identity=?,candidate_seal_entry_count=?\n WHERE run_id=? AND status='open' AND writer_generation=? AND mutation_sequence=?`).run(input.expectedLogicalSealIdentity, input.expectedSealEntryCount, input.runId, input.writerGeneration, input.mutationSequence);\n if (Number(changed.changes) !== 1)\n throw sqliteError(\"record-command-conflict\", \"fence-finalization\", \"Run staging changed before finalization fence\");\n });\n }\n const header = runRow(connection, input.runId)!;\n const identity = text(header, \"status\") === \"sealed\" ? text(header, \"logical_seal_identity\") : text(header, \"candidate_seal_identity\");\n if (identity !== input.expectedLogicalSealIdentity || integer(header, \"candidate_seal_entry_count\") !== input.expectedSealEntryCount) {\n throw sqliteError(\"record-command-conflict\", \"fence-finalization\", \"durable finalization fence differs from prepared closure\");\n }\n return Object.freeze({ runId: input.runId, writerGeneration: input.writerGeneration, logicalSealIdentity: identity, sealEntryCount: input.expectedSealEntryCount });\n}\n/** Compatibility composite for direct callers without a coordination ticket. */\nexport function finalizeRun(connection: RecordDatabase, input: StageRunCoreInput): RunFinalization {\n stageRunFinalMetadata(connection, input);\n const prepared = prepareRunFinalization(connection, { runId: input.runId, writerGeneration: input.writerGeneration, deadlineEpochMs: input.deadlineEpochMs });\n return fenceRunFinalization(connection, {\n runId: input.runId, writerGeneration: input.writerGeneration, mutationSequence: prepared.mutationSequence,\n expectedLogicalSealIdentity: prepared.logicalSealIdentity, expectedSealEntryCount: prepared.sealEntryCount,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n}\nexport const stageRunCore = stageRunFinalMetadata;\nexport function stageAttachmentReferences(connection: RecordDatabase, input: StageAttachmentReferencesInput): void {\n for (const reference of input.references) {\n requireBytesDigest(reference.canonicalBytes, reference.referenceDigest, `reference ${input.attachmentId}/${reference.ordinal}`);\n assertBoundedRow(\"stage-references\", `reference ${input.attachmentId}/${reference.ordinal}`, reference.canonicalBytes);\n }\n assertBoundedBatch(\"stage-references\", input.references.length, input.references.reduce((sum, value) => sum + value.canonicalBytes.byteLength, 0));\n withImmediateTransaction(connection, input.deadlineEpochMs, \"stage-references\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"stage-references\");\n assertAttachmentFence(connection, input.runId, input.attachmentId, \"stage-references\");\n let changed = false;\n for (const reference of input.references) {\n const stored = recordStatement(connection, `SELECT target_owner_kind,target_family,canonical_payload,reference_digest FROM ne19_attachment_references\n WHERE attachment_id=? AND ordinal=?`).get(input.attachmentId, reference.ordinal) as unknown as Row | undefined;\n if (stored === undefined) {\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne19_attachment_references WHERE attachment_id=?\").get(input.attachmentId) as unknown as Row;\n if (reference.ordinal !== integer(count, \"count\"))\n throw sqliteError(\"record-command-conflict\", \"stage-references\", \"reference batch does not extend the committed prefix\");\n recordStatement(connection, `INSERT INTO ne19_attachment_references(attachment_id,ordinal,target_owner_kind,target_family,canonical_payload,reference_digest)\n VALUES (?,?,?,?,?,?)`).run(input.attachmentId, reference.ordinal, reference.owner, reference.family, reference.canonicalBytes, reference.referenceDigest);\n changed = true;\n }\n else if (text(stored, \"target_owner_kind\") !== reference.owner || text(stored, \"target_family\") !== reference.family ||\n text(stored, \"reference_digest\") !== reference.referenceDigest || !bytesEqual(bytes(stored, \"canonical_payload\"), reference.canonicalBytes))\n throw sqliteError(\"record-command-conflict\", \"stage-references\", `Reference ${input.attachmentId}/${reference.ordinal} conflicts with its committed retry`);\n }\n if (changed)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function stageCollectionItems(connection: RecordDatabase, input: StageCollectionItemsInput): void {\n for (const item of input.items) {\n requireBytesDigest(item.canonicalBytes, item.canonicalDigest, `item ${input.attachmentId}/${item.ordinal}`);\n assertBoundedRow(\"stage-collection-items\", `item ${input.attachmentId}/${item.ordinal}`, item.canonicalBytes);\n const expectedLogicalIdentity = collectionItemLogicalIdentity(item.ordinal, item.canonicalDigest);\n if (item.logicalIdentity !== expectedLogicalIdentity) {\n throw sqliteError(\"record-content-invalid\", \"stage-collection-items\", `Item ${input.attachmentId}/${item.ordinal} logical identity is invalid`);\n }\n }\n assertBoundedBatch(\"stage-collection-items\", input.items.length, input.items.reduce((sum, value) => sum + value.canonicalBytes.byteLength, 0));\n withImmediateTransaction(connection, input.deadlineEpochMs, \"stage-collection-items\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"stage-collection-items\");\n assertAttachmentFence(connection, input.runId, input.attachmentId, \"stage-collection-items\");\n let changed = false;\n // The immediate transaction owns this prefix until commit. Counting for\n // every appended item rescans a growing collection quadratically.\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne19_collection_items WHERE attachment_id=?\").get(input.attachmentId) as unknown as Row;\n let nextOrdinal = integer(count, \"count\");\n for (const item of input.items) {\n const stored = recordStatement(connection, `SELECT logical_identity,canonical_payload,canonical_digest FROM ne19_collection_items\n WHERE attachment_id=? AND ordinal=?`).get(input.attachmentId, item.ordinal) as unknown as Row | undefined;\n if (stored === undefined) {\n if (item.ordinal !== nextOrdinal)\n throw sqliteError(\"record-command-conflict\", \"stage-collection-items\", \"collection batch does not extend the committed prefix\");\n recordStatement(connection, `INSERT INTO ne19_collection_items(attachment_id,ordinal,logical_identity,canonical_payload,canonical_digest)\n VALUES (?,?,?,?,?)`).run(input.attachmentId, item.ordinal, item.logicalIdentity, item.canonicalBytes, item.canonicalDigest);\n nextOrdinal += 1;\n changed = true;\n }\n else if (text(stored, \"logical_identity\") !== item.logicalIdentity || text(stored, \"canonical_digest\") !== item.canonicalDigest ||\n !bytesEqual(bytes(stored, \"canonical_payload\"), item.canonicalBytes))\n throw sqliteError(\"record-command-conflict\", \"stage-collection-items\", `Item ${input.attachmentId}/${item.ordinal} conflicts with its committed retry`);\n }\n if (changed)\n bumpMutationSequence(connection, input.runId);\n });\n}\nfunction batchesByBytes<T>(values: readonly T[], bytesOf: (value: T) => number, maxRows = 256): readonly (readonly T[])[] {\n const batches: T[][] = [];\n let batch: T[] = [];\n let byteCount = 0;\n for (const value of values) {\n const size = bytesOf(value);\n if (batch.length > 0 && (batch.length >= maxRows || byteCount + size > RECORD_SQLITE_MAX_PUBLISH_BYTES)) {\n batches.push(batch);\n batch = [];\n byteCount = 0;\n }\n batch.push(value);\n byteCount += size;\n }\n if (batch.length > 0)\n batches.push(batch);\n return batches;\n}\nfunction assertRunHeader(row: Row, input: Pick<StageRunCoreInput, \"runId\" | \"writerGeneration\" | \"startedAt\" | \"runCoreBytes\" | \"runCoreDigest\">): void {\n if (text(row, \"writer_generation\") !== input.writerGeneration ||\n text(row, \"started_at\") !== input.startedAt ||\n text(row, \"core_digest\") !== input.runCoreDigest ||\n digestBytes(bytes(row, \"core_payload\")) !== input.runCoreDigest)\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `run ${input.runId} already exists with a different identity`);\n}\nfunction assertSealedRetryExact(connection: RecordDatabase, input: PersistSealedRunInput): void {\n assertFinalInputStored(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n startedAt: input.startedAt,\n recordCoreBytes: input.recordCoreBytes,\n recordCoreDigest: input.recordCoreDigest,\n runCoreBytes: input.runCoreBytes,\n runCoreDigest: input.runCoreDigest,\n slots: input.slots,\n attempts: input.attempts,\n members: input.members,\n attachments: input.attachments.map((attachment) => ({\n attachmentId: attachment.attachmentId,\n ownerKind: attachment.ownerKind,\n ownerRunId: attachment.ownerRunId,\n ...(attachment.ownerAttemptId === undefined ? {} : { ownerAttemptId: attachment.ownerAttemptId }),\n family: attachment.family,\n familyRevision: attachment.familyRevision,\n logicalIdentity: attachment.logicalIdentity,\n canonicalBytes: attachment.canonicalBytes,\n canonicalDigest: attachment.canonicalDigest,\n logicalInventoryBytes: attachment.logicalInventoryBytes,\n inventoryDigest: attachment.inventoryDigest,\n contents: attachment.contents.map((content) => ({ contentId: content.contentId, logicalHandle: content.logicalHandle,\n byteLength: content.byteLength, digest: content.digest, chunkCount: content.chunks.length })),\n })),\n deadlineEpochMs: input.deadlineEpochMs,\n });\n for (const attachment of input.attachments) {\n const counts = recordStatement(connection, `SELECT\n (SELECT count(*) FROM ne19_attachment_references WHERE attachment_id=?) reference_count,\n (SELECT count(*) FROM ne19_collection_items WHERE attachment_id=?) item_count`).get(attachment.attachmentId, attachment.attachmentId) as unknown as Row;\n if (integer(counts, \"reference_count\") !== attachment.references.length || integer(counts, \"item_count\") !== attachment.collectionItems.length) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Attachment ${attachment.attachmentId} retry inventory differs`);\n }\n for (const reference of attachment.references) {\n const row = recordStatement(connection, `SELECT target_owner_kind,target_family,canonical_payload,reference_digest FROM ne19_attachment_references\n WHERE attachment_id=? AND ordinal=?`).get(attachment.attachmentId, reference.ordinal) as unknown as Row | undefined;\n if (row === undefined || ownerKind(row, \"target_owner_kind\") !== reference.owner || text(row, \"target_family\") !== reference.family ||\n text(row, \"reference_digest\") !== reference.referenceDigest || !bytesEqual(bytes(row, \"canonical_payload\"), reference.canonicalBytes)) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Reference ${attachment.attachmentId}/${reference.ordinal} retry differs`);\n }\n }\n for (const item of attachment.collectionItems) {\n const row = recordStatement(connection, `SELECT logical_identity,canonical_payload,canonical_digest FROM ne19_collection_items\n WHERE attachment_id=? AND ordinal=?`).get(attachment.attachmentId, item.ordinal) as unknown as Row | undefined;\n if (row === undefined || text(row, \"logical_identity\") !== item.logicalIdentity || text(row, \"canonical_digest\") !== item.canonicalDigest ||\n !bytesEqual(bytes(row, \"canonical_payload\"), item.canonicalBytes)) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Collection item ${attachment.attachmentId}/${item.ordinal} retry differs`);\n }\n }\n for (const content of attachment.contents) {\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne19_content_chunks WHERE content_id=?\").get(content.contentId) as unknown as Row;\n if (integer(count, \"count\") !== content.chunks.length)\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Content ${content.contentId} retry chunk count differs`);\n for (const chunk of content.chunks) {\n const row = recordStatement(connection, \"SELECT bytes,chunk_digest FROM ne19_content_chunks WHERE content_id=? AND ordinal=?\")\n .get(content.contentId, chunk.ordinal) as unknown as Row | undefined;\n if (row === undefined || text(row, \"chunk_digest\") !== chunk.chunkDigest || !bytesEqual(bytes(row, \"bytes\"), chunk.bytes)) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `Content chunk ${content.contentId}/${chunk.ordinal} retry differs`);\n }\n }\n }\n }\n}\nexport function persistSealedRun(connection: RecordDatabase, input: PersistSealedRunInput): SealedRunSummary {\n const expectedEntries = validateInput(input);\n const expectedIdentity = logicalSealIdentity(expectedEntries);\n if (input.expectedLogicalSealIdentity !== undefined && input.expectedLogicalSealIdentity !== expectedIdentity) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", \"caller logical Seal identity does not match frozen closure\");\n }\n const existing = runRow(connection, input.runId);\n if (existing !== undefined && text(existing, \"status\") === \"sealed\") {\n assertRunHeader(existing, input);\n assertSealedRetryExact(connection, input);\n if (text(existing, \"logical_seal_identity\") !== expectedIdentity) {\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", `sealed retry for ${input.runId} has a different closure`);\n }\n verifyStoredSeal(connection, input.runId, expectedEntries, expectedIdentity);\n return readSealedRunSummary(connection, input.runId)!;\n }\n beginRun(connection, { ...input, experimentId: validatedRunExperimentId(input.runCoreBytes, input.runId) });\n for (const attempt of input.attempts)\n admitAttempt(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n attemptId: attempt.attemptId,\n attemptLocator: attempt.attemptLocator,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n for (const attachment of input.attachments) {\n admitAttachment(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n attachmentId: attachment.attachmentId,\n ownerKind: attachment.ownerKind,\n ownerRunId: attachment.ownerRunId,\n ...(attachment.ownerAttemptId === undefined ? {} : { ownerAttemptId: attachment.ownerAttemptId }),\n family: attachment.family,\n familyRevision: attachment.familyRevision,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n for (const content of attachment.contents)\n admitContent(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n attachmentId: attachment.attachmentId,\n contentId: content.contentId,\n logicalHandle: content.logicalHandle,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n for (const batch of batchesByBytes(attachment.references, (value) => value.canonicalBytes.byteLength)) {\n stageAttachmentReferences(connection, { runId: input.runId, writerGeneration: input.writerGeneration, attachmentId: attachment.attachmentId, references: batch, deadlineEpochMs: input.deadlineEpochMs });\n }\n for (const batch of batchesByBytes(attachment.collectionItems, (value) => value.canonicalBytes.byteLength)) {\n stageCollectionItems(connection, { runId: input.runId, writerGeneration: input.writerGeneration, attachmentId: attachment.attachmentId, items: batch, deadlineEpochMs: input.deadlineEpochMs });\n }\n for (const content of attachment.contents) {\n for (const batch of batchesByBytes(content.chunks, (value) => value.bytes.byteLength, 128)) {\n appendContentChunks(connection, { runId: input.runId, writerGeneration: input.writerGeneration, contentId: content.contentId, chunks: batch, deadlineEpochMs: input.deadlineEpochMs });\n }\n }\n }\n const finalized = finalizeRun(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n startedAt: input.startedAt,\n recordCoreBytes: input.recordCoreBytes,\n recordCoreDigest: input.recordCoreDigest,\n runCoreBytes: input.runCoreBytes,\n runCoreDigest: input.runCoreDigest,\n slots: input.slots,\n attempts: input.attempts,\n members: input.members,\n attachments: input.attachments.map((attachment) => ({\n attachmentId: attachment.attachmentId,\n ownerKind: attachment.ownerKind,\n ownerRunId: attachment.ownerRunId,\n ...(attachment.ownerAttemptId === undefined ? {} : { ownerAttemptId: attachment.ownerAttemptId }),\n family: attachment.family,\n familyRevision: attachment.familyRevision,\n logicalIdentity: attachment.logicalIdentity,\n canonicalBytes: attachment.canonicalBytes,\n canonicalDigest: attachment.canonicalDigest,\n logicalInventoryBytes: attachment.logicalInventoryBytes,\n inventoryDigest: attachment.inventoryDigest,\n contents: attachment.contents.map((content) => ({ contentId: content.contentId, logicalHandle: content.logicalHandle,\n byteLength: content.byteLength, digest: content.digest, chunkCount: content.chunks.length })),\n })),\n deadlineEpochMs: input.deadlineEpochMs,\n });\n if (finalized.logicalSealIdentity !== expectedIdentity)\n throw sqliteError(\"record-command-conflict\", \"persist-sealed-run\", \"bulk input differs from finalized closure\");\n let sealOrdinal: number | null = 0;\n while (sealOrdinal !== null) {\n sealOrdinal = stageSealEntries(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n expectedLogicalSealIdentity: expectedIdentity,\n startOrdinal: sealOrdinal,\n maximumRows: 256,\n deadlineEpochMs: input.deadlineEpochMs,\n }).nextOrdinal;\n }\n return sealRun(connection, {\n runId: input.runId,\n writerGeneration: input.writerGeneration,\n expectedLogicalSealIdentity: expectedIdentity,\n deadlineEpochMs: input.deadlineEpochMs,\n });\n}\nexport function sealRun(connection: RecordDatabase, input: SealRunInput): SealedRunSummary {\n publishRunSeal(connection, input);\n const header = runRow(connection, input.runId)!;\n verifyStoredSealStreaming(connection, input.runId, input.expectedLogicalSealIdentity, integer(header, \"candidate_seal_entry_count\"));\n return readSealedRunSummary(connection, input.runId)!;\n}\n/** Constant-row atomic publication; staged Seal rows become visible through the parent status. */\nexport function publishRunSeal(connection: RecordDatabase, input: SealRunInput): void {\n const header = runRow(connection, input.runId);\n if (header === undefined || text(header, \"writer_generation\") !== input.writerGeneration) {\n throw sqliteError(\"record-command-conflict\", \"seal-run\", \"Run publication fence changed\");\n }\n if (text(header, \"status\") === \"sealed\") {\n if (text(header, \"logical_seal_identity\") !== input.expectedLogicalSealIdentity) {\n throw sqliteError(\"record-command-conflict\", \"seal-run\", \"sealed retry carries a different logical Seal identity\");\n }\n if (integer(header, \"candidate_seal_staged_count\") !== integer(header, \"candidate_seal_entry_count\")) {\n throw sqliteError(\"record-seal-incomplete\", \"seal-run\", \"sealed Run does not have its complete staged Seal inventory\");\n }\n return;\n }\n if (text(header, \"status\") !== \"sealing\" || text(header, \"candidate_seal_identity\") !== input.expectedLogicalSealIdentity) {\n throw sqliteError(\"record-command-conflict\", \"seal-run\", \"Run is not at the expected finalization fence\");\n }\n if (integer(header, \"candidate_seal_staged_count\") !== integer(header, \"candidate_seal_entry_count\")) {\n throw sqliteError(\"record-seal-incomplete\", \"seal-run\", \"Seal candidate inventory is not completely staged\");\n }\n withImmediateTransaction(connection, input.deadlineEpochMs, \"seal-run\", () => {\n const changed = recordStatement(connection, `UPDATE ne19_runs SET status='sealed',logical_seal_identity=?\n WHERE run_id=? AND status='sealing' AND writer_generation=? AND candidate_seal_identity=?\n AND candidate_seal_staged_count=candidate_seal_entry_count`).run(input.expectedLogicalSealIdentity, input.runId, input.writerGeneration, input.expectedLogicalSealIdentity);\n if (Number(changed.changes) !== 1)\n throw sqliteError(\"record-command-conflict\", \"seal-run\", \"Run publication fence changed before commit\");\n });\n sealEntryCache(connection).delete(input.runId);\n}\nfunction verifyStoredSealStreaming(connection: RecordDatabase, runId: string, identity: string, expectedCount: number): void {\n ensurePreparedSealTables(connection);\n try {\n // Validate every payload byte and every derived logical closure exactly\n // once. The canonical spill may then consume the just-validated Content\n // chunk digests without materializing the BLOBs a second time.\n verifyRunPayloadClosures(connection, runId, true);\n const actual = spillPreparedSealEntries(connection, runId, (visit) => visitRunSealEntries(connection, runId, visit, true, false));\n if (actual.count !== expectedCount || actual.identity !== identity) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} exact Seal identity or count differs from its closure`);\n }\n const statement = recordStatement(connection, `SELECT entry_kind,logical_identity,digest FROM ne19_run_seal_entries\n WHERE run_id=? AND ordinal=?`);\n let ordinal = 0;\n for (const row of recordStatement(connection, `SELECT ordinal,entry_kind,logical_identity,digest\n FROM temp.niceeval_prepared_seal_ordered WHERE run_id=? ORDER BY ordinal`).iterate(runId) as unknown as Iterable<Row>) {\n if (integer(row, \"ordinal\") !== ordinal) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} prepared Seal ordinals are not contiguous`);\n }\n const entry = {\n kind: sealEntryKind(row, \"entry_kind\"),\n logicalIdentity: text(row, \"logical_identity\"),\n digest: text(row, \"digest\"),\n } as const;\n const stored = statement.get(runId, ordinal) as unknown as Row | undefined;\n if (stored === undefined || sealEntryKind(stored, \"entry_kind\") !== entry.kind ||\n text(stored, \"logical_identity\") !== entry.logicalIdentity || text(stored, \"digest\") !== entry.digest) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} Seal entry ${ordinal} differs from its closure`);\n }\n ordinal += 1;\n }\n const storedCount = recordStatement(connection, \"SELECT count(*) AS count FROM ne19_run_seal_entries WHERE run_id=?\").get(runId) as unknown as Row;\n if (ordinal !== expectedCount || integer(storedCount, \"count\") !== ordinal) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} exact Seal does not match its closure`);\n }\n }\n finally {\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_raw WHERE run_id=?\").run(runId);\n recordStatement(connection, \"DELETE FROM temp.niceeval_prepared_seal_ordered WHERE run_id=?\").run(runId);\n }\n}\nfunction verifyStoredSeal(connection: RecordDatabase, runId: string, actual: readonly SealEntry[], identity: string): void {\n if (logicalSealIdentity(actual) !== identity) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `run ${runId} exact Seal does not match its closure`);\n }\n verifyStoredSealStreaming(connection, runId, identity, actual.length);\n}\nexport function verifyAllSealedRuns(connection: RecordDatabase, requireSealedOnly = false, deadlineEpochMs = Date.now() + RECORD_SQLITE_VALIDATION_DEADLINE_MS): number {\n const checkDeadline = (): void => {\n if (!Number.isSafeInteger(deadlineEpochMs) || Date.now() >= deadlineEpochMs) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"verify-database\", \"Record validation exceeded its deadline\");\n }\n };\n checkDeadline();\n const admission = recordStatement(connection, `SELECT\n (SELECT count(*) FROM ne19_runs) run_count,\n (SELECT count(*) FROM ne19_runs)+(SELECT count(*) FROM ne19_slots)+(SELECT count(*) FROM ne19_attempts)+(SELECT count(*) FROM ne19_members)+\n (SELECT count(*) FROM ne19_attachments)+(SELECT count(*) FROM ne19_attachment_references)+(SELECT count(*) FROM ne19_collection_items)+\n (SELECT count(*) FROM ne19_contents)+(SELECT count(*) FROM ne19_content_chunks)+(SELECT count(*) FROM ne19_run_seal_entries) row_count`).get() as unknown as Row;\n if (integer(admission, \"run_count\") > RECORD_SQLITE_MAX_VALIDATION_RUNS || integer(admission, \"row_count\") > RECORD_SQLITE_MAX_VALIDATION_ROWS) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"verify-database\", \"Record validation inventory exceeds its hostile-input ceiling\");\n }\n const integrity = recordStatement(connection, \"PRAGMA quick_check\").all() as unknown as readonly Row[];\n checkDeadline();\n if (integrity.length !== 1 || text(integrity[0]!, \"quick_check\") !== \"ok\") {\n throw sqliteError(\"record-database-invalid\", \"verify-database\", \"SQLite quick_check failed\");\n }\n const foreignKeys = recordStatement(connection, \"PRAGMA foreign_key_check\").all();\n if (foreignKeys.length !== 0)\n throw sqliteError(\"record-database-invalid\", \"verify-database\", \"foreign key check failed\");\n const runRows = recordStatement(connection, \"SELECT run_id,status,logical_seal_identity FROM ne19_runs ORDER BY run_id\")\n .iterate() as unknown as Iterable<Row>;\n let sealed = 0;\n for (const row of runRows) {\n checkDeadline();\n const runId = text(row, \"run_id\");\n const status = text(row, \"status\");\n if (status !== \"sealed\") {\n if (requireSealedOnly)\n throw sqliteError(\"record-database-invalid\", \"verify-database\", `database contains unpublished run ${runId}`);\n continue;\n }\n sealed += 1;\n const header = runRow(connection, runId)!;\n if (integer(header, \"candidate_seal_staged_count\") !== integer(header, \"candidate_seal_entry_count\")) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-database\", `Run ${runId} staged Seal inventory is incomplete`);\n }\n verifyStoredSealStreaming(connection, runId, text(row, \"logical_seal_identity\"), integer(header, \"candidate_seal_entry_count\"));\n }\n checkDeadline();\n return sealed;\n}\nfunction verifyRunPayloadClosures(connection: RecordDatabase, runId: string, verifyPayloadBytes = true): void {\n const attempts = recordStatement(connection, \"SELECT attempt_id,attempt_locator FROM ne19_attempts WHERE origin_run_id=?\")\n .iterate(runId) as unknown as Iterable<Row>;\n for (const attempt of attempts) {\n const attemptId = text(attempt, \"attempt_id\");\n const locator = text(attempt, \"attempt_locator\");\n try {\n requireAttemptLocator(attemptId, locator, \"verify-seal\");\n }\n catch (cause) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", cause instanceof Error ? cause.message : `Attempt ${attemptId} locator is invalid`);\n }\n }\n const attachments = recordStatement(connection, `SELECT attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,\n logical_identity,canonical_digest,logical_inventory,inventory_digest FROM ne19_attachments WHERE owner_run_id=?`)\n .iterate(runId) as unknown as Iterable<Row>;\n for (const attachment of attachments) {\n const attachmentId = text(attachment, \"attachment_id\");\n if (digestBytes(bytes(attachment, \"logical_inventory\")) !== text(attachment, \"inventory_digest\")) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `attachment ${attachmentId} inventory digest is invalid`);\n }\n const owner = ownerKind(attachment, \"owner_kind\");\n const expectedAttachmentId = recordAttachmentId({\n runId: text(attachment, \"owner_run_id\"),\n owner,\n ...(owner === \"attempt\" ? { attemptId: optionalText(attachment, \"owner_attempt_id\") ?? undefined } : {}),\n family: text(attachment, \"family\"),\n });\n const expectedLogicalIdentity = attachmentLogicalIdentity(attachmentId, text(attachment, \"canonical_digest\"), text(attachment, \"inventory_digest\"));\n if (attachmentId !== expectedAttachmentId || text(attachment, \"logical_identity\") !== expectedLogicalIdentity || integer(attachment, \"family_revision\") < 1) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `attachment ${attachmentId} logical identity is invalid`);\n }\n for (const [label, counts] of [\n [\"reference\", recordStatement(connection, \"SELECT count(*) AS count,min(ordinal) AS minimum,max(ordinal) AS maximum FROM ne19_attachment_references WHERE attachment_id=?\").get(attachmentId)],\n [\"collection item\", recordStatement(connection, \"SELECT count(*) AS count,min(ordinal) AS minimum,max(ordinal) AS maximum FROM ne19_collection_items WHERE attachment_id=?\").get(attachmentId)],\n ] as const) {\n const decoded = counts as unknown as Row;\n const count = integer(decoded, \"count\");\n if (count > 0 && (optionalInteger(decoded, \"minimum\") !== 0 || optionalInteger(decoded, \"maximum\") !== count - 1)) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `attachment ${attachmentId} ${label} ordinals are not contiguous`);\n }\n }\n }\n const items = recordStatement(connection, `SELECT i.attachment_id,i.ordinal,i.logical_identity,i.canonical_digest FROM ne19_collection_items i\n JOIN ne19_attachments a ON a.attachment_id=i.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>;\n for (const item of items) {\n const expected = collectionItemLogicalIdentity(integer(item, \"ordinal\"), text(item, \"canonical_digest\"));\n if (text(item, \"logical_identity\") !== expected) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `collection item ${text(item, \"attachment_id\")}/${integer(item, \"ordinal\")} logical identity is invalid`);\n }\n }\n const coverage = recordStatement(connection, `SELECT\n (SELECT count(*) FROM ne19_slots WHERE run_id=?) slot_count,\n (SELECT count(*) FROM ne19_members WHERE target_run_id=?) member_count,\n (SELECT count(*) FROM ne19_slots s LEFT JOIN ne19_members m ON m.target_run_id=s.run_id AND m.slot_id=s.slot_id\n WHERE s.run_id=? AND m.slot_id IS NULL) missing_count`).get(runId, runId, runId) as unknown as Row;\n if (integer(coverage, \"slot_count\") !== integer(coverage, \"member_count\") || integer(coverage, \"missing_count\") !== 0) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `Run ${runId} does not have exactly one Member per Slot`);\n }\n const references = recordStatement(connection, `SELECT r.attachment_id,r.ordinal,r.target_owner_kind,r.target_family,\n a.owner_kind source_owner_kind,a.owner_run_id,a.owner_attempt_id FROM ne19_attachment_references r\n JOIN ne19_attachments a ON a.attachment_id=r.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>;\n for (const reference of references) {\n const targetOwner = text(reference, \"target_owner_kind\");\n const sourceOwner = text(reference, \"source_owner_kind\");\n if (targetOwner === \"attempt\" && sourceOwner !== \"attempt\") {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `run-owned attachment ${text(reference, \"attachment_id\")} cannot resolve an attempt reference`);\n }\n const target = targetOwner === \"run\"\n ? recordStatement(connection, `SELECT count(*) AS count FROM ne19_attachments WHERE owner_kind='run' AND owner_run_id=? AND family=?`)\n .get(text(reference, \"owner_run_id\"), text(reference, \"target_family\")) as unknown as Row\n : recordStatement(connection, `SELECT count(*) AS count FROM ne19_attachments WHERE owner_kind='attempt' AND owner_run_id=? AND owner_attempt_id=? AND family=?`)\n .get(text(reference, \"owner_run_id\"), text(reference, \"owner_attempt_id\"), text(reference, \"target_family\")) as unknown as Row;\n if (integer(target, \"count\") !== 1) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `reference ${text(reference, \"attachment_id\")}/${integer(reference, \"ordinal\")} target family is missing`);\n }\n }\n const contents = recordStatement(connection, `SELECT c.content_id,c.attachment_id,c.logical_handle,c.byte_length,c.overall_digest,c.chunk_count FROM ne19_contents c\n JOIN ne19_attachments a ON a.attachment_id=c.attachment_id WHERE a.owner_run_id=?`).iterate(runId) as unknown as Iterable<Row>;\n for (const content of contents) {\n const contentId = text(content, \"content_id\");\n const expectedContentId = recordContentId(text(content, \"attachment_id\"), text(content, \"logical_handle\"));\n if (contentId !== expectedContentId)\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId} logical handle is invalid`);\n if (verifyPayloadBytes) {\n const hash = createHash(\"sha256\");\n let byteLength = 0;\n let ordinal = 0;\n const chunks = recordStatement(connection, \"SELECT ordinal,bytes,chunk_digest FROM ne19_content_chunks WHERE content_id=? ORDER BY ordinal\")\n .iterate(contentId) as unknown as Iterable<Row>;\n for (const chunk of chunks) {\n if (integer(chunk, \"ordinal\") !== ordinal)\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId} chunk ordinals are invalid`);\n const value = bytes(chunk, \"bytes\");\n if (digestBytes(value) !== text(chunk, \"chunk_digest\"))\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId}/${ordinal} digest is invalid`);\n hash.update(value);\n byteLength += value.byteLength;\n ordinal += 1;\n }\n if (ordinal !== integer(content, \"chunk_count\") || byteLength !== integer(content, \"byte_length\") || hash.digest(\"hex\") !== text(content, \"overall_digest\")) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId} whole digest is invalid`);\n }\n }\n else {\n const aggregate = recordStatement(connection, `SELECT count(*) AS count,min(ordinal) AS minimum,max(ordinal) AS maximum,\n coalesce(sum(length(bytes)),0) AS byte_length FROM ne19_content_chunks WHERE content_id=?`).get(contentId) as unknown as Row;\n const chunkCount = integer(content, \"chunk_count\");\n if (integer(aggregate, \"count\") !== chunkCount || integer(aggregate, \"byte_length\") !== integer(content, \"byte_length\") ||\n (chunkCount > 0 && (optionalInteger(aggregate, \"minimum\") !== 0 || optionalInteger(aggregate, \"maximum\") !== chunkCount - 1))) {\n throw sqliteError(\"record-seal-incomplete\", \"verify-seal\", `content ${contentId} durable chunk closure is invalid`);\n }\n for (const chunk of recordStatement(connection, \"SELECT chunk_digest FROM ne19_content_chunks WHERE content_id=?\").iterate(contentId) as unknown as Iterable<Row>) {\n requireDigest(text(chunk, \"chunk_digest\"), `content ${contentId} chunk digest`);\n }\n }\n }\n}\n/** Summary metadata never materializes Core, Attachment payload or collection rows. */\nexport function readSealedRunSummary(connection: RecordDatabase, runId: string): SealedRunSummary | undefined {\n const row = recordStatement(connection, `SELECT r.run_id,r.writer_generation,r.started_at,\n coalesce(r.logical_seal_identity,'published:' || (SELECT max(p.published_revision)\n FROM ne19_attempt_publications p WHERE p.origin_run_id=r.run_id)) logical_seal_identity,\n (SELECT count(*) FROM ne19_slots WHERE run_id=r.run_id) slot_count,\n CASE WHEN EXISTS (SELECT 1 FROM ne19_run_resources WHERE run_id=r.run_id) THEN\n (SELECT count(*) FROM ne19_run_slot_bindings WHERE target_run_id=r.run_id)+\n (SELECT count(*) FROM ne19_run_slot_absences WHERE run_id=r.run_id)\n ELSE (SELECT count(*) FROM ne19_members WHERE target_run_id=r.run_id) END member_count,\n (SELECT count(*) FROM ne19_attempts a WHERE a.origin_run_id=r.run_id AND\n (NOT EXISTS (SELECT 1 FROM ne19_run_resources WHERE run_id=r.run_id) OR EXISTS\n (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=a.origin_run_id AND p.attempt_id=a.attempt_id))) attempt_count,\n (SELECT count(*) FROM ne19_attachments a WHERE a.owner_run_id=r.run_id AND a.canonical_payload IS NOT NULL AND\n (a.owner_kind='run' OR NOT EXISTS (SELECT 1 FROM ne19_run_resources WHERE run_id=r.run_id) OR EXISTS\n (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id))) attachment_count,\n (SELECT count(*) FROM ne19_contents c JOIN ne19_attachments a ON a.attachment_id=c.attachment_id\n WHERE a.owner_run_id=r.run_id AND a.canonical_payload IS NOT NULL AND\n (a.owner_kind='run' OR NOT EXISTS (SELECT 1 FROM ne19_run_resources WHERE run_id=r.run_id) OR EXISTS\n (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id))) content_count,\n (SELECT coalesce(sum(c.byte_length),0) FROM ne19_contents c JOIN ne19_attachments a ON a.attachment_id=c.attachment_id\n WHERE a.owner_run_id=r.run_id AND a.canonical_payload IS NOT NULL AND\n (a.owner_kind='run' OR NOT EXISTS (SELECT 1 FROM ne19_run_resources WHERE run_id=r.run_id) OR EXISTS\n (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id))) content_bytes,\n (SELECT count(*) FROM ne19_run_seal_entries WHERE run_id=r.run_id) seal_count\n FROM ne19_runs r WHERE r.run_id=? AND NOT EXISTS\n (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=r.run_id)\n AND (r.status='sealed' OR EXISTS (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=r.run_id))`).get(runId) as Row | undefined;\n if (row === undefined)\n return undefined;\n return Object.freeze({ runId: text(row, \"run_id\"), writerGeneration: text(row, \"writer_generation\"),\n startedAt: text(row, \"started_at\"), logicalSealIdentity: text(row, \"logical_seal_identity\"),\n slotCount: integer(row, \"slot_count\"), memberCount: integer(row, \"member_count\"), attemptCount: integer(row, \"attempt_count\"),\n attachmentCount: integer(row, \"attachment_count\"), contentCount: integer(row, \"content_count\"),\n contentByteLength: integer(row, \"content_bytes\"), sealEntryCount: integer(row, \"seal_count\") });\n}\n/** Pinned publication identity, plus a metadata-only count; no Seal hashing. */\nexport function readSealedRunCutoff(connection: RecordDatabase, identity: string): SealedRunCutoff {\n const row = recordStatement(connection, `SELECT count(*) count FROM ne19_runs r\n WHERE NOT EXISTS (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=r.run_id)\n AND (status='sealed' OR EXISTS (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=r.run_id))`).get() as Row;\n return Object.freeze({ identity, runCount: integer(row, \"count\") });\n}\n/** Filter lightweight Run metadata before loading any selected Core or payload. */\nexport function findSourceBarrierCandidate(connection: RecordDatabase, request: SourceBarrierRequest, cutoffRevision: number): SourceBarrierCandidate | undefined {\n requireIdentity(request.experimentId, \"experimentId\");\n requireIdentity(request.evalId, \"evalId\");\n if (!Number.isSafeInteger(request.attemptOrdinal) || request.attemptOrdinal < 0) {\n throw sqliteError(\"record-content-invalid\", \"find-source-barrier\", \"Attempt ordinal must be non-negative\");\n }\n // Resource identity and expected membership, including empty active Runs,\n // select the barrier before any Core or policy evidence is loaded.\n const current = rows(connection, `SELECT r.run_id,r.created_revision\n FROM ne19_run_resources r\n WHERE r.experiment_id=? AND r.created_revision<=? AND r.run_id<>?\n AND NOT EXISTS (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=r.run_id)\n AND EXISTS (SELECT 1 FROM ne19_run_expected_slots s\n WHERE s.eval_id=? AND s.attempt_ordinal=? AND s.run_id=r.run_id)\n ORDER BY r.created_revision DESC,r.run_id COLLATE BINARY DESC LIMIT 1`, request.experimentId, cutoffRevision, request.excludeRunId ?? \"\", request.evalId, request.attemptOrdinal)[0];\n if (current !== undefined)\n return Object.freeze({ runId: text(current, \"run_id\"), createdRevision: integer(current, \"created_revision\") });\n // Legacy Runs deliberately have no fabricated resource/revision. Inspect\n // only their indexed Experiment's expected rows, never unrelated Core.\n // Malformed expected rows remain candidates so validation cannot fall back.\n const legacy = rows(connection, `SELECT r.run_id FROM ne19_runs r\n WHERE r.experiment_id=? AND r.status='sealed' AND r.run_id<>?\n AND NOT EXISTS (SELECT 1 FROM ne19_run_resources rr WHERE rr.run_id=r.run_id)\n AND NOT EXISTS (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=r.run_id)\n AND EXISTS (SELECT 1 FROM ne19_slots s WHERE s.run_id=r.run_id AND\n CASE WHEN json_valid(CAST(s.core_payload AS TEXT)) THEN\n CASE WHEN json_type(CAST(s.core_payload AS TEXT),'$.evalId') IS NOT 'text' OR\n json_type(CAST(s.core_payload AS TEXT),'$.attemptOrdinal') IS NOT 'integer' THEN 1\n ELSE (json_extract(CAST(s.core_payload AS TEXT),'$.evalId')=? AND\n json_extract(CAST(s.core_payload AS TEXT),'$.attemptOrdinal')=?) END\n ELSE 1 END)\n ORDER BY r.run_id COLLATE BINARY DESC LIMIT 1`, request.experimentId, request.excludeRunId ?? \"\", request.evalId, request.attemptOrdinal)[0];\n return legacy === undefined ? undefined : Object.freeze({ runId: text(legacy, \"run_id\"), createdRevision: 0 });\n}\n/** Locate adoption proofs for one exact Attempt without scanning Run Core. */\nexport function findAcceptedAttemptRunIds(connection: RecordDatabase, request: {\n readonly experimentId: string;\n readonly originRunId: string;\n readonly attemptId: string;\n readonly bindingRevision: number;\n}, cutoffRevision: number): readonly string[] {\n const selected = rows(connection, `SELECT b.target_run_id FROM ne19_run_slot_bindings b\n JOIN ne19_run_resources r ON r.run_id=b.target_run_id\n WHERE b.attempt_id=? AND b.origin_run_id=? AND b.action='accepted'\n AND r.experiment_id=? AND b.binding_revision<=? AND b.binding_revision<=?\n AND NOT EXISTS (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=b.target_run_id)\n ORDER BY b.target_run_id LIMIT ?`, request.attemptId, request.originRunId, request.experimentId, request.bindingRevision, cutoffRevision, RECORD_SQLITE_MAX_VALIDATION_RUNS + 1);\n if (selected.length > RECORD_SQLITE_MAX_VALIDATION_RUNS) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"find-accepted-attempt-runs\", \"Attempt exceeds its adoption proof ceiling\");\n }\n return Object.freeze(selected.map((row) => text(row, \"target_run_id\")));\n}\nexport function findExperimentRunIds(connection: RecordDatabase, experimentId: string): readonly string[] {\n requireIdentity(experimentId, \"experimentId\");\n const selected = rows(connection, `SELECT r.run_id FROM ne19_runs r\n WHERE r.experiment_id=?\n AND NOT EXISTS (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=r.run_id)\n AND (r.status='sealed' OR EXISTS (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=r.run_id))\n ORDER BY r.run_id LIMIT ?`, experimentId, RECORD_SQLITE_MAX_VALIDATION_RUNS + 1);\n if (selected.length > RECORD_SQLITE_MAX_VALIDATION_RUNS) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"find-experiment-runs\", \"Experiment exceeds its Run ceiling\");\n }\n return Object.freeze(selected.map((row) => text(row, \"run_id\")));\n}\nexport function listSealedRunSummaries(connection: RecordDatabase, afterRunId = \"\", pageSize = 100): readonly SealedRunSummary[] {\n if (!Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > 256) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"list-sealed-runs\", \"page size must be between 1 and 256\");\n }\n const runIds = rows(connection, `SELECT run_id FROM ne19_runs WHERE run_id>?\n AND NOT EXISTS (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=ne19_runs.run_id)\n AND (status='sealed' OR EXISTS\n (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=ne19_runs.run_id)) ORDER BY run_id LIMIT ?`, afterRunId, pageSize);\n return Object.freeze(runIds.map((row) => {\n const summary = readSealedRunSummary(connection, text(row, \"run_id\"));\n if (summary === undefined)\n throw sqliteError(\"record-database-invalid\", \"list-sealed-runs\", \"sealed Run disappeared during a short read\");\n return summary;\n }));\n}\n/**\n * Computes the stable sealed cutoff without retaining the inventory, then\n * returns one bounded page from the same caller-owned read transaction.\n */\nexport function readSealedRunSummaryPage(connection: RecordDatabase, afterRunId = \"\", pageSize = 100, expectedCutoffIdentity?: string, deadlineEpochMs = Date.now() + RECORD_SQLITE_VALIDATION_DEADLINE_MS, pinnedCutoff?: SealedRunCutoff): SealedRunSummaryPage {\n requireIdentity(afterRunId === \"\" ? \"start\" : afterRunId, \"afterRunId\");\n if (!Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > 256) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"page-sealed-runs\", \"page size must be between 1 and 256\");\n }\n const cutoff = pinnedCutoff ?? (() => {\n const cutoffHash = createHash(\"sha256\");\n cutoffHash.update(\"[\");\n let runCount = 0;\n const inventory = recordStatement(connection, `SELECT run_id,\n coalesce(logical_seal_identity,'published:' || (SELECT max(p.published_revision) FROM ne19_attempt_publications p\n WHERE p.origin_run_id=ne19_runs.run_id)) logical_seal_identity\n FROM ne19_runs WHERE NOT EXISTS (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=ne19_runs.run_id)\n AND (status='sealed' OR EXISTS\n (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=ne19_runs.run_id))\n ORDER BY run_id`).iterate() as unknown as Iterable<Row>;\n for (const row of inventory) {\n if (runCount >= RECORD_SQLITE_MAX_VALIDATION_RUNS) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"page-sealed-runs\", \"sealed cutoff exceeds its Run ceiling\");\n }\n if ((runCount & 255) === 0 && Date.now() >= deadlineEpochMs) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"page-sealed-runs\", \"sealed cutoff exceeded its deadline\");\n }\n if (runCount > 0)\n cutoffHash.update(\",\");\n cutoffHash.update(JSON.stringify({ runId: text(row, \"run_id\"), logicalSealIdentity: text(row, \"logical_seal_identity\") }));\n runCount += 1;\n }\n cutoffHash.update(\"]\");\n const identity = cutoffHash.digest(\"hex\");\n return Object.freeze({ identity, runCount });\n })();\n const { identity, runCount } = cutoff;\n if (expectedCutoffIdentity !== undefined && expectedCutoffIdentity !== identity) {\n throw sqliteError(\"record-command-conflict\", \"page-sealed-runs\", \"sealed cutoff changed; restart pagination\");\n }\n const pageRows = rows(connection, `SELECT run_id FROM ne19_runs WHERE run_id>?\n AND NOT EXISTS (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=ne19_runs.run_id)\n AND (status='sealed' OR EXISTS\n (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=ne19_runs.run_id)) ORDER BY run_id LIMIT ?`, afterRunId, pageSize + 1);\n const selected = pageRows.slice(0, pageSize);\n const summaries = selected.map((row) => {\n const summary = readSealedRunSummary(connection, text(row, \"run_id\"));\n if (summary === undefined)\n throw sqliteError(\"record-database-invalid\", \"page-sealed-runs\", \"sealed Run disappeared inside pinned read generation\");\n return summary;\n });\n const nextAfterRunId = pageRows.length > pageSize && summaries.length > 0 ? summaries.at(-1)!.runId : null;\n return Object.freeze({\n cutoff: Object.freeze({ identity, runCount }),\n afterRunId,\n summaries: Object.freeze(summaries),\n nextAfterRunId,\n });\n}\n/** Indexed, bounded locator projection. No Core or attachment payload is selected. */\nexport function findAttemptLocatorCandidates(connection: RecordDatabase, locator: string, maximumCandidateRuns: number, includeTargets = true): AttemptLocatorCandidates {\n if (!parseAttemptLocator(locator).valid) {\n throw sqliteError(\"record-content-invalid\", \"find-attempt-locator\", \"Attempt locator is malformed\");\n }\n if (!Number.isSafeInteger(maximumCandidateRuns) || maximumCandidateRuns < 1 || maximumCandidateRuns > 256) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"find-attempt-locator\", \"candidate Run limit must be between 1 and 256\");\n }\n const matching = rows(connection, `SELECT a.origin_run_id,a.attempt_id FROM ne19_attempts a\n JOIN ne19_runs origin ON origin.run_id=a.origin_run_id\n WHERE a.attempt_locator=? ORDER BY a.origin_run_id,a.attempt_id LIMIT ?`, locator, maximumCandidateRuns + 1);\n const identities = new Set<string>();\n const candidates: AttemptLocatorCandidates[\"candidates\"][number][] = [];\n const add = (candidate: AttemptLocatorCandidates[\"candidates\"][number]): void => {\n if (candidates.length >= maximumCandidateRuns) {\n throw sqliteError(\"record-resource-limit-exceeded\", \"find-attempt-locator\", `Attempt locator exceeds the fixed ${maximumCandidateRuns}-Run candidate limit`);\n }\n candidates.push(Object.freeze(candidate));\n };\n for (const row of matching) {\n const originRunId = text(row, \"origin_run_id\");\n const attemptId = text(row, \"attempt_id\");\n const published = recordStatement(connection, `SELECT 1 FROM ne19_runs r WHERE r.run_id=? AND\n ((r.status='sealed' AND NOT EXISTS (SELECT 1 FROM ne19_run_resources rr WHERE rr.run_id=r.run_id)) OR\n EXISTS (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=r.run_id AND p.attempt_id=?))`).get(originRunId, attemptId);\n if (published === undefined)\n continue;\n identities.add(hashCanonicalTuple(\"niceeval.record.attempt-candidate/v1\", [originRunId, attemptId]));\n add({ locator, originRunId, attemptId, relation: \"origin\", runId: originRunId });\n if (!includeTargets)\n continue;\n const targets = rows(connection, `SELECT DISTINCT m.target_run_id FROM ne19_members m\n JOIN ne19_runs target ON target.run_id=m.target_run_id AND target.status='sealed'\n WHERE m.origin_run_id=? AND m.attempt_id=? ORDER BY m.target_run_id LIMIT ?`, originRunId, attemptId, maximumCandidateRuns - candidates.length + 1);\n for (const target of targets)\n add({ locator, originRunId, attemptId, relation: \"target\", runId: text(target, \"target_run_id\") });\n }\n return Object.freeze({ locator, ambiguous: identities.size > 1, candidates: Object.freeze(candidates) });\n}\nexport function readCollectionItemPage(connection: RecordDatabase, attachmentId: string, afterOrdinal: number, pageSize: number): CollectionItemPage {\n if (!Number.isSafeInteger(afterOrdinal) || afterOrdinal < -1)\n throw sqliteError(\"record-content-invalid\", \"read-collection-page\", \"afterOrdinal must be -1 or greater\");\n if (!Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > RECORD_SQLITE_MAX_PAGE_ROWS)\n throw sqliteError(\"record-resource-limit-exceeded\", \"read-collection-page\", `page size must be between 1 and ${RECORD_SQLITE_MAX_PAGE_ROWS}`);\n const pending: {\n readonly ordinal: number;\n readonly logicalIdentity: string;\n readonly payload: Uint8Array;\n readonly canonicalDigest: string;\n }[] = [];\n let cursor = afterOrdinal;\n let pageBytes = 0;\n let hasMore = false;\n const pageRows = recordStatement(connection, `SELECT i.ordinal,i.logical_identity,i.canonical_payload,i.canonical_digest,\n EXISTS(SELECT 1 FROM ne19_collection_items more WHERE more.attachment_id=i.attachment_id AND more.ordinal>i.ordinal) AS has_more\n FROM ne19_collection_items i\n JOIN ne19_attachments a ON a.attachment_id=i.attachment_id JOIN ne19_runs r ON r.run_id=a.owner_run_id\n WHERE i.attachment_id=? AND i.ordinal>? AND\n ((r.status='sealed' AND (NOT EXISTS (SELECT 1 FROM ne19_run_resources rr WHERE rr.run_id=r.run_id) OR a.owner_kind='run')) OR\n (a.owner_kind='attempt' AND EXISTS (SELECT 1 FROM ne19_attempt_publications p\n WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id)))\n ORDER BY i.ordinal LIMIT ?`)\n .iterate(attachmentId, afterOrdinal, pageSize) as unknown as Iterable<Row>;\n for (const row of pageRows) {\n const payload = bytes(row, \"canonical_payload\");\n if (pending.length > 0 && pageBytes + payload.byteLength > RECORD_SQLITE_MAX_PAGE_BYTES) {\n hasMore = true;\n break;\n }\n cursor = integer(row, \"ordinal\");\n pageBytes += payload.byteLength;\n pending.push(Object.freeze({\n ordinal: cursor,\n logicalIdentity: text(row, \"logical_identity\"),\n payload,\n canonicalDigest: text(row, \"canonical_digest\"),\n }));\n hasMore = integer(row, \"has_more\") === 1;\n }\n // One page owns one transferable backing store. Transferring a separate\n // ArrayBuffer for every small row makes long streams retain allocator and\n // structured-clone overhead in proportion to row count.\n const packed = new Uint8Array(pageBytes);\n let packedOffset = 0;\n const items = pending.map((item): PersistedCollectionItem => {\n packed.set(item.payload, packedOffset);\n const canonicalBytes = packed.subarray(packedOffset, packedOffset + item.payload.byteLength);\n packedOffset += item.payload.byteLength;\n return Object.freeze({\n ordinal: item.ordinal,\n logicalIdentity: item.logicalIdentity,\n canonicalBytes,\n canonicalDigest: item.canonicalDigest,\n });\n });\n const nextOrdinal = hasMore ? cursor : null;\n return Object.freeze({ attachmentId, afterOrdinal, items: Object.freeze(items), nextOrdinal });\n}\n/** Bounded sealed Core projection. Collection item bytes and Content chunk bytes are never selected. */\ntype DeferredRecordRead = <A>(read: () => A) => A;\nfunction memoRecordRead<A>(read: () => A, defer?: DeferredRecordRead): () => A {\n if (defer === undefined) {\n const value = read();\n return () => value;\n }\n let cached: {\n readonly value: A;\n } | undefined;\n return () => defer(() => (cached ??= { value: read() }).value);\n}\nexport function readPublishedSealedRun(connection: RecordDatabase, runId: string, defer?: DeferredRecordRead): PublishedSealedRun | undefined {\n const run = recordStatement(connection, `SELECT run_id,writer_generation,started_at,status,\n coalesce(logical_seal_identity,'published:' || (SELECT max(p.published_revision) FROM ne19_attempt_publications p\n WHERE p.origin_run_id=ne19_runs.run_id)) logical_seal_identity,core_payload,core_digest,\n (SELECT p.closure_payload FROM ne19_attempt_publications p WHERE p.origin_run_id=ne19_runs.run_id\n ORDER BY p.published_revision DESC LIMIT 1) publication_closure\n FROM ne19_runs WHERE run_id=?\n AND NOT EXISTS (SELECT 1 FROM ne19_run_deletion_tombstones d WHERE d.run_id=ne19_runs.run_id)\n AND (status='sealed' OR EXISTS\n (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=ne19_runs.run_id))`).get(runId) as unknown as Row | undefined;\n if (run === undefined)\n return undefined;\n let runCoreBytes: Uint8Array;\n let runCoreDigest: string;\n if (text(run, \"status\") === \"sealed\") {\n runCoreBytes = transferableBytes(bytes(run, \"core_payload\"));\n runCoreDigest = text(run, \"core_digest\");\n }\n else {\n let closure: unknown;\n try {\n closure = JSON.parse(Buffer.from(bytes(run, \"publication_closure\")).toString(\"utf8\")) as unknown;\n }\n catch {\n throw sqliteError(\"record-database-invalid\", \"read-published-run-core\", \"Attempt publication closure is invalid\");\n }\n const decoded = decodeAttemptPublicationClosure(closure);\n if (Result.isFailure(decoded)) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run-core\", \"Attempt publication closure format is unsupported\");\n }\n runCoreBytes = new TextEncoder().encode(JSON.stringify(decoded.success.originRun));\n runCoreDigest = digestBytes(runCoreBytes);\n }\n const admission = recordStatement(connection, `SELECT\n 1+(SELECT count(*) FROM ne19_slots WHERE run_id=?)+(SELECT count(*) FROM ne19_attempts WHERE origin_run_id=?)+\n (SELECT count(*) FROM ne19_members WHERE target_run_id=?)+(SELECT count(*) FROM ne19_attachments WHERE owner_run_id=?)+\n (SELECT count(*) FROM ne19_attachment_references rr JOIN ne19_attachments aa ON aa.attachment_id=rr.attachment_id WHERE aa.owner_run_id=?)+\n (SELECT count(*) FROM ne19_contents cc JOIN ne19_attachments aa ON aa.attachment_id=cc.attachment_id WHERE aa.owner_run_id=?) row_count,\n coalesce(length(r.core_payload),(SELECT max(length(p.closure_payload)) FROM ne19_attempt_publications p WHERE p.origin_run_id=r.run_id),0)+\n (SELECT coalesce(sum(length(core_payload)),0) FROM ne19_slots WHERE run_id=?)+\n (SELECT coalesce(sum(length(core_payload)),0) FROM ne19_attempts WHERE origin_run_id=?)+\n (SELECT coalesce(sum(length(core_payload)),0) FROM ne19_members WHERE target_run_id=?)+\n (SELECT coalesce(sum(length(canonical_payload)+length(logical_inventory)),0) FROM ne19_attachments WHERE owner_run_id=?)+\n (SELECT coalesce(sum(length(rr.canonical_payload)),0) FROM ne19_attachment_references rr JOIN ne19_attachments aa ON aa.attachment_id=rr.attachment_id WHERE aa.owner_run_id=?) byte_count\n FROM ne19_runs r WHERE r.run_id=? AND (r.status='sealed' OR EXISTS\n (SELECT 1 FROM ne19_attempt_publications p WHERE p.origin_run_id=r.run_id))`).get(runId, runId, runId, runId, runId, runId, runId, runId, runId, runId, runId, runId) as unknown as Row;\n assertBoundedBatch(\"read-sealed-run-core\", integer(admission, \"row_count\"), integer(admission, \"byte_count\"));\n const record = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne19_record_metadata WHERE singleton=1\").get() as unknown as Row;\n const slots = rows(connection, \"SELECT slot_id,ordinal,core_payload,core_digest FROM ne19_slots WHERE run_id=? ORDER BY ordinal\", runId)\n .map((row) => Object.freeze({ slotId: text(row, \"slot_id\"), ordinal: integer(row, \"ordinal\"), coreBytes: transferableBytes(bytes(row, \"core_payload\")), coreDigest: text(row, \"core_digest\") }));\n const publicationResource = recordStatement(connection, \"SELECT created_revision FROM ne19_run_resources WHERE run_id=?\").get(runId) as Row | undefined;\n const publicationManaged = publicationResource !== undefined;\n const attempts = rows(connection, publicationManaged\n ? `SELECT a.attempt_id,a.attempt_locator,a.core_payload,a.core_digest,p.published_revision FROM ne19_attempts a\n JOIN ne19_attempt_publications p ON p.origin_run_id=a.origin_run_id AND p.attempt_id=a.attempt_id\n WHERE a.origin_run_id=? AND EXISTS (SELECT 1 FROM ne19_attempt_publications p\n WHERE p.origin_run_id=a.origin_run_id AND p.attempt_id=a.attempt_id) ORDER BY a.attempt_id`\n : \"SELECT attempt_id,attempt_locator,core_payload,core_digest FROM ne19_attempts WHERE origin_run_id=? ORDER BY attempt_id\", runId)\n .map((row) => {\n if (!(row.core_payload instanceof Uint8Array))\n throw sqliteError(\"record-database-invalid\", \"read-published-run-core\", `Attempt ${text(row, \"attempt_id\")} Core is not published`);\n const attemptId = text(row, \"attempt_id\");\n return Object.freeze({ attemptId, attemptLocator: text(row, \"attempt_locator\"), coreBytes: transferableBytes(bytes(row, \"core_payload\")), coreDigest: text(row, \"core_digest\"),\n ...(publicationManaged ? { publicationIdentity: Object.freeze({ originRunId: runId, attemptId, revision: integer(row, \"published_revision\") }) } : {}) });\n });\n const memberRows = publicationManaged\n ? [\n ...rows(connection, `SELECT 'binding' publication_kind,b.slot_id,b.origin_run_id,b.attempt_id,b.action,b.attempt_publication_revision,b.binding_revision,\n m.origin_run_id member_origin_run_id,m.attempt_id member_attempt_id,m.action member_action,\n m.core_payload,m.core_digest,p.published_revision\n FROM ne19_run_slot_bindings b\n LEFT JOIN ne19_members m ON m.target_run_id=b.target_run_id AND m.slot_id=b.slot_id\n LEFT JOIN ne19_attempt_publications p ON p.attempt_id=b.attempt_id AND p.origin_run_id=b.origin_run_id\n AND p.published_revision=b.attempt_publication_revision\n WHERE b.target_run_id=?`, runId),\n ...rows(connection, `SELECT 'absence' publication_kind,a.slot_id,NULL origin_run_id,NULL attempt_id,\n NULL action,NULL attempt_publication_revision,NULL member_origin_run_id,NULL member_attempt_id,\n NULL member_action,NULL core_payload,NULL core_digest,NULL published_revision,a.reason absence_reason\n FROM ne19_run_slot_absences a\n WHERE a.run_id=?`, runId),\n ].sort((left, right) => text(left, \"slot_id\").localeCompare(text(right, \"slot_id\")))\n : rows(connection, \"SELECT slot_id,origin_run_id,attempt_id,action,core_payload,core_digest FROM ne19_members WHERE target_run_id=? ORDER BY slot_id\", runId);\n const members = memberRows\n .map((row) => {\n const attemptId = optionalText(row, \"attempt_id\");\n let referenceCore: {\n readonly bytes: Uint8Array;\n readonly digest: string;\n } | undefined;\n if (publicationManaged) {\n const kind = text(row, \"publication_kind\");\n if (kind === \"absence\") {\n if (attemptId !== undefined || optionalText(row, \"origin_run_id\") !== undefined) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${text(row, \"slot_id\")} has an invalid absence binding`);\n }\n const projected = absenceMember(row);\n return Object.freeze({\n slotId: text(row, \"slot_id\"),\n action: projected.action,\n coreBytes: transferableBytes(projected.coreBytes),\n coreDigest: projected.coreDigest,\n });\n }\n const projectReference = (row.action === \"carried\" || row.action === \"accepted\") && row.core_payload == null;\n const bindingInvalid = kind === \"binding\" && (attemptId === undefined\n || optionalInteger(row, \"published_revision\") !== optionalInteger(row, \"attempt_publication_revision\")\n || !projectReference && (optionalText(row, \"member_origin_run_id\") !== optionalText(row, \"origin_run_id\")\n || optionalText(row, \"member_attempt_id\") !== attemptId\n || optionalText(row, \"member_action\") !== optionalText(row, \"action\")));\n if (bindingInvalid) {\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", `Published Slot ${text(row, \"slot_id\")} does not close over one matching Member`);\n }\n if (projectReference) {\n const decoded = decodeMemberDocument({\n slotId: text(row, \"slot_id\"), action: text(row, \"action\"),\n attempt: { originRunId: text(row, \"origin_run_id\"), attemptId },\n });\n if (Result.isFailure(decoded))\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", \"Reference binding cannot project a Member\");\n const encoded = encodeMemberDocument(decoded.success);\n if (Result.isFailure(encoded))\n throw sqliteError(\"record-database-invalid\", \"read-published-run\", \"Reference Member cannot be encoded\");\n const projectedBytes = encodeRecordJsonUtf8(encoded.success);\n referenceCore = { bytes: projectedBytes, digest: digestBytes(projectedBytes) };\n }\n }\n return Object.freeze({ slotId: text(row, \"slot_id\"),\n ...(publicationManaged && attemptId !== undefined ? { bindingRevision: integer(row, \"binding_revision\") } : {}), ...(optionalText(row, \"origin_run_id\") === undefined ? {} : { originRunId: optionalText(row, \"origin_run_id\") }),\n ...(attemptId === undefined ? {} : { attemptId }), action: memberAction(row, \"action\"),\n ...(publicationManaged && attemptId !== undefined\n ? { publicationIdentity: Object.freeze({ originRunId: text(row, \"origin_run_id\"), attemptId, revision: integer(row, \"published_revision\") }) }\n : {}),\n coreBytes: transferableBytes(referenceCore?.bytes ?? bytes(row, \"core_payload\")), coreDigest: referenceCore?.digest ?? text(row, \"core_digest\") });\n });\n const attachmentRows = rows(connection, `SELECT attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,\n logical_identity,canonical_digest,inventory_digest\n FROM ne19_attachments a WHERE owner_run_id=?${publicationManaged ? ` AND canonical_payload IS NOT NULL AND\n (owner_kind='run' OR EXISTS (SELECT 1 FROM ne19_attempt_publications p\n WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id))` : \"\"} ORDER BY attachment_id`, runId);\n const attachments: SealedAttachmentMetadata[] = attachmentRows.map((row) => {\n const attachmentId = text(row, \"attachment_id\");\n const payload = memoRecordRead(() => {\n const stored = recordStatement(connection, `SELECT canonical_payload,logical_inventory FROM ne19_attachments WHERE attachment_id=?`)\n .get(attachmentId) as Row;\n return { canonicalBytes: transferableBytes(bytes(stored, \"canonical_payload\")),\n logicalInventoryBytes: transferableBytes(bytes(stored, \"logical_inventory\")) };\n }, defer);\n const references = memoRecordRead(() => Object.freeze(rows(connection, `SELECT ordinal,target_owner_kind,target_family,canonical_payload,reference_digest\n FROM ne19_attachment_references WHERE attachment_id=? ORDER BY ordinal`, attachmentId).map((reference) => Object.freeze({\n ordinal: integer(reference, \"ordinal\"), owner: ownerKind(reference, \"target_owner_kind\"), family: text(reference, \"target_family\"),\n canonicalBytes: transferableBytes(bytes(reference, \"canonical_payload\")), referenceDigest: text(reference, \"reference_digest\"),\n }))), defer);\n const contents = memoRecordRead(() => Object.freeze(rows(connection, `SELECT content_id,logical_handle,byte_length,overall_digest,chunk_count\n FROM ne19_contents WHERE attachment_id=? ORDER BY content_id`, attachmentId).map((content) => Object.freeze({\n contentId: text(content, \"content_id\"), logicalHandle: text(content, \"logical_handle\"), byteLength: integer(content, \"byte_length\"),\n digest: text(content, \"overall_digest\"), chunkCount: integer(content, \"chunk_count\"),\n }))), defer);\n const collection = memoRecordRead(() => {\n const aggregate = recordStatement(connection, `SELECT count(*) item_count,coalesce(sum(length(canonical_payload)),0) item_bytes\n FROM ne19_collection_items WHERE attachment_id=?`).get(attachmentId) as Row;\n return { count: integer(aggregate, \"item_count\"), byteLength: integer(aggregate, \"item_bytes\") };\n }, defer);\n return Object.freeze({ attachmentId, ownerKind: ownerKind(row, \"owner_kind\"), ownerRunId: text(row, \"owner_run_id\"),\n ...(optionalText(row, \"owner_attempt_id\") === undefined ? {} : { ownerAttemptId: optionalText(row, \"owner_attempt_id\") }),\n family: text(row, \"family\"), familyRevision: integer(row, \"family_revision\"), logicalIdentity: text(row, \"logical_identity\"),\n get canonicalBytes() { return payload().canonicalBytes; }, canonicalDigest: text(row, \"canonical_digest\"),\n get logicalInventoryBytes() { return payload().logicalInventoryBytes; }, inventoryDigest: text(row, \"inventory_digest\"),\n get references() { return references(); }, get contents() { return contents(); },\n get collectionItemCount() { return collection().count; }, get collectionItemByteLength() { return collection().byteLength; } });\n });\n const core: SealedRunCore = Object.freeze({ runId: text(run, \"run_id\"), writerGeneration: text(run, \"writer_generation\"), startedAt: text(run, \"started_at\"),\n logicalSealIdentity: text(run, \"logical_seal_identity\"), ...(publicationManaged ? { publicationManaged: true, createdRevision: integer(publicationResource!, \"created_revision\") } : {}), recordCoreBytes: transferableBytes(bytes(record, \"record_payload\")),\n recordCoreDigest: text(record, \"record_digest\"), runCoreBytes, runCoreDigest,\n slots: Object.freeze(slots), attempts: Object.freeze(attempts), members: Object.freeze(members), attachments: Object.freeze(attachments) });\n return Object.freeze({ core, get summary() { return readSealedRunSummary(connection, runId)!; } });\n}\n/** Inspection may defer Attachment reads within its existing pinned session. */\nexport function readSealedRunCore(connection: RecordDatabase, runId: string, defer?: DeferredRecordRead): SealedRunCore | undefined {\n return readPublishedSealedRun(connection, runId, defer)?.core;\n}\n/** Fixed, decoded projection sufficient to rebuild sealed Core and attachment metadata. */\nexport function readSealedRunDocument(connection: RecordDatabase, runId: string): SealedRunDocument | undefined {\n const run = recordStatement(connection, `SELECT run_id,writer_generation,started_at,logical_seal_identity,core_payload,core_digest\n FROM ne19_runs WHERE run_id=? AND status='sealed'`).get(runId) as unknown as Row | undefined;\n if (run === undefined)\n return undefined;\n const whole = recordStatement(connection, `SELECT count(*) row_count,coalesce(sum(length(i.canonical_payload)),0) byte_count\n FROM ne19_collection_items i JOIN ne19_attachments a ON a.attachment_id=i.attachment_id WHERE a.owner_run_id=?`).get(runId) as unknown as Row;\n assertBoundedBatch(\"read-sealed-run-document\", integer(whole, \"row_count\"), integer(whole, \"byte_count\"));\n const record = recordStatement(connection, \"SELECT record_payload,record_digest FROM ne19_record_metadata WHERE singleton=1\")\n .get() as unknown as Row;\n const slots = rows(connection, \"SELECT slot_id,ordinal,core_payload,core_digest FROM ne19_slots WHERE run_id=? ORDER BY ordinal\", runId)\n .map((row) => Object.freeze({ slotId: text(row, \"slot_id\"), ordinal: integer(row, \"ordinal\"), coreBytes: transferableBytes(bytes(row, \"core_payload\")), coreDigest: text(row, \"core_digest\") }));\n const attempts = rows(connection, \"SELECT attempt_id,attempt_locator,core_payload,core_digest FROM ne19_attempts WHERE origin_run_id=? ORDER BY attempt_id\", runId)\n .map((row) => Object.freeze({ attemptId: text(row, \"attempt_id\"), attemptLocator: text(row, \"attempt_locator\"), coreBytes: transferableBytes(bytes(row, \"core_payload\")), coreDigest: text(row, \"core_digest\") }));\n const members = rows(connection, `SELECT slot_id,origin_run_id,attempt_id,action,core_payload,core_digest FROM ne19_members\n WHERE target_run_id=? ORDER BY slot_id`, runId).map((row) => Object.freeze({\n slotId: text(row, \"slot_id\"),\n ...(optionalText(row, \"origin_run_id\") === undefined ? {} : { originRunId: optionalText(row, \"origin_run_id\") }),\n ...(optionalText(row, \"attempt_id\") === undefined ? {} : { attemptId: optionalText(row, \"attempt_id\") }),\n action: memberAction(row, \"action\"),\n coreBytes: transferableBytes(bytes(row, \"core_payload\")),\n coreDigest: text(row, \"core_digest\"),\n }));\n const attachmentRows = rows(connection, `SELECT attachment_id,owner_kind,owner_run_id,owner_attempt_id,family,family_revision,\n logical_identity,canonical_payload,canonical_digest,logical_inventory,inventory_digest FROM ne19_attachments\n WHERE owner_run_id=? ORDER BY attachment_id`, runId);\n const attachments: SealedAttachmentDocument[] = attachmentRows.map((row) => {\n const attachmentId = text(row, \"attachment_id\");\n const references = rows(connection, `SELECT ordinal,target_owner_kind,target_family,\n canonical_payload,reference_digest FROM ne19_attachment_references WHERE attachment_id=? ORDER BY ordinal`, attachmentId)\n .map((reference) => Object.freeze({\n ordinal: integer(reference, \"ordinal\"),\n owner: ownerKind(reference, \"target_owner_kind\"),\n family: text(reference, \"target_family\"),\n canonicalBytes: transferableBytes(bytes(reference, \"canonical_payload\")),\n referenceDigest: text(reference, \"reference_digest\"),\n }));\n const collectionItems = rows(connection, `SELECT ordinal,logical_identity,canonical_payload,canonical_digest\n FROM ne19_collection_items WHERE attachment_id=? ORDER BY ordinal`, attachmentId).map((item) => Object.freeze({\n ordinal: integer(item, \"ordinal\"),\n logicalIdentity: text(item, \"logical_identity\"),\n canonicalBytes: transferableBytes(bytes(item, \"canonical_payload\")),\n canonicalDigest: text(item, \"canonical_digest\"),\n }));\n const contents = rows(connection, `SELECT content_id,logical_handle,byte_length,overall_digest,chunk_count\n FROM ne19_contents WHERE attachment_id=? ORDER BY content_id`, attachmentId).map((content) => Object.freeze({\n contentId: text(content, \"content_id\"),\n logicalHandle: text(content, \"logical_handle\"),\n byteLength: integer(content, \"byte_length\"),\n digest: text(content, \"overall_digest\"),\n chunkCount: integer(content, \"chunk_count\"),\n }));\n const decodedOwnerKind = ownerKind(row, \"owner_kind\");\n return Object.freeze({\n attachmentId,\n ownerKind: decodedOwnerKind,\n ownerRunId: text(row, \"owner_run_id\"),\n ...(optionalText(row, \"owner_attempt_id\") === undefined ? {} : { ownerAttemptId: optionalText(row, \"owner_attempt_id\") }),\n family: text(row, \"family\"),\n familyRevision: integer(row, \"family_revision\"),\n logicalIdentity: text(row, \"logical_identity\"),\n canonicalBytes: transferableBytes(bytes(row, \"canonical_payload\")),\n canonicalDigest: text(row, \"canonical_digest\"),\n logicalInventoryBytes: transferableBytes(bytes(row, \"logical_inventory\")),\n inventoryDigest: text(row, \"inventory_digest\"),\n references: Object.freeze(references),\n collectionItems: Object.freeze(collectionItems),\n contents: Object.freeze(contents),\n });\n });\n return Object.freeze({\n runId: text(run, \"run_id\"),\n writerGeneration: text(run, \"writer_generation\"),\n startedAt: text(run, \"started_at\"),\n logicalSealIdentity: text(run, \"logical_seal_identity\"),\n recordCoreBytes: transferableBytes(bytes(record, \"record_payload\")),\n recordCoreDigest: text(record, \"record_digest\"),\n runCoreBytes: transferableBytes(bytes(run, \"core_payload\")),\n runCoreDigest: text(run, \"core_digest\"),\n slots: Object.freeze(slots),\n attempts: Object.freeze(attempts),\n members: Object.freeze(members),\n attachments: Object.freeze(attachments),\n });\n}\nexport function appendContentChunks(connection: RecordDatabase, input: AppendContentChunksInput): void {\n assertBoundedBatch(\"append-content-chunks\", input.chunks.length, input.chunks.reduce((sum, value) => sum + value.bytes.byteLength, 0));\n let previousOrdinal: number | undefined;\n for (const chunk of input.chunks) {\n requireOrdinal(chunk.ordinal, `content ${input.contentId} chunk ordinal`);\n if (previousOrdinal !== undefined && chunk.ordinal !== previousOrdinal + 1) {\n throw sqliteError(\"record-content-invalid\", \"append-content-chunks\", \"content chunk batch is not sequential\");\n }\n previousOrdinal = chunk.ordinal;\n if (chunk.bytes.byteLength > RECORD_SQLITE_CHUNK_BYTES)\n throw sqliteError(\"record-resource-limit-exceeded\", \"append-content-chunks\", \"content chunk exceeds durable row ceiling\");\n requireBytesDigest(chunk.bytes, chunk.chunkDigest, `content chunk ${input.contentId}/${chunk.ordinal}`);\n }\n withImmediateTransaction(connection, input.deadlineEpochMs, \"append-content-chunks\", () => {\n assertRunFence(connection, input.runId, input.writerGeneration, \"append-content-chunks\");\n const metadata = recordStatement(connection, `SELECT a.owner_run_id,a.owner_kind,r.status,at.publication_state FROM ne19_contents c\n JOIN ne19_attachments a ON a.attachment_id=c.attachment_id JOIN ne19_runs r ON r.run_id=a.owner_run_id\n LEFT JOIN ne19_attempts at ON at.origin_run_id=a.owner_run_id AND at.attempt_id=a.owner_attempt_id\n WHERE c.content_id=?`).get(input.contentId) as unknown as Row | undefined;\n if (metadata === undefined || text(metadata, \"owner_run_id\") !== input.runId || text(metadata, \"status\") !== \"open\" ||\n (text(metadata, \"owner_kind\") === \"attempt\" && optionalText(metadata, \"publication_state\") === \"published\")) {\n throw sqliteError(\"record-command-conflict\", \"append-content-chunks\", \"Content admission is missing or no longer open\");\n }\n let changed = false;\n for (const chunk of input.chunks) {\n const stored = recordStatement(connection, \"SELECT bytes,chunk_digest FROM ne19_content_chunks WHERE content_id=? AND ordinal=?\")\n .get(input.contentId, chunk.ordinal) as unknown as Row | undefined;\n if (stored === undefined) {\n const count = recordStatement(connection, \"SELECT count(*) AS count FROM ne19_content_chunks WHERE content_id=?\").get(input.contentId) as unknown as Row;\n if (chunk.ordinal !== integer(count, \"count\"))\n throw sqliteError(\"record-command-conflict\", \"append-content-chunks\", \"Content batch does not extend the committed prefix\");\n recordStatement(connection, \"INSERT INTO ne19_content_chunks(content_id,ordinal,bytes,chunk_digest) VALUES (?,?,?,?)\")\n .run(input.contentId, chunk.ordinal, chunk.bytes, chunk.chunkDigest);\n changed = true;\n }\n else if (text(stored, \"chunk_digest\") !== chunk.chunkDigest || !bytesEqual(bytes(stored, \"bytes\"), chunk.bytes)) {\n throw sqliteError(\"record-command-conflict\", \"append-content-chunks\", `Chunk ${input.contentId}/${chunk.ordinal} conflicts with its committed retry`);\n }\n }\n if (changed)\n bumpMutationSequence(connection, input.runId);\n });\n}\nexport function readContentChunkPage(connection: RecordDatabase, contentId: string, afterOrdinal: number, pageSize: number): ContentChunkPage {\n if (!Number.isSafeInteger(afterOrdinal) || afterOrdinal < -1)\n throw sqliteError(\"record-content-invalid\", \"read-content-page\", \"afterOrdinal must be -1 or greater\");\n if (!Number.isSafeInteger(pageSize) || pageSize < 1 || pageSize > RECORD_SQLITE_MAX_PAGE_ROWS)\n throw sqliteError(\"record-resource-limit-exceeded\", \"read-content-page\", `page size must be between 1 and ${RECORD_SQLITE_MAX_PAGE_ROWS}`);\n const page: {\n readonly ordinal: number;\n readonly bytes: Uint8Array;\n readonly chunkDigest: string;\n }[] = [];\n let cursor = afterOrdinal;\n let pageBytes = 0;\n let hasMore = false;\n const pageRows = recordStatement(connection, `SELECT c.ordinal,c.bytes,c.chunk_digest,\n EXISTS(SELECT 1 FROM ne19_content_chunks more WHERE more.content_id=c.content_id AND more.ordinal>c.ordinal) AS has_more\n FROM ne19_content_chunks c\n JOIN ne19_contents n ON n.content_id=c.content_id JOIN ne19_attachments a ON a.attachment_id=n.attachment_id\n JOIN ne19_runs r ON r.run_id=a.owner_run_id WHERE c.content_id=? AND c.ordinal>? AND\n ((r.status='sealed' AND (NOT EXISTS (SELECT 1 FROM ne19_run_resources rr WHERE rr.run_id=r.run_id) OR a.owner_kind='run')) OR\n (a.owner_kind='attempt' AND EXISTS (SELECT 1 FROM ne19_attempt_publications p\n WHERE p.origin_run_id=a.owner_run_id AND p.attempt_id=a.owner_attempt_id)))\n ORDER BY c.ordinal LIMIT ?`).iterate(contentId, afterOrdinal, pageSize) as unknown as Iterable<Row>;\n for (const row of pageRows) {\n const value = bytes(row, \"bytes\");\n if (page.length > 0 && pageBytes + value.byteLength > RECORD_SQLITE_MAX_PAGE_BYTES) {\n hasMore = true;\n break;\n }\n cursor = integer(row, \"ordinal\");\n pageBytes += value.byteLength;\n page.push(Object.freeze({ ordinal: cursor, bytes: transferableBytes(value), chunkDigest: text(row, \"chunk_digest\") }));\n hasMore = integer(row, \"has_more\") === 1;\n }\n const nextOrdinal = hasMore ? cursor : null;\n return Object.freeze({ contentId, afterOrdinal, chunks: Object.freeze(page), nextOrdinal });\n}\n"]}