@allocator-one/rcl 4.5.7 → 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 (84) 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/guarded-input-retention.d.ts +23 -0
  12. package/dist/converge/guarded-input-retention.js +179 -0
  13. package/dist/converge/guarded-input-retention.js.map +1 -0
  14. package/dist/converge/launch-guard.d.ts +3 -0
  15. package/dist/converge/launch-guard.js +53 -17
  16. package/dist/converge/launch-guard.js.map +1 -1
  17. package/dist/converge/ordinary-pending-export.js +74 -40
  18. package/dist/converge/ordinary-pending-export.js.map +1 -1
  19. package/dist/converge/ordinary-pending-package.d.ts +16 -2
  20. package/dist/converge/ordinary-pending-package.js +77 -4
  21. package/dist/converge/ordinary-pending-package.js.map +1 -1
  22. package/dist/converge/recovered-production.d.ts +14 -0
  23. package/dist/converge/recovered-production.js +61 -0
  24. package/dist/converge/recovered-production.js.map +1 -0
  25. package/dist/converge/recovery-launch.js +82 -35
  26. package/dist/converge/recovery-launch.js.map +1 -1
  27. package/dist/converge/run-state.d.ts +2 -0
  28. package/dist/converge/run-state.js +26 -12
  29. package/dist/converge/run-state.js.map +1 -1
  30. package/dist/converge/semantic-state.js +18 -4
  31. package/dist/converge/semantic-state.js.map +1 -1
  32. package/dist/coordination/registry-lock.d.ts +2 -0
  33. package/dist/coordination/registry-lock.js +42 -13
  34. package/dist/coordination/registry-lock.js.map +1 -1
  35. package/dist/evidence/claim-recovery/delivery.d.ts +25 -0
  36. package/dist/evidence/claim-recovery/delivery.js +100 -0
  37. package/dist/evidence/claim-recovery/delivery.js.map +1 -0
  38. package/dist/evidence/claim-recovery/public-adoption.d.ts +31 -0
  39. package/dist/evidence/claim-recovery/public-adoption.js +177 -0
  40. package/dist/evidence/claim-recovery/public-adoption.js.map +1 -0
  41. package/dist/evidence/claim-recovery/public-manifest.d.ts +114 -0
  42. package/dist/evidence/claim-recovery/public-manifest.js +11 -0
  43. package/dist/evidence/claim-recovery/public-manifest.js.map +1 -0
  44. package/dist/evidence/claim-recovery/public-model.d.ts +85 -0
  45. package/dist/evidence/claim-recovery/public-model.js +177 -0
  46. package/dist/evidence/claim-recovery/public-model.js.map +1 -0
  47. package/dist/evidence/original-run/journal.d.ts +10 -0
  48. package/dist/evidence/original-run/journal.js +55 -3
  49. package/dist/evidence/original-run/journal.js.map +1 -1
  50. package/dist/evidence/original-run/lock.js +22 -9
  51. package/dist/evidence/original-run/lock.js.map +1 -1
  52. package/dist/evidence/recover-claim.d.ts +21 -0
  53. package/dist/evidence/recover-claim.js +504 -0
  54. package/dist/evidence/recover-claim.js.map +1 -0
  55. package/dist/index.js +234 -139
  56. package/dist/index.js.map +1 -1
  57. package/dist/report/assembly.d.ts +2 -0
  58. package/dist/report/assembly.js +1 -0
  59. package/dist/report/assembly.js.map +1 -1
  60. package/dist/report/consensus-assembly.d.ts +2 -0
  61. package/dist/report/consensus-assembly.js +6 -3
  62. package/dist/report/consensus-assembly.js.map +1 -1
  63. package/dist/report/reviewer-artifact.js +3 -1
  64. package/dist/report/reviewer-artifact.js.map +1 -1
  65. package/dist/report/run-header.js +2 -0
  66. package/dist/report/run-header.js.map +1 -1
  67. package/dist/telemetry/deliver.d.ts +8 -0
  68. package/dist/telemetry/deliver.js +55 -8
  69. package/dist/telemetry/deliver.js.map +1 -1
  70. package/dist/telemetry/events.js +2 -0
  71. package/dist/telemetry/events.js.map +1 -1
  72. package/dist/telemetry/outbox.d.ts +20 -0
  73. package/dist/telemetry/outbox.js +324 -103
  74. package/dist/telemetry/outbox.js.map +1 -1
  75. package/dist/telemetry/reviewer-delivery.d.ts +95 -3
  76. package/dist/telemetry/reviewer-delivery.js +600 -12
  77. package/dist/telemetry/reviewer-delivery.js.map +1 -1
  78. package/dist/telemetry/sink.d.ts +14 -0
  79. package/dist/telemetry/sink.js +44 -2
  80. package/dist/telemetry/sink.js.map +1 -1
  81. package/dist/telemetry/terminal-reviewer-delivery.d.ts +154 -5
  82. package/dist/telemetry/terminal-reviewer-delivery.js +196 -21
  83. package/dist/telemetry/terminal-reviewer-delivery.js.map +1 -1
  84. package/package.json +1 -1
