@amalgm/live 0.2.81-main.39488730420 → 0.2.81-main.40015853239

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 (255) hide show
  1. package/PURPOSE.md +52 -35
  2. package/dist/apply/contracts.d.ts +163 -104
  3. package/dist/apply/contracts.d.ts.map +1 -1
  4. package/dist/apply/contracts.js +29 -21
  5. package/dist/apply/contracts.js.map +1 -1
  6. package/dist/apply/fetch-ahead.d.ts +34 -0
  7. package/dist/apply/fetch-ahead.d.ts.map +1 -0
  8. package/dist/apply/fetch-ahead.js +112 -0
  9. package/dist/apply/fetch-ahead.js.map +1 -0
  10. package/dist/apply/index.d.ts +2 -0
  11. package/dist/apply/index.d.ts.map +1 -1
  12. package/dist/apply/index.js +2 -0
  13. package/dist/apply/index.js.map +1 -1
  14. package/dist/apply/journey.d.ts +23 -13
  15. package/dist/apply/journey.d.ts.map +1 -1
  16. package/dist/apply/journey.js +171 -236
  17. package/dist/apply/journey.js.map +1 -1
  18. package/dist/apply/line.d.ts +0 -2
  19. package/dist/apply/line.d.ts.map +1 -1
  20. package/dist/apply/line.js +10 -6
  21. package/dist/apply/line.js.map +1 -1
  22. package/dist/apply/local-work.d.ts +72 -12
  23. package/dist/apply/local-work.d.ts.map +1 -1
  24. package/dist/apply/local-work.js +53 -19
  25. package/dist/apply/local-work.js.map +1 -1
  26. package/dist/apply/plans.d.ts.map +1 -1
  27. package/dist/apply/plans.js +1 -2
  28. package/dist/apply/plans.js.map +1 -1
  29. package/dist/apply/rail.d.ts +6 -6
  30. package/dist/apply/rail.d.ts.map +1 -1
  31. package/dist/apply/rail.js +57 -67
  32. package/dist/apply/rail.js.map +1 -1
  33. package/dist/apply/repository-result.d.ts.map +1 -1
  34. package/dist/apply/repository-result.js +21 -2
  35. package/dist/apply/repository-result.js.map +1 -1
  36. package/dist/apply/selection.d.ts +7 -13
  37. package/dist/apply/selection.d.ts.map +1 -1
  38. package/dist/apply/selection.js +16 -63
  39. package/dist/apply/selection.js.map +1 -1
  40. package/dist/apply/shown-checkpoint.d.ts +2 -1
  41. package/dist/apply/shown-checkpoint.d.ts.map +1 -1
  42. package/dist/apply/shown-checkpoint.js +2 -1
  43. package/dist/apply/shown-checkpoint.js.map +1 -1
  44. package/dist/apply/type-adapters.d.ts +2 -2
  45. package/dist/apply/type-adapters.d.ts.map +1 -1
  46. package/dist/apply/type-adapters.js +6 -4
  47. package/dist/apply/type-adapters.js.map +1 -1
  48. package/dist/apply/window.d.ts +127 -0
  49. package/dist/apply/window.d.ts.map +1 -0
  50. package/dist/apply/window.js +310 -0
  51. package/dist/apply/window.js.map +1 -0
  52. package/dist/contracts/content.d.ts +2 -1
  53. package/dist/contracts/content.d.ts.map +1 -1
  54. package/dist/contracts/content.js +5 -1
  55. package/dist/contracts/content.js.map +1 -1
  56. package/dist/contracts/protection.d.ts +18 -5
  57. package/dist/contracts/protection.d.ts.map +1 -1
  58. package/dist/contracts/protection.js +17 -23
  59. package/dist/contracts/protection.js.map +1 -1
  60. package/dist/detection/adapter-contract.js +1 -1
  61. package/dist/detection/adapter-contract.js.map +1 -1
  62. package/dist/detection/dispositions.d.ts +5 -6
  63. package/dist/detection/dispositions.d.ts.map +1 -1
  64. package/dist/detection/dispositions.js +5 -6
  65. package/dist/detection/dispositions.js.map +1 -1
  66. package/dist/detection/identity.d.ts +16 -4
  67. package/dist/detection/identity.d.ts.map +1 -1
  68. package/dist/detection/identity.js +26 -12
  69. package/dist/detection/identity.js.map +1 -1
  70. package/dist/detection/index.d.ts +0 -2
  71. package/dist/detection/index.d.ts.map +1 -1
  72. package/dist/detection/index.js +0 -2
  73. package/dist/detection/index.js.map +1 -1
  74. package/dist/detection/removals.d.ts +4 -1
  75. package/dist/detection/removals.d.ts.map +1 -1
  76. package/dist/detection/removals.js +4 -1
  77. package/dist/detection/removals.js.map +1 -1
  78. package/dist/detection/scoped-identity.d.ts +13 -9
  79. package/dist/detection/scoped-identity.d.ts.map +1 -1
  80. package/dist/detection/scoped-identity.js +24 -8
  81. package/dist/detection/scoped-identity.js.map +1 -1
  82. package/dist/entities/cloud.d.ts +13 -50
  83. package/dist/entities/cloud.d.ts.map +1 -1
  84. package/dist/entities/cloud.js +41 -203
  85. package/dist/entities/cloud.js.map +1 -1
  86. package/dist/entities/index.d.ts +10 -2
  87. package/dist/entities/index.d.ts.map +1 -1
  88. package/dist/entities/index.js +10 -2
  89. package/dist/entities/index.js.map +1 -1
  90. package/dist/entities/package-maps.d.ts +73 -0
  91. package/dist/entities/package-maps.d.ts.map +1 -0
  92. package/dist/entities/package-maps.js +124 -0
  93. package/dist/entities/package-maps.js.map +1 -0
  94. package/dist/entities/placement-owed.d.ts +9 -2
  95. package/dist/entities/placement-owed.d.ts.map +1 -1
  96. package/dist/entities/placement-owed.js +25 -10
  97. package/dist/entities/placement-owed.js.map +1 -1
  98. package/dist/entities/reducer.d.ts +111 -0
  99. package/dist/entities/reducer.d.ts.map +1 -0
  100. package/dist/entities/reducer.js +383 -0
  101. package/dist/entities/reducer.js.map +1 -0
  102. package/dist/entities/repo-states.d.ts +25 -5
  103. package/dist/entities/repo-states.d.ts.map +1 -1
  104. package/dist/entities/repo-states.js +10 -2
  105. package/dist/entities/repo-states.js.map +1 -1
  106. package/dist/entities/rules.d.ts +3 -0
  107. package/dist/entities/rules.d.ts.map +1 -1
  108. package/dist/entities/rules.js +15 -2
  109. package/dist/entities/rules.js.map +1 -1
  110. package/dist/{detection → entities}/territory.d.ts +3 -2
  111. package/dist/entities/territory.d.ts.map +1 -0
  112. package/dist/{detection → entities}/territory.js +4 -1
  113. package/dist/entities/territory.js.map +1 -0
  114. package/dist/entities/traveling.d.ts +93 -0
  115. package/dist/entities/traveling.d.ts.map +1 -0
  116. package/dist/entities/traveling.js +238 -0
  117. package/dist/entities/traveling.js.map +1 -0
  118. package/dist/files/commands.d.ts +10 -1
  119. package/dist/files/commands.d.ts.map +1 -1
  120. package/dist/files/commands.js +8 -12
  121. package/dist/files/commands.js.map +1 -1
  122. package/dist/records/publication.d.ts +18 -0
  123. package/dist/records/publication.d.ts.map +1 -1
  124. package/dist/records/publication.js +135 -33
  125. package/dist/records/publication.js.map +1 -1
  126. package/dist/records/rail-ports.d.ts +10 -1
  127. package/dist/records/rail-ports.d.ts.map +1 -1
  128. package/dist/records/rail.d.ts +3 -0
  129. package/dist/records/rail.d.ts.map +1 -1
  130. package/dist/records/rail.js +7 -0
  131. package/dist/records/rail.js.map +1 -1
  132. package/dist/records/receive-channel.d.ts +7 -3
  133. package/dist/records/receive-channel.d.ts.map +1 -1
  134. package/dist/records/receive-channel.js +14 -6
  135. package/dist/records/receive-channel.js.map +1 -1
  136. package/dist/records/receive-loop.d.ts +9 -0
  137. package/dist/records/receive-loop.d.ts.map +1 -1
  138. package/dist/records/receive-loop.js +15 -0
  139. package/dist/records/receive-loop.js.map +1 -1
  140. package/dist/records/receive-pages.d.ts +3 -1
  141. package/dist/records/receive-pages.d.ts.map +1 -1
  142. package/dist/records/receive-pages.js +5 -1
  143. package/dist/records/receive-pages.js.map +1 -1
  144. package/dist/records/send-line.d.ts +3 -1
  145. package/dist/records/send-line.d.ts.map +1 -1
  146. package/dist/records/send-line.js +8 -2
  147. package/dist/records/send-line.js.map +1 -1
  148. package/dist/registration/user-ground.d.ts +92 -28
  149. package/dist/registration/user-ground.d.ts.map +1 -1
  150. package/dist/registration/user-ground.js +139 -58
  151. package/dist/registration/user-ground.js.map +1 -1
  152. package/dist/transfer/download.d.ts +4 -3
  153. package/dist/transfer/download.d.ts.map +1 -1
  154. package/dist/transfer/download.js +15 -15
  155. package/dist/transfer/download.js.map +1 -1
  156. package/dist/transfer/stream.d.ts +16 -8
  157. package/dist/transfer/stream.d.ts.map +1 -1
  158. package/dist/transfer/stream.js +54 -13
  159. package/dist/transfer/stream.js.map +1 -1
  160. package/dist/transfer/upload.d.ts +5 -0
  161. package/dist/transfer/upload.d.ts.map +1 -1
  162. package/dist/transfer/upload.js +22 -3
  163. package/dist/transfer/upload.js.map +1 -1
  164. package/dist/watching/suspicion.d.ts +5 -0
  165. package/dist/watching/suspicion.d.ts.map +1 -1
  166. package/dist/watching/suspicion.js +51 -16
  167. package/dist/watching/suspicion.js.map +1 -1
  168. package/dist-cjs/apply/contracts.js +32 -24
  169. package/dist-cjs/apply/contracts.js.map +1 -1
  170. package/dist-cjs/apply/fetch-ahead.js +117 -0
  171. package/dist-cjs/apply/fetch-ahead.js.map +1 -0
  172. package/dist-cjs/apply/index.js +2 -0
  173. package/dist-cjs/apply/index.js.map +1 -1
  174. package/dist-cjs/apply/journey.js +170 -235
  175. package/dist-cjs/apply/journey.js.map +1 -1
  176. package/dist-cjs/apply/line.js +10 -6
  177. package/dist-cjs/apply/line.js.map +1 -1
  178. package/dist-cjs/apply/local-work.js +54 -19
  179. package/dist-cjs/apply/local-work.js.map +1 -1
  180. package/dist-cjs/apply/plans.js +1 -2
  181. package/dist-cjs/apply/plans.js.map +1 -1
  182. package/dist-cjs/apply/rail.js +57 -67
  183. package/dist-cjs/apply/rail.js.map +1 -1
  184. package/dist-cjs/apply/repository-result.js +20 -1
  185. package/dist-cjs/apply/repository-result.js.map +1 -1
  186. package/dist-cjs/apply/selection.js +18 -63
  187. package/dist-cjs/apply/selection.js.map +1 -1
  188. package/dist-cjs/apply/shown-checkpoint.js +2 -1
  189. package/dist-cjs/apply/shown-checkpoint.js.map +1 -1
  190. package/dist-cjs/apply/type-adapters.js +6 -4
  191. package/dist-cjs/apply/type-adapters.js.map +1 -1
  192. package/dist-cjs/apply/window.js +318 -0
  193. package/dist-cjs/apply/window.js.map +1 -0
  194. package/dist-cjs/contracts/content.js +5 -1
  195. package/dist-cjs/contracts/content.js.map +1 -1
  196. package/dist-cjs/contracts/protection.js +17 -23
  197. package/dist-cjs/contracts/protection.js.map +1 -1
  198. package/dist-cjs/detection/adapter-contract.js +1 -1
  199. package/dist-cjs/detection/adapter-contract.js.map +1 -1
  200. package/dist-cjs/detection/dispositions.js +5 -6
  201. package/dist-cjs/detection/dispositions.js.map +1 -1
  202. package/dist-cjs/detection/identity.js +26 -12
  203. package/dist-cjs/detection/identity.js.map +1 -1
  204. package/dist-cjs/detection/index.js +0 -2
  205. package/dist-cjs/detection/index.js.map +1 -1
  206. package/dist-cjs/detection/removals.js +4 -1
  207. package/dist-cjs/detection/removals.js.map +1 -1
  208. package/dist-cjs/detection/scoped-identity.js +24 -8
  209. package/dist-cjs/detection/scoped-identity.js.map +1 -1
  210. package/dist-cjs/entities/cloud.js +41 -207
  211. package/dist-cjs/entities/cloud.js.map +1 -1
  212. package/dist-cjs/entities/index.js +10 -2
  213. package/dist-cjs/entities/index.js.map +1 -1
  214. package/dist-cjs/entities/package-maps.js +132 -0
  215. package/dist-cjs/entities/package-maps.js.map +1 -0
  216. package/dist-cjs/entities/placement-owed.js +25 -10
  217. package/dist-cjs/entities/placement-owed.js.map +1 -1
  218. package/dist-cjs/entities/reducer.js +390 -0
  219. package/dist-cjs/entities/reducer.js.map +1 -0
  220. package/dist-cjs/entities/repo-states.js +11 -3
  221. package/dist-cjs/entities/repo-states.js.map +1 -1
  222. package/dist-cjs/entities/rules.js +17 -2
  223. package/dist-cjs/entities/rules.js.map +1 -1
  224. package/dist-cjs/{detection → entities}/territory.js +4 -1
  225. package/dist-cjs/entities/territory.js.map +1 -0
  226. package/dist-cjs/entities/traveling.js +247 -0
  227. package/dist-cjs/entities/traveling.js.map +1 -0
  228. package/dist-cjs/files/commands.js +7 -11
  229. package/dist-cjs/files/commands.js.map +1 -1
  230. package/dist-cjs/records/publication.js +135 -33
  231. package/dist-cjs/records/publication.js.map +1 -1
  232. package/dist-cjs/records/rail.js +7 -0
  233. package/dist-cjs/records/rail.js.map +1 -1
  234. package/dist-cjs/records/receive-channel.js +14 -6
  235. package/dist-cjs/records/receive-channel.js.map +1 -1
  236. package/dist-cjs/records/receive-loop.js +15 -0
  237. package/dist-cjs/records/receive-loop.js.map +1 -1
  238. package/dist-cjs/records/receive-pages.js +5 -1
  239. package/dist-cjs/records/receive-pages.js.map +1 -1
  240. package/dist-cjs/records/send-line.js +8 -2
  241. package/dist-cjs/records/send-line.js.map +1 -1
  242. package/dist-cjs/registration/user-ground.js +139 -57
  243. package/dist-cjs/registration/user-ground.js.map +1 -1
  244. package/dist-cjs/transfer/download.js +15 -15
  245. package/dist-cjs/transfer/download.js.map +1 -1
  246. package/dist-cjs/transfer/stream.js +54 -13
  247. package/dist-cjs/transfer/stream.js.map +1 -1
  248. package/dist-cjs/transfer/upload.js +23 -3
  249. package/dist-cjs/transfer/upload.js.map +1 -1
  250. package/dist-cjs/watching/suspicion.js +51 -16
  251. package/dist-cjs/watching/suspicion.js.map +1 -1
  252. package/package.json +4 -4
  253. package/dist/detection/territory.d.ts.map +0 -1
  254. package/dist/detection/territory.js.map +0 -1
  255. package/dist-cjs/detection/territory.js.map +0 -1
