@allocator-one/rcl 4.5.8 → 4.5.9

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 (76) hide show
  1. package/README.md +5 -4
  2. package/dist/consensus/semantic-deduper.d.ts +2 -1
  3. package/dist/consensus/semantic-deduper.js +21 -10
  4. package/dist/consensus/semantic-deduper.js.map +1 -1
  5. package/dist/converge/attempt-budget.d.ts +11 -0
  6. package/dist/converge/attempt-budget.js +119 -61
  7. package/dist/converge/attempt-budget.js.map +1 -1
  8. package/dist/converge/delivery-reconciliation.d.ts +2 -1
  9. package/dist/converge/delivery-reconciliation.js +17 -9
  10. package/dist/converge/delivery-reconciliation.js.map +1 -1
  11. package/dist/converge/launch-guard.d.ts +3 -0
  12. package/dist/converge/launch-guard.js +53 -17
  13. package/dist/converge/launch-guard.js.map +1 -1
  14. package/dist/converge/recovered-production.d.ts +14 -0
  15. package/dist/converge/recovered-production.js +61 -0
  16. package/dist/converge/recovered-production.js.map +1 -0
  17. package/dist/converge/recovery-launch.js +82 -35
  18. package/dist/converge/recovery-launch.js.map +1 -1
  19. package/dist/converge/run-state.d.ts +2 -0
  20. package/dist/converge/run-state.js +26 -12
  21. package/dist/converge/run-state.js.map +1 -1
  22. package/dist/converge/semantic-state.js +18 -4
  23. package/dist/converge/semantic-state.js.map +1 -1
  24. package/dist/coordination/registry-lock.d.ts +2 -0
  25. package/dist/coordination/registry-lock.js +42 -13
  26. package/dist/coordination/registry-lock.js.map +1 -1
  27. package/dist/evidence/claim-recovery/delivery.d.ts +25 -0
  28. package/dist/evidence/claim-recovery/delivery.js +100 -0
  29. package/dist/evidence/claim-recovery/delivery.js.map +1 -0
  30. package/dist/evidence/claim-recovery/public-adoption.d.ts +31 -0
  31. package/dist/evidence/claim-recovery/public-adoption.js +177 -0
  32. package/dist/evidence/claim-recovery/public-adoption.js.map +1 -0
  33. package/dist/evidence/claim-recovery/public-manifest.d.ts +114 -0
  34. package/dist/evidence/claim-recovery/public-manifest.js +11 -0
  35. package/dist/evidence/claim-recovery/public-manifest.js.map +1 -0
  36. package/dist/evidence/claim-recovery/public-model.d.ts +85 -0
  37. package/dist/evidence/claim-recovery/public-model.js +177 -0
  38. package/dist/evidence/claim-recovery/public-model.js.map +1 -0
  39. package/dist/evidence/original-run/journal.d.ts +10 -0
  40. package/dist/evidence/original-run/journal.js +55 -3
  41. package/dist/evidence/original-run/journal.js.map +1 -1
  42. package/dist/evidence/original-run/lock.js +22 -9
  43. package/dist/evidence/original-run/lock.js.map +1 -1
  44. package/dist/evidence/recover-claim.d.ts +21 -0
  45. package/dist/evidence/recover-claim.js +504 -0
  46. package/dist/evidence/recover-claim.js.map +1 -0
  47. package/dist/index.js +228 -136
  48. package/dist/index.js.map +1 -1
  49. package/dist/report/assembly.d.ts +2 -0
  50. package/dist/report/assembly.js +1 -0
  51. package/dist/report/assembly.js.map +1 -1
  52. package/dist/report/consensus-assembly.d.ts +2 -0
  53. package/dist/report/consensus-assembly.js +6 -3
  54. package/dist/report/consensus-assembly.js.map +1 -1
  55. package/dist/report/reviewer-artifact.js +3 -1
  56. package/dist/report/reviewer-artifact.js.map +1 -1
  57. package/dist/report/run-header.js +2 -0
  58. package/dist/report/run-header.js.map +1 -1
  59. package/dist/telemetry/deliver.d.ts +8 -0
  60. package/dist/telemetry/deliver.js +55 -8
  61. package/dist/telemetry/deliver.js.map +1 -1
  62. package/dist/telemetry/events.js +2 -0
  63. package/dist/telemetry/events.js.map +1 -1
  64. package/dist/telemetry/outbox.d.ts +20 -0
  65. package/dist/telemetry/outbox.js +324 -103
  66. package/dist/telemetry/outbox.js.map +1 -1
  67. package/dist/telemetry/reviewer-delivery.d.ts +95 -3
  68. package/dist/telemetry/reviewer-delivery.js +600 -12
  69. package/dist/telemetry/reviewer-delivery.js.map +1 -1
  70. package/dist/telemetry/sink.d.ts +14 -0
  71. package/dist/telemetry/sink.js +44 -2
  72. package/dist/telemetry/sink.js.map +1 -1
  73. package/dist/telemetry/terminal-reviewer-delivery.d.ts +154 -5
  74. package/dist/telemetry/terminal-reviewer-delivery.js +196 -21
  75. package/dist/telemetry/terminal-reviewer-delivery.js.map +1 -1
  76. package/package.json +1 -1
