@allocator-one/rcl 4.5.4 → 4.5.6

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 (64) hide show
  1. package/README.md +5 -4
  2. package/dist/converge/attempt-budget.d.ts +14 -0
  3. package/dist/converge/attempt-budget.js +216 -1
  4. package/dist/converge/attempt-budget.js.map +1 -1
  5. package/dist/converge/launch-guard.js +23 -6
  6. package/dist/converge/launch-guard.js.map +1 -1
  7. package/dist/converge/launch-record.d.ts +36 -0
  8. package/dist/converge/launch-record.js +9 -3
  9. package/dist/converge/launch-record.js.map +1 -1
  10. package/dist/converge/legacy-launch-health.d.ts +36 -0
  11. package/dist/converge/native-lock.d.ts +3 -1
  12. package/dist/converge/native-lock.js +4 -4
  13. package/dist/converge/native-lock.js.map +1 -1
  14. package/dist/converge/ordinary-pending-export.d.ts +3 -0
  15. package/dist/converge/ordinary-pending-export.js +64 -17
  16. package/dist/converge/ordinary-pending-export.js.map +1 -1
  17. package/dist/converge/ordinary-pending-package.d.ts +11 -0
  18. package/dist/converge/ordinary-pending-package.js +18 -4
  19. package/dist/converge/ordinary-pending-package.js.map +1 -1
  20. package/dist/converge/pending-finalization-receipt.d.ts +4 -0
  21. package/dist/converge/pending-finalization-receipt.js +102 -0
  22. package/dist/converge/pending-finalization-receipt.js.map +1 -0
  23. package/dist/converge/pending-legacy-resume.d.ts +48 -3
  24. package/dist/converge/pending-legacy-resume.js +215 -35
  25. package/dist/converge/pending-legacy-resume.js.map +1 -1
  26. package/dist/converge/pending-recovery-source.d.ts +114 -0
  27. package/dist/converge/pending-recovery-source.js +36 -1
  28. package/dist/converge/pending-recovery-source.js.map +1 -1
  29. package/dist/converge/process-identity.d.ts +51 -0
  30. package/dist/converge/process-identity.js +190 -0
  31. package/dist/converge/process-identity.js.map +1 -0
  32. package/dist/converge/recovery-launch.js +39 -17
  33. package/dist/converge/recovery-launch.js.map +1 -1
  34. package/dist/converge/recovery-state.d.ts +55 -0
  35. package/dist/converge/recovery-state.js +306 -0
  36. package/dist/converge/recovery-state.js.map +1 -0
  37. package/dist/converge/run-state.d.ts +39 -1
  38. package/dist/converge/run-state.js +246 -18
  39. package/dist/converge/run-state.js.map +1 -1
  40. package/dist/converge/semantic-state.d.ts +55 -0
  41. package/dist/converge/semantic-state.js +666 -0
  42. package/dist/converge/semantic-state.js.map +1 -0
  43. package/dist/converge/stale-report.d.ts +36 -0
  44. package/dist/dispatch/async-lane.d.ts +12 -0
  45. package/dist/dispatch/async-lane.js +98 -12
  46. package/dist/dispatch/async-lane.js.map +1 -1
  47. package/dist/evidence/claim-recovery/validation/native-state.d.ts +22 -0
  48. package/dist/evidence/claim-recovery/validation/native-state.js +91 -9
  49. package/dist/evidence/claim-recovery/validation/native-state.js.map +1 -1
  50. package/dist/evidence/claim-recovery/validation/obligations.js +2 -1
  51. package/dist/evidence/claim-recovery/validation/obligations.js.map +1 -1
  52. package/dist/evidence/claim-recovery/validation/semantic-validation.d.ts +11 -0
  53. package/dist/evidence/claim-recovery/validation/semantic-validation.js +105 -28
  54. package/dist/evidence/claim-recovery/validation/semantic-validation.js.map +1 -1
  55. package/dist/evidence/claim-recovery/validation/types.d.ts +10 -0
  56. package/dist/evidence/original-run/lock-scope.d.ts +12 -6
  57. package/dist/evidence/original-run/lock-scope.js +12 -9
  58. package/dist/evidence/original-run/lock-scope.js.map +1 -1
  59. package/dist/index.js +59 -13
  60. package/dist/index.js.map +1 -1
  61. package/dist/telemetry/recovery/files.d.ts +4 -0
  62. package/dist/telemetry/recovery/files.js +15 -5
  63. package/dist/telemetry/recovery/files.js.map +1 -1
  64. package/package.json +1 -1