package/PURPOSE.md CHANGED
@@ -213,23 +213,33 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
213
213
  containment; it never creates an overlapping UUID family. A reference in
214
214
  the core graph points to the selected workspace UUID, including when that
215
215
  workspace later becomes nested beneath a newly registered parent.
216
- 20. **Add installs atomically and selectively.** Login installs the core graph;
217
- `files add <workspace>` installs one owned, UUID-selected materialization
218
- boundary and refreshes the exact portable reference inventory in
219
- always-materialized core ground. Add first journals one machine-local
220
- installation intent, reconstructs and verifies the complete selection in a
221
- private same-filesystem staging directory, commits its exact entity rows in
222
- one transaction, atomically reveals the ground, and only then exposes its
223
- binding to Watch. The intent clears only after coverage is healthy. Entity
224
- rows therefore never mean pending download, and visible Add ground is never
225
- left without its durable identity. Hidden staging that crosses a restart is
226
- untrusted resume substrate: ordinary retained chunks are reread and
227
- re-hashed against the pinned manifest, missing or corrupt chunks are
228
- fetched again, and the ordered whole artifact is proven before rows or
229
- reveal are trusted. Revealed ground that crosses that blind interval
230
- remains completely suspect until Detect settles it. The
231
- local SQLite table contains workspace rows only for boundaries materialized
232
- on that machine, while cloud reconciliation preserves every unmaterialized
216
+ 20. **One install primitive, selective and never replacing.** Login installs
217
+ the core graph; `files add <workspace>` installs one owned, UUID-selected
218
+ materialization boundary and refreshes the exact portable reference
219
+ inventory in always-materialized core ground. Both pin the folded graph in
220
+ one machine-local installation intent, reconstruct and verify the complete
221
+ selection in a private same-filesystem staging directory, commit its exact
222
+ entity rows and the Apply history of exactly the entities it verified
223
+ present or absent and that will enter in one transaction, reveal the
224
+ ground, and only then expose it to Watch. Add journals its intent before
225
+ download, so retained chunks resume; login writes its intent in the
226
+ commit that takes its place, because before that commit nothing is worth
227
+ resuming, and a pin crossing a restart could fall below where the next
228
+ session's Receive begins. A reveal
229
+ never replaces: an absent destination takes the tree in one rename, a
230
+ standing directory merges member by member, an occupant keeps its slot as
231
+ this machine's edit, and nothing but staging is deleted. The intent clears
232
+ only after coverage is healthy. Entity rows therefore never mean pending
233
+ download, and visible installed ground is never left without its durable
234
+ identity. Hidden staging that crosses a restart is untrusted resume
235
+ substrate: ordinary retained chunks are reread and re-hashed against the
236
+ pinned manifest, missing or corrupt chunks are fetched again, and the
237
+ ordered whole artifact is proven before rows or reveal are trusted. Only
238
+ staging inside the control tree, which nothing but Amalgm writes, continues
239
+ its reveal once its rows commit. Revealed ground that crosses that blind
240
+ interval remains completely suspect until Detect settles it. The local
241
+ SQLite table contains workspace rows only for boundaries materialized on
242
+ that machine, while cloud reconciliation preserves every unmaterialized
233
243
  boundary. A fresh verified install may be Watch's initial baseline so the