@@ -1,14 +1,15 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { link, lstat, mkdir, realpath, unlink } from 'node:fs/promises';
3
3
  import { dirname, join, relative, resolve, sep } from 'node:path';
4
+ import { isDeepStrictEqual } from 'node:util';
4
5
  import { convergeAttemptStatePath, loadConvergeAttemptState } from './attempt-budget.js';
5
6
  import { convergeRunStatePath, loadConvergeRunState } from './run-state.js';
6
7
  import { launchSchema } from './launch-record.js';
7
- import { validateOrdinaryPendingPackage } from './ordinary-pending-package.js';
8
+ import { prepareOrdinaryPendingGuardedInput, validateOrdinaryPendingPackage } from './ordinary-pending-package.js';
8
9
  import { MAX_ASYNC_CALLS_PER_ROUND, snapshotAsyncHistory, snapshotAsyncResults } from '../dispatch/async-lane.js';
9
- import { guardedInputSha256, sha256Hex } from '../report/run-header.js';
10
+ import { sha256Hex } from '../report/run-header.js';
10
11
  import { MAX_REPORT_BYTES, readStable } from '../telemetry/recovery/files.js';
11
- import { serializeRecoveryDocument, writeExclusive } from '../evidence/original-run/journal.js';
12
+ import { serializeRecoveryDocument, writeExclusiveBytes } from '../evidence/original-run/journal.js';
12
13
  import { syncNativeDirectory, writeNativeStateExclusive } from './native-lock.js';
13
14
  import { assertReviewCyclePair } from './fresh-review.js';
14
15
  // Leave room for the recovery package's retained-async descriptors beneath
@@ -18,29 +19,46 @@ function retainedInputsPath(options) {
18
19
  const namespace = sha256Hex(JSON.stringify([options.target, options.cycleId ?? null]));
19
20
  return join(options.gitCommonDir, 'rcl-ordinary-inputs', `${namespace}-attempt-${options.attempt}-${options.packetSha256}.json`);
20
21
  }