package/README.md CHANGED
@@ -186,6 +186,7 @@ Untracked files are invisible to `git diff` and therefore not reviewed.
186
186
  | `--ci` | Exit 1 when the review is a CI failure (see [`--ci`](#--ci)) |
187
187
  | `--head-sha <sha>` / `--base-sha <sha>` | Exact head/base commit a patch file was taken from (patch files only) |
188
188
  | `--expect-head-sha <sha>` | Fail fast unless the resolved head commit equals this SHA |
189
+ | `--expect-pr-head-sha <sha>` / `--pending-preview-sha256 <digest>` | Cycle finalize-only recovery: bind the live PR's current head separately from the historical `--head-sha`, then require apply to present the exact digest returned by preview |
189
190
  | `--for-pr <owner/repo#N>` | Bind a patch-file review to the pull request it was taken from (needs `--head-sha`) |
190
191
  | `--no-telemetry` | Do not deliver this review as evidence to Harness |
191
192
  | `--evidence-required` | Exit 4 unless Harness acknowledged the evidence |
@@ -212,12 +213,12 @@ recovery operations, documented in
212
213
  | `--retry-report <path>` | Bind an original legacy (4.1.10–4.1.12) report to an inconclusive retry; requires `--retry-reason` |
213
214
  | `--launch-intent <intent>` | `review` (default), `stop-upstream`, `stop-review`, or `retry-delivery` |
214
215
  | `--bound-fix-recovery <run-id>` | Allow one more review of unchanged inputs after verifying a native dismissal-only run against live Harness evidence |
215
- | `--export-pending-package <path>` | Export the authenticated inputs of an ordinary pending launch whose coordinator died to an exclusive private file, without provider calls or native writes |
216
+ | `--export-pending-package <path>` | Export the authenticated inputs of a pending launch whose coordinator died to an exclusive private file, without provider calls or native writes |
216
217
  | `--expect-base-sha <sha>` | With `--export-pending-package` only: require the resolved current base to equal this SHA |
217
218
  | `--preview-pending` | Authenticate a pending recovery or preview a package export without writes or provider calls |
218
- | `--ordinary-pending-package <path>` | Immutable pending-launch package for `--resume-pending` or `--finalize-pending-only` |
219
- | `--resume-pending` / `--resume-async-sha256 <hashes>` | Finalize a dead pending launch and claim one checkpointed retry, retaining the exact async results |
220
- | `--finalize-pending-only` / `--pending-native-sha256 <digest>` / `--pending-attempt-sha256 <digest>` | Finalize the previewed pending attempt as failed/unknown without claiming a successor |
219
+ | `--ordinary-pending-package <path>` | Immutable pending-launch package for `--resume-pending` or `--finalize-pending-only`; cycle packages are finalize-only |
220
+ | `--resume-pending` / `--resume-async-sha256 <hashes>` | Finalize a dead pending launch and claim one checkpointed retry, retaining the exact async results; cycle recovery accepts `none` for no completed async artifacts |
221
+ | `--finalize-pending-only` / `--pending-native-sha256 <digest>` / `--pending-attempt-sha256 <digest>` | Finalize the previewed pending attempt as failed/unknown without claiming a successor; cycle recovery after PR movement also requires `--for-pr`, `--expect-pr-head-sha`, and the returned `--pending-preview-sha256` |
221
222
 
222
223
  **Reports.** Every report carries a `run` header: a client run id (UUIDv7),
223
224
  the rcl version, the target with its exact `head_sha`/`base_sha` (from GitHub
@@ -1,13 +1,16 @@
1
1
  import { type RetrySource } from './retry-source.js';
2
2
  import { type BoundFixRecoverySource } from './bound-fix-recovery-source.js';
3
3
  import { type PendingRecoverySource } from './pending-recovery-source.js';
4
+ import { type GuardedLaunchState } from './launch-record.js';
4
5
  import { type NativeTargetOwnership } from './target-ownership.js';
5
6
  import { type NativeReviewCycle } from './review-cycle.js';
7
+ import { type ProcessIdentity } from './process-identity.js';
6
8
  export declare const DEFAULT_CONVERGE_ATTEMPT_CAP = 20;
7
9
  export interface ConvergeAttemptRecord {
8
10
  attempt: number;
9
11
  claimedAt: string;
10
12
  pid: number;
13
+ processIdentity?: ProcessIdentity;
11
14
  source: 'claim';
12
15
  retrySource?: RetrySource;
13
16
  boundFixRecoverySource?: BoundFixRecoverySource;
@@ -22,6 +25,7 @@ export interface ConvergeAttemptState {
22
25
  attemptsUsed: number;
23
26
  attempts: ConvergeAttemptRecord[];
24
27
  updatedAt: string;
28
+ lastLaunch?: GuardedLaunchState;
25
29
  }
26
30
  export interface ConvergeAttemptClaim {
27
31
  target: string;
@@ -31,6 +35,7 @@ export interface ConvergeAttemptClaim {
31
35
  stateFile: string;
32
36
  warning?: string;
33
37
  cycle?: NativeReviewCycle;
38
+ processIdentity?: ProcessIdentity;
34
39
  }
35
40
  export declare class ConvergeAttemptBudgetExceededError extends Error {
36
41
  readonly target: string;
@@ -83,6 +88,15 @@ export declare function validateConvergeAttemptState(value: unknown, expectedTar
83
88
  */
84
89
  export declare function claimConvergeAttempt(options: ClaimOptions): Promise<ConvergeAttemptClaim>;
85
90
  export declare function loadConvergeAttemptState(gitCommonDir: string, target: string): Promise<ConvergeAttemptState | undefined>;
91
+ /** Update only an owned, already-spent launch; never create or alter accounting. */
92
+ export declare function recordConvergeAttemptLaunch(gitCommonDir: string, target: string, launch: GuardedLaunchState, ownership: NativeTargetOwnership, mutation?: 'completion' | 'delivery'): Promise<void>;
93
+ /** Continue one fully validated saved recovery under a new native target lease. */
94
+ export declare function recordConvergeAttemptRecoveryResume(gitCommonDir: string, target: string, input: {
95
+ expected: GuardedLaunchState;
96
+ next: GuardedLaunchState;
97
+ nativeSha256: string;
98
+ cycleId?: string;
99
+ }, ownership: NativeTargetOwnership): Promise<void>;
86
100
  export declare function previewConvergeAttemptState(gitCommonDir: string, target: string): Promise<ConvergeAttemptState | undefined>;
87
101
  export declare function resolveGitCommonDir(cwd?: string): Promise<string>;
88
102
  export {};
@@ -1,14 +1,17 @@
1
1
  import { retrySourceSchema } from './retry-source.js';
2
2
  import { boundFixRecoverySourceSchema } from './bound-fix-recovery-source.js';
3
3
  import { pendingRecoverySourceSchema } from './pending-recovery-source.js';
4
+ import { isDeepStrictEqual } from 'node:util';
5
+ import { launchSchema } from './launch-record.js';
4
6
  import { execFile } from 'node:child_process';
5
7
  import { createHash, randomUUID } from 'node:crypto';
6
8
  import { link, lstat, mkdir, open, readFile, realpath, rename, rm, unlink, writeFile, } from 'node:fs/promises';
7
9
  import { dirname, isAbsolute, join, resolve } from 'node:path';
8
10
  import { promisify } from 'node:util';
9
- import { withNativeTarget, withOwnedNativeOperation } from './target-ownership.js';
11
+ import { ownedNativeTargetCommonDir, withNativeTarget, withOwnedNativeOperation } from './target-ownership.js';
10
12
  import { validCycleVersion } from './review-cycle.js';
11
13
  import { RegistryCleanupError } from '../coordination/registry-lock.js';
14
+ import { captureCurrentProcessIdentity, inspectProcessIdentity, processIdentitySchema } from './process-identity.js';
12
15
  export const DEFAULT_CONVERGE_ATTEMPT_CAP = 20;
13
16
  const STATE_VERSION = 2;
14
17
  const STATE_DIR = 'rcl-converge-attempts';
@@ -100,6 +103,8 @@ export function validateConvergeAttemptState(value, expectedTarget, stateFile) {
100
103
  record.attempt !== (state.migratedAttempts ?? 0) + index + 1 ||
101
104
  typeof record.claimedAt !== 'string' ||
102
105
  !Number.isInteger(record.pid) ||
106
+ (record.processIdentity !== undefined &&
107
+ (!processIdentitySchema.safeParse(record.processIdentity).success || record.processIdentity.pid !== record.pid)) ||
103
108
  record.source !== 'claim' ||
104
109
  (record.retrySource !== undefined && (!retrySourceSchema.safeParse(record.retrySource).success ||
105
110
  record.retrySource.attempt !== record.attempt - 1)) ||
@@ -115,6 +120,17 @@ export function validateConvergeAttemptState(value, expectedTarget, stateFile) {
115
120
  record.retrySource !== undefined || record.boundFixRecoverySource !== undefined)))) {
116
121
  throw new ConvergeAttemptStateError(`Invalid convergence attempt state in ${stateFile}; refusing to reset the safety budget.`);
117
122
  }
123
+ if (state.lastLaunch !== undefined) {
124
+ const launch = launchSchema.safeParse(state.lastLaunch);
125
+ if (!launch.success || !attempts.some(record => record.attempt === launch.data.attempt && record.pid === launch.data.pid)) {
126
+ throw new ConvergeAttemptStateError(`Invalid guarded launch in convergence attempt state: ${stateFile}`);
127
+ }
128
+ const launchAttempt = attempts.find(record => record.attempt === launch.data.attempt);
129
+ if ((launchAttempt?.processIdentity !== undefined || launch.data.processIdentity !== undefined) &&
130
+ !isDeepStrictEqual(launchAttempt?.processIdentity, launch.data.processIdentity)) {
131
+ throw new ConvergeAttemptStateError(`Guarded launch process identity does not match its attempt owner: ${stateFile}`);
132
+ }
133
+ }
118
134
  return state;
119
135
  }
120
136
  async function stateFromExistingLedger(gitCommonDir, target, timestamp) {
@@ -579,6 +595,10 @@ async function claimConvergeAttemptOwned(options) {
579
595
  const lockFile = `${stateFile}.lock`;
580
596
  const now = options.now ?? (() => new Date());
581
597
  const recordPid = options.recordPid ?? process.pid;
598
+ const recordProcessIdentity = recordPid === process.pid &&
599
+ (process.platform === 'linux' || process.platform === 'darwin' || process.platform === 'win32')
600
+ ? await captureCurrentProcessIdentity()
601
+ : undefined;
582
602
  const lockOwner = {
583
603
  pid: process.pid,
584
604
  claimedAt: now().toISOString(),
@@ -633,6 +653,7 @@ async function claimConvergeAttemptOwned(options) {
633
653
  const state = {
634
654
  version: previous?.version ?? STATE_VERSION,
635
655
  ...(previous?.cycle ? { cycle: previous.cycle } : {}),
656
+ ...(previous?.lastLaunch ? { lastLaunch: previous.lastLaunch } : {}),
636
657
  target,
637
658
  cap: effectiveCap,
638
659
  migratedAttempts: previous?.migratedAttempts ?? 0,
@@ -640,6 +661,7 @@ async function claimConvergeAttemptOwned(options) {
640
661
  attempts: [
641
662
  ...(previous?.attempts ?? []),
642
663
  { attempt, claimedAt: timestamp, pid: recordPid, source: 'claim',
664
+ ...(recordProcessIdentity ? { processIdentity: recordProcessIdentity } : {}),
643
665
  ...(options.retrySource ? { retrySource: options.retrySource } : {}),
644
666
  ...(options.boundFixRecoverySource ? { boundFixRecoverySource: options.boundFixRecoverySource } : {}),
645
667
  ...(options.pendingRecoverySource ? { pendingRecoverySource: options.pendingRecoverySource } : {}) },
@@ -648,6 +670,7 @@ async function claimConvergeAttemptOwned(options) {
648
670
  };
649
671
  await writeStateAtomically(stateFile, state);
650
672
  claim = { target, attempt, attemptsUsed: attempt, cap: effectiveCap, stateFile,
673
+ ...(recordProcessIdentity ? { processIdentity: recordProcessIdentity } : {}),
651
674
  ...(state.cycle ? { cycle: state.cycle } : {}) };
652
675
  }
653
676
  catch (err) {
@@ -686,6 +709,198 @@ async function claimConvergeAttemptOwned(options) {
686
709
  export async function loadConvergeAttemptState(gitCommonDir, target) {
687
710
  return readState(convergeAttemptStatePath(gitCommonDir, target), validateTarget(target));
688
711
  }
712
+ /** Update only an owned, already-spent launch; never create or alter accounting. */
713
+ export async function recordConvergeAttemptLaunch(gitCommonDir, target, launch, ownership, mutation = 'completion') {
714
+ if (mutation !== 'completion' && mutation !== 'delivery') {
715
+ throw new ConvergeAttemptStateError('Unsupported guarded launch mutation.');
716
+ }
717
+ const incoming = launchSchema.parse(launch);
718
+ return withOwnedNativeOperation(ownership, gitCommonDir, target, async (operation) => {
719
+ const commonDir = await ownedNativeTargetCommonDir(operation, gitCommonDir, target);
720
+ const stateFile = convergeAttemptStatePath(commonDir, target);
721
+ const lockFile = `${stateFile}.lock`;
722
+ const owner = { pid: process.pid, claimedAt: new Date().toISOString(), token: randomUUID() };
723
+ await acquireOwnedLock(lockFile, DEFAULT_LOCK_TIMEOUT_MS, DEFAULT_LOCK_RETRY_MS, owner);
724
+ let failure;
725
+ try {
726
+ const state = await readState(stateFile, target);
727
+ if (!state || state.attemptsUsed !== incoming.attempt || state.attempts.at(-1)?.pid !== incoming.pid ||
728
+ mutation === 'completion' && incoming.pid !== process.pid) {
729
+ throw new ConvergeAttemptStateError('Guarded launch requires this process\'s latest durable attempt claim.');
730
+ }
731
+ const attemptOwner = state.attempts.at(-1)?.processIdentity;
732
+ if ((attemptOwner !== undefined || incoming.processIdentity !== undefined) &&
733
+ !isDeepStrictEqual(attemptOwner, incoming.processIdentity)) {
734
+ throw new ConvergeAttemptStateError('Guarded launch process identity does not match its attempt owner.');
735
+ }
736
+ if (mutation === 'completion' && attemptOwner !== undefined) {
737
+ let currentOwner;
738
+ try {
739
+ currentOwner = await captureCurrentProcessIdentity();
740
+ }
741
+ catch (error) {
742
+ throw new ConvergeAttemptStateError('Guarded launch current process identity is unverifiable.', { cause: error });
743
+ }
744
+ if (!isDeepStrictEqual(attemptOwner, currentOwner)) {
745
+ throw new ConvergeAttemptStateError('Guarded launch current process identity does not match its attempt owner.');
746
+ }
747
+ }
748
+ const { assertReviewCyclePair } = await import('./fresh-review.js');
749
+ await assertReviewCyclePair(commonDir, target, state.cycle);
750
+ const previous = state.lastLaunch;
751
+ if (mutation === 'delivery' && (!previous || previous.status !== 'completed' ||
752
+ incoming.deliveryPending !== false ||
753
+ !isDeepStrictEqual({ ...previous, deliveryPending: false }, incoming))) {
754
+ throw new ConvergeAttemptStateError('Delivery recording may change only the exact completed launch delivery flag.');
755
+ }
756
+ if (isDeepStrictEqual(previous, incoming)) {
757
+ const handle = await open(stateFile, 'r+');
758
+ try {
759
+ await handle.sync();
760
+ }
761
+ finally {
762
+ await handle.close();
763
+ }
764
+ await syncDirectory(dirname(stateFile));
765
+ return;
766
+ }
767
+ if (mutation === 'completion') {
768
+ if (incoming.status === 'pending') {
769
+ if (previous && previous.attempt >= incoming.attempt) {
770
+ throw new ConvergeAttemptStateError('A recorded guarded launch cannot be replaced or reset.');
771
+ }
772
+ }
773
+ else {
774
+ const binding = ['attempt', 'round', 'headSha', 'inputSha256', 'startedAt', 'pid', 'retryReason'];
775
+ if (!previous || previous.status !== 'pending' ||
776
+ binding.some(key => previous[key] !== incoming[key]) ||
777
+ previous.runId !== undefined && previous.runId !== incoming.runId ||
778
+ !isDeepStrictEqual(previous.recovery, incoming.recovery)) {
779
+ throw new ConvergeAttemptStateError('Guarded completion does not match its original pending launch.');
780
+ }
781
+ }
782
+ }
783
+ await writeStateAtomically(stateFile, { ...state, lastLaunch: incoming, updatedAt: new Date().toISOString() });
784
+ }
785
+ catch (error) {
786
+ failure = error;
787
+ throw error;
788
+ }
789
+ finally {
790
+ try {
791
+ await releaseOwnedLock(lockFile, owner);
792
+ }
793
+ catch (error) {
794
+ if (failure !== undefined) {
795
+ throw new AggregateError([failure, error], 'Guarded launch recording and lock release failed.');
796
+ }
797
+ throw error;
798
+ }
799
+ }
800
+ });
801
+ }
802
+ /** Continue one fully validated saved recovery under a new native target lease. */
803
+ export async function recordConvergeAttemptRecoveryResume(gitCommonDir, target, input, ownership) {
804
+ const expected = launchSchema.parse(input.expected);
805
+ const next = launchSchema.parse(input.next);
806
+ const source = { nativeSha256: input.nativeSha256, cycleId: input.cycleId };
807
+ let currentIdentity;
808
+ try {
809
+ currentIdentity = await captureCurrentProcessIdentity();
810
+ }
811
+ catch (error) {
812
+ throw new ConvergeAttemptStateError('recovery_resume_owner_unverifiable', { cause: error });
813
+ }
814
+ const binding = (launch) => {
815
+ const { status: _status, reportJsonSha256: _report, successfulReviews: _success, totalReviews: _total, deliveryPending: _delivery, hardFailure: _hard, reviewerHealth: _health, exitCode: _exit, reportPath: _path, recovery, ...immutable } = launch;
816
+ const { resume: _resume, ...operation } = recovery ?? {};
817
+ return { ...immutable, recovery: operation };
818
+ };
819
+ if (!expected.recovery?.operationId || !expected.runId || !isDeepStrictEqual(binding(expected), binding(next)) ||
820
+ next.recovery?.resume?.pid !== process.pid ||
821
+ !isDeepStrictEqual(next.recovery.resume.processIdentity, currentIdentity)) {
822
+ throw new ConvergeAttemptStateError('recovery_resume_binding_mismatch');
823
+ }
824
+ return withOwnedNativeOperation(ownership, gitCommonDir, target, async (owned) => {
825
+ const commonDir = await ownedNativeTargetCommonDir(owned, gitCommonDir, target);
826
+ const stateFile = convergeAttemptStatePath(commonDir, target);
827
+ const lockFile = `${stateFile}.lock`;
828
+ const owner = { pid: process.pid, claimedAt: new Date().toISOString(), token: randomUUID() };
829
+ await acquireOwnedLock(lockFile, DEFAULT_LOCK_TIMEOUT_MS, DEFAULT_LOCK_RETRY_MS, owner);
830
+ let failure;
831
+ try {
832
+ const state = await readState(stateFile, target);
833
+ if (!state || state.attemptsUsed !== expected.attempt || state.attempts.at(-1)?.pid !== expected.pid) {
834
+ throw new ConvergeAttemptStateError('recovery_resume_claim_mismatch');
835
+ }
836
+ const { assertReviewCyclePair } = await import('./fresh-review.js');
837
+ await assertReviewCyclePair(commonDir, target, state.cycle);
838
+ const { loadConvergeRunStateEvidence } = await import('./run-state.js');
839
+ const native = await loadConvergeRunStateEvidence(commonDir, target);
840
+ if (native?.state.version !== 3 || native.sha256 !== source.nativeSha256 ||
841
+ native.state.cycle?.id !== source.cycleId) {
842
+ throw new ConvergeAttemptStateError('recovery_resume_source_mismatch');
843
+ }
844
+ if (isDeepStrictEqual(state.lastLaunch, next)) {
845
+ const handle = await open(stateFile, 'r+');
846
+ try {
847
+ await handle.sync();
848
+ }
849
+ finally {
850
+ await handle.close();
851
+ }
852
+ await syncDirectory(dirname(stateFile));
853
+ return;
854
+ }
855
+ if (!isDeepStrictEqual(state.lastLaunch, expected)) {
856
+ throw new ConvergeAttemptStateError('recovery_resume_stale_launch');
857
+ }
858
+ const resume = next.recovery.resume;
859
+ if (next.status === 'pending' && resume.phase === 'running') {
860
+ if (expected.status === 'completed' || !isDeepStrictEqual(next, { ...expected, status: 'pending',
861
+ recovery: { ...expected.recovery, resume } })) {
862
+ throw new ConvergeAttemptStateError('recovery_resume_invalid_begin');
863
+ }
864
+ const previousOwner = expected.recovery.resume?.phase === 'running'
865
+ ? expected.recovery.resume.processIdentity
866
+ : expected.status === 'pending' ? expected.processIdentity : undefined;
867
+ if (expected.recovery.resume?.phase === 'running' || expected.status === 'pending') {
868
+ if (!previousOwner)
869
+ throw new ConvergeAttemptStateError('recovery_resume_owner_unverifiable');
870
+ const ownerStatus = await inspectProcessIdentity(previousOwner);
871
+ if (ownerStatus === 'unverifiable')
872
+ throw new ConvergeAttemptStateError('recovery_resume_owner_unverifiable');
873
+ if (ownerStatus === 'alive')
874
+ throw new ConvergeAttemptStateError('recovery_resume_owner_alive');
875
+ await writeStateAtomically(stateFile, { ...state, lastLaunch: next, updatedAt: new Date().toISOString() });
876
+ return;
877
+ }
878
+ }
879
+ else if (expected.status !== 'pending' || expected.recovery.resume?.phase !== 'running' ||
880
+ expected.recovery.resume.pid !== process.pid ||
881
+ !isDeepStrictEqual(expected.recovery.resume.processIdentity, currentIdentity) || resume.phase !== 'finished' ||
882
+ !['completed', 'failed'].includes(next.status) || next.status === 'failed' && !isDeepStrictEqual(next, { ...expected, status: 'failed', recovery: { ...expected.recovery, resume } })) {
883
+ throw new ConvergeAttemptStateError('recovery_resume_invalid_finish');
884
+ }
885
+ await writeStateAtomically(stateFile, { ...state, lastLaunch: next, updatedAt: new Date().toISOString() });
886
+ }
887
+ catch (error) {
888
+ failure = error;
889
+ throw error;
890
+ }
891
+ finally {
892
+ try {
893
+ await releaseOwnedLock(lockFile, owner);
894
+ }
895
+ catch (error) {
896
+ if (failure !== undefined) {
897
+ throw new AggregateError([failure, error], 'Recovery resume recording and lock release failed.');
898
+ }
899
+ throw error;
900
+ }
901
+ }
902
+ });
903
+ }
689
904
  export async function previewConvergeAttemptState(gitCommonDir, target) {
690
905
  const validatedTarget = validateTarget(target);
691
906
  return await loadConvergeAttemptState(gitCommonDir, validatedTarget) ??
@@ -1 +1 @@
1
- {"version":3,"file":"attempt-budget.js","sourceRoot":"","sources":["../../src/converge/attempt-budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attempt-budget.js","sourceRoot":"","sources":["../../src/converge/attempt-budget.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ import { scrubText } from '../telemetry/scrub.js';
19
19
  import { verifyBoundFixRecovery } from './bound-fix-recovery.js';
20
20
  import { boundFixRecoverySourceSchema } from './bound-fix-recovery-source.js';
21
21
  import { createOriginalLaunch, encodeOriginalLaunch, remainingOriginalBudget } from '../dispatch/original-launch.js';
22
+ import { verifyCyclePendingFinalization } from './pending-finalization-receipt.js';
23
+ import { captureCurrentProcessIdentity } from './process-identity.js';
22
24
  export class ReviewLaunchRefused extends Error {
23
25
  code;
24
26
  constructor(code, message) {
@@ -120,6 +122,18 @@ async function requireLaunch(options, state, attemptsUsed) {
120
122
  return { round };
121
123
  }
122
124
  if (previous.status !== 'completed') {
125
+ if (state.cycle && ((previous.status === 'pending' && !previous.runId) || previous.pendingRecovery)) {
126
+ if (!await verifyCyclePendingFinalization(options.gitCommonDir, state, previous)) {
127
+ refuse('cycle_pending_recovery_required', 'The previous cycle dispatch is not terminal. Authenticate and finalize its pending recovery before launching a successor.');
128
+ }
129
+ if (previous.headSha === options.headSha && previous.inputSha256 === options.inputSha256) {
130
+ refuse('cycle_pending_inputs_unchanged', 'The recovered dispatch remains unknown; its successor must use materially changed exact review inputs.');
131
+ }
132
+ if (!options.retryReason) {
133
+ refuse('dispatch_unknown', 'The recovered dispatch remains spent; supply a bounded retry reason for its successor.');
134
+ }
135
+ return { round };
136
+ }
123
137
  if (!options.retryReason)
124
138
  refuse('dispatch_unknown', 'Previous dispatch is unknown; no automatic retry. Supply a bounded retry reason only after recovery.');
125
139
  return { round };
@@ -280,6 +294,9 @@ async function guardReviewLaunchOwned(options, ownership) {
280
294
  else {
281
295
  await assertNoPendingFreshReview(options.gitCommonDir, options.target);
282
296
  }
297
+ const processIdentity = process.platform === 'linux' || process.platform === 'darwin' || process.platform === 'win32'
298
+ ? await captureCurrentProcessIdentity()
299
+ : undefined;
283
300
  const claim = await claimConvergeAttempt({
284
301
  gitCommonDir: options.gitCommonDir,
285
302
  target: options.target,
@@ -333,13 +350,12 @@ async function guardReviewLaunchOwned(options, ownership) {
333
350
  await options.originalLaunch.beforeClaim(preparedOriginal, ownership);
334
351
  assertOriginalLive();
335
352
  }
336
- // Pending-package export covers ordinary launches only. Special launch
337
- // modes keep their own recovery contract and must not inherit this
338
- // capture's size or storage requirements.
339
- const ordinaryLaunch = !options.startOver && !state.cycle && !options.originalLaunch &&
340
- !options.legacyRetry && !options.boundFixRecovery;
353
+ // Retain normal dispatch inputs, including cycle-backed launches. Bound
354
+ // original/retry recovery modes keep their own immutable input contract.
355
+ const ordinaryLaunch = !options.originalLaunch && !options.legacyRetry && !options.boundFixRecovery;
341
356
  const retained = ordinaryLaunch ? await options.beforeClaim?.(Object.freeze({ target: options.target, round,
342
- attempt: (attempts?.attemptsUsed ?? 0) + 1 }), ownership) : undefined;
357
+ attempt: (attempts?.attemptsUsed ?? 0) + 1,
358
+ ...(state.cycle ? { cycleId: state.cycle.id } : {}) }), ownership) : undefined;
343
359
  const ordinaryInputs = retained === undefined ? undefined : ordinaryLaunchInputsBindingSchema.parse(retained.ordinaryInputs);
344
360
  if (retryProof)
345
361
  await retainLegacyRetry(options.gitCommonDir, retryProof);
@@ -348,6 +364,7 @@ async function guardReviewLaunchOwned(options, ownership) {
348
364
  status: 'pending', attempt: (attempts?.attemptsUsed ?? 0) + 1, round,
349
365
  headSha: options.headSha, inputSha256: options.inputSha256,
350
366
  startedAt: new Date().toISOString(), pid: process.pid,
367
+ ...(processIdentity ? { processIdentity } : {}),
351
368
  ...(ordinaryInputs ? { ordinaryInputs } : {}),
352
369
  ...(preparedOriginal ? { retainedOriginal: { version: 1, runId: preparedOriginal.launch.runId,
353
370
  planDigest: preparedOriginal.launch.planDigest, capturedInputsSha256: preparedOriginal.launch.capturedInputsSha256 } } : {}),