@allocator-one/rcl 4.5.21 → 4.5.22
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/README.md +2 -0
- package/dist/converge/fresh-review-close.d.ts +89 -0
- package/dist/converge/fresh-review-close.js +222 -0
- package/dist/converge/fresh-review-close.js.map +1 -0
- package/dist/converge/fresh-review.d.ts +52 -0
- package/dist/converge/fresh-review.js +35 -0
- package/dist/converge/fresh-review.js.map +1 -1
- package/dist/converge/pr-snapshot.d.ts +53 -0
- package/dist/converge/pr-snapshot.js +76 -0
- package/dist/converge/pr-snapshot.js.map +1 -0
- package/dist/index.js +72 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -445,6 +445,8 @@ commands are documented in
|
|
|
445
445
|
| `rcl converge-reconcile-history` | Authenticate and append a reconciliation receipt for an exact historical guarded launch after `lastLaunch` advanced |
|
|
446
446
|
| `rcl converge-stale` | Audited disposition of a healthy or reconciled delivered-hard-failure report that became stale before admission |
|
|
447
447
|
| `rcl converge-gap` | Audited record of one evidenced missing terminal report |
|
|
448
|
+
| `rcl converge-close-fresh` | Audited close of a fresh-review operation whose launch died before writing any report |
|
|
449
|
+
| `rcl pr-snapshot` | Capture a pull request's live state for a review process that holds no GitHub credentials (`rcl review --pr-snapshot`) |
|
|
448
450
|
| `rcl converge-rejected` | Audited disposition of a report rejected locally before delivery |
|
|
449
451
|
| `rcl converge-attempt` | Claim one durable attempt; recovered-v3 continuation hands the exact claim to its guarded producer with `--attempt` |
|
|
450
452
|
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { processIdentitySchema, type ProcessIdentityStatus } from './process-identity.js';
|
|
3
|
+
export declare const freshReviewCloseManifestSchema: z.ZodObject<{
|
|
4
|
+
kind: z.ZodLiteral<"rcl-fresh-review-close">;
|
|
5
|
+
version: z.ZodLiteral<1>;
|
|
6
|
+
auditId: z.ZodString;
|
|
7
|
+
createdAt: z.ZodString;
|
|
8
|
+
gitCommonDir: z.ZodString;
|
|
9
|
+
target: z.ZodString;
|
|
10
|
+
freshOperationId: z.ZodString;
|
|
11
|
+
cycleId: z.ZodString;
|
|
12
|
+
headSha: z.ZodString;
|
|
13
|
+
operation: z.ZodObject<{
|
|
14
|
+
path: z.ZodString;
|
|
15
|
+
sha256: z.ZodString;
|
|
16
|
+
bytes: z.ZodNumber;
|
|
17
|
+
}, z.core.$strict>;
|
|
18
|
+
run: z.ZodObject<{
|
|
19
|
+
path: z.ZodString;
|
|
20
|
+
sha256: z.ZodString;
|
|
21
|
+
bytes: z.ZodNumber;
|
|
22
|
+
}, z.core.$strict>;
|
|
23
|
+
attempts: z.ZodObject<{
|
|
24
|
+
path: z.ZodString;
|
|
25
|
+
sha256: z.ZodString;
|
|
26
|
+
bytes: z.ZodNumber;
|
|
27
|
+
}, z.core.$strict>;
|
|
28
|
+
launch: z.ZodObject<{
|
|
29
|
+
attempt: z.ZodNumber;
|
|
30
|
+
round: z.ZodNumber;
|
|
31
|
+
startedAt: z.ZodString;
|
|
32
|
+
pid: z.ZodNumber;
|
|
33
|
+
processIdentity: z.ZodObject<{
|
|
34
|
+
version: z.ZodLiteral<1>;
|
|
35
|
+
pid: z.ZodNumber;
|
|
36
|
+
scope: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
37
|
+
platform: z.ZodLiteral<"darwin">;
|
|
38
|
+
boot: z.ZodString;
|
|
39
|
+
namespace: z.ZodLiteral<"native">;
|
|
40
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
41
|
+
platform: z.ZodLiteral<"linux">;
|
|
42
|
+
boot: z.ZodString;
|
|
43
|
+
namespace: z.ZodString;
|
|
44
|
+
}, z.core.$strict>], "platform">, z.ZodObject<{
|
|
45
|
+
platform: z.ZodLiteral<"win32">;
|
|
46
|
+
bootSha256: z.ZodString;
|
|
47
|
+
namespace: z.ZodLiteral<"native">;
|
|
48
|
+
}, z.core.$strict>]>;
|
|
49
|
+
birthSha256: z.ZodString;
|
|
50
|
+
}, z.core.$strict>;
|
|
51
|
+
}, z.core.$strict>;
|
|
52
|
+
evidence: z.ZodObject<{
|
|
53
|
+
process: z.ZodLiteral<"dead">;
|
|
54
|
+
admittedRounds: z.ZodLiteral<0>;
|
|
55
|
+
checkpoint: z.ZodObject<{
|
|
56
|
+
path: z.ZodString;
|
|
57
|
+
present: z.ZodBoolean;
|
|
58
|
+
results: z.ZodLiteral<0>;
|
|
59
|
+
events: z.ZodNumber;
|
|
60
|
+
}, z.core.$strict>;
|
|
61
|
+
}, z.core.$strict>;
|
|
62
|
+
disposition: z.ZodObject<{
|
|
63
|
+
kind: z.ZodLiteral<"died_before_report">;
|
|
64
|
+
accounting: z.ZodLiteral<"unchanged">;
|
|
65
|
+
scope: z.ZodLiteral<"local operation close; no admission or approval">;
|
|
66
|
+
}, z.core.$strict>;
|
|
67
|
+
}, z.core.$strict>;
|
|
68
|
+
export type FreshReviewCloseManifest = z.infer<typeof freshReviewCloseManifestSchema>;
|
|
69
|
+
export interface FreshReviewCloseSelection {
|
|
70
|
+
target: string;
|
|
71
|
+
operationId: string;
|
|
72
|
+
}
|
|
73
|
+
export interface FreshReviewCloseIO {
|
|
74
|
+
inspectProcess?: (identity: z.infer<typeof processIdentitySchema>) => Promise<ProcessIdentityStatus>;
|
|
75
|
+
}
|
|
76
|
+
/** Read-only preview of a close; the only identity it introduces is the audit's own. */
|
|
77
|
+
export declare function previewFreshReviewClose(selection: FreshReviewCloseSelection, gitCommonDir: string, io?: FreshReviewCloseIO): Promise<FreshReviewCloseManifest>;
|
|
78
|
+
/** Where a close retains its manifest and the exact native bytes it rested on. */
|
|
79
|
+
export declare function freshReviewCloseAuditPath(commonDir: string, target: string, auditId: string): string;
|
|
80
|
+
export interface ApplyFreshReviewCloseOptions {
|
|
81
|
+
manifest: string;
|
|
82
|
+
manifestSha256: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Apply a reviewed manifest: under recovery ownership of the target, prove the
|
|
86
|
+
* same facts on the same bytes, retain them, then mark the operation terminal.
|
|
87
|
+
* Re-applying a completed close answers `already_closed` and changes nothing.
|
|
88
|
+
*/
|
|
89
|
+
export declare function applyFreshReviewClose(input: ApplyFreshReviewCloseOptions, gitCommonDir: string, io?: FreshReviewCloseIO): Promise<'closed' | 'already_closed'>;
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { readdir, realpath } from 'node:fs/promises';
|
|
3
|
+
import { join, resolve } from 'node:path';
|
|
4
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { checkpointPath } from '../dispatch/checkpoint.js';
|
|
7
|
+
import { prepareLockRoot } from '../evidence/original-run/lock-path.js';
|
|
8
|
+
import { serializeRecoveryDocument, syncDirectory, writeExclusiveBytes } from '../evidence/original-run/journal.js';
|
|
9
|
+
import { readStable } from '../telemetry/recovery/files.js';
|
|
10
|
+
import { convergeAttemptStatePath, loadConvergeAttemptState } from './attempt-budget.js';
|
|
11
|
+
import { closeDiedFreshReview, readFreshReviewOperation, reviewCycleDirectory } from './fresh-review.js';
|
|
12
|
+
import { ordinaryCheckpointNamespace } from './launch-guard.js';
|
|
13
|
+
import { inspectProcessIdentity, processIdentitySchema } from './process-identity.js';
|
|
14
|
+
import { convergeRunStatePath, loadConvergeRunState } from './run-state.js';
|
|
15
|
+
import { withRecoveryTarget } from './target-ownership.js';
|
|
16
|
+
/**
|
|
17
|
+
* An audited close of a fresh-review operation whose launch died before the
|
|
18
|
+
* council wrote anything (RCL-216).
|
|
19
|
+
*
|
|
20
|
+
* Such an operation stays `active` for good: `converge-gap` needs an original
|
|
21
|
+
* report and run that never existed, an ordinary round refuses while the
|
|
22
|
+
* operation is pending, and `--start-over` resumes it. The close proves, from
|
|
23
|
+
* the target's own native state, that nothing was produced: the operation is
|
|
24
|
+
* active, its cycle admitted no round, its last launch is still pending with
|
|
25
|
+
* no run, report or recovery, the exact process that claimed it is dead, and
|
|
26
|
+
* the launch's council journal holds no reviewer result. The preview pins all
|
|
27
|
+
* of that in a manifest; the apply re-proves it on the same bytes, retains
|
|
28
|
+
* them, and marks the operation terminal with a reference to the audit. No
|
|
29
|
+
* round, finding, verdict or attempt is created or released: the spent
|
|
30
|
+
* attempt stays spent, and the cycle's accounting becomes history for the
|
|
31
|
+
* next explicitly requested fresh review.
|
|
32
|
+
*/
|
|
33
|
+
const MAX_MANIFEST = 256 * 1024;
|
|
34
|
+
const digest = z.string().regex(/^[a-f0-9]{64}$/);
|
|
35
|
+
const sourceSchema = z.object({ path: z.string().min(1), sha256: digest, bytes: z.number().int().nonnegative().safe() }).strict();
|
|
36
|
+
export const freshReviewCloseManifestSchema = z.object({
|
|
37
|
+
kind: z.literal('rcl-fresh-review-close'),
|
|
38
|
+
version: z.literal(1),
|
|
39
|
+
auditId: z.string().uuid(),
|
|
40
|
+
createdAt: z.string().datetime(),
|
|
41
|
+
gitCommonDir: z.string().min(1),
|
|
42
|
+
target: z.string().min(1).max(200),
|
|
43
|
+
freshOperationId: z.string().uuid(),
|
|
44
|
+
cycleId: z.string().uuid(),
|
|
45
|
+
headSha: z.string().regex(/^[a-f0-9]{40}$/),
|
|
46
|
+
operation: sourceSchema,
|
|
47
|
+
run: sourceSchema,
|
|
48
|
+
attempts: sourceSchema,
|
|
49
|
+
launch: z.object({
|
|
50
|
+
attempt: z.number().int().positive().safe(),
|
|
51
|
+
round: z.number().int().positive().safe(),
|
|
52
|
+
startedAt: z.string().datetime(),
|
|
53
|
+
pid: z.number().int().positive().safe(),
|
|
54
|
+
processIdentity: processIdentitySchema,
|
|
55
|
+
}).strict(),
|
|
56
|
+
evidence: z.object({
|
|
57
|
+
process: z.literal('dead'),
|
|
58
|
+
admittedRounds: z.literal(0),
|
|
59
|
+
checkpoint: z.object({ path: z.string().min(1), present: z.boolean(), results: z.literal(0),
|
|
60
|
+
events: z.number().int().nonnegative().safe() }).strict(),
|
|
61
|
+
}).strict(),
|
|
62
|
+
disposition: z.object({ kind: z.literal('died_before_report'), accounting: z.literal('unchanged'),
|
|
63
|
+
scope: z.literal('local operation close; no admission or approval') }).strict(),
|
|
64
|
+
}).strict();
|
|
65
|
+
const fail = (code) => { throw new Error(code); };
|
|
66
|
+
const source = (path, snap) => ({ path, sha256: snap.sha256, bytes: snap.raw.length });
|
|
67
|
+
async function entries(path) {
|
|
68
|
+
try {
|
|
69
|
+
return (await readdir(path)).filter(name => !name.startsWith('.'));
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
if (error.code === 'ENOENT')
|
|
73
|
+
return undefined;
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/** Everything the close rests on, read from the target's current native files. */
|
|
78
|
+
async function observe(commonDir, selection, io) {
|
|
79
|
+
const { target, operationId } = selection;
|
|
80
|
+
const current = await readFreshReviewOperation(commonDir, target);
|
|
81
|
+
if (!current || current.operation.operationId !== operationId)
|
|
82
|
+
fail('fresh_close_operation_not_current');
|
|
83
|
+
const operation = current.operation;
|
|
84
|
+
if (operation.phase !== 'active' || !operation.receipt)
|
|
85
|
+
fail('fresh_close_operation_not_active');
|
|
86
|
+
const runPath = convergeRunStatePath(commonDir, target), attemptsPath = convergeAttemptStatePath(commonDir, target);
|
|
87
|
+
const runBytes = await readStable(runPath), attemptBytes = await readStable(attemptsPath);
|
|
88
|
+
const run = await loadConvergeRunState(commonDir, target), attempts = await loadConvergeAttemptState(commonDir, target);
|
|
89
|
+
if (!run || !attempts)
|
|
90
|
+
fail('fresh_close_state_missing');
|
|
91
|
+
if (run.cycle?.operationId !== operationId || attempts.cycle?.operationId !== operationId ||
|
|
92
|
+
run.cycle.id !== operation.receipt.id || !isDeepStrictEqual(run.cycle, attempts.cycle))
|
|
93
|
+
fail('fresh_close_cycle_mismatch');
|
|
94
|
+
if (run.rounds.length !== 0)
|
|
95
|
+
fail('fresh_close_round_admitted');
|
|
96
|
+
const launch = run.lastLaunch;
|
|
97
|
+
if (!launch || launch.status !== 'pending')
|
|
98
|
+
fail('fresh_close_launch_not_pending');
|
|
99
|
+
if (launch.runId || launch.reportJsonSha256 || launch.retainedOriginal || launch.pendingResume ||
|
|
100
|
+
launch.pendingRecovery || launch.recovery)
|
|
101
|
+
fail('fresh_close_launch_has_work');
|
|
102
|
+
if (launch.headSha !== operation.headSha)
|
|
103
|
+
fail('fresh_close_launch_head_mismatch');
|
|
104
|
+
if (!launch.processIdentity)
|
|
105
|
+
fail('fresh_close_process_unverifiable');
|
|
106
|
+
// The dead launch must hold the cycle's latest claim: a later attempt may
|
|
107
|
+
// have produced work this close would not see.
|
|
108
|
+
const claim = attempts.attempts.find(record => record.attempt === launch.attempt);
|
|
109
|
+
if (!claim || attempts.attemptsUsed !== launch.attempt)
|
|
110
|
+
fail('fresh_close_attempt_not_latest');
|
|
111
|
+
const status = await (io.inspectProcess ?? inspectProcessIdentity)(launch.processIdentity).catch(() => 'unverifiable');
|
|
112
|
+
if (status === 'alive')
|
|
113
|
+
fail('fresh_close_process_alive');
|
|
114
|
+
if (status !== 'dead')
|
|
115
|
+
fail('fresh_close_process_unverifiable');
|
|
116
|
+
// The council journals every reviewer result before anything is reported;
|
|
117
|
+
// an empty (or never created) journal is the proof that nothing was produced.
|
|
118
|
+
// Without the launch's packet binding there is no journal to inspect, and
|
|
119
|
+
// so no proof.
|
|
120
|
+
if (!launch.ordinaryInputs)
|
|
121
|
+
fail('fresh_close_journal_unknown');
|
|
122
|
+
const checkpoint = checkpointPath(commonDir, target, ordinaryCheckpointNamespace(launch.ordinaryInputs.packetSha256));
|
|
123
|
+
const results = await entries(join(checkpoint, 'results'));
|
|
124
|
+
const events = await entries(join(checkpoint, 'events'));
|
|
125
|
+
if (results && results.length)
|
|
126
|
+
fail('fresh_close_results_present');
|
|
127
|
+
return { operation, operationPath: current.path, operationBytes: await readStable(current.path, 64 * 1024),
|
|
128
|
+
runPath, runBytes, attemptsPath, attemptBytes, launch: launch,
|
|
129
|
+
checkpoint: { path: checkpoint, present: results !== undefined, results: 0, events: events?.length ?? 0 } };
|
|
130
|
+
}
|
|
131
|
+
/** Read-only preview of a close; the only identity it introduces is the audit's own. */
|
|
132
|
+
export async function previewFreshReviewClose(selection, gitCommonDir, io = {}) {
|
|
133
|
+
const parsed = z.object({ target: z.string().min(1).max(200).refine(value => value.trim() === value),
|
|
134
|
+
operationId: z.string().uuid() }).strict().safeParse(selection);
|
|
135
|
+
if (!parsed.success)
|
|
136
|
+
fail('invalid_fresh_close_selection');
|
|
137
|
+
const commonDir = await realpath(resolve(gitCommonDir));
|
|
138
|
+
const seen = await observe(commonDir, parsed.data, io);
|
|
139
|
+
return freshReviewCloseManifestSchema.parse({
|
|
140
|
+
kind: 'rcl-fresh-review-close', version: 1, auditId: randomUUID(), createdAt: new Date().toISOString(),
|
|
141
|
+
gitCommonDir: commonDir, target: parsed.data.target, freshOperationId: seen.operation.operationId,
|
|
142
|
+
cycleId: seen.operation.receipt.id, headSha: seen.operation.headSha,
|
|
143
|
+
operation: source(seen.operationPath, seen.operationBytes), run: source(seen.runPath, seen.runBytes),
|
|
144
|
+
attempts: source(seen.attemptsPath, seen.attemptBytes),
|
|
145
|
+
launch: { attempt: seen.launch.attempt, round: seen.launch.round, startedAt: seen.launch.startedAt,
|
|
146
|
+
pid: seen.launch.pid, processIdentity: seen.launch.processIdentity },
|
|
147
|
+
evidence: { process: 'dead', admittedRounds: 0, checkpoint: seen.checkpoint },
|
|
148
|
+
disposition: { kind: 'died_before_report', accounting: 'unchanged', scope: 'local operation close; no admission or approval' },
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
/** Where a close retains its manifest and the exact native bytes it rested on. */
|
|
152
|
+
export function freshReviewCloseAuditPath(commonDir, target, auditId) {
|
|
153
|
+
if (!z.string().uuid().safeParse(auditId).success)
|
|
154
|
+
fail('invalid_fresh_close_audit');
|
|
155
|
+
return join(reviewCycleDirectory(commonDir, target), 'closures', auditId);
|
|
156
|
+
}
|
|
157
|
+
async function retain(path, bytes) {
|
|
158
|
+
try {
|
|
159
|
+
await writeExclusiveBytes(path, bytes);
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
if (error.code !== 'EEXIST')
|
|
163
|
+
throw error;
|
|
164
|
+
if (!(await readStable(path, MAX_MANIFEST)).raw.equals(bytes))
|
|
165
|
+
fail('fresh_close_retained_conflict');
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Apply a reviewed manifest: under recovery ownership of the target, prove the
|
|
170
|
+
* same facts on the same bytes, retain them, then mark the operation terminal.
|
|
171
|
+
* Re-applying a completed close answers `already_closed` and changes nothing.
|
|
172
|
+
*/
|
|
173
|
+
export async function applyFreshReviewClose(input, gitCommonDir, io = {}) {
|
|
174
|
+
const pinned = z.object({ manifest: z.string().min(1), manifestSha256: digest }).strict().safeParse(input);
|
|
175
|
+
if (!pinned.success)
|
|
176
|
+
fail('invalid_fresh_close_apply_selection');
|
|
177
|
+
const original = await readStable(pinned.data.manifest, MAX_MANIFEST);
|
|
178
|
+
if (original.sha256 !== pinned.data.manifestSha256)
|
|
179
|
+
fail('fresh_close_manifest_digest_mismatch');
|
|
180
|
+
let manifest;
|
|
181
|
+
try {
|
|
182
|
+
manifest = freshReviewCloseManifestSchema.parse(JSON.parse(original.text));
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return fail('invalid_fresh_close_manifest');
|
|
186
|
+
}
|
|
187
|
+
const commonDir = await realpath(resolve(gitCommonDir));
|
|
188
|
+
if (commonDir !== manifest.gitCommonDir)
|
|
189
|
+
fail('fresh_close_repository_changed');
|
|
190
|
+
const closure = { kind: 'died_before_report', auditId: manifest.auditId, manifestSha256: original.sha256 };
|
|
191
|
+
return withRecoveryTarget(commonDir, manifest.target, async (ownership) => {
|
|
192
|
+
const current = await readFreshReviewOperation(commonDir, manifest.target);
|
|
193
|
+
if (current?.operation.operationId === manifest.freshOperationId && current.operation.phase === 'terminal' &&
|
|
194
|
+
isDeepStrictEqual(current.operation.closure, closure))
|
|
195
|
+
return 'already_closed';
|
|
196
|
+
const seen = await observe(commonDir, { target: manifest.target, operationId: manifest.freshOperationId }, io);
|
|
197
|
+
const now = { operation: source(seen.operationPath, seen.operationBytes), run: source(seen.runPath, seen.runBytes),
|
|
198
|
+
attempts: source(seen.attemptsPath, seen.attemptBytes) };
|
|
199
|
+
if (!isDeepStrictEqual(now, { operation: manifest.operation, run: manifest.run, attempts: manifest.attempts }) ||
|
|
200
|
+
seen.operation.receipt.id !== manifest.cycleId || !isDeepStrictEqual(seen.checkpoint, manifest.evidence.checkpoint) ||
|
|
201
|
+
!isDeepStrictEqual(seen.launch.processIdentity, manifest.launch.processIdentity))
|
|
202
|
+
fail('fresh_close_state_changed');
|
|
203
|
+
const audit = freshReviewCloseAuditPath(commonDir, manifest.target, manifest.auditId);
|
|
204
|
+
await prepareLockRoot(join(audit, '..'));
|
|
205
|
+
await prepareLockRoot(audit);
|
|
206
|
+
await retain(join(audit, 'manifest.json'), original.raw);
|
|
207
|
+
await retain(join(audit, 'operation-before.json'), seen.operationBytes.raw);
|
|
208
|
+
await retain(join(audit, 'run-before.json'), seen.runBytes.raw);
|
|
209
|
+
await retain(join(audit, 'attempts-before.json'), seen.attemptBytes.raw);
|
|
210
|
+
await syncDirectory(audit);
|
|
211
|
+
// Nothing may have moved while the evidence was retained.
|
|
212
|
+
if ((await readStable(seen.runPath)).sha256 !== manifest.run.sha256 ||
|
|
213
|
+
(await readStable(seen.attemptsPath)).sha256 !== manifest.attempts.sha256)
|
|
214
|
+
fail('fresh_close_state_changed');
|
|
215
|
+
const result = await closeDiedFreshReview(commonDir, manifest.target, manifest.freshOperationId, manifest.operation.sha256, closure, ownership);
|
|
216
|
+
await retain(join(audit, 'complete.json'), Buffer.from(serializeRecoveryDocument({ version: 1,
|
|
217
|
+
auditId: manifest.auditId, manifestSha256: original.sha256, freshOperationId: manifest.freshOperationId,
|
|
218
|
+
cycleId: manifest.cycleId, phase: 'terminal' })));
|
|
219
|
+
return result;
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=fresh-review-close.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fresh-review-close.js","sourceRoot":"","sources":["../../src/converge/fresh-review-close.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
1
2
|
import { type NativeTargetOwnership } from './target-ownership.js';
|
|
2
3
|
import { type NativeReviewCycle, type ReviewCycleRemote } from './review-cycle.js';
|
|
4
|
+
declare const operationSchema: z.ZodObject<{
|
|
5
|
+
version: z.ZodLiteral<1>;
|
|
6
|
+
target: z.ZodString;
|
|
7
|
+
operationId: z.ZodString;
|
|
8
|
+
repo: z.ZodString;
|
|
9
|
+
prNumber: z.ZodNumber;
|
|
10
|
+
url: z.ZodString;
|
|
11
|
+
headSha: z.ZodString;
|
|
12
|
+
previousCycleId: z.ZodNullable<z.ZodString>;
|
|
13
|
+
attemptCap: z.ZodNumber;
|
|
14
|
+
roundCap: z.ZodNumber;
|
|
15
|
+
archiveSha256: z.ZodString;
|
|
16
|
+
phase: z.ZodEnum<{
|
|
17
|
+
terminal: "terminal";
|
|
18
|
+
rejected: "rejected";
|
|
19
|
+
active: "active";
|
|
20
|
+
recorded: "recorded";
|
|
21
|
+
prepared: "prepared";
|
|
22
|
+
}>;
|
|
23
|
+
rejection: z.ZodOptional<z.ZodString>;
|
|
24
|
+
receipt: z.ZodOptional<z.ZodObject<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
operation_id: z.ZodString;
|
|
27
|
+
previous_cycle_id: z.ZodNullable<z.ZodString>;
|
|
28
|
+
head_sha: z.ZodString;
|
|
29
|
+
inserted_at: z.ZodString;
|
|
30
|
+
}, z.core.$strict>>;
|
|
31
|
+
closure: z.ZodOptional<z.ZodObject<{
|
|
32
|
+
kind: z.ZodLiteral<"died_before_report">;
|
|
33
|
+
auditId: z.ZodString;
|
|
34
|
+
manifestSha256: z.ZodString;
|
|
35
|
+
}, z.core.$strict>>;
|
|
36
|
+
}, z.core.$strict>;
|
|
37
|
+
type Operation = z.infer<typeof operationSchema>;
|
|
38
|
+
export type FreshReviewOperationRecord = Operation;
|
|
39
|
+
export type FreshReviewClosure = NonNullable<Operation['closure']>;
|
|
3
40
|
export interface FreshReviewOptions {
|
|
4
41
|
gitCommonDir: string;
|
|
5
42
|
target: string;
|
|
@@ -14,6 +51,12 @@ export interface FreshReviewOperation {
|
|
|
14
51
|
operationId: string;
|
|
15
52
|
}
|
|
16
53
|
export declare function reviewCycleDirectory(common: string, target: string): string;
|
|
54
|
+
/** The target's current fresh-review operation and its exact bytes, if any. */
|
|
55
|
+
export declare function readFreshReviewOperation(common: string, target: string): Promise<{
|
|
56
|
+
operation: Operation;
|
|
57
|
+
path: string;
|
|
58
|
+
sha256: string;
|
|
59
|
+
} | undefined>;
|
|
17
60
|
/** Capture the request generation before waiting for another launcher. */
|
|
18
61
|
export declare function freshReviewRequestVersion(common: string, target: string): Promise<string | undefined>;
|
|
19
62
|
/** A durably completed first dispatch needs no new provider/output preflight. */
|
|
@@ -28,6 +71,14 @@ export declare function verifyReviewCycle(common: string, target: string, cycle:
|
|
|
28
71
|
export declare function prepareFreshReview(options: FreshReviewOptions): Promise<FreshReviewOperation>;
|
|
29
72
|
/** Mark a returned dispatch outcome terminal; a later explicit request may create another cycle. */
|
|
30
73
|
export declare function finishFreshReview(common: string, target: string, operationId: string, ownership: NativeTargetOwnership): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Close an active operation whose launch died before any report, as one
|
|
76
|
+
* compare-and-swap on its exact bytes: it becomes terminal and names the audit
|
|
77
|
+
* that justified it. Nothing else changes: no round, finding, verdict or
|
|
78
|
+
* attempt is created or released, and the cycle's spending stays history for
|
|
79
|
+
* the next explicitly requested fresh review (RCL-216).
|
|
80
|
+
*/
|
|
81
|
+
export declare function closeDiedFreshReview(common: string, target: string, operationId: string, expectedSha256: string, closure: FreshReviewClosure, ownership: NativeTargetOwnership): Promise<'closed' | 'already_closed'>;
|
|
31
82
|
/** Neither a missing partner nor a legacy ledger may replenish a cycle's budget. */
|
|
32
83
|
export declare function assertReviewCyclePair(common: string, target: string, expected: NativeReviewCycle | undefined): Promise<void>;
|
|
33
84
|
/** Default retained outputs make the explicit command usable without bookkeeping flags. */
|
|
@@ -35,3 +86,4 @@ export declare function freshReviewOutputPaths(common: string): Promise<{
|
|
|
35
86
|
jsonFile: string;
|
|
36
87
|
markdown: string;
|
|
37
88
|
}>;
|
|
89
|
+
export {};
|
|
@@ -30,6 +30,9 @@ const operationSchema = z.object({
|
|
|
30
30
|
phase: z.enum(['prepared', 'recorded', 'active', 'rejected', 'terminal']),
|
|
31
31
|
rejection: z.string().optional(),
|
|
32
32
|
receipt: reviewCycleReceiptSchema.optional(),
|
|
33
|
+
/** An audited close of an operation whose launch died before any report (RCL-216). */
|
|
34
|
+
closure: z.object({ kind: z.literal('died_before_report'), auditId: z.string().uuid(),
|
|
35
|
+
manifestSha256: z.string().regex(/^[a-f0-9]{64}$/) }).strict().optional(),
|
|
33
36
|
}).strict();
|
|
34
37
|
export function reviewCycleDirectory(common, target) {
|
|
35
38
|
return join(common, 'rcl-review-cycles', basename(convergeRunStatePath(common, target), '.json'));
|
|
@@ -97,6 +100,18 @@ async function currentOperation(directory, target) {
|
|
|
97
100
|
throw new Error('fresh_review_operation_mismatch');
|
|
98
101
|
return operation;
|
|
99
102
|
}
|
|
103
|
+
/** The target's current fresh-review operation and its exact bytes, if any. */
|
|
104
|
+
export async function readFreshReviewOperation(common, target) {
|
|
105
|
+
const directory = reviewCycleDirectory(common, target);
|
|
106
|
+
const operation = await currentOperation(directory, target);
|
|
107
|
+
if (!operation)
|
|
108
|
+
return undefined;
|
|
109
|
+
const path = join(directory, `${operation.operationId}.json`);
|
|
110
|
+
const bytes = (await readStable(path, 64 * 1024)).raw;
|
|
111
|
+
if (!isDeepStrictEqual(operationSchema.parse(JSON.parse(bytes.toString())), operation))
|
|
112
|
+
throw new Error('fresh_review_operation_changed');
|
|
113
|
+
return { operation, path, sha256: hash(bytes) };
|
|
114
|
+
}
|
|
100
115
|
/** Capture the request generation before waiting for another launcher. */
|
|
101
116
|
export async function freshReviewRequestVersion(common, target) {
|
|
102
117
|
const operation = await currentOperation(reviewCycleDirectory(common, target), target);
|
|
@@ -303,6 +318,26 @@ export async function finishFreshReview(common, target, operationId, ownership)
|
|
|
303
318
|
throw new Error('fresh_review_operation_changed');
|
|
304
319
|
await replaceJson(join(directory, `${operationId}.json`), { ...operation, phase: 'terminal' });
|
|
305
320
|
}
|
|
321
|
+
/**
|
|
322
|
+
* Close an active operation whose launch died before any report, as one
|
|
323
|
+
* compare-and-swap on its exact bytes: it becomes terminal and names the audit
|
|
324
|
+
* that justified it. Nothing else changes: no round, finding, verdict or
|
|
325
|
+
* attempt is created or released, and the cycle's spending stays history for
|
|
326
|
+
* the next explicitly requested fresh review (RCL-216).
|
|
327
|
+
*/
|
|
328
|
+
export async function closeDiedFreshReview(common, target, operationId, expectedSha256, closure, ownership) {
|
|
329
|
+
common = await ownedNativeTargetCommonDir(ownership, common, target);
|
|
330
|
+
const directory = reviewCycleDirectory(common, target);
|
|
331
|
+
const current = await readFreshReviewOperation(common, target);
|
|
332
|
+
if (!current || current.operation.operationId !== operationId)
|
|
333
|
+
throw new Error('fresh_review_operation_changed');
|
|
334
|
+
if (current.operation.phase === 'terminal' && isDeepStrictEqual(current.operation.closure, closure))
|
|
335
|
+
return 'already_closed';
|
|
336
|
+
if (current.operation.phase !== 'active' || current.sha256 !== expectedSha256)
|
|
337
|
+
throw new Error('fresh_review_operation_changed');
|
|
338
|
+
await replaceJson(join(directory, `${operationId}.json`), { ...current.operation, phase: 'terminal', closure });
|
|
339
|
+
return 'closed';
|
|
340
|
+
}
|
|
306
341
|
/** Neither a missing partner nor a legacy ledger may replenish a cycle's budget. */
|
|
307
342
|
export async function assertReviewCyclePair(common, target, expected) {
|
|
308
343
|
const run = await loadConvergeRunState(common, target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fresh-review.js","sourceRoot":"","sources":["../../src/converge/fresh-review.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fresh-review.js","sourceRoot":"","sources":["../../src/converge/fresh-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* A pull request's live state, read once by a parent process that holds
|
|
4
|
+
* GitHub credentials and handed to a review process that holds none (RCL-216).
|
|
5
|
+
*
|
|
6
|
+
* Grid hosts strip GitHub credentials from every reviewer process on purpose,
|
|
7
|
+
* yet a review cycle must confirm that the pull request is still open at the
|
|
8
|
+
* head under review. The parent captures that state with `rcl pr-snapshot`
|
|
9
|
+
* shortly before launching, and the review reads it with `--pr-snapshot`
|
|
10
|
+
* instead of calling GitHub. Harness still verifies the reviewed head against
|
|
11
|
+
* the pull request when the evidence arrives; this snapshot only replaces the
|
|
12
|
+
* reviewer's own pre-launch read.
|
|
13
|
+
*/
|
|
14
|
+
export declare const PR_SNAPSHOT_MAX_AGE_MS: number;
|
|
15
|
+
export declare const prSnapshotSchema: z.ZodObject<{
|
|
16
|
+
kind: z.ZodLiteral<"rcl-pr-snapshot">;
|
|
17
|
+
version: z.ZodLiteral<1>;
|
|
18
|
+
repo: z.ZodString;
|
|
19
|
+
prNumber: z.ZodNumber;
|
|
20
|
+
headSha: z.ZodString;
|
|
21
|
+
baseSha: z.ZodString;
|
|
22
|
+
baseRef: z.ZodString;
|
|
23
|
+
merged: z.ZodBoolean;
|
|
24
|
+
state: z.ZodString;
|
|
25
|
+
fetchedAt: z.ZodString;
|
|
26
|
+
}, z.core.$strict>;
|
|
27
|
+
export type PrSnapshot = z.infer<typeof prSnapshotSchema>;
|
|
28
|
+
export interface LivePullRequestState {
|
|
29
|
+
headSha: string;
|
|
30
|
+
merged: boolean;
|
|
31
|
+
state: string;
|
|
32
|
+
}
|
|
33
|
+
/** The fields a snapshot keeps from GitHub's pull request object. */
|
|
34
|
+
export declare function prSnapshotFrom(repo: string, prNumber: number, pr: {
|
|
35
|
+
head: {
|
|
36
|
+
sha: string;
|
|
37
|
+
};
|
|
38
|
+
base: {
|
|
39
|
+
sha: string;
|
|
40
|
+
ref: string;
|
|
41
|
+
};
|
|
42
|
+
merged: boolean | null;
|
|
43
|
+
state: string;
|
|
44
|
+
}, now?: Date): PrSnapshot;
|
|
45
|
+
/** Write a new snapshot exclusively, readable by its owner only; answer its SHA-256. */
|
|
46
|
+
export declare function writePrSnapshot(path: string, snapshot: PrSnapshot): Promise<string>;
|
|
47
|
+
/**
|
|
48
|
+
* Read a snapshot for `repo#prNumber` and answer the live state it records.
|
|
49
|
+
* Refuses a file another user could have written, one for another pull
|
|
50
|
+
* request, and one older than {@link PR_SNAPSHOT_MAX_AGE_MS}: an old reading
|
|
51
|
+
* cannot stand in for the live check.
|
|
52
|
+
*/
|
|
53
|
+
export declare function readPrSnapshot(path: string, repo: string, prNumber: number, now?: number): Promise<LivePullRequestState>;
|