@amalgm/live 0.2.79 → 0.2.82

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.
package/PURPOSE.md CHANGED
@@ -161,6 +161,11 @@ its cutover.
161
161
  store every block and the manifest, persist its sealed-manifest evidence,
162
162
  and only then number the Record. The ordinary block path writes the same
163
163
  evidence after its content is durable, so submit never repeats an R2 proof.
164
+ Historical retention is proven only by freshly reading each selected exact
165
+ head through the authenticated content plane and verifying its bytes; a
166
+ sealed-manifest row or a warm machine cache is not proof of current
167
+ readability. A repository proof follows every declared parent transport
168
+ to a cycle-free root and verifies the selected head's declared state.
164
169
  25. **Cold repository transfer is native Git work.** An empty destination
165
170
  receives one binary pack containing exactly the objects reachable from the
166
171
  repository's declared refs, plus bounded Amalgm state metadata. A Git pack
@@ -284,10 +289,16 @@ its cutover.
284
289
  after a final conflict-scoped guard, recoverable reveal, and the target type
285
290
  rereading exact truth. Lock and cargo attempts are finite and observable;
286
291
  their failure retains responsibility for retry rather than waiting forever.
287
- A failed lane parks with bounded backoff and is released only by that
288
- backoff, by newer input for its entity, or, for a materialization dependency
289
- or conflict, by another lane's progress; a wake it caused itself can never
290
- re-run it. Parent and child UUIDs remain independent channels, but their
292
+ A failed lane records its outcome and arms its bounded backoff when that
293
+ lane finishes, never when its work page or the wider drain finishes. Once
294
+ the deadline elapses, retry and fresh ordinary work share bounded fair
295
+ admission across every storage-page partition, so neither repeated failure
296
+ nor unrelated progress can starve the other. Retry eligibility is re-read
297
+ from current durable responsibility before admission; an omitted UUID
298
+ retires its process-local park instead of reviving stale page work. Newer input for its
299
+ entity may also release it, and a materialization dependency or conflict
300
+ may additionally be released only by another lane's progress; a wake it caused
301
+ itself can never re-run it. Parent and child UUIDs remain independent channels, but their
291
302
  physical materialization respects current parcel ownership: a child whose
292
303
  accepted parent is not yet a physical directory, or whose current ancestry
293
304
  still places it inside a repository parcel it is leaving, waits unresolved
@@ -298,6 +309,10 @@ its cutover.
298
309
  local change to capture. The park timer and attempt count are process-local:
299
310
  after restart, the durable intent is re-proved once and, if still blocked,
300
311
  parks again from attempt one.
312
+ A transient stage observer may report which target a finite attempt selected
313
+ and whether that attempt progressed, blocked, or parked. Observer failure is
314
+ discarded at this portable boundary and can never change admission, retry,
315
+ intent durability, reveal, or Verify.
301
316
  A host proves current physical repository ground from Card + Checkpoint and
302
317
  the exact identity frontier sealed to that immutable transport. Compact
303
318
  machine evidence is accepted only when it reproduces the transport's