234
244
  downloader's own writes are not reinterpreted as user edits.
235
245
  21. **A Git marker classifies its containing directory.** A `.git`
@@ -326,9 +336,10 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
326
336
  every ordinary text or binary file through one bounded stream to classify
327
337
  it and derive its content head. When cloud cargo is missing, that same
328
338
  capture stream carries the verified bytes forward: bounded complete small
329
- artifacts enter the cargo stream, while large-file blocks become durable
330
- under their own digests as they are read and the authority seals the
331
- manifest only after every named block exists. A graph-only Register
339
+ artifacts enter the cargo stream, while each large-file batch asks which
340
+ of its blocks the authority lacks, only those become durable under their
341
+ own digests as they are read, and the authority seals the manifest only
342
+ after every named block exists. A graph-only Register
332
343
  capture never copies or rereads ground merely to preserve bytes for a
333
344
  later Upload stage. A typed source mismatch returns control to Register so
334
345
  it can recapture current ground; stale bytes can never be sealed or
@@ -422,12 +433,15 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
422
433
  after a final conflict-scoped guard, recoverable reveal, and the target type
423
434
  rereading exact truth. Lock and cargo attempts are finite and observable;
424
435
  their failure retains responsibility for retry rather than waiting forever.
436
+ A terminal proof commits only against the facts it consumed: if one moved,
437
+ the commit changes nothing and the line proves again from fresh state at
438
+ its next fair turn, neither waiting on backoff nor reporting a fault.
425
439
  Each authority's accepted records apply in one line, in delivery order:
426
440
  recovery work first, then the first unresolved materializable row, whose
427
441
  target extends only over the adjacent content run of that same file or
428
442
  link. A head with no intent and newer local work on its entity resolves at
429
- once as superseded. A failed head keeps its durable intent, records its
430
- outcome, and parks its whole line with bounded backoff while other
443
+ once as superseded. A failed head keeps its bound intent, or its attempt
444
+ in memory, records its outcome, and parks its whole line with bounded backoff while other
431
445
  authorities' lines go on; waiting holds the queue position, never the
432
446
  ground. The parked line runs again when its backoff elapses, its head
433
447
  changes, newer local work appears for the head's entity, the producer its
@@ -481,9 +495,10 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
481
495
  transition. A type transition replaces the prior physical representation
482
496
  at the same UUID and address through that same recoverable reveal; mere
483
497
  path existence is never proof that the target type exists.
484
- 40. **Newer local work outranks older materialization.** An unsequenced local
485
- Outbox row, or an accepted local receipt sequenced after the selected Apply
486
- target, protects that entity's working ground. The local complete result is
498
+ 40. **Newer local work outranks older materialization.** A local statement
499
+ that speaks for an entity (its own row, or a package of the repository
500
+ whose scope holds it) and is not delivered at or before the selected Apply
501
+ target protects that entity's working ground. The local complete result is
487
502
  still accepted normally and wins only when cloud assigns its later
488
503
  sequence; Apply never rebases, merges, stale-refuses, or rewrites it. A
489
504
  disk difference found before reveal enters Detect and Record before
@@ -559,13 +574,14 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
559
574
  the address and never derives from the display name.
560
575
  47. **An unfinished merge is settled Checkpoint truth.** Git lock files are
561
576
  never portable state and their presence alone cannot prevent a proven
562
- stable observation. Amalgm's own reveal marker identifies an incomplete
563
- owned effect and refuses capture. A stable merge's heads, message and mode,
564
- every unmerged index stage, and the current worktree conflict bytes are
565
- one portable Checkpoint. Registration, Detect, transport, Apply, and
566
- Verify preserve that state exactly so another machine can continue or
567
- resolve the same merge; no layer may turn a durable conflict into a busy
568
- retry or silently flatten it to an ordinary file.
577
+ stable observation. Amalgm's own incomplete reveal is ground its Apply
578
+ receipt owns, which Detect leaves unread through that receipt; a reveal
579
+ marker no receipt owns refuses nothing. A stable merge's heads, message
580
+ and mode, every unmerged index stage, and the current worktree conflict
581
+ bytes are one portable Checkpoint. Registration, Detect, transport,
582
+ Apply, and Verify preserve that state exactly so another machine can
583
+ continue or resolve the same merge; no layer may turn a durable conflict
584
+ into a busy retry or silently flatten it to an ordinary file.
569
585
  48. **A slot collision changes materialization, never identity.** Mutation-time
570
586
  guards refuse a second local owner of one `(parentUUID, name)` slot, but a