21
- function retainedInputs(options) {
22
- return { version: 1, target: options.target, headSha: options.headSha, baseSha: options.baseSha,
22
+ function retainedInputs(options, representation = 'retained', prepared = prepareOrdinaryPendingGuardedInput(options.guardedInput)) {
23
+ // Validate recursive bounds before guardedInputSha256 reaches stableStringify.
24
+ // Version 1 keeps its historical raw wire representation; only version 2
25
+ // stores the validated compact archive.
26
+ return { version: representation === 'raw' ? 1 : 2,
27
+ target: options.target, headSha: options.headSha, baseSha: options.baseSha,
23
28
  attempt: options.attempt, round: options.round, ...(options.cycleId ? { cycleId: options.cycleId } : {}),
24
- inputSha256: guardedInputSha256(options.guardedInput), guardedInput: options.guardedInput };
29
+ inputSha256: prepared.inputSha256(),
30
+ guardedInput: representation === 'raw' ? prepared.wireInput : prepared.retained };
25
31
  }
26
32
  /** Called under native target ownership before spending the claim or dispatching. */
27
33
  export async function retainOrdinaryLaunchInputs(options) {
28
34
  const common = await realpath(options.gitCommonDir);
29
- const packet = retainedInputs(options);
30
- const bytes = serializeRecoveryDocument(packet, MAX_RETAINED_INPUT_BYTES);
31
- const descriptors = options.asyncDescriptors ?? [];
32
- // Recovery repeats the async reviewer identifiers alongside the guarded
33
- // roster. Bound that actual envelope before claim, including its future
34
- // fixed-length hashes and the largest permitted PID representation.
35
- const projectedRecovery = {
36
- target: options.target, headSha: options.headSha, baseSha: options.baseSha ?? 'f'.repeat(40),
37
- attempt: options.attempt, round: options.round, pid: Number.MAX_SAFE_INTEGER,
38
- retainedAsyncSha256: descriptors.map(() => 'f'.repeat(64)),
39
- retainedAsync: descriptors.map(descriptor => ({ model: descriptor.model, role: descriptor.role,
40
- provider: descriptor.provider, lane: 'async', sha256: 'f'.repeat(64) })),
41
- guardedInput: options.guardedInput,
42
- };
43
- serializeRecoveryDocument(projectedRecovery, MAX_REPORT_BYTES);
35
+ let packet;
36
+ let bytes;
37
+ try {
38
+ packet = retainedInputs(options);
39
+ bytes = serializeRecoveryDocument(packet, MAX_RETAINED_INPUT_BYTES);
40
+ const descriptors = options.asyncDescriptors ?? [];
41
+ // Recovery repeats the async reviewer identifiers alongside the guarded
42
+ // roster. Bound that actual envelope before claim, including its future
43
+ // fixed-length hashes and the largest permitted PID representation.
44
+ const projectedRecovery = {
45
+ guardedInputRepresentation: { version: 1, encoding: 'json-string-table-v1' },
46
+ target: options.target, headSha: options.headSha, baseSha: options.baseSha ?? 'f'.repeat(40),
47
+ attempt: options.attempt, round: options.round, pid: Number.MAX_SAFE_INTEGER,
48
+ retainedAsyncSha256: descriptors.map(() => 'f'.repeat(64)),
49
+ retainedAsync: descriptors.map(descriptor => ({ model: descriptor.model, role: descriptor.role,
50
+ provider: descriptor.provider, lane: 'async', sha256: 'f'.repeat(64) })),
51
+ guardedInput: packet.guardedInput,
52
+ };
53
+ serializeRecoveryDocument(projectedRecovery, MAX_REPORT_BYTES);
54
+ }
55
+ catch (error) {
56
+ if (error instanceof Error && (error.message === 'recovery_document_too_large' ||
57
+ error.message === 'guarded_input_archive_expands_too_large')) {
58
+ throw new Error('retained_review_work_too_large: retained prompts exceed the recovery limit; split the diff or reduce prompt context or the reviewer roster before retrying');
59
+ }
60
+ throw error;
61
+ }
44
62
  const packetSha256 = sha256Hex(bytes);
45
63
  // A preclaim crash leaves the ordinal unspent. Include the full packet so
46
64
  // a changed base (which the guarded-input digest omits) gets its own file.
@@ -98,14 +116,25 @@ function retainedHistoricalInput(text, options, packetSha256) {
98
116
  if (!value || typeof value !== 'object' || Array.isArray(value))
99
117
  refuse('retained_input_mismatch');
100
118
  const packet = value;
101
- const guardedInput = packet.guardedInput;
102
- if (!guardedInput || typeof guardedInput !== 'object' || Array.isArray(guardedInput))
119
+ if (packet.version !== 1 && packet.version !== 2)
120
+ refuse('retained_input_mismatch');
121
+ const compact = packet.guardedInput && typeof packet.guardedInput === 'object' &&
122
+ !Array.isArray(packet.guardedInput) &&
123
+ packet.guardedInput.encoding === 'json-string-table-v1';
124
+ if (compact !== (packet.version === 2))
125
+ refuse('retained_input_mismatch');
126
+ let prepared;
127
+ try {
128
+ prepared = prepareOrdinaryPendingGuardedInput(packet.guardedInput);
129
+ }
130
+ catch {
103
131
  refuse('retained_input_mismatch');
104
- const expected = retainedInputs({ ...options, guardedInput: guardedInput });
132
+ }
133
+ const expected = retainedInputs({ ...options, guardedInput: prepared.input }, packet.version === 1 ? 'raw' : 'retained', prepared);
105
134
  if (sha256Hex(text) !== packetSha256 || text !== serializeRecoveryDocument(expected, MAX_RETAINED_INPUT_BYTES)) {
106
135
  refuse('retained_input_mismatch');
107
136
  }
108
- return guardedInput;
137
+ return prepared;
109
138
  }
110
139
  /**
111
140
  * Authenticate reconstructed ordinary inputs without locks, claims or native writes.
@@ -116,6 +145,9 @@ function retainedHistoricalInput(text, options, packetSha256) {
116
145
  export async function exportOrdinaryPendingPackage(options) {
117
146
  if (!/^[a-f0-9]{40}$/.test(options.baseSha) || options.baseSha !== options.expectedBaseSha)
118
147
  refuse('base_mismatch');
148
+ // Current caller input participates in hashes and canonical comparisons
149
+ // below, so bound its recursion before either operation.
150
+ const currentInput = prepareOrdinaryPendingGuardedInput(options.guardedInput);
119
151
  const common = await realpath(options.gitCommonDir);
120
152
  const outputPath = resolve(options.path);
121
153
  const outputParent = await realpath(dirname(outputPath));
@@ -138,7 +170,7 @@ export async function exportOrdinaryPendingPackage(options) {
138
170
  launch.pendingRecovery || !record || record.pid !== launch.pid || record.retrySource ||
139
171
  record.boundFixRecoverySource || record.pendingRecoverySource ||
140
172
  launch.attempt !== attempts.attemptsUsed || launch.headSha !== options.headSha ||
141
- (!cycleBacked && launch.inputSha256 !== guardedInputSha256(options.guardedInput)) ||
173
+ (!cycleBacked && launch.inputSha256 !== currentInput.inputSha256()) ||
142
174
  (options.expectedRound !== undefined && launch.round !== options.expectedRound))
143
175
  refuse('input_mismatch');
144
176
  if (ownerAlive(launch.pid))
@@ -155,24 +187,23 @@ export async function exportOrdinaryPendingPackage(options) {
155
187
  const retainedBefore = retainedPath ? await readStable(retainedPath, MAX_RETAINED_INPUT_BYTES) : undefined;
156
188
  if (binding && (!retainedBefore || retainedBefore.sha256 !== binding.packetSha256))
157
189
  refuse('retained_input_mismatch');
158
- if (binding && !cycleBacked && retainedBefore.text !== serializeRecoveryDocument(retainedInputs({
159
- gitCommonDir: common, target: options.target, headSha: launch.headSha, baseSha: options.baseSha,
160
- attempt: launch.attempt, round: launch.round, guardedInput: options.guardedInput,
161
- }), MAX_RETAINED_INPUT_BYTES))
162
- refuse('retained_input_mismatch');
163
- const historicalInput = binding && cycleBacked ? retainedHistoricalInput(retainedBefore.text, {
190
+ const historicalInput = binding ? retainedHistoricalInput(retainedBefore.text, {
164
191
  gitCommonDir: common, target: options.target, headSha: launch.headSha, baseSha: options.baseSha,
165
192
  attempt: launch.attempt, round: launch.round, ...(state.cycle ? { cycleId: state.cycle.id } : {}),
166
193
  guardedInput: options.guardedInput,
167
- }, binding.packetSha256) : options.guardedInput;
168
- if (launch.inputSha256 !== guardedInputSha256(historicalInput))
194
+ }, binding.packetSha256) : currentInput;
195
+ if (binding && !cycleBacked &&
196
+ !isDeepStrictEqual(historicalInput.retained, currentInput.retained)) {
197
+ refuse('retained_input_mismatch');
198
+ }
199
+ if (launch.inputSha256 !== historicalInput.inputSha256())
169
200
  refuse('input_mismatch');
170
201
  const snapshot = cycleBacked
171
202
  ? await snapshotAsyncHistory(options.asyncStoreDir, options.asyncTargetKey, Math.max(MAX_ASYNC_CALLS_PER_ROUND, (attempts.attemptsUsed + 1) * MAX_ASYNC_CALLS_PER_ROUND))
172
203
  : await snapshotAsyncResults(options.asyncStoreDir, options.asyncTargetKey);
173
204
  const identity = (item) => JSON.stringify([item.model, item.role, item.provider]);
174
- const historicalRoster = Array.isArray(historicalInput.roster)
175
- ? historicalInput.roster.filter(item => item && typeof item === 'object' &&
205
+ const historicalRoster = Array.isArray(historicalInput.input.roster)
206
+ ? historicalInput.input.roster.filter(item => item && typeof item === 'object' &&
176
207
  item.lane === 'async')
177
208
  : [];
178
209
  const expected = (cycleBacked ? historicalRoster : options.asyncDescriptors).map(identity).sort();
@@ -187,15 +218,18 @@ export async function exportOrdinaryPendingPackage(options) {
187
218
  provider: review.provider, lane: 'async',
188
219
  }));
189
220
  const retainedAsyncSha256 = retainedAsync.map(item => item.sha256).sort();
190
- const candidate = { ...(cycleBacked ? { version: 2, cycle: state.cycle,
221
+ const candidate = {
222
+ guardedInputRepresentation: { version: 1, encoding: 'json-string-table-v1' },
223
+ ...(cycleBacked ? { version: 2, cycle: state.cycle,
191
224
  attemptCap: attempts.cap, roundCap: state.roundCap, attemptsUsed: attempts.attemptsUsed,
192
225
  asyncAttribution: 'cycle-history-unattributed' } : {}),
193
226
  target: options.target, headSha: launch.headSha,
194
227
  baseSha: options.baseSha, attempt: launch.attempt, round: launch.round, pid: launch.pid,
195
- retainedAsyncSha256, retainedAsync, guardedInput: historicalInput };
228
+ retainedAsyncSha256, retainedAsync, guardedInput: historicalInput.retained
229
+ };
196
230
  // Canonical JSON drops undefined optional properties exactly as the original
197
231
  // guarded-input hash did; it never adds an artificial null spec binding.
198
- const packet = validateOrdinaryPendingPackage(JSON.parse(JSON.stringify(candidate)), { ...candidate, inputSha256: launch.inputSha256 });
232
+ const packet = validateOrdinaryPendingPackage(candidate, { ...candidate, inputSha256: launch.inputSha256 }, historicalInput);
199
233
  const [nativeAfter, attemptsAfter, asyncAfter] = await Promise.all([
200
234
  readStable(nativePath), readStable(attemptPath),
201
235
  cycleBacked
@@ -209,7 +243,7 @@ export async function exportOrdinaryPendingPackage(options) {
209
243
  refuse('state_changed');
210
244
  const bytes = serializeRecoveryDocument(packet, MAX_REPORT_BYTES);
211
245
  if (!options.preview)
212
- await writeExclusive(outputPath, packet, MAX_REPORT_BYTES);
246
+ await writeExclusiveBytes(outputPath, bytes);
213
247
  return { mode: options.preview ? 'pending-package-preview' : 'pending-package-export', path: outputPath,
214
248
  packageSha256: sha256Hex(bytes), target: options.target, headSha: launch.headSha, baseSha: options.baseSha,
215
249
  baseBinding: retainedBefore ? 'retained-launch-inputs' : 'current-review-target', blockingOutcome: 'unknown',
@@ -1 +1 @@
1
- {"version":3,"file":"ordinary-pending-export.js","sourceRoot":"","sources":["../../src/converge/ordinary-pending-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ordinary-pending-export.js","sourceRoot":"","sources":["../../src/converge/ordinary-pending-export.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  import type { NativeReviewCycle } from './review-cycle.js';
2
+ import { type RetainedGuardedInput, type StoredGuardedInput } from './guarded-input-retention.js';
2
3
  export interface OrdinaryPendingPackage {
3
4
  version?: 2;
5
+ guardedInputRepresentation?: {
6
+ version: 1;
7
+ encoding: 'json-string-table-v1';
8
+ };
4
9
  target: string;
5
10
  headSha: string;
6
11
  baseSha: string;
@@ -20,7 +25,7 @@ export interface OrdinaryPendingPackage {
20
25
  provider: string;
21
26
  lane: 'async';
22
27
  }[];
23
- guardedInput: Record<string, unknown>;
28
+ guardedInput: StoredGuardedInput;
24
29
  }
25
30
  export interface PendingLaunchIdentity {
26
31
  target: string;
@@ -36,4 +41,13 @@ export interface PendingLaunchIdentity {
36
41
  roundCap?: number;
37
42
  attemptsUsed?: number;
38
43
  }
39
- export declare function validateOrdinaryPendingPackage(value: OrdinaryPendingPackage, expected: PendingLaunchIdentity): OrdinaryPendingPackage;
44
+ export interface PreparedOrdinaryPendingGuardedInput {
45
+ readonly wireInput: Record<string, unknown>;
46
+ readonly input: Record<string, unknown>;
47
+ readonly retained: RetainedGuardedInput;
48
+ inputSha256(): string;
49
+ }
50
+ /** Prepare one bounded canonical archive and lazily memoized digest for trusted internal reuse. */
51
+ export declare function prepareOrdinaryPendingGuardedInput(stored: StoredGuardedInput): PreparedOrdinaryPendingGuardedInput;
52
+ export declare function ordinaryPendingGuardedInput(value: OrdinaryPendingPackage): Record<string, unknown>;
53
+ export declare function validateOrdinaryPendingPackage(value: OrdinaryPendingPackage, expected: PendingLaunchIdentity, prepared?: PreparedOrdinaryPendingGuardedInput): OrdinaryPendingPackage;
@@ -1,7 +1,77 @@
1
1
  import { guardedInputSha256, stableStringify } from '../report/run-header.js';
2
2
  import { isDeepStrictEqual } from 'node:util';
3
- export function validateOrdinaryPendingPackage(value, expected) {
4
- const input = value?.guardedInput;
3
+ import { retainGuardedInput, restoreGuardedInput } from './guarded-input-retention.js';
4
+ const preparedInputs = new WeakSet();
5
+ const deeplyFrozen = new WeakSet();
6
+ function deepFreezeJson(value) {
7
+ if (!value || typeof value !== 'object' || deeplyFrozen.has(value))
8
+ return value;
9
+ for (const child of Object.values(value))
10
+ deepFreezeJson(child);
11
+ Object.freeze(value);
12
+ deeplyFrozen.add(value);
13
+ return value;
14
+ }
15
+ /** Prepare one bounded canonical archive and lazily memoized digest for trusted internal reuse. */
16
+ export function prepareOrdinaryPendingGuardedInput(stored) {
17
+ const compact = !!stored && typeof stored === 'object' && !Array.isArray(stored) &&
18
+ stored.encoding === 'json-string-table-v1';
19
+ let input;
20
+ let wireInput;
21
+ let retained;
22
+ if (compact) {
23
+ input = deepFreezeJson(restoreGuardedInput(stored));
24
+ wireInput = input;
25
+ retained = deepFreezeJson({ version: 1, encoding: 'json-string-table-v1',
26
+ strings: stored.strings,
27
+ root: stored.root });
28
+ }
29
+ else {
30
+ wireInput = stored;
31
+ // This single encoder pass both validates raw recursive bounds and creates
32
+ // the immutable wire archive. Canonical expansion stays lazy for retention
33
+ // paths that only need the archive, exact raw bytes and digest.
34
+ retained = deepFreezeJson(retainGuardedInput(wireInput));
35
+ }
36
+ const digest = guardedInputSha256(input ?? wireInput);
37
+ const prepared = Object.freeze({ wireInput, retained,
38
+ get input() {
39
+ return input ??= deepFreezeJson(restoreGuardedInput(retained));
40
+ },
41
+ inputSha256: () => digest });
42
+ preparedInputs.add(prepared);
43
+ return prepared;
44
+ }
45
+ function validateGuardedInputRepresentation(value) {
46
+ const representation = value?.guardedInputRepresentation;
47
+ const compact = !!value?.guardedInput &&
48
+ value.guardedInput.encoding === 'json-string-table-v1';
49
+ const representationValid = representation === undefined
50
+ ? !compact
51
+ : !!representation && typeof representation === 'object' && !Array.isArray(representation) &&
52
+ representation.version === 1 && representation.encoding === 'json-string-table-v1' &&
53
+ Object.keys(representation).sort().join(',') === 'encoding,version' && compact;
54
+ if (!representationValid)
55
+ throw new Error('ordinary_pending_package_mismatch');
56
+ }
57
+ export function ordinaryPendingGuardedInput(value) {
58
+ validateGuardedInputRepresentation(value);
59
+ return restoreGuardedInput(value.guardedInput);
60
+ }
61
+ export function validateOrdinaryPendingPackage(value, expected, prepared) {
62
+ let input;
63
+ try {
64
+ if (value)
65
+ validateGuardedInputRepresentation(value);
66
+ if (prepared !== undefined &&
67
+ (!preparedInputs.has(prepared) || value?.guardedInput !== prepared.retained)) {
68
+ throw new Error('ordinary_pending_package_mismatch');
69
+ }
70
+ input = value ? prepared?.input ?? restoreGuardedInput(value.guardedInput) : undefined;
71
+ }
72
+ catch {
73
+ throw new Error('ordinary_pending_package_mismatch');
74
+ }
5
75
  const specPresent = !!input && Object.hasOwn(input, 'spec');
6
76
  const keys = ['asyncRoles', 'config', 'diff', 'head', 'kind', 'pr', 'prompts', 'repo', 'roster',
7
77
  ...(specPresent ? ['spec'] : [])];
@@ -27,7 +97,8 @@ export function validateOrdinaryPendingPackage(value, expected) {
27
97
  if (!value || !cycleFieldsValid || value.target !== expected.target || value.headSha !== expected.headSha || value.baseSha !== expected.baseSha || value.attempt !== expected.attempt || value.round !== expected.round || value.pid !== expected.pid || !/^[a-f0-9]{40}$/.test(value.baseSha) ||
28
98
  !Number.isSafeInteger(value.attempt) || value.attempt < 1 || !Number.isSafeInteger(value.round) || value.round < 1 ||
29
99
  !Number.isSafeInteger(value.pid) || value.pid < 1 || !input || Object.keys(input).sort().join(',') !== keys.join(',') ||
30
- !Array.isArray(value.retainedAsyncSha256) || [...value.retainedAsyncSha256].sort().join(',') !== [...expected.retainedAsyncSha256].sort().join(',') || input.head !== value.headSha || guardedInputSha256(input) !== expected.inputSha256)
100
+ !Array.isArray(value.retainedAsyncSha256) || [...value.retainedAsyncSha256].sort().join(',') !== [...expected.retainedAsyncSha256].sort().join(',') || input.head !== value.headSha ||
101
+ (prepared ? prepared.inputSha256() : guardedInputSha256(input)) !== expected.inputSha256)
31
102
  throw new Error('ordinary_pending_package_mismatch');
32
103
  const cycleHistory = value.version === 2;
33
104
  const descriptorHashes = Array.isArray(value.retainedAsync)
@@ -45,6 +116,8 @@ export function validateOrdinaryPendingPackage(value, expected) {
45
116
  !input.roster.some(seat => seat?.model === item.model &&
46
117
  seat.role === item.role && seat.provider === item.provider && seat.lane === 'async')))
47
118
  throw new Error('ordinary_pending_package_mismatch');
48
- return Object.freeze(JSON.parse(stableStringify(value)));
119
+ return prepared
120
+ ? deepFreezeJson(value)
121
+ : Object.freeze(JSON.parse(stableStringify(value)));
49
122
  }
50
123
  //# sourceMappingURL=ordinary-pending-package.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ordinary-pending-package.js","sourceRoot":"","sources":["../../src/converge/ordinary-pending-package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ordinary-pending-package.js","sourceRoot":"","sources":["../../src/converge/ordinary-pending-package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ConsensusFinding } from '../consensus/types.js';
2
+ import type { ConvergeContext } from '../report/run-header.js';
3
+ /** Local predecessor evidence, selected before providers; never review authority. */
4
+ export interface RecoveredProduction {
5
+ readonly version: 1;
6
+ readonly nativeSha256: string;
7
+ }
8
+ /** A patch review outside a repository has no canonical native target. Preserve
9
+ * that ordinary producer while refusing every other Git discovery failure. */
10
+ export declare function selectCurrentRecoveredProduction(context: ConvergeContext, cwd?: string): Promise<RecoveredProduction | undefined>;
11
+ /** Read and fully validate the canonical target, including every recovery source. */
12
+ export declare function selectRecoveredProduction(gitCommonDir: string, context: ConvergeContext): Promise<RecoveredProduction | undefined>;
13
+ /** Materialize all consensus members before kept/appendix partition or serialization. */
14
+ export declare function materializeRecoveredClaims(findings: ConsensusFinding[], mode: RecoveredProduction | undefined): ConsensusFinding[];
@@ -0,0 +1,61 @@
1
+ import { lstat } from 'node:fs/promises';
2
+ import { execFile } from 'node:child_process';
3
+ import { promisify } from 'node:util';
4
+ import { describeClaim } from '../consensus/claim-identity.js';
5
+ import { ConvergeRunStateError, convergeRunStatePath, loadConvergeRunStateEvidence } from './run-state.js';
6
+ import { resolveGitCommonDir } from './attempt-budget.js';
7
+ const execFileAsync = promisify(execFile);
8
+ /** A patch review outside a repository has no canonical native target. Preserve
9
+ * that ordinary producer while refusing every other Git discovery failure. */
10
+ export async function selectCurrentRecoveredProduction(context, cwd = process.cwd()) {
11
+ try {
12
+ await execFileAsync('git', ['rev-parse', '--is-inside-work-tree'], { cwd, encoding: 'utf8', timeout: 5000, env: { ...process.env, LC_ALL: 'C' } });
13
+ }
14
+ catch (error) {
15
+ const failure = error;
16
+ const stderr = failure.stderr?.trim();
17
+ // Both C-locale discovery results mean there is no target. Other exit-128
18
+ // failures (including damaged or unsafe repositories) must remain fatal.
19
+ const outside = stderr === 'fatal: not a git repository (or any of the parent directories): .git' ||
20
+ /^fatal: not a git repository \(or any parent up to mount point [^\r\n]+\)\r?\nStopping at filesystem boundary \(GIT_DISCOVERY_ACROSS_FILESYSTEM not set\)\.$/.test(stderr ?? '');
21
+ if (failure.code === 128 && outside)
22
+ return undefined;
23
+ throw new ConvergeRunStateError('Could not inspect the repository for native recovery evidence.', { cause: error });
24
+ }
25
+ return selectRecoveredProduction(await resolveGitCommonDir(cwd), context);
26
+ }
27
+ /** Read and fully validate the canonical target, including every recovery source. */
28
+ export async function selectRecoveredProduction(gitCommonDir, context) {
29
+ const observed = await loadConvergeRunStateEvidence(gitCommonDir, context.target);
30
+ if (!observed) {
31
+ // A missing recovered state is not a new target: its retained sources are
32
+ // evidence that ordinary fallback would discard prior identity/accounting.
33
+ const path = convergeRunStatePath(gitCommonDir, context.target);
34
+ for (const suffix of ['.recovery-sources', '.recovery-materials', '.evidence']) {
35
+ try {
36
+ await lstat(path + suffix);
37
+ }
38
+ catch (error) {
39
+ if (error.code === 'ENOENT')
40
+ continue;
41
+ throw error;
42
+ }
43
+ throw new ConvergeRunStateError('Native recovery state unavailable; retained sources require inspection before review.');
44
+ }
45
+ return undefined;
46
+ }
47
+ if (observed.state.version === 1 || observed.state.version === 2 && observed.state.cycle !== undefined)
48
+ return undefined;
49
+ if (observed.state.version !== 3)
50
+ throw new ConvergeRunStateError('Semantic continuation requires supported recovery of this target first.');
51
+ const nextRound = Math.max(0, ...observed.state.rounds.map(r => r.round)) + 1;
52
+ if (context.round !== nextRound || nextRound > observed.state.roundCap) {
53
+ throw new ConvergeRunStateError(`Recovered target requires next round ${nextRound} within its retained cap.`);
54
+ }
55
+ return Object.freeze({ version: 1, nativeSha256: observed.sha256 });
56
+ }
57
+ /** Materialize all consensus members before kept/appendix partition or serialization. */
58
+ export function materializeRecoveredClaims(findings, mode) {
59
+ return mode ? findings.map(finding => ({ ...finding, claimDescriptor: describeClaim(finding) })) : findings;
60
+ }
61
+ //# sourceMappingURL=recovered-production.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovered-production.js","sourceRoot":"","sources":["../../src/converge/recovered-production.ts"],"names":[],"mappings":"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"}