@@ -168,6 +168,9 @@ export interface EntityApplyStorePort {
168
168
  /** At most one item per entity across a stable cursor scan, existing intents
169
169
  * first. Pagination prevents blocked UUIDs from starving unrelated work. */
170
170
  readApplyWork(limit: number, afterCursor: string | null): MaybePromise<EntityApplyWorkPage>;
171
+ /** Re-read only these lanes for fair retry admission. Missing ids no longer
172
+ * own locally eligible Apply responsibility and are omitted. */
173
+ readApplyWorkForEntities(entityIds: readonly string[]): MaybePromise<readonly EntityApplyWork[]>;
171
174
  /** True when a local Outbox row is still unsequenced or was accepted after
172
175
  * `targetSequence`. An accepted local receipt remains protective until its
173
176
  * own official position is selected by Apply. */
@@ -226,7 +229,25 @@ export interface EntityApplyRailOptions {
226
229
  readonly concurrency?: number;
227
230
  readonly workLimit?: number;
228
231
  readonly onBackgroundError?: (error: unknown) => void;
232
+ /** Transient attempt boundaries only. Observers cannot schedule work or
233
+ * change an Apply result; hosts attach runtime-specific evidence ids. */
234
+ readonly onStage?: (evidence: EntityApplyRailStageEvidence) => void;
229
235
  }
236
+ export type EntityApplyRailStageEvidence = {
237
+ readonly stage: 'selected';
238
+ readonly authorityId: string;
239
+ readonly entityId: string;
240
+ readonly throughSequence: number;
241
+ readonly targetMutationId: string;
242
+ } | {
243
+ readonly stage: 'settled';
244
+ readonly authorityId: string;
245
+ readonly entityId: string;
246
+ readonly throughSequence: number;
247
+ readonly targetMutationId: string;
248
+ readonly outcome: 'progress' | 'blocked' | 'parked';
249
+ readonly reason?: string;
250
+ };
230
251
  export declare function assertApplyIntent(intent: EntityApplyIntent): void;
231
252
  export declare function createApplyIntent(input: {
232
253
  readonly authorityId: string;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAGnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAmC,MAAM,sBAAsB,CAAC;AAMnG,MAAM,CAAC,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AA+O3E,MAAM,IAAI,GAAG,gBAAgB,CAAC;AAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAE/E,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,QAAQ,GAAG,KAAK,EAAW,EAAE,CAC5D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,IAAI,MAAM,CAAC,QAAQ,KAAK,4BAA4B;WAC/C,CAAC,MAAM,CAAC,WAAW;WACnB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;WACnC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;WAC9B,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;WACvC,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;WAChD,CAAC,MAAM,CAAC,gBAAgB;WACxB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;WAC9B,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;WAChC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;WACzB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAMjC;IACC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,QAAQ,EAAE,4BAA4B;QACtC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;QAC5C,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QACzC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACrC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;QAC3C,KAAK,EAAE,UAAmB;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;IACH,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAyB,EACzB,KAA4C;IAE5C,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK;WAC/B,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC;WACrD,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,KAAK,OAAO,KAAK,EAAE,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAGnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAmC,MAAM,sBAAsB,CAAC;AAMnG,MAAM,CAAC,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AAuQ3E,MAAM,IAAI,GAAG,gBAAgB,CAAC;AAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAE/E,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,QAAQ,GAAG,KAAK,EAAW,EAAE,CAC5D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,IAAI,MAAM,CAAC,QAAQ,KAAK,4BAA4B;WAC/C,CAAC,MAAM,CAAC,WAAW;WACnB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;WACnC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;WAC9B,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;WACvC,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;WAChD,CAAC,MAAM,CAAC,gBAAgB;WACxB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;WAC9B,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;WAChC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;WACzB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAMjC;IACC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,QAAQ,EAAE,4BAA4B;QACtC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;QAC5C,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QACzC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACrC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;QAC3C,KAAK,EAAE,UAAmB;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;IACH,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAyB,EACzB,KAA4C;IAE5C,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK;WAC/B,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC;WACrD,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,KAAK,OAAO,KAAK,EAAE,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rail.d.ts","sourceRoot":"","sources":["../../src/apply/rail.ts"],"names":[],"mappings":"AAAA,wDAAwD;AAExD,OAAO,EAOL,KAAK,sBAAsB,EAG5B,MAAM,gBAAgB,CAAC;AAIxB,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAChD,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAsEhD;;;;;;GAMG;AACH,qBAAa,eAAe;;gBAad,OAAO,EAAE,sBAAsB;IAW3C,2EAA2E;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,8DAA8D;IAC9D,gBAAgB,IAAI,IAAI;IAMxB,uEAAuE;IACvE,iBAAiB,IAAI,IAAI;IAIzB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAuZ5B"}
1
+ {"version":3,"file":"rail.d.ts","sourceRoot":"","sources":["../../src/apply/rail.ts"],"names":[],"mappings":"AAAA,wDAAwD;AAExD,OAAO,EAOL,KAAK,sBAAsB,EAI5B,MAAM,gBAAgB,CAAC;AAIxB,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAChD,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAoEhD;;;;;;GAMG;AACH,qBAAa,eAAe;;gBAed,OAAO,EAAE,sBAAsB;IAY3C,2EAA2E;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,8DAA8D;IAC9D,gBAAgB,IAAI,IAAI;IAMxB,uEAAuE;IACvE,iBAAiB,IAAI,IAAI;IAIzB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAmhB5B"}
@@ -28,8 +28,7 @@ function parkFor(outcome) {
28
28
  }
29
29
  return null;
30
30
  }
31
- async function boundedMap(values, concurrency, visit) {
32
- const results = new Array(values.length);
31
+ async function boundedVisit(values, concurrency, visit) {
33
32
  let cursor = 0;
34
33
  const workers = Array.from({ length: Math.min(concurrency, values.length) }, async () => {
35
34
  while (true) {
@@ -37,11 +36,10 @@ async function boundedMap(values, concurrency, visit) {
37
36
  cursor += 1;
38
37
  if (index >= values.length)
39
38
  return;
40
- results[index] = await visit(values[index]);
39
+ await visit(values[index]);
41
40
  }
42
41
  });
43
42
  await Promise.all(workers);
44
- return results;
45
43
  }
46
44
  /**
47
45
  * Apply has only two wake sources: Receive committed new Inbox work, or local
@@ -55,17 +53,20 @@ export class EntityApplyRail {
55
53
  #concurrency;
56
54
  #workLimit;
57
55
  #onBackgroundError;
56
+ #onStage;
58
57
  #started = false;
59
58
  #stopped = false;
60
59
  #needsApply = false;
61
60
  #running = null;
62
61
  #parked = new Map();
62
+ #retryCursor = null;
63
63
  #retry = null;
64
64
  constructor(options) {
65
65
  this.#options = options;
66
66
  this.#concurrency = options.concurrency ?? ENTITY_APPLY_DEFAULT_CONCURRENCY;
67
67
  this.#workLimit = options.workLimit ?? ENTITY_APPLY_DEFAULT_WORK_LIMIT;
68
68
  this.#onBackgroundError = options.onBackgroundError ?? (() => undefined);
69
+ this.#onStage = options.onStage ?? (() => undefined);
69
70
  if (!Number.isSafeInteger(this.#concurrency) || this.#concurrency < 1
70
71
  || !Number.isSafeInteger(this.#workLimit) || this.#workLimit < 1) {
71
72
  throw new Error('entity Apply concurrency and work limit must be positive integers');
@@ -153,58 +154,178 @@ export class EntityApplyRail {
153
154
  async #drain() {
154
155
  while (!this.#stopped && this.#needsApply) {
155
156
  this.#needsApply = false;
156
- const entities = new Set();
157
- const cursors = new Set();
158
- let afterCursor = null;
159
- let madeProgress = false;
160
- do {
161
- const page = await this.#options.store.readApplyWork(this.#workLimit, afterCursor);
162
- if (!page || !Array.isArray(page.work)
163
- || (page.nextCursor !== null
164
- && (typeof page.nextCursor !== 'string' || page.nextCursor.length === 0))) {
165
- throw new Error('entity Apply store returned an invalid work page');
166
- }
167
- if (page.work.length > this.#workLimit
168
- || (page.work.length === 0 && page.nextCursor !== null)) {
169
- throw new Error('entity Apply store violated its work-page bound');
170
- }
171
- for (const item of page.work) {
172
- if (entities.has(item.entityId)) {
173
- throw new Error(`entity Apply store returned ${item.entityId} twice in one scan`);
157
+ const admitted = new Set();
158
+ const progressed = new Set();
159
+ for await (const page of this.#workPages()) {
160
+ const ordinaryLanes = [];
161
+ for (const item of page) {
162
+ if (admitted.has(item.entityId))
163
+ continue;
164
+ const parked = this.#parked.get(item.entityId);
165
+ if (!parked) {
166
+ ordinaryLanes.push(item);
167
+ continue;
174
168
  }
175
- entities.add(item.entityId);
176
- }
177
- const lanes = [];
178
- for (const item of page.work) {
179
169
  if (await this.#due(item))
180
- lanes.push(item);
181
- }
182
- const outcomes = await boundedMap(lanes, this.#concurrency, (item) => this.#applyLane(item));
183
- lanes.forEach((item, index) => this.#settle(item, outcomes[index]));
184
- if (outcomes.includes('progress'))
185
- madeProgress = true;
186
- afterCursor = page.nextCursor;
187
- if (afterCursor !== null && cursors.has(afterCursor)) {
188
- throw new Error('entity Apply store repeated a work-page cursor');
170
+ parked.due = true;
189
171
  }
190
- if (afterCursor !== null)
191
- cursors.add(afterCursor);
192
- } while (!this.#stopped && afterCursor !== null);
193
- if (madeProgress) {
172
+ let ordinaryCursor = 0;
173
+ do {
174
+ const retries = await this.#readDueRetryLanes(this.#concurrency, admitted);
175
+ const ordinary = ordinaryLanes.slice(ordinaryCursor, ordinaryCursor + this.#concurrency);
176
+ ordinaryCursor += ordinary.length;
177
+ const lanes = [];
178
+ const length = Math.max(retries.length, ordinary.length);
179
+ for (let index = 0; index < length; index += 1) {
180
+ const retry = retries[index];
181
+ const fresh = ordinary[index];
182
+ if (retry)
183
+ lanes.push(retry);
184
+ if (fresh)
185
+ lanes.push(fresh);
186
+ }
187
+ for (const lane of lanes)
188
+ admitted.add(lane.entityId);
189
+ await this.#visitLanes(lanes, (entityId) => { progressed.add(entityId); });
190
+ } while (!this.#stopped && ordinaryCursor < ordinaryLanes.length);
191
+ if (this.#stopped)
192
+ break;
193
+ }
194
+ if (progressed.size > 0) {
194
195
  // Progress elsewhere may have materialized a parent dependency or
195
196
  // moved a conflicting destination. Only those causal waits are cheap
196
197
  // enough to re-prove immediately.
197
- for (const lane of this.#parked.values())
198
- if (lane.releaseOnProgress)
198
+ for (const [entityId, lane] of this.#parked) {
199
+ if (lane.releaseOnProgress
200
+ && [...progressed].some((progressedId) => progressedId !== entityId)) {
199
201
  lane.due = true;
202
+ }
203
+ }
200
204
  this.#needsApply = true;
201
205
  }
206
+ if (this.#hasElapsedRetry())
207
+ this.#needsApply = true;
208
+ this.#armRetry();
209
+ }
210
+ }
211
+ /** Read one fair, authoritative retry batch directly, outside page position. */
212
+ async #readDueRetryLanes(limit, excluded) {
213
+ const now = this.#options.now();
214
+ const parkedIds = [...this.#parked.keys()];
215
+ const cursor = this.#retryCursor === null ? -1 : parkedIds.indexOf(this.#retryCursor);
216
+ const rotated = [
217
+ ...parkedIds.slice(cursor + 1),
218
+ ...parkedIds.slice(0, cursor + 1),
219
+ ];
220
+ const entityIds = rotated.filter((entityId) => {
221
+ const lane = this.#parked.get(entityId);
222
+ return !excluded.has(entityId) && (lane.due || lane.notBefore <= now);
223
+ }).slice(0, limit);
224
+ if (entityIds.length === 0)
225
+ return [];
226
+ this.#retryCursor = entityIds.at(-1);
227
+ const work = await this.#options.store.readApplyWorkForEntities(entityIds);
228
+ if (!Array.isArray(work) || work.length > entityIds.length) {
229
+ throw new Error('entity Apply store returned invalid exact work');
230
+ }
231
+ const requested = new Set(entityIds);
232
+ const returned = new Set();
233
+ for (const item of work) {
234
+ if (!requested.has(item.entityId) || returned.has(item.entityId)) {
235
+ throw new Error('entity Apply store returned invalid exact work');
236
+ }
237
+ returned.add(item.entityId);
238
+ }
239
+ for (const entityId of entityIds) {
240
+ if (!returned.has(entityId))
241
+ this.#parked.delete(entityId);
242
+ }
243
+ this.#armRetry();
244
+ return [...work];
245
+ }
246
+ #hasElapsedRetry() {
247
+ const now = this.#options.now();
248
+ for (const lane of this.#parked.values()) {
249
+ if (lane.due || lane.notBefore <= now)
250
+ return true;
251
+ }
252
+ return false;
253
+ }
254
+ /** One validated, duplicate-free snapshot of the store's paged work. */
255
+ async *#workPages() {
256
+ const entities = new Set();
257
+ const cursors = new Set();
258
+ let afterCursor = null;
259
+ do {
260
+ const page = await this.#options.store.readApplyWork(this.#workLimit, afterCursor);
261
+ if (!page || !Array.isArray(page.work)
262
+ || (page.nextCursor !== null
263
+ && (typeof page.nextCursor !== 'string' || page.nextCursor.length === 0))) {
264
+ throw new Error('entity Apply store returned an invalid work page');
265
+ }
266
+ if (page.work.length > this.#workLimit
267
+ || (page.work.length === 0 && page.nextCursor !== null)) {
268
+ throw new Error('entity Apply store violated its work-page bound');
269
+ }
270
+ for (const item of page.work) {
271
+ if (entities.has(item.entityId)) {
272
+ throw new Error(`entity Apply store returned ${item.entityId} twice in one scan`);
273
+ }
274
+ entities.add(item.entityId);
275
+ }
276
+ yield page.work;
277
+ afterCursor = page.nextCursor;
278
+ if (afterCursor !== null && cursors.has(afterCursor)) {
279
+ throw new Error('entity Apply store repeated a work-page cursor');
280
+ }
281
+ if (afterCursor !== null)
282
+ cursors.add(afterCursor);
283
+ } while (!this.#stopped && afterCursor !== null);
284
+ }
285
+ /**
286
+ * Settle each lane when that lane finishes, never when its page finishes.
287
+ * Retry and ordinary lanes share the same bounded batch, so neither class
288
+ * can consume every admission while the other has eligible work.
289
+ */
290
+ async #visitLanes(lanes, onProgress) {
291
+ await boundedVisit(lanes, this.#concurrency, async (item) => {
292
+ const target = item.records.at(-1);
293
+ this.#emitStage({
294
+ stage: 'selected',
295
+ authorityId: item.authorityId,
296
+ entityId: item.entityId,
297
+ throughSequence: target.globalSequence,
298
+ targetMutationId: target.mutationId,
299
+ });
300
+ const outcome = await this.#applyLane(item);
301
+ this.#emitStage({
302
+ stage: 'settled',
303
+ authorityId: item.authorityId,
304
+ entityId: item.entityId,
305
+ throughSequence: target.globalSequence,
306
+ targetMutationId: target.mutationId,
307
+ outcome: outcome === 'progress' || outcome === 'blocked' ? outcome : 'parked',
308
+ ...(typeof outcome === 'object' ? { reason: outcome.reason } : {}),
309
+ });
310
+ this.#settle(item, outcome);
311
+ if (outcome === 'progress')
312
+ onProgress(item.entityId);
313
+ });
314
+ }
315
+ /** Evidence is outside the rail's decision system. A diagnostic consumer
316
+ * may fail, but it may never change whether durable work progresses. */
317
+ #emitStage(evidence) {
318
+ try {
319
+ this.#onStage(evidence);
320
+ }
321
+ catch {
322
+ // Transient evidence has no authority over Apply.
202
323
  }