571
587
  merged graph may contain identities created concurrently in that slot.
@@ -614,8 +630,9 @@ so no capture is blocked by its own receipt: it ends only through its receipt
614
630
  read, and only that read's proof of a person's change authorizes cancelling
615
631
  it. Cancellation never resolves Inbox or advances verified state.
616
632
  Detect's self-blocked capture answer (`replan`) is therefore unreachable and
617
- awaits removal by its owner. Fresh intents have fresh host-minted attempt identities, even when
618
- the target and wall clock are identical, and run fresh preflight before new effects.
633
+ awaits removal by its owner. Fresh attempts have fresh host-minted identities, even when
634
+ the target and wall clock are identical, and each runs its own preflight before its
635
+ intent is written.
619
636
  Apply uses the same foreign-ownership rule at admission and terminal preparation;
620
637
  a dependent cancellation waits without resolving history or discarding evidence.
621
638
  Primary and collateral placement use the same retained original physical
@@ -654,7 +671,7 @@ src/watching/ the Watch pure cores: minimal coverage ownership and
654
671
  src/detection/ the Detect pure submodule: Watch boundary, identity compare,
655
672
  classification, enrollment, repository territory, exact
656
673
  replay proposals, net batches, and echo equality.
657
- src/apply/ the Apply/Verify pure submodule: durable intent phases,
674
+ src/apply/ the Apply/Verify pure submodule: bind-before-effect intents,
658
675
  gap-free selection, later-local protection, private result
659
676
  proof, type-adapter sockets, and crash-resumable orchestration.
660
677
  src/registration/ the login-time user-ground convergence operation and its
@@ -1,16 +1,17 @@
1
1
  /** Portable contracts at the Inbox -> Apply -> Verify boundary. */
2
2
  import type { CloudEntityRecord } from '../entities/cloud.js';
3
3
  import { type ConstructType, type EntityType, type Sha256Hex } from '../entities/types.js';
4
- import type { ChangeFacet, TextSplice } from '../detection/record-proposal.js';
4
+ import type { TextSplice } from '../detection/record-proposal.js';
5
5
  import type { AcceptedEntityRecord } from '../records/contracts.js';
6
6
  import type { ContentManifest } from '../contracts/content.js';
7
7
  import type { TransferArtifact } from '../transfer/artifacts.js';
8
8
  import { type ApplyPlay } from './showing.js';