@@ -2,8 +2,8 @@ import { checkpointRecoveryCells, requireReviewerLaneBinding } from '../dispatch
2
2
  import { realpath } from "node:fs/promises";
3
3
  import { resolve } from "node:path";
4
4
  import { isDeepStrictEqual } from 'node:util';
5
- import { claimConvergeAttempt, convergeAttemptStatePath, previewConvergeAttemptState, } from "./attempt-budget.js";
6
- import { initialConvergeRunState, loadConvergeRunState, validateRoundCap, writeState, } from "./run-state.js";
5
+ import { claimConvergeAttempt, convergeAttemptStatePath, previewConvergeAttemptState, recordConvergeAttemptLaunch, recordConvergeAttemptRecoveryResume, } from "./attempt-budget.js";
6
+ import { initialConvergeRunState, loadConvergeRunStateEvidence, validateRoundCap, writeState, } from "./run-state.js";
7
7
  import { CheckpointJournal, checkpointPath, exportCheckpointProof, } from "../dispatch/checkpoint.js";
8
8
  import { loadReviewerLineage } from "../evidence/reviewer-lineage.js";
9
9
  import { recoveryAttemptsFromCheckpoint } from "../dispatch/recovery.js";
@@ -86,7 +86,7 @@ async function assertSuccessorAttempts(source, journal, operation) {
86
86
  function equalClaim(left, right) {
87
87
  return left.attempt === right.attempt && left.round === right.round;
88
88
  }
89
- async function loadSource(options, state, attempts, requiredRound) {
89
+ async function loadSource(options, state, nativeSha256, attempts, requiredRound) {
90
90
  const lineage = await loadReviewerLineage({
91
91
  commonDir: options.gitCommonDir, target: options.target, runId: options.sourceRunId,
92
92
  });
@@ -114,10 +114,15 @@ async function loadSource(options, state, attempts, requiredRound) {
114
114
  const frozenInput = retainedLaunchInputSha256(inspected.captured.digest, inspected.assembly.run);
115
115
  const health = inspected.artifact.health;
116
116
  const expectedHealth = { version: 1, policy: health.policy, successfulSeats: health.successfulSeats.length };
117
- const launch = state.lastLaunch;
118
- if (inspected.assembly.run.cycleId !== state.cycle?.id || inspected.assembly.run.converge?.recovery_source !== undefined)
117
+ const launch = state.version === 3 ? attempts?.lastLaunch : state.lastLaunch;
118
+ const recoverySource = inspected.assembly.run.converge?.recovery_source;
119
+ if (inspected.assembly.run.cycleId !== state.cycle?.id ||
120
+ (state.version === 3
121
+ ? !nativeSha256 || recoverySource?.version !== 1 || recoverySource.native_sha256 !== nativeSha256
122
+ : recoverySource !== undefined))
119
123
  fail("source_recovery_binding_mismatch");
120
124
  const spent = attempts?.attempts.find(item => item.attempt === sourceClaim.attempt);
125
+ const attemptOwner = spent?.handoff ?? spent;
121
126
  if (!launch || launch.status !== "completed" || launch.runId !== options.sourceRunId ||
122
127
  launch.headSha !== options.headSha || options.inputSha256 !== frozenInput ||
123
128
  launch.inputSha256 !== frozenInput || !equalClaim(launch, sourceClaim) ||
@@ -125,9 +130,9 @@ async function loadSource(options, state, attempts, requiredRound) {
125
130
  launch.successfulReviews !== health.successfulSeats.length ||
126
131
  launch.totalReviews !== health.policy.seatCount ||
127
132
  stableStringify(launch.reviewerHealth) !== stableStringify(expectedHealth) ||
128
- attempts?.attemptsUsed !== sourceClaim.attempt || !spent || spent.pid !== launch.pid ||
129
- (spent.processIdentity !== undefined || launch.processIdentity !== undefined) &&
130
- !isDeepStrictEqual(spent.processIdentity, launch.processIdentity) ||
133
+ attempts?.attemptsUsed !== sourceClaim.attempt || !spent || attemptOwner?.pid !== launch.pid ||
134
+ (attemptOwner.processIdentity !== undefined || launch.processIdentity !== undefined) &&
135
+ !isDeepStrictEqual(attemptOwner.processIdentity, launch.processIdentity) ||
131
136
  state.rounds.some(round => round.round === requiredRound))
132
137
  fail("source_not_current");
133
138
  if (latest.kind === "successor") {
@@ -155,6 +160,7 @@ async function loadSource(options, state, attempts, requiredRound) {
155
160
  sourceNativeClaim: sourceClaim,
156
161
  policy: health.policy,
157
162
  attempts: [...lineage.attempts],
163
+ ...(state.version === 3 ? { nativeSha256 } : {}),
158
164
  };
159
165
  }
160
166
  /**
@@ -222,8 +228,8 @@ export async function guardReviewerRecoveryLaunch(input) {
222
228
  target: options.target,
223
229
  maxAttempts: options.maxAttempts,
224
230
  beforeClaim: async () => {
225
- const state = (await loadConvergeRunState(options.gitCommonDir, options.target)) ??
226
- initialConvergeRunState(options.target);
231
+ const native = await loadConvergeRunStateEvidence(options.gitCommonDir, options.target);
232
+ const state = native?.state ?? initialConvergeRunState(options.target);
227
233
  const attempts = await previewConvergeAttemptState(options.gitCommonDir, options.target);
228
234
  validateRoundCap(state.roundCap);
229
235
  if (state.rounds.some((item) => !Number.isSafeInteger(item.round) || item.round < 1))
@@ -232,7 +238,7 @@ export async function guardReviewerRecoveryLaunch(input) {
232
238
  1;
233
239
  if (requiredRound > state.roundCap)
234
240
  fail("round_cap");
235
- source = await loadSource(options, state, attempts, requiredRound);
241
+ source = await loadSource(options, state, native?.sha256, attempts, requiredRound);
236
242
  if (source === "already_quorate")
237
243
  throw new AlreadyQuorate();
238
244
  if (attempts?.attemptsUsed !== source.sourceNativeClaim.attempt)
@@ -270,15 +276,18 @@ export async function guardReviewerRecoveryLaunch(input) {
270
276
  assertOperationLive(operation, options);
271
277
  },
272
278
  afterClaim: async (claim, ownership) => {
273
- const state = await loadConvergeRunState(options.gitCommonDir, options.target);
279
+ const native = await loadConvergeRunStateEvidence(options.gitCommonDir, options.target);
280
+ const state = native?.state;
274
281
  if (!state || !source || source === "already_quorate")
275
282
  fail("source_not_current");
283
+ if (state.version === 3 && (!source.nativeSha256 || native.sha256 !== source.nativeSha256))
284
+ fail("source_not_current");
276
285
  const requiredRound = source.sourceNativeClaim.round;
277
286
  if (!operation || operationBytes === undefined ||
278
287
  operation.successorNativeClaim?.attempt !== claim.attempt ||
279
288
  operation.successorNativeClaim.round !== requiredRound)
280
289
  fail("claim_mismatch");
281
- state.lastLaunch = {
290
+ const pendingLaunch = {
282
291
  status: "pending",
283
292
  runId: options.successorRunId,
284
293
  attempt: claim.attempt,
@@ -295,7 +304,13 @@ export async function guardReviewerRecoveryLaunch(input) {
295
304
  sourceNativeClaim: source.sourceNativeClaim,
296
305
  },
297
306
  };
298
- await writeState(options.gitCommonDir, state, ownership);
307
+ if (state.version === 3) {
308
+ await recordConvergeAttemptLaunch(options.gitCommonDir, options.target, pendingLaunch, ownership);
309
+ }
310
+ else {
311
+ state.lastLaunch = pendingLaunch;
312
+ await writeState(options.gitCommonDir, state, ownership);
313
+ }
299
314
  try {
300
315
  const journal = await CheckpointJournal.create({
301
316
  commonDir: options.gitCommonDir,
@@ -328,8 +343,8 @@ export async function guardReviewerRecoveryLaunch(input) {
328
343
  claim.attempt ||
329
344
  inspected.operation.successorNativeClaim.round !== requiredRound)
330
345
  fail("successor_proof_mismatch");
331
- state.lastLaunch = {
332
- ...state.lastLaunch,
346
+ const completedLaunch = {
347
+ ...pendingLaunch,
333
348
  status: "completed",
334
349
  runId: options.successorRunId,
335
350
  reportJsonSha256: terminal.reportSha256,
@@ -343,13 +358,27 @@ export async function guardReviewerRecoveryLaunch(input) {
343
358
  successfulSeats: health.successfulSeats.length,
344
359
  },
345
360
  };
361
+ if (state.version === 3) {
362
+ await recordConvergeAttemptLaunch(options.gitCommonDir, options.target, completedLaunch, ownership);
363
+ }
364
+ else {
365
+ state.lastLaunch = completedLaunch;
366
+ }
346
367
  }
347
368
  catch (error) {
348
- state.lastLaunch = { ...state.lastLaunch, status: "failed" };
369
+ const failedLaunch = { ...pendingLaunch, status: "failed" };
370
+ if (state.version === 3) {
371
+ await recordConvergeAttemptLaunch(options.gitCommonDir, options.target, failedLaunch, ownership);
372
+ }
373
+ else {
374
+ state.lastLaunch = failedLaunch;
375
+ }
349
376
  failure = error;
350
377
  }
351
- state.updatedAt = new Date().toISOString();
352
- await writeState(options.gitCommonDir, state, ownership);
378
+ if (state.version !== 3) {
379
+ state.updatedAt = new Date().toISOString();
380
+ await writeState(options.gitCommonDir, state, ownership);
381
+ }
353
382
  },
354
383
  });
355
384
  }
@@ -388,21 +417,24 @@ export async function guardReviewerRecoveryResume(input) {
388
417
  fail("invalid_resume_input");
389
418
  const options = { ...snapshot, target: snapshot.target.trim(), gitCommonDir: await realpath(resolve(snapshot.gitCommonDir)) };
390
419
  return withNativeTarget(options.gitCommonDir, options.target, async (ownership) => {
391
- const [state, attempts] = await Promise.all([
392
- loadConvergeRunState(options.gitCommonDir, options.target),
420
+ const [native, attempts] = await Promise.all([
421
+ loadConvergeRunStateEvidence(options.gitCommonDir, options.target),
393
422
  previewConvergeAttemptState(options.gitCommonDir, options.target),
394
423
  ]);
424
+ const state = native?.state;
395
425
  const { assertReviewCyclePair } = await import('./fresh-review.js');
396
426
  await assertReviewCyclePair(options.gitCommonDir, options.target, state?.cycle);
397
- const launch = state?.lastLaunch, recovery = launch?.recovery;
427
+ const launch = state?.version === 3 ? attempts?.lastLaunch : state?.lastLaunch;
428
+ const recovery = launch?.recovery;
398
429
  if (!state || !launch || !recovery || launch.runId !== options.successorRunId || !recovery.operationId)
399
430
  fail("resume_missing_launch");
400
431
  if (launch.headSha !== options.headSha || launch.inputSha256 !== options.inputSha256)
401
432
  fail("resume_input_mismatch");
402
433
  const spent = attempts?.attempts.find(item => item.attempt === launch.attempt);
403
- if (!attempts || !spent || spent.pid !== launch.pid || attempts.attemptsUsed !== launch.attempt ||
404
- (spent.processIdentity !== undefined || launch.processIdentity !== undefined) &&
405
- !isDeepStrictEqual(spent.processIdentity, launch.processIdentity))
434
+ const attemptOwner = spent?.handoff ?? spent;
435
+ if (!attempts || !spent || attemptOwner?.pid !== launch.pid || attempts.attemptsUsed !== launch.attempt ||
436
+ (attemptOwner.processIdentity !== undefined || launch.processIdentity !== undefined) &&
437
+ !isDeepStrictEqual(attemptOwner.processIdentity, launch.processIdentity))
406
438
  fail("resume_claim_mismatch");
407
439
  validateRoundCap(state.roundCap);
408
440
  if (state.rounds.some(item => !Number.isSafeInteger(item.round) || item.round < 1))
@@ -459,7 +491,11 @@ export async function guardReviewerRecoveryResume(input) {
459
491
  policy: inspected.artifact.health.policy, attempts: [...lineage.attempts] };
460
492
  const claim = { target: options.target, attempt: launch.attempt,
461
493
  attemptsUsed: attempts.attemptsUsed, cap: attempts.cap, stateFile: convergeAttemptStatePath(options.gitCommonDir, options.target) };
462
- if (inspected.assembly.run.cycleId !== state.cycle?.id || inspected.assembly.run.converge?.recovery_source !== undefined)
494
+ const sourceRecovery = inspected.assembly.run.converge?.recovery_source;
495
+ if (inspected.assembly.run.cycleId !== state.cycle?.id ||
496
+ (state.version === 3
497
+ ? sourceRecovery?.version !== 1 || sourceRecovery.native_sha256 !== native.sha256
498
+ : sourceRecovery !== undefined))
463
499
  fail("resume_source_recovery_binding_mismatch");
464
500
  const priorTerminal = await readJournal.readTerminalReport();
465
501
  if (launch.status === "completed" && !priorTerminal)
@@ -469,6 +505,19 @@ export async function guardReviewerRecoveryResume(input) {
469
505
  const beforeIntents = stableStringify(priorState.records.filter(record => record.type === "intent"));
470
506
  const beforeVerifierIntents = budget.remainingMs === 0
471
507
  ? stableStringify((await readJournal.readVerification())?.intents ?? []) : undefined;
508
+ const persistLaunch = async (expected, next) => {
509
+ if (state.version === 3) {
510
+ await recordConvergeAttemptRecoveryResume(options.gitCommonDir, options.target, {
511
+ expected, next, nativeSha256: native.sha256, ...(state.cycle ? { cycleId: state.cycle.id } : {}),
512
+ }, ownership);
513
+ return;
514
+ }
515
+ if (!isDeepStrictEqual(state.lastLaunch, expected))
516
+ fail('resume_stale_launch');
517
+ state.lastLaunch = next;
518
+ state.updatedAt = new Date().toISOString();
519
+ await writeState(options.gitCommonDir, state, ownership);
520
+ };
472
521
  const finish = async (journal) => {
473
522
  const completed = await loadReviewerLineage({ commonDir: options.gitCommonDir, target: options.target, runId: options.successorRunId });
474
523
  const terminal = completed.latest.terminal, proof = completed.latest.proof, final = completed.latest.inspected;
@@ -511,28 +560,26 @@ export async function guardReviewerRecoveryResume(input) {
511
560
  }
512
561
  const mutableLaunch = { ...launch };
513
562
  delete mutableLaunch.reviewerHealth;
514
- state.lastLaunch = { ...mutableLaunch, status: "pending", recovery: { ...recovery,
563
+ const persistedLaunch = { ...mutableLaunch, status: "pending", recovery: { ...recovery,
515
564
  resume: { pid: process.pid, processIdentity: currentIdentity, phase: "running" } } };
516
- state.updatedAt = new Date().toISOString();
517
- await writeState(options.gitCommonDir, state, ownership);
565
+ await persistLaunch(launch, persistedLaunch);
518
566
  try {
519
567
  const journal = await CheckpointJournal.openWrite({ commonDir: options.gitCommonDir, namespace: options.successorRunId,
520
568
  plan: lineage.plan, ownership });
521
569
  if (!priorTerminal)
522
570
  await options.run({ journal, operation, claim, ownership });
523
571
  const completion = await finish(journal);
524
- state.lastLaunch = { ...launch, ...completion, status: "completed", deliveryPending: launch.deliveryPending ?? false,
572
+ const completedLaunch = { ...launch, ...completion, status: "completed",
573
+ deliveryPending: launch.deliveryPending ?? false,
525
574
  hardFailure: launch.hardFailure ?? false, recovery: { ...recovery,
526
575
  resume: { pid: process.pid, processIdentity: currentIdentity, phase: "finished" } } };
527
- state.updatedAt = new Date().toISOString();
528
- await writeState(options.gitCommonDir, state, ownership);
576
+ await persistLaunch(persistedLaunch, completedLaunch);
529
577
  return { kind: "resumed", claim, operation, reusedTerminal: priorTerminal !== undefined };
530
578
  }
531
579
  catch (error) {
532
- state.lastLaunch = { ...mutableLaunch, status: "failed", recovery: { ...recovery,
580
+ const failedLaunch = { ...mutableLaunch, status: "failed", recovery: { ...recovery,
533
581
  resume: { pid: process.pid, processIdentity: currentIdentity, phase: "finished" } } };
534
- state.updatedAt = new Date().toISOString();
535
- await writeState(options.gitCommonDir, state, ownership);
582
+ await persistLaunch(persistedLaunch, failedLaunch);
536
583
  throw error;
537
584
  }
538
585
  });
@@ -1 +1 @@
1
- {"version":3,"file":"recovery-launch.js","sourceRoot":"","sources":["../../src/converge/recovery-launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recovery-launch.js","sourceRoot":"","sources":["../../src/converge/recovery-launch.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,7 @@ export interface RoundReport {
140
140
  reportBinding?: ReportBinding;
141
141
  classificationVersion?: 1;
142
142
  legacyPendingIdentities?: string[];
143
+ recoveryProjection?: RecoveryProjectionFreshness;
143
144
  findings: AnnotatedRoundFinding[];
144
145
  }
145
146
  export declare function convergeRunStatePath(gitCommonDir: string, target: string): string;
@@ -176,6 +177,7 @@ export interface ReportIdentityMapping {
176
177
  finding: {
177
178
  identity?: string;
178
179
  };
180
+ sighting?: SemanticSighting;
179
181
  }
180
182
  /** Refuse ambiguous legacy report keys before persisting or publishing classifications. */
181
183
  export declare function validateReportIdentityMappings(findings: readonly ReportIdentityMapping[]): void;
@@ -369,6 +369,10 @@ async function processRoundReportOwned(options, ownership) {
369
369
  const gitCommonDir = await ownedNativeTargetCommonDir(ownership, options.gitCommonDir, options.target);
370
370
  options = { ...options, gitCommonDir };
371
371
  const { target, runId, binding, gating } = validateRoundReportInput(options);
372
+ if (binding && options.reportSha256 !== undefined && options.reportSha256 !== binding.reportSha256) {
373
+ throw new ConvergeRunStateError('report_digest_mismatch');
374
+ }
375
+ const reportSha256 = binding?.reportSha256 ?? options.reportSha256;
372
376
  const lineWindow = options.lineWindow ?? DEFAULT_LINE_WINDOW;
373
377
  const state = (await readState(gitCommonDir, target)) ?? initialConvergeRunState(target);
374
378
  const { assertReviewCyclePair, assertNoPendingFreshReview } = await import('./fresh-review.js');
@@ -382,24 +386,34 @@ async function processRoundReportOwned(options, ownership) {
382
386
  const attempts = state.version === 3
383
387
  ? await (await import('./attempt-budget.js')).loadConvergeAttemptState(gitCommonDir, target)
384
388
  : undefined;
385
- const launch = attempts?.lastLaunch ?? state.lastLaunch;
389
+ const launch = state.version === 3 ? attempts?.lastLaunch : state.lastLaunch;
390
+ if (state.cycle) {
391
+ if (!launch || launch.status !== 'completed' || !hasHealthyGuardedLaunch(launch) ||
392
+ launch.runId !== runId || launch.reportJsonSha256 !== reportSha256 || launch.round !== options.round) {
393
+ throw new ConvergeRunStateError('review_cycle_launch_mismatch');
394
+ }
395
+ }
396
+ if (state.version === 3) {
397
+ if (!launch || launch.status !== 'completed') {
398
+ throw new ConvergeRunStateError('recovery_launch_required');
399
+ }
400
+ if (launch.runId !== runId || launch.reportJsonSha256 !== reportSha256 || launch.round !== options.round) {
401
+ throw new ConvergeRunStateError('recovery_launch_mismatch');
402
+ }
403
+ if (!hasHealthyGuardedLaunch(launch))
404
+ throw new ConvergeRunStateError('report_health_inconclusive');
405
+ }
386
406
  if (launch && launch.runId === runId && launch.deliveryFailure === 'local-invalid')
387
407
  throw new ConvergeRunStateError('terminal_rejection_cannot_be_admitted');
388
408
  if (launch?.status === 'completed' && launch.reviewerHealth !== undefined && launch.runId === runId) {
389
409
  // The run's own report bytes and round, or nothing: a rewritten copy is not admissible evidence.
390
- if (launch.round !== options.round || launch.reportJsonSha256 !== options.reportSha256) {
410
+ if (launch.round !== options.round || launch.reportJsonSha256 !== reportSha256) {
391
411
  throw new ConvergeRunStateError('report_launch_mismatch');
392
412
  }
393
413
  if (!hasHealthyGuardedLaunch(launch))
394
414
  throw new ConvergeRunStateError('report_health_inconclusive');
395
415
  }
396
- if (state.cycle) {
397
- if (!launch || launch.status !== 'completed' || !hasHealthyGuardedLaunch(launch) ||
398
- launch.runId !== runId || launch.reportJsonSha256 !== options.reportSha256 || launch.round !== options.round) {
399
- throw new ConvergeRunStateError('review_cycle_launch_mismatch');
400
- }
401
- }
402
- if (state.staleReportAudit?.some(entry => staleManifest(entry).runId === runId || staleManifest(entry).reportSha256 === options.reportSha256))
416
+ if (state.staleReportAudit?.some(entry => staleManifest(entry).runId === runId || staleManifest(entry).reportSha256 === reportSha256))
403
417
  throw new ConvergeRunStateError('stale_report_cannot_be_admitted');
404
418
  if (state.staleReportAudit?.length) {
405
419
  const { verifyStaleReportReceipts } = await import('./stale-report.js');
@@ -409,7 +423,7 @@ async function processRoundReportOwned(options, ownership) {
409
423
  const { verifyHistoricalDeliveryReconciliations } = await import('./historical-delivery-reconciliation.js');
410
424
  await verifyHistoricalDeliveryReconciliations(gitCommonDir, state);
411
425
  }
412
- if (state.terminalRejections?.some(entry => rejectionManifest(entry).runId === runId || rejectionManifest(entry).reportSha256 === options.reportSha256))
426
+ if (state.terminalRejections?.some(entry => rejectionManifest(entry).runId === runId || rejectionManifest(entry).reportSha256 === reportSha256))
413
427
  throw new ConvergeRunStateError('terminal_rejection_cannot_be_admitted');
414
428
  if (state.terminalRejections) {
415
429
  const { verifyTerminalRejections } = await import('./terminal-rejection.js');
@@ -420,7 +434,7 @@ async function processRoundReportOwned(options, ownership) {
420
434
  throw new ConvergeRunStateError('round_gap_requires_explicit_original_evidence_recovery');
421
435
  for (const entry of gapEntries.filter(e => gapManifest(e).admittingRound === options.round)) {
422
436
  const m = gapManifest(entry);
423
- if (m.runId !== runId || m.reportSha256 !== options.reportSha256)
437
+ if (m.runId !== runId || m.reportSha256 !== reportSha256)
424
438
  throw new ConvergeRunStateError('round_gap_original_report_mismatch');
425
439
  const { verifyRoundGapReceipt } = await import('./round-gap.js');
426
440
  const original = await verifyRoundGapReceipt(gitCommonDir, entry);
@@ -445,7 +459,7 @@ async function processRoundReportOwned(options, ownership) {
445
459
  const gaps = Array.from({ length: Math.max(0, options.round - maxRecorded - 1) }, (_, i) => maxRecorded + i + 1);
446
460
  const admittedThroughGap = gaps.length === 1 && gaps.every(gapRound => gapEntries.some(entry => {
447
461
  const m = gapManifest(entry);
448
- return m.gapRound === gapRound && m.admittingRound === options.round && m.runId === runId && m.reportSha256 === options.reportSha256;
462
+ return m.gapRound === gapRound && m.admittingRound === options.round && m.runId === runId && m.reportSha256 === reportSha256;
449
463
  }));
450
464
  if (maxRecorded > 0 && (options.round < maxRecorded || (options.round > maxRecorded + 1 && !admittedThroughGap))) {
451
465
  throw new ConvergeRunStateError(`Round ${options.round} for ${target} is out of order: recorded rounds reach ` +