203
324
  }
204
325
  /** A parked lane runs again only on the releases its park names. */
205
326
  async #due(work) {
206
327
  const parked = this.#parked.get(work.entityId);
207
- if (!parked || parked.due)
328
+ if (!parked || parked.due || parked.notBefore <= this.#options.now())
208
329
  return true;
209
330
  if (work.records.at(-1).globalSequence > parked.throughSequence)
210
331
  return true;
@@ -220,6 +341,7 @@ export class EntityApplyRail {
220
341
  #settle(work, outcome) {
221
342
  if (outcome === 'progress' || outcome === 'blocked') {
222
343
  this.#parked.delete(work.entityId);
344
+ this.#armRetry();
223
345
  return;
224
346
  }
225
347
  const attempt = (this.#parked.get(work.entityId)?.attempt ?? 0) + 1;
@@ -233,6 +355,7 @@ export class EntityApplyRail {
233
355
  releaseOnProgress: outcome.releaseOnProgress,
234
356
  due: false,
235
357
  });
358
+ this.#armRetry();
236
359
  if (!outcome.report)
237
360
  return;
238
361
  this.#onBackgroundError(new Error(`entity Apply lane ${work.entityId} ${outcome.releaseOnProgress ? 'is parked on a conflict' : 'failed'} and will retry in ${delay}ms (attempt ${attempt}): ${outcome.reason}`, outcome.cause === undefined ? undefined : { cause: outcome.cause }));
@@ -456,7 +579,7 @@ export class EntityApplyRail {
456
579
  this.#cancelRetry();
457
580
  return;
458
581
  }
459
- if (this.#retry && this.#retry.dueAt <= earliest)
582
+ if (this.#retry?.dueAt === earliest)
460
583
  return;
461
584
  this.#cancelRetry();
462
585
  const delay = Math.max(0, earliest - this.#options.now());
@@ -1 +1 @@
1
- {"version":3,"file":"rail.js","sourceRoot":"","sources":["../../src/apply/rail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rail.js","sourceRoot":"","sources":["../../src/apply/rail.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  /** Files product operations. Hosts own effects; Live owns decisions. */
2
2
  export * from './commands.js';
3
+ export * from './retained-artifacts.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  /** Files product operations. Hosts own effects; Live owns decisions. */
2
2
  export * from './commands.js';
3
+ export * from './retained-artifacts.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Read-only proof that exact immutable heads retained by cloud authority are
3
+ * still fetchable through the product's authenticated content plane.
4
+ *
5
+ * This operation never materializes entity ground and never treats a manifest
6
+ * row as proof. The host must freshly read and verify every requested artifact;
7
+ * Live owns the type law and the complete repository dependency walk.
8
+ */
9
+ import type { RepositoryTransportLayout } from '../entities/repo-states.js';
10
+ import { type TransferArtifact } from '../transfer/artifacts.js';
11
+ export interface RetainedArtifactHead {
12
+ readonly artifact: TransferArtifact;
13
+ /** The repository state named by this transport head. Required only for Git. */
14
+ readonly expectedStateId: string | null;
15
+ }
16
+ export interface RetainedArtifactRead<LocalArtifact> {
17
+ readonly local: LocalArtifact;
18
+ readonly bytes: number;
19
+ readonly contentHash: string;
20
+ }
21
+ export interface RetainedArtifactVerificationPorts<LocalArtifact> {
22
+ /**
23
+ * Freshly fetch, authenticate and hash-verify every exact artifact. A host
24
+ * may batch the reads, but may not answer from its ordinary warm cache.
25
+ */
26
+ readExact(artifacts: readonly TransferArtifact[]): Promise<ReadonlyMap<string, RetainedArtifactRead<LocalArtifact>>>;
27
+ /** Inspect one already verified Git transport through Live's codec. */
28
+ inspectRepositoryTransport(local: LocalArtifact): Pick<RepositoryTransportLayout, 'stateId' | 'parentTransportVersion'>;
29
+ }
30
+ export interface VerifiedRetainedObject {
31
+ readonly contentHash: string;
32
+ readonly bytes: number;
33
+ }
34
+ export interface RetainedArtifactVerification {
35
+ readonly artifact: TransferArtifact;
36
+ readonly expectedStateId: string | null;
37
+ readonly head: VerifiedRetainedObject;
38
+ /** Git parents in application order, oldest first. Empty for files and links. */
39
+ readonly dependencyClosure: readonly VerifiedRetainedObject[];
40
+ }
41
+ /** Validate the JSON boundary used by authenticated runtime adapters. */
42
+ export declare function checkRetainedArtifactHeads(value: unknown): readonly RetainedArtifactHead[];
43
+ /**
44
+ * Prove exact retained heads and, for Git, every immutable parent transport.
45
+ * The input order is preserved in the result.
46
+ */
47
+ export declare function verifyRetainedArtifacts<LocalArtifact>(heads: readonly RetainedArtifactHead[], ports: RetainedArtifactVerificationPorts<LocalArtifact>): Promise<readonly RetainedArtifactVerification[]>;
48
+ //# sourceMappingURL=retained-artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retained-artifacts.d.ts","sourceRoot":"","sources":["../../src/files/retained-artifacts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAIlC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,gFAAgF;IAChF,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB,CAAC,aAAa;IACjD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iCAAiC,CAAC,aAAa;IAC9D;;;OAGG;IACH,SAAS,CACP,SAAS,EAAE,SAAS,gBAAgB,EAAE,GACrC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACrE,uEAAuE;IACvE,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CACpD,yBAAyB,EACzB,SAAS,GAAG,wBAAwB,CACrC,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,iFAAiF;IACjF,QAAQ,CAAC,iBAAiB,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAC/D;AA8BD,yEAAyE;AACzE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,oBAAoB,EAAE,CAwB1F;AA8BD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,aAAa,EACzD,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,KAAK,EAAE,iCAAiC,CAAC,aAAa,CAAC,GACtD,OAAO,CAAC,SAAS,4BAA4B,EAAE,CAAC,CAmElD"}