9
- export declare const ENTITY_APPLY_INTENT_CONTRACT = "amalgm.entity-apply-intent@3";
10
- export type ApplyIntentPhase = 'declared' | 'prepared' | 'revealed';
11
- /** One crash-recovery responsibility. It is written before any machine effect. */
9
+ import type { ApplySettlement, LineJudgment } from './settling.js';
10
+ export declare const ENTITY_APPLY_INTENT_CONTRACT = "amalgm.entity-apply-intent@4";
11
+ /** One member's exact target inside its window: the entity's last record
12
+ * there. It carries its window's attemptId, so a member names its window. */
12
13
  export interface EntityApplyIntent {
13
- /** Fresh host-minted identity for this attempt, even at the same clock time. */
14
+ /** The window's attempt: fresh and host-minted, even at the same clock time. */
14
15
  readonly attemptId: string;
15
16
  readonly contract: typeof ENTITY_APPLY_INTENT_CONTRACT;
16
17
  readonly authorityId: string;
@@ -20,10 +21,9 @@ export interface EntityApplyIntent {
20
21
  readonly targetMutationId: string;
21
22
  readonly targetState: string;
22
23
  readonly targetType: EntityType;
23
- /** The play judged when the intent began. Recovery finishes it; it is
24
- * never judged again while the intent stays open. */
24
+ /** The play judged when the attempt began. Recovery finishes it; it is
25
+ * never judged again once the attempt binds. */
25
26
  readonly play: ApplyPlay;
26
- readonly phase: ApplyIntentPhase;
27
27
  readonly createdAt: number;
28
28
  }
29
29
  /** The exact official state disk most recently proved, if any. */
@@ -32,49 +32,85 @@ export interface MaterializedOfficialState {
32
32
  readonly record: CloudEntityRecord;
33
33
  }
34
34
  /**
35
- * The work at the head of one authority's line: one entity's unresolved
36
- * Inbox records from its resolved position. Without an intent they run
37
- * through the end of the entity's adjacent run in the line, the records no
38
- * other unresolved record separates; with one, through the intent's target.
35
+ * One member's work: one entity's unresolved Inbox records from its resolved
36
+ * position through its target, the entity's last record in the window
37
+ * (window.ts). An open window names its members' targets; a fresh window's
38
+ * members end where the fold ended.
39
39
  */
40
40
  export interface EntityApplyWork {
41
41
  readonly authorityId: string;
42
42
  readonly entityId: string;
43
- /** The head's play: its open intent's, or judged at its position. */
43
+ /** The member's play: its open intent's, or judged at its position. */
44
44
  readonly play: ApplyPlay;
45
45
  readonly resolvedThrough: number;
46
46
  readonly materialized: MaterializedOfficialState | null;
47
47
  readonly records: readonly AcceptedEntityRecord[];
48
- readonly intent: EntityApplyIntent | null;
49
- /** True once the host durably bound this intent's recovery receipt. The host
50
- * binds before any visible effect; from then the intent owns its ground
51
- * until retirement and is never cancelled, even by newer local work. */
52
- readonly effectsBound: boolean;
53
- /** A terminal decision owns cleanup even with no remaining Inbox or ground. */
54
- readonly retirement?: EntityApplyRetirement;
55
48
  }
49
+ export declare const APPLY_WINDOW_CONTRACT = "amalgm.apply-window@1";
56
50
  /**
57
- * The head of an authority's line. An open intent or retirement heads it.
58
- * Otherwise the head is the first unresolved Inbox row in delivery order,
59
- * judged at its position (settling.ts): a play is a head whose work is that
60
- * entity's adjacent run; a settlement owes no effect and resolves where it
61
- * sits. Nothing is ever read past: a later row plays only after every
62
- * earlier row resolved.
51
+ * One window's intent: the members it binds, each at its own target, under
52
+ * one attempt. It is the window's receipt: the row the host commits
53
+ * strictly before the first visible effect (bound), marks when Verify ends
54
+ * ownership (ended), and deletes once every revealed byte is flushed
55
+ * (durable). Every open window is bound.
63
56
  */
64
- export type EntityApplyLineStep = {
65
- readonly kind: 'head';
57
+ export interface ApplyWindowIntent {
58
+ readonly contract: typeof APPLY_WINDOW_CONTRACT;
59
+ readonly attemptId: string;
60
+ readonly authorityId: string;
61
+ /** In prefix order. Each member intent carries the window's attemptId. */
62
+ readonly members: readonly EntityApplyIntent[];
63
+ readonly createdAt: number;
64
+ }
65
+ /** One member as the line reads it: its work, its judgment at its position
66
+ * (settling.ts), and where it heads the line. */
67
+ export interface WindowMember {
66
68
  readonly work: EntityApplyWork;
67
- } | {
68
- readonly kind: 'settle';
69
- readonly entityId: string;
69
+ readonly judgment: LineJudgment;
70
70
  readonly deliverySequence: number;
71
71
  }
72
+ /**
73
+ * One authority's window. An open window heads its line: it is bound, owns
74
+ * its ground, and finishes through its receipt; its members are its own. A
75
+ * fresh window is the fold of the unresolved rows within the received
76
+ * prefix from the line's first unresolved row, each member judged where it
77
+ * sits. Nothing is read past the fold: the rows after it head a later
78
+ * window only once these resolve.
79
+ */
80
+ export interface ApplyWindow {
81
+ readonly authorityId: string;
82
+ readonly intent: ApplyWindowIntent | null;
83
+ readonly members: readonly WindowMember[];
84
+ /** The position of the first member, for fetching ahead; null when an
85
+ * open window lost its rows to damage from outside Apply. */
86
+ readonly deliverySequence: number | null;
87
+ }
88
+ export type EntityApplyLineStep = {
89
+ readonly kind: 'window';
90
+ readonly window: ApplyWindow;
91
+ }
72
92
  /** No unresolved row is readable whole: the received prefix is resolved,
73
93
  * or the first unresolved row waits for Receive to repair its entity's
74
94
  * gap. Receive's commit wakes the line. */
75
95
  | {
76
96
  readonly kind: 'end';
77
97
  };
98
+ /** How one member ended in its window, in prefix order. */
99
+ export type WindowMemberOutcome =
100
+ /** Verify proved the result; the host staged its rows for the end. */
101
+ {
102
+ readonly kind: 'materialized';
103
+ }
104
+ /** Owed no effect: resolves where it sits with materialization unchanged. */
105
+ | {
106
+ readonly kind: 'settled';
107
+ readonly settlement: ApplySettlement;
108
+ }
109
+ /** Not finished here: its records stay owed and it is judged again. */
110
+ | {
111
+ readonly kind: 'owed';
112
+ readonly reason: string;
113
+ };
78
114
  interface ApplyPlanBase {
79
115
  readonly play: ApplyPlay;
80
116
  readonly entityId: string;
@@ -82,7 +118,6 @@ interface ApplyPlanBase {
82
118
  readonly throughSequence: number;
83
119
  readonly targetMutationId: string;
84
120
  readonly target: CloudEntityRecord;
85
- readonly facets: readonly ChangeFacet[];
86
121
  }
87
122
  export interface TextApplyPlan extends ApplyPlanBase {
88
123
  readonly kind: 'file.text';
@@ -171,15 +206,15 @@ export interface ApplyDependencyOutcome {
171
206
  * longer holds, for example its place stopped showing or its workspace root
172
207
  * is missing here. The host first makes durable the table fact the store
173
208
  * judges by, such as the root being behind, so the next judgment sees it.
174
- * The private intent retires cancelled and the line judges its head again.
209
+ * The attempt is dropped and the line judges its head again.
175
210
  */
176
211
  export interface ApplyRejudge {
177
212
  readonly kind: 'rejudge';
178
213
  readonly reason: string;
179
214
  }
180
215
  /** The reveal found a person's version in the target's place before binding
181
- * anything. Nothing of this intent is shown; it cancels, and Detect records
182
- * the person's version. */
216
+ * anything. Nothing of this attempt is shown; it is dropped, and Detect
217
+ * records the person's version. */
183
218
  export interface ApplyDeclinedReveal {
184
219
  readonly kind: 'declined';
185
220
  readonly reason: string;
@@ -274,63 +309,56 @@ export type ApplyVerification = {
274
309
  readonly kind: 'retry';
275
310
  readonly reason?: string;
276
311
  };
277
- export type ApplyCompletion = {
278
- readonly kind: 'materialized';
279
- } | {
280
- readonly kind: 'superseded-by-local';
281
- };
282
- export type ApplyTerminalPurpose = ApplyCompletion | {
283
- readonly kind: 'cancelled';
284
- };
285
- /** The terminal decision is committed; only its exact private cleanup remains. */
286
- export interface EntityApplyRetirement {
287
- readonly token: string;
288
- readonly intent: EntityApplyIntent;
289
- readonly purpose: ApplyTerminalPurpose;
312
+ /** A fact the terminal decision's proof consumed moved after the proof read
313
+ * it. The save committed nothing: an intent keeps its ownership, and the
314
+ * staged proof is gone. This is unsettled truth, never a fault: the
315
+ * journey proves again from fresh state at its line's next fair turn. */
316
+ export interface ApplyStaleProof {
317
+ readonly kind: 'stale';
318
+ /** The first consumed fact that moved, for diagnostics only. */
319
+ readonly reason: string;
290
320
  }
321
+ /** Nothing when the terminal decision committed. */
322
+ export type ApplyTerminalCommit = void | ApplyStaleProof;
323
+ /** A guard's place in its window. The look is the optimistic preflight
324
+ * before preparation: it reads ground and tables while nothing is held. The
325
+ * final guard runs under the window's held ground, right before the bind. */
326
+ export type ApplyGuardStage = 'look' | 'final';
291
327
  type MaybePromise<T> = T | Promise<T>;
292
328
  /** One prepared SQLite owner supplies these transactions for the rail lifetime. */
293
329
  export interface EntityApplyStorePort {
294
- /** Every authority with an open intent or an unresolved Inbox record. */
330
+ /** Every authority with an open window or an unresolved Inbox record. */
295
331
  readApplyAuthorities(): MaybePromise<readonly string[]>;
296
- /** This authority's line head: an open intent or retirement first, else
297
- * its first unresolved row judged at its position, else the end. Nothing
298
- * is resolved by reading. */
299
- readApplyLineStep(authorityId: string): MaybePromise<EntityApplyLineStep>;
300
- /** Settle the head at `deliverySequence` and the settling heads right
301
- * after it, in one bounded commit that judges each again (settling.ts) at
302
- * its position against committed tables. Returns how many settled: none
303
- * when that row no longer heads the line as a settlement, which the next
304
- * read then shows. Materialization, observed rows, notebook rows, claims
305
- * and ground stay unchanged. */
306
- settle(authorityId: string, deliverySequence: number): MaybePromise<number>;
307
- /** True when a local Outbox row's official position is unknown or after
308
- * `targetSequence`. Its position is its acknowledgement, or the Inbox
309
- * position of the same mutation when Receive holds it before Send stamps
310
- * the receipt. An accepted local receipt remains protective until its own
311
- * official position is selected by Apply. */
332
+ /** This authority's window: an open one first, else the fold of its
333
+ * unresolved rows from the line's first, each member judged at its
334
+ * position, else the end. Nothing is resolved by reading. */
335
+ readApplyWindow(authorityId: string): MaybePromise<EntityApplyLineStep>;
336
+ /** True when local work follows the entity's accepted record at
337
+ * `targetSequence` (local-work.ts): an Outbox row that speaks for the
338
+ * entity, on its own channel or as a package of its speaking repository,
339
+ * whose delivery position is unknown or after the target's. */
312
340
  hasLocalWorkAfter(authorityId: string, entityId: string, targetSequence: number): MaybePromise<boolean>;
313
- beginIntent(intent: EntityApplyIntent): MaybePromise<void>;
314
- setIntentPhase(intent: EntityApplyIntent): MaybePromise<void>;
315
- cancelIntent(intent: EntityApplyIntent): MaybePromise<EntityApplyRetirement>;
316
- /** Commit the exact terminal result and retain this intent for cleanup.
317
- * This must be an outermost durable commit before cleanup can begin. */
318
- completeIntent(intent: EntityApplyIntent, completion: ApplyCompletion): MaybePromise<EntityApplyRetirement>;
319
- /** Remove only the intent bound to this nonreused terminal token. */
320
- acknowledgeCleanup(retirement: EntityApplyRetirement): MaybePromise<void>;
341
+ /** The bound fact: one strict commit of the window's row, carrying each
342
+ * member's staged object, before the first visible effect. Another
343
+ * unfinished window owning part of this one's ground answers a wait. */
344
+ bindWindow(intent: ApplyWindowIntent): MaybePromise<void | ApplyDependencyOutcome>;
345
+ /** The ended fact: one ordered commit that projects every materialized
346
+ * member's staged rows, resolves the longest complete prefix of
347
+ * `outcomes` (window.ts), and ends the window's ownership. A window that
348
+ * never bound (nothing to reveal) passes a null intent and only resolves.
349
+ * A moved fact answers stale with nothing committed. */
350
+ endWindow(intent: ApplyWindowIntent | null, members: readonly WindowMember[], outcomes: readonly WindowMemberOutcome[]): MaybePromise<ApplyTerminalCommit>;
321
351
  }
322
352
  /** Type-owned Apply behavior. Every operation is idempotent for the exact intent. */
323
353
  export interface EntityApplySocket {
354
+ /** Build the member's result privately, in the window's staging. */
324
355
  prepare(intent: EntityApplyIntent, plan: EntityApplyPlan): Promise<void>;
325
- /** Compare ground with the last local observation before preparation and again before reveal. */
326
- guard(intent: EntityApplyIntent, plan: EntityApplyPlan): Promise<ApplyGuard>;
327
- /** Final effect admission can discover an owner through a physical alias,
328
- * or decline before binding when a person's version replaced the ground. */
356
+ /** Compare ground with the last local observation: the look before
357
+ * preparation, the final guard under held ground before the bind. */
358
+ guard(intent: EntityApplyIntent, plan: EntityApplyPlan, stage: ApplyGuardStage): Promise<ApplyGuard>;
359
+ /** Show the prepared result at its address. A person's object found in
360
+ * the way declines; nothing of the member is shown then. */
329
361
  reveal(intent: EntityApplyIntent, plan: EntityApplyPlan): Promise<void | ApplyDependencyOutcome | ApplyDeclinedReveal>;
330
- /** Prove and stage a finite cleanup description without deleting recovery.
331
- * The store consumes this proof together with the requested terminal outcome.
332
- * Another effect owner can defer this boundary using the normal dependency. */
333
- prepareRetirement(intent: EntityApplyIntent, plan: EntityApplyPlan, purpose: ApplyTerminalPurpose): Promise<void | ApplyDependencyOutcome>;
334
362
  }
335
363
  /** Type-owned reread of real ground after reveal. */
336
364
  export interface EntityVerifySocket {
@@ -360,6 +388,10 @@ export type LocalCaptureResult = {
360
388
  readonly kind: 'retry';
361
389
  readonly reason: string;
362
390
  };
391
+ /** How a bound window's member stands on restart, read through the window's
392
+ * receipt (the time-forward verdict): its result stands, it was revealed
393
+ * again, or it is a person's and stays theirs. */
394
+ export type RecoveredMember = WindowMemberOutcome;
363
395
  /**
364
396
  * Machine seam for the common rail. Type dispatch is explicit: the coordinator
365
397
  * cannot perform a filesystem effect until it obtains the target type's full
@@ -367,22 +399,47 @@ export type LocalCaptureResult = {
367
399
  */
368
400
  export interface EntityApplyEffectsPort {
369
401
  adapterFor(type: EntityType): OperationalEntityApplyAdapter;
370
- /** Resume only the recorded cleanup; never require the entity's current
371
- * ground or cargo. Its private objects lie in one materialized root: while
372
- * that root is unavailable the cleanup names it and waits, and the
373
- * retirement keeps heading its line. */
374
- cleanup(retirement: EntityApplyRetirement): Promise<void | ApplyDependencyOutcome>;
375
- /** Await the named observation. Local-only differences retain the Apply
376
- * intent and must never be treated as safely recorded bytes. After reveal,
377
- * the host protects the target from lifecycle inference while preserving
378
- * a real move or save. The rail verifies any claimed Outbox protection.
379
- * An owned result names unfinished Apply operations; a self-owned capture
380
- * requests coherent cancellation/replanning, never a wait on itself.
381
- * Call compared synchronously with the final observation comparison, after
382
- * publishing its progress. A local-only result requires this fence so that
383
- * later progress cannot be lost and this capture cannot wake itself. */
402
+ /** Hold the ground every member of the window touches, through its final
403
+ * guards, bind, reveals and Verify; `release` ends the hold. */
404
+ hold(intent: ApplyWindowIntent, plans: readonly EntityApplyPlan[]): Promise<() => void>;
405
+ /** A bound window re-entered after a restart or a park: read each
406
+ * member's ground through the receipt and finish it there, revealing
407
+ * again what is a prefix or torn, and leaving a person's version theirs.
408
+ * A member whose records the Inbox no longer holds has a null plan and is
409
+ * finished from the receipt alone. */
410
+ recover(intent: ApplyWindowIntent, plans: readonly (EntityApplyPlan | null)[]): Promise<readonly RecoveredMember[]>;
411
+ /** Drop a window that never bound: forget its preparation and remove its
412
+ * private staging. */
413
+ discard(intent: ApplyWindowIntent): Promise<void>;
414
+ /** Await the named observation. Local-only differences retain the member
415
+ * and must never be treated as safely recorded bytes. Call compared
416
+ * synchronously with the final observation comparison, after publishing
417
+ * its progress. */
384
418
  captureLocal(intent: EntityApplyIntent, plan: EntityApplyPlan, position: 'before-reveal' | 'after-reveal', compared: () => void): Promise<LocalCaptureResult>;
385
419
  }
420
+ /** One unresolved row ahead of a line's head: its position and record. */
421
+ export interface ApplyAheadRow {
422
+ readonly deliverySequence: number;
423
+ readonly record: AcceptedEntityRecord;
424
+ }
425
+ /** One immutable artifact a line will prepare from, as Prepare reads it:
426
+ * a binary or construct result carries its manifest. */
427
+ export interface CargoWant {
428
+ readonly artifact: TransferArtifact;
429
+ readonly manifest?: ContentManifest;
430
+ }
431
+ /**
432
+ * Fetching ahead (fetch-ahead.ts). Cargo is immutable and its record names
433
+ * it, so bringing it here needs no turn on the line. A host that can fetch
434
+ * ahead binds this port; without it every member fetches its own cargo.
435
+ */
436
+ export interface EntityApplyCargoPort {
437
+ /** The line's unresolved rows after position `after`, within its complete
438
+ * received prefix, in delivery order, at most `limit`. */
439
+ readAhead(authorityId: string, after: number, limit: number): MaybePromise<readonly ApplyAheadRow[]>;
440
+ /** Make these artifacts local, writing only the disposable cache. */
441
+ fetch(wants: readonly CargoWant[]): Promise<void>;
442
+ }
386
443
  export interface EntityApplySchedulePort {
387
444
  schedule(delayMs: number, callback: () => void): {
388
445
  cancel(): void;
@@ -398,8 +455,12 @@ export interface EntityApplyRailOptions {
398
455
  readonly now: () => number;
399
456
  /** How many authority lines run at once. One line is always sequential. */
400
457
  readonly concurrency?: number;
458
+ readonly cargo?: EntityApplyCargoPort;
401
459
  readonly onWaiting?: (wait: ApplyWait) => void;
402
460
  readonly onBackgroundError?: (error: unknown) => void;
461
+ /** Nothing runs, nothing is queued and no wait is due: the host's
462
+ * durability point fires here (an event, never a timer). */
463
+ readonly onIdle?: () => void;
403
464
  }
404
465
  export declare function assertApplyIntent(intent: EntityApplyIntent): void;
405
466
  export declare function createApplyIntent(input: {
@@ -411,14 +472,12 @@ export declare function createApplyIntent(input: {
411
472
  readonly play: ApplyPlay;
412
473
  readonly createdAt: number;
413
474
  }): EntityApplyIntent;
414
- /**
415
- * The one ownership law. Once an intent is revealed or its effects are bound,
416
- * it owns its ground and ends only on evidence of that ground: a receipt read
417
- * when bound, or for a revealed intent without effects its unbound Verify or
418
- * a later durable local result. Anything else is private preparation, which
419
- * newer work or a covering verified baseline may drop without a read.
420
- */
421
- export declare function applyIntentOwned(intent: EntityApplyIntent, effectsBound: boolean): boolean;
422
- export declare function advanceApplyIntent(intent: EntityApplyIntent, phase: Exclude<ApplyIntentPhase, 'declared'>): EntityApplyIntent;
475
+ export declare function assertApplyWindowIntent(intent: ApplyWindowIntent): void;
476
+ export declare function createApplyWindowIntent(input: {
477
+ readonly attemptId: string;
478
+ readonly authorityId: string;
479
+ readonly members: readonly EntityApplyIntent[];
480
+ readonly createdAt: number;
481
+ }): ApplyWindowIntent;
423
482
  export {};
424
483
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"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"}