@tokenfactory/acc-runner 0.41.4 → 0.41.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.
- package/dist/prepr-gate.d.ts +191 -0
- package/dist/prepr-gate.d.ts.map +1 -1
- package/dist/prepr-gate.js +336 -2
- package/dist/prepr-gate.js.map +1 -1
- package/dist/runtime/reviewer.d.ts +80 -0
- package/dist/runtime/reviewer.d.ts.map +1 -1
- package/dist/runtime/reviewer.js +241 -6
- package/dist/runtime/reviewer.js.map +1 -1
- package/package.json +1 -1
package/dist/prepr-gate.d.ts
CHANGED
|
@@ -47,6 +47,21 @@ export interface PreprGateResult {
|
|
|
47
47
|
offending: string[];
|
|
48
48
|
outputTail: string;
|
|
49
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* RF-14: set when the `test` gate FAILED but EVERY failing test was already in
|
|
52
|
+
* the known-failure set (baseline ∪ active quarantines) — i.e. this task
|
|
53
|
+
* introduced none of them. The PR was NOT blocked and `ok` stays `true`; the
|
|
54
|
+
* caller logs this so the pre-existing debt stays visible rather than silent.
|
|
55
|
+
* Never set together with a `test` `failure` (a new failure blocks instead).
|
|
56
|
+
*/
|
|
57
|
+
testBaselineExcused?: {
|
|
58
|
+
/** Failing ids that were already known red (`<relFile> > <full name>`). */
|
|
59
|
+
preExisting: string[];
|
|
60
|
+
/** Where the known set came from, for the runner log. */
|
|
61
|
+
source: string;
|
|
62
|
+
/** Tail of the failing suite's output — kept for the operator. */
|
|
63
|
+
outputTail: string;
|
|
64
|
+
};
|
|
50
65
|
/**
|
|
51
66
|
* MIGFIX-01: set when the pre-PR auto-renumber (opt-in) renamed a NEW migration
|
|
52
67
|
* to the next contiguous seq before the seq-lint ran. `output` is the
|
|
@@ -164,6 +179,73 @@ export interface PreprGateDeps {
|
|
|
164
179
|
* never rewrites already-pushed history). Injectable for tests.
|
|
165
180
|
*/
|
|
166
181
|
commitRenumbered?: (workdir: string) => Promise<void>;
|
|
182
|
+
/**
|
|
183
|
+
* RF-14 knob. When true (the DEFAULT) a failed `test` gate is re-classified
|
|
184
|
+
* against the known-failure set before it blocks. Precedence: explicit dep,
|
|
185
|
+
* else `ACC_PREPR_TEST_BASELINE_CONSULT` env, else `true`.
|
|
186
|
+
*
|
|
187
|
+
* This is the one knob in this module that defaults ON, deliberately: the other
|
|
188
|
+
* knobs ADD a way to block a PR (so shipping them off is the conservative
|
|
189
|
+
* default), while this one only ever declines to block on a failure the task
|
|
190
|
+
* did not cause, and only when a durable record says so. Set the env to `0` to
|
|
191
|
+
* restore "any red test hard-fails the task".
|
|
192
|
+
*/
|
|
193
|
+
testBaselineConsult?: boolean;
|
|
194
|
+
/**
|
|
195
|
+
* RF-14: the known-failing test ids this gate may decline to block on —
|
|
196
|
+
* RF-6's baseline ∪ the active flake quarantines. Return `null` when no such
|
|
197
|
+
* record is available: the gate then fails CLOSED and every failure blocks,
|
|
198
|
+
* exactly as it did before RF-14.
|
|
199
|
+
*
|
|
200
|
+
* Default: `defaultLoadKnownFailures` — the union of
|
|
201
|
+
* 1. the baseline artifact named by `ACC_PREPR_TEST_BASELINE` (a path,
|
|
202
|
+
* absolute or workdir-relative), in the SAME `{sha, failures[]}` shape
|
|
203
|
+
* `scripts/ci/test-baseline.mjs --load-baseline` writes, so the exact CI
|
|
204
|
+
* artifact can be handed to a runner host; and
|
|
205
|
+
* 2. the worktree's checked-in flake-quarantine manifest
|
|
206
|
+
* (`tests/flake-quarantine/quarantine-manifest.json`, projected from
|
|
207
|
+
* acc.activity_events by scripts/flake-quarantine-sync.ts).
|
|
208
|
+
* Both are credential-free reads of the task worktree, so this works on a
|
|
209
|
+
* runner host with no DB access. Wiring the DB-backed loader
|
|
210
|
+
* (api/_lib/test-baseline.ts `loadKnownTestFailures`, pinned to the task's
|
|
211
|
+
* merge-base) through the task-runner is the remaining half — it lives in
|
|
212
|
+
* task-runner.ts, outside this track's scope.
|
|
213
|
+
*/
|
|
214
|
+
loadKnownTestFailures?: (workdir: string) => Promise<PreprKnownFailures | null>;
|
|
215
|
+
/**
|
|
216
|
+
* RF-14: recover the failing test ids from the failed `test` gate's own output.
|
|
217
|
+
* Default: `extractVitestFailures` (parses vitest's `FAIL <file> > <name>`
|
|
218
|
+
* lines and cross-checks them against the reporter's own failed COUNT).
|
|
219
|
+
* Injectable so the unit suite can drive the classifier without a real suite,
|
|
220
|
+
* and so a repo on another runner can supply its own parser.
|
|
221
|
+
*/
|
|
222
|
+
extractTestFailures?: (output: string) => PreprTestFailureScan;
|
|
223
|
+
}
|
|
224
|
+
/** RF-14: the known-failing set a failed `test` gate is measured against. */
|
|
225
|
+
export interface PreprKnownFailures {
|
|
226
|
+
/**
|
|
227
|
+
* Known-red identifiers. Each is a full test id (`<relFile> > <full name>`) OR
|
|
228
|
+
* a bare test FILE — the quarantine ledger records both shapes, and a
|
|
229
|
+
* file-level entry excuses every test in that file (see `isKnownFailure`).
|
|
230
|
+
*/
|
|
231
|
+
ids: string[];
|
|
232
|
+
/** Human description of where the ids came from, for the runner log. */
|
|
233
|
+
source: string;
|
|
234
|
+
}
|
|
235
|
+
/** RF-14: what could be recovered from a failed `test` gate's output. */
|
|
236
|
+
export interface PreprTestFailureScan {
|
|
237
|
+
/** Failing test ids, in reporter order, de-duplicated. */
|
|
238
|
+
ids: string[];
|
|
239
|
+
/** The failed count the reporter itself printed, or null when unreadable. */
|
|
240
|
+
declared: number | null;
|
|
241
|
+
/**
|
|
242
|
+
* True only when the parse is PROVABLY complete: the reporter declared a
|
|
243
|
+
* failed count and we recovered exactly that many ids. Anything else — a
|
|
244
|
+
* reporter we cannot read, a collect/import error, a count mismatch — is
|
|
245
|
+
* `false`, and the gate then blocks. A partial parse is the one way this
|
|
246
|
+
* feature could wave a real regression through, so it is never trusted.
|
|
247
|
+
*/
|
|
248
|
+
complete: boolean;
|
|
167
249
|
}
|
|
168
250
|
/**
|
|
169
251
|
* Text-source extensions the NUL/binary check scans. An allowlist (never a
|
|
@@ -246,6 +328,115 @@ export declare function migrationLintBlockingResolved(explicit: boolean | undefi
|
|
|
246
328
|
* renumber the operator otherwise had to do by hand.
|
|
247
329
|
*/
|
|
248
330
|
export declare function autoRenumberResolved(explicit: boolean | undefined, env: NodeJS.ProcessEnv): boolean;
|
|
331
|
+
/**
|
|
332
|
+
* RF-14: resolve whether a failed `test` gate is measured against the
|
|
333
|
+
* known-failure set. Precedence: explicit dep → `ACC_PREPR_TEST_BASELINE_CONSULT`
|
|
334
|
+
* → `true`. See `PreprGateDeps.testBaselineConsult` for why this one defaults ON.
|
|
335
|
+
*/
|
|
336
|
+
export declare function testBaselineConsultResolved(explicit: boolean | undefined, env: NodeJS.ProcessEnv): boolean;
|
|
337
|
+
/**
|
|
338
|
+
* Worktree-relative path of the checked-in flake-quarantine manifest, the
|
|
339
|
+
* credential-free half of the known-failure set. Written by
|
|
340
|
+
* scripts/flake-quarantine-sync.ts from acc.activity_events; duplicated here
|
|
341
|
+
* (rather than imported from api/_lib/flake-quarantine.ts) per the standing
|
|
342
|
+
* cross-package convention — the published CLI cannot depend on api/.
|
|
343
|
+
*/
|
|
344
|
+
export declare const QUARANTINE_MANIFEST_REL = "tests/flake-quarantine/quarantine-manifest.json";
|
|
345
|
+
/** Env var naming a baseline artifact to consult (see `loadKnownTestFailures`). */
|
|
346
|
+
export declare const TEST_BASELINE_ENV = "ACC_PREPR_TEST_BASELINE";
|
|
347
|
+
/**
|
|
348
|
+
* The id shape RF-6 uses everywhere: `<repo-relative test file> > <full name>`.
|
|
349
|
+
* Mirrors `assertionId` in scripts/ci/test-baseline.mjs so a baseline recorded by
|
|
350
|
+
* CI and a failure observed by the runner are the SAME string. Duplicated for the
|
|
351
|
+
* same cross-package reason as above; drift here means the gate simply excuses
|
|
352
|
+
* nothing (it can never over-excuse), because a mismatched id looks unknown.
|
|
353
|
+
*/
|
|
354
|
+
export declare const TEST_ID_SEPARATOR = " > ";
|
|
355
|
+
/** The file half of a test id (`a.test.ts > x > y` → `a.test.ts`). */
|
|
356
|
+
export declare function testIdFile(id: string): string;
|
|
357
|
+
/**
|
|
358
|
+
* True when `id` is covered by the known-failure set: an exact id match, or a
|
|
359
|
+
* FILE-level entry (which is how the quarantine ledger records "this whole suite
|
|
360
|
+
* is quarantined"). Nothing else counts — no prefix or fuzzy matching, so a
|
|
361
|
+
* known `foo.test.ts > a` never excuses `foo2.test.ts > a`.
|
|
362
|
+
*/
|
|
363
|
+
export declare function isKnownFailure(id: string, known: Iterable<string>): boolean;
|
|
364
|
+
/**
|
|
365
|
+
* Split the observed failing ids into the ones this task introduced and the ones
|
|
366
|
+
* that were already red. `newFailures` is what blocks the PR.
|
|
367
|
+
*/
|
|
368
|
+
export declare function splitKnownFailures(current: string[], known: string[]): {
|
|
369
|
+
newFailures: string[];
|
|
370
|
+
preExisting: string[];
|
|
371
|
+
};
|
|
372
|
+
/**
|
|
373
|
+
* The failed-TEST count vitest's own summary printed (`Tests 2 failed | 1 passed`).
|
|
374
|
+
* Returns 0 when the summary line is present but reports no failures
|
|
375
|
+
* (`Tests 1 passed`, `Tests no tests`), and null when there is no summary line
|
|
376
|
+
* at all — the difference matters: 0 is a fact, null is "unreadable, fail closed".
|
|
377
|
+
* `Test Files` deliberately does not match: files are not tests, and a file that
|
|
378
|
+
* failed to COLLECT is counted there but never in `Tests`.
|
|
379
|
+
*/
|
|
380
|
+
export declare function parseVitestFailedCount(output: string): number | null;
|
|
381
|
+
/**
|
|
382
|
+
* The failed-SUITE count from vitest's `Failed Suites N` section header. A suite
|
|
383
|
+
* failure is a whole file that never collected (a bad import, a syntax error, a
|
|
384
|
+
* throwing top level); it is reported separately from `Tests` and must therefore
|
|
385
|
+
* be cross-checked separately. Returns 0 when the section is absent.
|
|
386
|
+
*/
|
|
387
|
+
export declare function parseVitestFailedSuiteCount(output: string): number;
|
|
388
|
+
/**
|
|
389
|
+
* One parsed `FAIL` line: an id, plus whether it came from the collect-failure
|
|
390
|
+
* (`FAIL <file> [ <file> ]`) form.
|
|
391
|
+
*/
|
|
392
|
+
export interface ParsedFailLine {
|
|
393
|
+
id: string;
|
|
394
|
+
suite: boolean;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Failing ids from vitest's default reporter output. It prints one
|
|
398
|
+
* `FAIL <file> > <full name>` line per failed test under "Failed Tests", and
|
|
399
|
+
* `FAIL <file> [ <file> ]` per uncollectable file under "Failed Suites" — the
|
|
400
|
+
* latter is mapped to `<file> > <file>`, the SAME id
|
|
401
|
+
* scripts/ci/test-baseline.mjs records for a collect failure, so a baseline
|
|
402
|
+
* written by CI and a failure observed here are the same string. Order-preserving
|
|
403
|
+
* and de-duplicated.
|
|
404
|
+
*/
|
|
405
|
+
export declare function parseVitestFailLines(output: string): ParsedFailLine[];
|
|
406
|
+
/** Failing ids only — the ordered, de-duplicated id list. */
|
|
407
|
+
export declare function parseVitestFailureIds(output: string): string[];
|
|
408
|
+
/**
|
|
409
|
+
* Recover the failing ids from a red `test` gate's output and decide whether the
|
|
410
|
+
* recovery can be TRUSTED. Trust requires BOTH of the reporter's own counts to
|
|
411
|
+
* match what was parsed — failed tests against `Tests N failed`, failed suites
|
|
412
|
+
* against `Failed Suites N`. So a reporter shape we do not understand, a
|
|
413
|
+
* truncated log, an unhandled error with no FAIL line, or a hook failure printed
|
|
414
|
+
* in a third shape all come back `complete: false`, and the gate blocks.
|
|
415
|
+
*/
|
|
416
|
+
export declare function extractVitestFailures(output: string): PreprTestFailureScan;
|
|
417
|
+
/** Baseline ids from the `{sha, failures[]}` / `string[]` artifact shapes. */
|
|
418
|
+
export declare function baselineIdsFrom(raw: unknown): string[];
|
|
419
|
+
/** Quarantined identifiers from the checked-in flake-quarantine manifest. */
|
|
420
|
+
export declare function quarantineIdsFrom(raw: unknown): string[];
|
|
421
|
+
/**
|
|
422
|
+
* RF-14: decide what a red `test` gate means. Returns `excused` only when the
|
|
423
|
+
* failing set is fully recoverable AND every member of it is already known red.
|
|
424
|
+
* Every other path returns `excused: false` with the reason the gate should log,
|
|
425
|
+
* so "block" stays the default outcome of anything unclear.
|
|
426
|
+
*/
|
|
427
|
+
export declare function excuseKnownTestFailures(workdir: string, output: string, deps: PreprGateDeps, env: NodeJS.ProcessEnv): Promise<{
|
|
428
|
+
excused: boolean;
|
|
429
|
+
reason: string;
|
|
430
|
+
newFailures: string[];
|
|
431
|
+
preExisting: string[];
|
|
432
|
+
source: string;
|
|
433
|
+
}>;
|
|
434
|
+
/**
|
|
435
|
+
* The operator-facing body of a `test` gate failure that survived the baseline
|
|
436
|
+
* consult: the NEW failures named exactly first (that is the actionable part),
|
|
437
|
+
* then the pre-existing ones, then the suite's own tail.
|
|
438
|
+
*/
|
|
439
|
+
export declare function formatNewTestFailures(newFailures: string[], preExisting: string[], source: string, outputTail: string): string;
|
|
249
440
|
/**
|
|
250
441
|
* Run the repo's own quality gates in `workdir` before a PR is opened.
|
|
251
442
|
* `ok === false` means the caller MUST NOT open a PR — fail the task with
|
package/dist/prepr-gate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepr-gate.d.ts","sourceRoot":"","sources":["../src/prepr-gate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepr-gate.d.ts","sourceRoot":"","sources":["../src/prepr-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/prepr-gate.js
CHANGED
|
@@ -19,6 +19,20 @@
|
|
|
19
19
|
* (the caller logs that it was skipped). Every I/O boundary is an injectable
|
|
20
20
|
* dep so the gate-runner can be unit-tested with pass/fail injected and never
|
|
21
21
|
* shells out in tests.
|
|
22
|
+
*
|
|
23
|
+
* RF-14 — NEW FAILURES ONLY on the `test` gate. RF-6 taught CI to fail only on
|
|
24
|
+
* test failures a PR actually INTRODUCED (scripts/ci/test-baseline.mjs, the
|
|
25
|
+
* `test-baseline` job) and taught the reviewer the same (RF-6's
|
|
26
|
+
* `loadKnownTestFailures` feeds api/_lib/reviewer-agent.ts). This gate ran the
|
|
27
|
+
* suite with no such context, so it was the last consumer where ONE red trunk
|
|
28
|
+
* test hard-failed EVERY task — before a PR even existed, which is strictly
|
|
29
|
+
* worse than the CI case: the task dead-letters instead of being reviewed. It
|
|
30
|
+
* happened for real (RF-14, 2026-07-30: two OS-portability reds cost RF-9 twelve
|
|
31
|
+
* run attempts). So when the `test` gate fails, the gate now names the failing
|
|
32
|
+
* tests and compares them against the KNOWN-failure set (baseline ∪ active
|
|
33
|
+
* quarantines): a failure already in that set is reported and NOT blocking; a
|
|
34
|
+
* failure absent from it still blocks. Every ambiguity fails CLOSED (blocks) —
|
|
35
|
+
* see `excuseKnownTestFailures`.
|
|
22
36
|
*/
|
|
23
37
|
import path from "node:path";
|
|
24
38
|
import fs from "node:fs/promises";
|
|
@@ -211,6 +225,180 @@ export function autoRenumberResolved(explicit, env) {
|
|
|
211
225
|
return false;
|
|
212
226
|
return !(v === "0" || v === "false" || v === "no" || v === "off");
|
|
213
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* RF-14: resolve whether a failed `test` gate is measured against the
|
|
230
|
+
* known-failure set. Precedence: explicit dep → `ACC_PREPR_TEST_BASELINE_CONSULT`
|
|
231
|
+
* → `true`. See `PreprGateDeps.testBaselineConsult` for why this one defaults ON.
|
|
232
|
+
*/
|
|
233
|
+
export function testBaselineConsultResolved(explicit, env) {
|
|
234
|
+
if (typeof explicit === "boolean")
|
|
235
|
+
return explicit;
|
|
236
|
+
const v = env.ACC_PREPR_TEST_BASELINE_CONSULT?.trim().toLowerCase();
|
|
237
|
+
if (v === undefined || v === "")
|
|
238
|
+
return true;
|
|
239
|
+
return !(v === "0" || v === "false" || v === "no" || v === "off");
|
|
240
|
+
}
|
|
241
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
242
|
+
// RF-14: new-failures-only classification of a red `test` gate
|
|
243
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
244
|
+
/**
|
|
245
|
+
* Worktree-relative path of the checked-in flake-quarantine manifest, the
|
|
246
|
+
* credential-free half of the known-failure set. Written by
|
|
247
|
+
* scripts/flake-quarantine-sync.ts from acc.activity_events; duplicated here
|
|
248
|
+
* (rather than imported from api/_lib/flake-quarantine.ts) per the standing
|
|
249
|
+
* cross-package convention — the published CLI cannot depend on api/.
|
|
250
|
+
*/
|
|
251
|
+
export const QUARANTINE_MANIFEST_REL = "tests/flake-quarantine/quarantine-manifest.json";
|
|
252
|
+
/** Env var naming a baseline artifact to consult (see `loadKnownTestFailures`). */
|
|
253
|
+
export const TEST_BASELINE_ENV = "ACC_PREPR_TEST_BASELINE";
|
|
254
|
+
/**
|
|
255
|
+
* The id shape RF-6 uses everywhere: `<repo-relative test file> > <full name>`.
|
|
256
|
+
* Mirrors `assertionId` in scripts/ci/test-baseline.mjs so a baseline recorded by
|
|
257
|
+
* CI and a failure observed by the runner are the SAME string. Duplicated for the
|
|
258
|
+
* same cross-package reason as above; drift here means the gate simply excuses
|
|
259
|
+
* nothing (it can never over-excuse), because a mismatched id looks unknown.
|
|
260
|
+
*/
|
|
261
|
+
export const TEST_ID_SEPARATOR = " > ";
|
|
262
|
+
/** The file half of a test id (`a.test.ts > x > y` → `a.test.ts`). */
|
|
263
|
+
export function testIdFile(id) {
|
|
264
|
+
const at = id.indexOf(TEST_ID_SEPARATOR);
|
|
265
|
+
return (at === -1 ? id : id.slice(0, at)).trim();
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* True when `id` is covered by the known-failure set: an exact id match, or a
|
|
269
|
+
* FILE-level entry (which is how the quarantine ledger records "this whole suite
|
|
270
|
+
* is quarantined"). Nothing else counts — no prefix or fuzzy matching, so a
|
|
271
|
+
* known `foo.test.ts > a` never excuses `foo2.test.ts > a`.
|
|
272
|
+
*/
|
|
273
|
+
export function isKnownFailure(id, known) {
|
|
274
|
+
const file = testIdFile(id);
|
|
275
|
+
for (const raw of known) {
|
|
276
|
+
const k = raw.trim();
|
|
277
|
+
if (!k)
|
|
278
|
+
continue;
|
|
279
|
+
if (k === id.trim() || k === file)
|
|
280
|
+
return true;
|
|
281
|
+
}
|
|
282
|
+
return false;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Split the observed failing ids into the ones this task introduced and the ones
|
|
286
|
+
* that were already red. `newFailures` is what blocks the PR.
|
|
287
|
+
*/
|
|
288
|
+
export function splitKnownFailures(current, known) {
|
|
289
|
+
const newFailures = [];
|
|
290
|
+
const preExisting = [];
|
|
291
|
+
for (const id of current) {
|
|
292
|
+
if (isKnownFailure(id, known))
|
|
293
|
+
preExisting.push(id);
|
|
294
|
+
else
|
|
295
|
+
newFailures.push(id);
|
|
296
|
+
}
|
|
297
|
+
return { newFailures, preExisting };
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* The failed-TEST count vitest's own summary printed (`Tests 2 failed | 1 passed`).
|
|
301
|
+
* Returns 0 when the summary line is present but reports no failures
|
|
302
|
+
* (`Tests 1 passed`, `Tests no tests`), and null when there is no summary line
|
|
303
|
+
* at all — the difference matters: 0 is a fact, null is "unreadable, fail closed".
|
|
304
|
+
* `Test Files` deliberately does not match: files are not tests, and a file that
|
|
305
|
+
* failed to COLLECT is counted there but never in `Tests`.
|
|
306
|
+
*/
|
|
307
|
+
export function parseVitestFailedCount(output) {
|
|
308
|
+
// LAST match, not first: the summary is printed after the suite's own stdout,
|
|
309
|
+
// so a test that logged a "Tests …" line of its own cannot shadow it.
|
|
310
|
+
const lines = [...output.matchAll(/^[^\S\n]*Tests[^\S\n]+(.*)$/gm)];
|
|
311
|
+
if (lines.length === 0)
|
|
312
|
+
return null;
|
|
313
|
+
const failed = /(\d+)\s+failed/.exec(lines[lines.length - 1][1]);
|
|
314
|
+
return failed ? Number(failed[1]) : 0;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* The failed-SUITE count from vitest's `Failed Suites N` section header. A suite
|
|
318
|
+
* failure is a whole file that never collected (a bad import, a syntax error, a
|
|
319
|
+
* throwing top level); it is reported separately from `Tests` and must therefore
|
|
320
|
+
* be cross-checked separately. Returns 0 when the section is absent.
|
|
321
|
+
*/
|
|
322
|
+
export function parseVitestFailedSuiteCount(output) {
|
|
323
|
+
const all = [...output.matchAll(/Failed Suites\s+(\d+)/g)];
|
|
324
|
+
return all.length === 0 ? 0 : Number(all[all.length - 1][1]);
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Failing ids from vitest's default reporter output. It prints one
|
|
328
|
+
* `FAIL <file> > <full name>` line per failed test under "Failed Tests", and
|
|
329
|
+
* `FAIL <file> [ <file> ]` per uncollectable file under "Failed Suites" — the
|
|
330
|
+
* latter is mapped to `<file> > <file>`, the SAME id
|
|
331
|
+
* scripts/ci/test-baseline.mjs records for a collect failure, so a baseline
|
|
332
|
+
* written by CI and a failure observed here are the same string. Order-preserving
|
|
333
|
+
* and de-duplicated.
|
|
334
|
+
*/
|
|
335
|
+
export function parseVitestFailLines(output) {
|
|
336
|
+
const out = [];
|
|
337
|
+
const seen = new Set();
|
|
338
|
+
for (const raw of output.split("\n")) {
|
|
339
|
+
const m = /^\s*FAIL\s+(.+?)\s*$/.exec(raw.replace(/\r$/, ""));
|
|
340
|
+
if (!m)
|
|
341
|
+
continue;
|
|
342
|
+
const rest = m[1];
|
|
343
|
+
const collect = /^(\S+)\s+\[\s*\S+\s*\]$/.exec(rest);
|
|
344
|
+
// A `FAIL` line in neither shape is kept verbatim so the count cross-check
|
|
345
|
+
// notices it, rather than silently dropping a failure.
|
|
346
|
+
const id = collect ? `${collect[1]}${TEST_ID_SEPARATOR}<file>` : rest;
|
|
347
|
+
if (seen.has(id))
|
|
348
|
+
continue;
|
|
349
|
+
seen.add(id);
|
|
350
|
+
out.push({ id, suite: !!collect });
|
|
351
|
+
}
|
|
352
|
+
return out;
|
|
353
|
+
}
|
|
354
|
+
/** Failing ids only — the ordered, de-duplicated id list. */
|
|
355
|
+
export function parseVitestFailureIds(output) {
|
|
356
|
+
return parseVitestFailLines(output).map((f) => f.id);
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Recover the failing ids from a red `test` gate's output and decide whether the
|
|
360
|
+
* recovery can be TRUSTED. Trust requires BOTH of the reporter's own counts to
|
|
361
|
+
* match what was parsed — failed tests against `Tests N failed`, failed suites
|
|
362
|
+
* against `Failed Suites N`. So a reporter shape we do not understand, a
|
|
363
|
+
* truncated log, an unhandled error with no FAIL line, or a hook failure printed
|
|
364
|
+
* in a third shape all come back `complete: false`, and the gate blocks.
|
|
365
|
+
*/
|
|
366
|
+
export function extractVitestFailures(output) {
|
|
367
|
+
const parsed = parseVitestFailLines(output);
|
|
368
|
+
const ids = parsed.map((f) => f.id);
|
|
369
|
+
const tests = parsed.filter((f) => !f.suite).length;
|
|
370
|
+
const suites = parsed.filter((f) => f.suite).length;
|
|
371
|
+
const declaredTests = parseVitestFailedCount(output);
|
|
372
|
+
const declaredSuites = parseVitestFailedSuiteCount(output);
|
|
373
|
+
const complete = declaredTests !== null &&
|
|
374
|
+
tests === declaredTests &&
|
|
375
|
+
suites === declaredSuites &&
|
|
376
|
+
ids.length > 0;
|
|
377
|
+
return { ids, declared: declaredTests, complete };
|
|
378
|
+
}
|
|
379
|
+
/** Baseline ids from the `{sha, failures[]}` / `string[]` artifact shapes. */
|
|
380
|
+
export function baselineIdsFrom(raw) {
|
|
381
|
+
if (Array.isArray(raw)) {
|
|
382
|
+
return raw.filter((x) => typeof x === "string");
|
|
383
|
+
}
|
|
384
|
+
const failures = raw?.failures;
|
|
385
|
+
return Array.isArray(failures)
|
|
386
|
+
? failures.filter((x) => typeof x === "string")
|
|
387
|
+
: [];
|
|
388
|
+
}
|
|
389
|
+
/** Quarantined identifiers from the checked-in flake-quarantine manifest. */
|
|
390
|
+
export function quarantineIdsFrom(raw) {
|
|
391
|
+
const list = raw?.quarantined;
|
|
392
|
+
if (!Array.isArray(list))
|
|
393
|
+
return [];
|
|
394
|
+
const out = [];
|
|
395
|
+
for (const entry of list) {
|
|
396
|
+
const id = entry?.identifier;
|
|
397
|
+
if (typeof id === "string" && id.trim())
|
|
398
|
+
out.push(id.trim());
|
|
399
|
+
}
|
|
400
|
+
return out;
|
|
401
|
+
}
|
|
214
402
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
215
403
|
// Default I/O implementations
|
|
216
404
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -307,6 +495,108 @@ async function defaultRunMigrationRenumber(workdir, files) {
|
|
|
307
495
|
const changed = (status.stdout ?? "").trim().length > 0;
|
|
308
496
|
return { changed, output };
|
|
309
497
|
}
|
|
498
|
+
/**
|
|
499
|
+
* RF-14: the credential-free known-failure set readable from the task worktree —
|
|
500
|
+
* the `ACC_PREPR_TEST_BASELINE` artifact (if named) unioned with the checked-in
|
|
501
|
+
* flake-quarantine manifest. Returns null when NEITHER source yielded an id, so
|
|
502
|
+
* the caller fails closed rather than treating "no record" as "nothing is new".
|
|
503
|
+
*/
|
|
504
|
+
async function defaultLoadKnownFailures(workdir, env) {
|
|
505
|
+
const ids = new Set();
|
|
506
|
+
const sources = [];
|
|
507
|
+
const rel = env[TEST_BASELINE_ENV]?.trim();
|
|
508
|
+
if (rel) {
|
|
509
|
+
const abs = path.isAbsolute(rel) ? rel : path.join(workdir, rel);
|
|
510
|
+
try {
|
|
511
|
+
const found = baselineIdsFrom(JSON.parse(await fs.readFile(abs, "utf8")));
|
|
512
|
+
for (const id of found)
|
|
513
|
+
ids.add(id);
|
|
514
|
+
sources.push(`baseline ${rel} (${found.length} id(s))`);
|
|
515
|
+
}
|
|
516
|
+
catch {
|
|
517
|
+
// Unreadable / unparseable: contribute nothing. The union may still be
|
|
518
|
+
// non-empty from the manifest; if not, the gate fails closed.
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
try {
|
|
522
|
+
const abs = path.join(workdir, QUARANTINE_MANIFEST_REL);
|
|
523
|
+
const found = quarantineIdsFrom(JSON.parse(await fs.readFile(abs, "utf8")));
|
|
524
|
+
if (found.length > 0) {
|
|
525
|
+
for (const id of found)
|
|
526
|
+
ids.add(id);
|
|
527
|
+
sources.push(`quarantine manifest (${found.length} id(s))`);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
catch {
|
|
531
|
+
// No manifest in this worktree — the baseline artifact may still carry ids.
|
|
532
|
+
}
|
|
533
|
+
if (ids.size === 0)
|
|
534
|
+
return null;
|
|
535
|
+
return { ids: [...ids].sort(), source: sources.join(" + ") };
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* RF-14: decide what a red `test` gate means. Returns `excused` only when the
|
|
539
|
+
* failing set is fully recoverable AND every member of it is already known red.
|
|
540
|
+
* Every other path returns `excused: false` with the reason the gate should log,
|
|
541
|
+
* so "block" stays the default outcome of anything unclear.
|
|
542
|
+
*/
|
|
543
|
+
export async function excuseKnownTestFailures(workdir, output, deps, env) {
|
|
544
|
+
const none = { excused: false, newFailures: [], preExisting: [], source: "" };
|
|
545
|
+
const scan = (deps.extractTestFailures ?? extractVitestFailures)(output);
|
|
546
|
+
if (!scan.complete) {
|
|
547
|
+
return {
|
|
548
|
+
...none,
|
|
549
|
+
reason: `could not account for every failing test (parsed ${scan.ids.length}, ` +
|
|
550
|
+
`reporter declared ${scan.declared ?? "unknown"}) — blocking`,
|
|
551
|
+
};
|
|
552
|
+
}
|
|
553
|
+
const loadKnown = deps.loadKnownTestFailures ?? ((wd) => defaultLoadKnownFailures(wd, env));
|
|
554
|
+
let known = null;
|
|
555
|
+
try {
|
|
556
|
+
known = await loadKnown(workdir);
|
|
557
|
+
}
|
|
558
|
+
catch {
|
|
559
|
+
known = null;
|
|
560
|
+
}
|
|
561
|
+
if (!known || known.ids.length === 0) {
|
|
562
|
+
return { ...none, reason: "no test baseline / quarantine record available — blocking" };
|
|
563
|
+
}
|
|
564
|
+
const { newFailures, preExisting } = splitKnownFailures(scan.ids, known.ids);
|
|
565
|
+
if (newFailures.length > 0) {
|
|
566
|
+
return {
|
|
567
|
+
excused: false,
|
|
568
|
+
reason: `${newFailures.length} NEW test failure(s) not in ${known.source}`,
|
|
569
|
+
newFailures,
|
|
570
|
+
preExisting,
|
|
571
|
+
source: known.source,
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
return {
|
|
575
|
+
excused: true,
|
|
576
|
+
reason: `all ${preExisting.length} failing test(s) already known red in ${known.source}`,
|
|
577
|
+
newFailures,
|
|
578
|
+
preExisting,
|
|
579
|
+
source: known.source,
|
|
580
|
+
};
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* The operator-facing body of a `test` gate failure that survived the baseline
|
|
584
|
+
* consult: the NEW failures named exactly first (that is the actionable part),
|
|
585
|
+
* then the pre-existing ones, then the suite's own tail.
|
|
586
|
+
*/
|
|
587
|
+
export function formatNewTestFailures(newFailures, preExisting, source, outputTail) {
|
|
588
|
+
const lines = [
|
|
589
|
+
`${newFailures.length} test failure(s) introduced by this task ` +
|
|
590
|
+
`(not present in ${source}):`,
|
|
591
|
+
...newFailures.map((id) => ` - ${id}`),
|
|
592
|
+
];
|
|
593
|
+
if (preExisting.length > 0) {
|
|
594
|
+
lines.push(`${preExisting.length} further failure(s) were already known red and are NOT ` +
|
|
595
|
+
`why this gate failed:`, ...preExisting.map((id) => ` - ${id}`));
|
|
596
|
+
}
|
|
597
|
+
lines.push("", outputTail);
|
|
598
|
+
return lines.join("\n");
|
|
599
|
+
}
|
|
310
600
|
async function defaultCommitRenumbered(workdir) {
|
|
311
601
|
await execa("git", ["add", "-A"], { cwd: workdir, env: buildEnv(), reject: false });
|
|
312
602
|
await execa("git", ["commit", "-m", "chore(acc): auto-renumber migration to next contiguous seq (MIGFIX-01)"], { cwd: workdir, env: buildEnv(), reject: false });
|
|
@@ -398,6 +688,7 @@ export async function runPreprGate(workdir, deps = {}) {
|
|
|
398
688
|
}
|
|
399
689
|
}
|
|
400
690
|
const scripts = await readScripts(workdir);
|
|
691
|
+
let testBaselineExcused;
|
|
401
692
|
for (const gate of PREPR_GATES) {
|
|
402
693
|
if (!scripts[gate]) {
|
|
403
694
|
absent.push(gate);
|
|
@@ -406,13 +697,47 @@ export async function runPreprGate(workdir, deps = {}) {
|
|
|
406
697
|
ran.push(gate);
|
|
407
698
|
const { exitCode, output } = await runGate(workdir, gate);
|
|
408
699
|
if (exitCode !== 0) {
|
|
700
|
+
const outputTail = output.slice(-OUTPUT_TAIL);
|
|
701
|
+
// RF-14: a red `test` gate is the one failure that is routinely NOT this
|
|
702
|
+
// task's fault, so it is classified before it blocks. Everything else
|
|
703
|
+
// (typecheck / lint / build) is deterministic on the worktree the task
|
|
704
|
+
// produced and keeps failing fast, unchanged.
|
|
705
|
+
if (gate === "test" && testBaselineConsultResolved(deps.testBaselineConsult, env)) {
|
|
706
|
+
const verdict = await excuseKnownTestFailures(workdir, output, deps, env);
|
|
707
|
+
if (verdict.excused) {
|
|
708
|
+
// Known-red only: do NOT block, but keep the debt on the record so it
|
|
709
|
+
// is paid rather than permanently amnestied.
|
|
710
|
+
testBaselineExcused = {
|
|
711
|
+
preExisting: verdict.preExisting,
|
|
712
|
+
source: verdict.source,
|
|
713
|
+
outputTail,
|
|
714
|
+
};
|
|
715
|
+
continue;
|
|
716
|
+
}
|
|
717
|
+
if (verdict.newFailures.length > 0) {
|
|
718
|
+
return {
|
|
719
|
+
ok: false,
|
|
720
|
+
skipped: false,
|
|
721
|
+
ran,
|
|
722
|
+
absent,
|
|
723
|
+
failure: {
|
|
724
|
+
gate,
|
|
725
|
+
exitCode,
|
|
726
|
+
outputTail: formatNewTestFailures(verdict.newFailures, verdict.preExisting, verdict.source, outputTail).slice(-OUTPUT_TAIL),
|
|
727
|
+
},
|
|
728
|
+
};
|
|
729
|
+
}
|
|
730
|
+
// Fell through: the consult could not establish that the failures are
|
|
731
|
+
// known (unreadable reporter, no baseline record). Block on the raw
|
|
732
|
+
// failure below — fail closed.
|
|
733
|
+
}
|
|
409
734
|
// Stop on the first failure — fail fast, exactly what the reviewer would.
|
|
410
735
|
return {
|
|
411
736
|
ok: false,
|
|
412
737
|
skipped: false,
|
|
413
738
|
ran,
|
|
414
739
|
absent,
|
|
415
|
-
failure: { gate, exitCode, outputTail
|
|
740
|
+
failure: { gate, exitCode, outputTail },
|
|
416
741
|
};
|
|
417
742
|
}
|
|
418
743
|
}
|
|
@@ -478,10 +803,19 @@ export async function runPreprGate(workdir, deps = {}) {
|
|
|
478
803
|
migrationLintShadow: { exitCode, outputTail: output.slice(-OUTPUT_TAIL) },
|
|
479
804
|
scopeShadow,
|
|
480
805
|
migrationRenumbered,
|
|
806
|
+
testBaselineExcused,
|
|
481
807
|
};
|
|
482
808
|
}
|
|
483
809
|
}
|
|
484
810
|
}
|
|
485
|
-
return {
|
|
811
|
+
return {
|
|
812
|
+
ok: true,
|
|
813
|
+
skipped: false,
|
|
814
|
+
ran,
|
|
815
|
+
absent,
|
|
816
|
+
scopeShadow,
|
|
817
|
+
migrationRenumbered,
|
|
818
|
+
testBaselineExcused,
|
|
819
|
+
};
|
|
486
820
|
}
|
|
487
821
|
//# sourceMappingURL=prepr-gate.js.map
|
package/dist/prepr-gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepr-gate.js","sourceRoot":"","sources":["../src/prepr-gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prepr-gate.js","sourceRoot":"","sources":["../src/prepr-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,6 +101,86 @@ export declare function normalizeReportHeading(line: string): string | null;
|
|
|
101
101
|
* judged against the diff regardless of what the report says.
|
|
102
102
|
*/
|
|
103
103
|
export declare function scanCompletionSignals(prBody: string): CompletionSignalHit[];
|
|
104
|
+
export declare const REVIEWER_MAX_DIFF_CHARS = 60000;
|
|
105
|
+
/**
|
|
106
|
+
* RF-3: the file paths a unified diff touches, in order, from its
|
|
107
|
+
* `diff --git a/<path> b/<path>` headers (falling back to `+++ b/<path>`).
|
|
108
|
+
* Pure; tolerant of malformed headers (skips what it can't parse).
|
|
109
|
+
* // keep in sync with api/_lib/reviewer-agent.ts diffFilePaths
|
|
110
|
+
*/
|
|
111
|
+
export declare function diffFilePaths(diff: string): string[];
|
|
112
|
+
/**
|
|
113
|
+
* RF-3: split a unified diff into its per-file blocks. Byte-exact —
|
|
114
|
+
* `preamble + files.map(f => f.text).join("")` reproduces the input — so a
|
|
115
|
+
* reordered diff is still the same bytes, just in a different file order.
|
|
116
|
+
*/
|
|
117
|
+
export declare function splitDiffByFile(diff: string): {
|
|
118
|
+
preamble: string;
|
|
119
|
+
files: Array<{
|
|
120
|
+
path: string;
|
|
121
|
+
text: string;
|
|
122
|
+
}>;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* RF-3: the file paths the acceptance criteria explicitly NAME. These are the
|
|
126
|
+
* reviewer's proof files — an AC that says "a test proves X" and names the test
|
|
127
|
+
* cannot be judged if truncation ate exactly that file.
|
|
128
|
+
*/
|
|
129
|
+
export declare function acReferencedPaths(criteria: string[] | null | undefined): string[];
|
|
130
|
+
/** True when `path` is one of the AC-named paths (exact, or a basename/suffix match). */
|
|
131
|
+
export declare function isAcNamedPath(path: string, acPaths: string[]): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* RF-3: stable-partition a diff so AC-named files come FIRST, preserving relative
|
|
134
|
+
* order within each group. Only meaningful when the cap will bite, so callers
|
|
135
|
+
* apply it only then and an under-cap prompt stays byte-identical to before.
|
|
136
|
+
* `reordered` is false when there is nothing to gain (no AC path, no match, or
|
|
137
|
+
* every file is AC-named).
|
|
138
|
+
*/
|
|
139
|
+
export declare function prioritizeAcNamedFiles(diff: string, criteria: string[] | null | undefined): {
|
|
140
|
+
text: string;
|
|
141
|
+
reordered: boolean;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* RF-3: truncate an over-long diff at a FILE (`diff --git`) BOUNDARY rather than
|
|
145
|
+
* mid-hunk, and report which files were dropped. A mid-file char-slice hands the
|
|
146
|
+
* reviewer a half-file that reads as malformed/unreadable; cutting at whole-file
|
|
147
|
+
* boundaries and NAMING the omitted files tells the reviewer those files ARE in
|
|
148
|
+
* the PR but were withheld by the harness (infra), not missing from it. `omitted`
|
|
149
|
+
* is empty when no truncation was needed.
|
|
150
|
+
* // keep in sync with api/_lib/reviewer-agent.ts truncateDiffAtFileBoundary
|
|
151
|
+
*/
|
|
152
|
+
export declare function truncateDiffAtFileBoundary(diff: string, maxChars: number): {
|
|
153
|
+
text: string;
|
|
154
|
+
omitted: string[];
|
|
155
|
+
};
|
|
156
|
+
/** RF-3: what the reviewer will ACTUALLY read vs what the PR contains. */
|
|
157
|
+
export interface ReviewDiffCoverage {
|
|
158
|
+
truncated: boolean;
|
|
159
|
+
diff_chars: number;
|
|
160
|
+
chars_reviewed: number;
|
|
161
|
+
files_total: number;
|
|
162
|
+
files_omitted: string[];
|
|
163
|
+
/** Set only on the mid-file case (first file alone exceeds the cap). */
|
|
164
|
+
partial_file: string | null;
|
|
165
|
+
/** True when AC-named files were floated to the front before the cut. */
|
|
166
|
+
reordered: boolean;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* RF-3: measure coverage using the EXACT policy `renderReviewerPrompt` applies —
|
|
170
|
+
* AC-priority reorder, then the file-boundary cut — so the numbers always
|
|
171
|
+
* describe the bytes the model really saw.
|
|
172
|
+
* // mirrors api/_lib/reviewer-agent.ts assessDiffCoverage
|
|
173
|
+
*/
|
|
174
|
+
export declare function assessReviewDiffCoverage(diff: string, criteria?: string[] | null | undefined, maxChars?: number): ReviewDiffCoverage;
|
|
175
|
+
/**
|
|
176
|
+
* RF-3: the DIFF-TRUNCATION infra notice for the files the reviewer will NOT
|
|
177
|
+
* see, or "" when nothing was withheld (so a normal-size diff renders
|
|
178
|
+
* byte-identically to before). The shared lines are byte-identical to the server
|
|
179
|
+
* path's `truncationInfraNote` — the reviewer must get the same instruction on
|
|
180
|
+
* both paths: an omitted file is a TOOLING limitation, never a code defect.
|
|
181
|
+
* // keep in sync with api/_lib/reviewer-agent.ts truncationInfraNote
|
|
182
|
+
*/
|
|
183
|
+
export declare function truncationInfraNote(omitted: string[], partialFile?: string | null, reordered?: boolean): string;
|
|
104
184
|
export declare const CAPACITY_RETRIES_ENV = "ACC_REVIEWER_CAPACITY_RETRIES";
|
|
105
185
|
export declare const DEFAULT_REVIEWER_CAPACITY_RETRIES = 2;
|
|
106
186
|
export declare const DEFAULT_MODEL_CHAIN_MAX = 4;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAS,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAMtD,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAA2B,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAI,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,QAAQ,GACR,mBAAmB,GACnB,gBAAgB,GAOhB,mBAAmB,GAOnB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAI,gBAAgB,CAAC;IAC7B,OAAO,EAAK,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAI,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAiBD,eAAO,MAAM,wBAAwB,QA6HzB,CAAC;AAgBb,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,0CAA2C,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,qDAI/B,CAAC;AAmBX,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,OAAO,EAAK,MAAM,CAAC;IACnB,MAAM,EAAM,MAAM,CAAC;IACnB,IAAI,EAAQ,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAclE;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAoB3E;
|
|
1
|
+
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAS,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAMtD,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAA2B,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAI,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,QAAQ,GACR,mBAAmB,GACnB,gBAAgB,GAOhB,mBAAmB,GAOnB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAI,gBAAgB,CAAC;IAC7B,OAAO,EAAK,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAI,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAiBD,eAAO,MAAM,wBAAwB,QA6HzB,CAAC;AAgBb,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,0CAA2C,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,qDAI/B,CAAC;AAmBX,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,OAAO,EAAK,MAAM,CAAC;IACnB,MAAM,EAAM,MAAM,CAAC;IACnB,IAAI,EAAQ,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAclE;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAoB3E;AAwBD,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAI9C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,GACX;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAcpE;AAKD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAOjF;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAItE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAatC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAerC;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAO,OAAO,CAAC;IACxB,UAAU,EAAM,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAK,MAAM,CAAC;IACvB,aAAa,EAAG,MAAM,EAAE,CAAC;IACzB,wEAAwE;IACxE,YAAY,EAAI,MAAM,GAAG,IAAI,CAAC;IAC9B,yEAAyE;IACzE,SAAS,EAAO,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAc,EAC1C,QAAQ,GAAE,MAAuB,GAChC,kBAAkB,CAuBpB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,GAAE,MAAM,GAAG,IAAW,EACjC,SAAS,UAAQ,GAChB,MAAM,CAkCR;AAiBD,eAAO,MAAM,oBAAoB,kCAAkC,CAAC;AACpE,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAWnD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QAEmB,CAAC;AAI3D,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7C,MAAM,CAOR;AAED,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,WAAW,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQnD;AAED;kEACkE;AAClE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAM7E;AAED,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIxD;AAMD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAmCT;AAQD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG;IACrD,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,OAAO,EAAG,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CA8DP;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChC,wGAAwG;IACxG,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACrD,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/D,mEAAmE;IACnE,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClD,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA8ND;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,eAAe,CAAC,CAyD1B"}
|
package/dist/runtime/reviewer.js
CHANGED
|
@@ -255,7 +255,226 @@ export function scanCompletionSignals(prBody) {
|
|
|
255
255
|
}
|
|
256
256
|
return hits;
|
|
257
257
|
}
|
|
258
|
-
|
|
258
|
+
/* ───── RF-3 (TRUNCATION-PARITY): file-boundary truncation on the hot path ────
|
|
259
|
+
*
|
|
260
|
+
* The runner used to truncate with a BLIND mid-hunk character slice and say
|
|
261
|
+
* nothing about what it dropped. The reviewer then read a half-file as
|
|
262
|
+
* malformed, or read nothing about a file it was told to verify, and rejected
|
|
263
|
+
* the PR for content the harness withheld — #1690 ("AC2's proof file … is not
|
|
264
|
+
* present in the visible diff"), #1687 ("beyond the truncated diff and cannot be
|
|
265
|
+
* confirmed"), #1679 ("not shown added in the sweep-heartbeat.ts diff"). Those
|
|
266
|
+
* are harness failures reported as code verdicts.
|
|
267
|
+
*
|
|
268
|
+
* The helpers below port the server path's behaviour (api/_lib/reviewer-agent.ts
|
|
269
|
+
* diffFilePaths / truncateDiffAtFileBoundary / truncationInfraNote) into the
|
|
270
|
+
* runner: cut only at whole-file boundaries, NAME what was withheld, and tell the
|
|
271
|
+
* reviewer in the prompt that the absence is TOOLING, never a defect. The runner
|
|
272
|
+
* is a standalone package and cannot import from api/_lib, so this is a mirror.
|
|
273
|
+
* // keep in sync with api/_lib/reviewer-agent.ts
|
|
274
|
+
*
|
|
275
|
+
* RF-3-specific addition (no server counterpart): when an acceptance criterion
|
|
276
|
+
* NAMES a file path, that file is moved to the front of the diff before the cut,
|
|
277
|
+
* so the proof file an AC points at survives truncation in preference to files
|
|
278
|
+
* nothing asked about.
|
|
279
|
+
*/
|
|
280
|
+
export const REVIEWER_MAX_DIFF_CHARS = 60_000;
|
|
281
|
+
const MAX_DIFF_CHARS = REVIEWER_MAX_DIFF_CHARS;
|
|
282
|
+
/**
|
|
283
|
+
* RF-3: the file paths a unified diff touches, in order, from its
|
|
284
|
+
* `diff --git a/<path> b/<path>` headers (falling back to `+++ b/<path>`).
|
|
285
|
+
* Pure; tolerant of malformed headers (skips what it can't parse).
|
|
286
|
+
* // keep in sync with api/_lib/reviewer-agent.ts diffFilePaths
|
|
287
|
+
*/
|
|
288
|
+
export function diffFilePaths(diff) {
|
|
289
|
+
const paths = [];
|
|
290
|
+
const seen = new Set();
|
|
291
|
+
for (const line of (diff ?? "").split("\n")) {
|
|
292
|
+
let p = null;
|
|
293
|
+
const git = /^diff --git a\/(.+?) b\/(.+)$/.exec(line);
|
|
294
|
+
if (git)
|
|
295
|
+
p = git[2];
|
|
296
|
+
else {
|
|
297
|
+
const plus = /^\+\+\+ b\/(.+)$/.exec(line);
|
|
298
|
+
if (plus && plus[1] !== "/dev/null")
|
|
299
|
+
p = plus[1];
|
|
300
|
+
}
|
|
301
|
+
if (p && !seen.has(p)) {
|
|
302
|
+
seen.add(p);
|
|
303
|
+
paths.push(p);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return paths;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* RF-3: split a unified diff into its per-file blocks. Byte-exact —
|
|
310
|
+
* `preamble + files.map(f => f.text).join("")` reproduces the input — so a
|
|
311
|
+
* reordered diff is still the same bytes, just in a different file order.
|
|
312
|
+
*/
|
|
313
|
+
export function splitDiffByFile(diff) {
|
|
314
|
+
const src = diff ?? "";
|
|
315
|
+
const headerRe = /^diff --git a\/(.+?) b\/(.+)$/gm;
|
|
316
|
+
const starts = [];
|
|
317
|
+
let m;
|
|
318
|
+
while ((m = headerRe.exec(src)) !== null)
|
|
319
|
+
starts.push({ index: m.index, path: m[2] });
|
|
320
|
+
if (starts.length === 0)
|
|
321
|
+
return { preamble: src, files: [] };
|
|
322
|
+
return {
|
|
323
|
+
preamble: src.slice(0, starts[0].index),
|
|
324
|
+
files: starts.map((s, i) => ({
|
|
325
|
+
path: s.path,
|
|
326
|
+
text: src.slice(s.index, i + 1 < starts.length ? starts[i + 1].index : src.length),
|
|
327
|
+
})),
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
/** Path-shaped tokens (`tests/unit/x.test.ts`, `sweep-heartbeat.ts`) in a string. */
|
|
331
|
+
const PATH_TOKEN_RE = /[A-Za-z0-9_@./-]*[A-Za-z0-9_@-]\.[A-Za-z0-9]{1,8}(?![A-Za-z0-9])/g;
|
|
332
|
+
/**
|
|
333
|
+
* RF-3: the file paths the acceptance criteria explicitly NAME. These are the
|
|
334
|
+
* reviewer's proof files — an AC that says "a test proves X" and names the test
|
|
335
|
+
* cannot be judged if truncation ate exactly that file.
|
|
336
|
+
*/
|
|
337
|
+
export function acReferencedPaths(criteria) {
|
|
338
|
+
const out = new Set();
|
|
339
|
+
for (const c of criteria ?? []) {
|
|
340
|
+
if (typeof c !== "string")
|
|
341
|
+
continue;
|
|
342
|
+
for (const token of c.match(PATH_TOKEN_RE) ?? [])
|
|
343
|
+
out.add(token.toLowerCase());
|
|
344
|
+
}
|
|
345
|
+
return [...out];
|
|
346
|
+
}
|
|
347
|
+
/** True when `path` is one of the AC-named paths (exact, or a basename/suffix match). */
|
|
348
|
+
export function isAcNamedPath(path, acPaths) {
|
|
349
|
+
const p = (path ?? "").toLowerCase();
|
|
350
|
+
if (!p)
|
|
351
|
+
return false;
|
|
352
|
+
return acPaths.some((t) => p === t || p.endsWith(`/${t}`) || t.endsWith(`/${p}`));
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* RF-3: stable-partition a diff so AC-named files come FIRST, preserving relative
|
|
356
|
+
* order within each group. Only meaningful when the cap will bite, so callers
|
|
357
|
+
* apply it only then and an under-cap prompt stays byte-identical to before.
|
|
358
|
+
* `reordered` is false when there is nothing to gain (no AC path, no match, or
|
|
359
|
+
* every file is AC-named).
|
|
360
|
+
*/
|
|
361
|
+
export function prioritizeAcNamedFiles(diff, criteria) {
|
|
362
|
+
const src = diff ?? "";
|
|
363
|
+
const { preamble, files } = splitDiffByFile(src);
|
|
364
|
+
if (files.length < 2)
|
|
365
|
+
return { text: src, reordered: false };
|
|
366
|
+
const acPaths = acReferencedPaths(criteria);
|
|
367
|
+
if (acPaths.length === 0)
|
|
368
|
+
return { text: src, reordered: false };
|
|
369
|
+
const named = files.filter((f) => isAcNamedPath(f.path, acPaths));
|
|
370
|
+
if (named.length === 0 || named.length === files.length)
|
|
371
|
+
return { text: src, reordered: false };
|
|
372
|
+
const rest = files.filter((f) => !isAcNamedPath(f.path, acPaths));
|
|
373
|
+
return {
|
|
374
|
+
text: preamble + [...named, ...rest].map((f) => f.text).join(""),
|
|
375
|
+
reordered: true,
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* RF-3: truncate an over-long diff at a FILE (`diff --git`) BOUNDARY rather than
|
|
380
|
+
* mid-hunk, and report which files were dropped. A mid-file char-slice hands the
|
|
381
|
+
* reviewer a half-file that reads as malformed/unreadable; cutting at whole-file
|
|
382
|
+
* boundaries and NAMING the omitted files tells the reviewer those files ARE in
|
|
383
|
+
* the PR but were withheld by the harness (infra), not missing from it. `omitted`
|
|
384
|
+
* is empty when no truncation was needed.
|
|
385
|
+
* // keep in sync with api/_lib/reviewer-agent.ts truncateDiffAtFileBoundary
|
|
386
|
+
*/
|
|
387
|
+
export function truncateDiffAtFileBoundary(diff, maxChars) {
|
|
388
|
+
const src = diff ?? "";
|
|
389
|
+
if (src.length <= maxChars)
|
|
390
|
+
return { text: src, omitted: [] };
|
|
391
|
+
// Prefer the last file-header boundary at or before the cap; if the first file
|
|
392
|
+
// alone already exceeds the cap, fall back to a hard char slice (a single huge
|
|
393
|
+
// file must still be partially shown rather than dropped whole).
|
|
394
|
+
const headerRe = /\ndiff --git a\/.+? b\/.+/g;
|
|
395
|
+
let boundary = -1;
|
|
396
|
+
let m;
|
|
397
|
+
while ((m = headerRe.exec(src)) !== null) {
|
|
398
|
+
if (m.index <= maxChars)
|
|
399
|
+
boundary = m.index;
|
|
400
|
+
else
|
|
401
|
+
break;
|
|
402
|
+
}
|
|
403
|
+
const kept = boundary > 0 ? src.slice(0, boundary) : src.slice(0, maxChars);
|
|
404
|
+
return { text: kept, omitted: diffFilePaths(src.slice(kept.length)) };
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* RF-3: measure coverage using the EXACT policy `renderReviewerPrompt` applies —
|
|
408
|
+
* AC-priority reorder, then the file-boundary cut — so the numbers always
|
|
409
|
+
* describe the bytes the model really saw.
|
|
410
|
+
* // mirrors api/_lib/reviewer-agent.ts assessDiffCoverage
|
|
411
|
+
*/
|
|
412
|
+
export function assessReviewDiffCoverage(diff, criteria = [], maxChars = MAX_DIFF_CHARS) {
|
|
413
|
+
const full = diff ?? "";
|
|
414
|
+
const prioritized = full.length > maxChars
|
|
415
|
+
? prioritizeAcNamedFiles(full, criteria)
|
|
416
|
+
: { text: full, reordered: false };
|
|
417
|
+
const { text: kept, omitted } = truncateDiffAtFileBoundary(prioritized.text, maxChars);
|
|
418
|
+
const truncated = kept.length < prioritized.text.length;
|
|
419
|
+
const keptPaths = diffFilePaths(kept);
|
|
420
|
+
return {
|
|
421
|
+
truncated,
|
|
422
|
+
diff_chars: full.length,
|
|
423
|
+
chars_reviewed: kept.length,
|
|
424
|
+
files_total: diffFilePaths(full).length,
|
|
425
|
+
files_omitted: omitted,
|
|
426
|
+
// A cut with nothing named as omitted means the boundary fell inside the last
|
|
427
|
+
// file the prompt carries — that file is only partly visible.
|
|
428
|
+
partial_file: truncated && omitted.length === 0 && keptPaths.length > 0
|
|
429
|
+
? keptPaths[keptPaths.length - 1]
|
|
430
|
+
: null,
|
|
431
|
+
reordered: prioritized.reordered,
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* RF-3: the DIFF-TRUNCATION infra notice for the files the reviewer will NOT
|
|
436
|
+
* see, or "" when nothing was withheld (so a normal-size diff renders
|
|
437
|
+
* byte-identically to before). The shared lines are byte-identical to the server
|
|
438
|
+
* path's `truncationInfraNote` — the reviewer must get the same instruction on
|
|
439
|
+
* both paths: an omitted file is a TOOLING limitation, never a code defect.
|
|
440
|
+
* // keep in sync with api/_lib/reviewer-agent.ts truncationInfraNote
|
|
441
|
+
*/
|
|
442
|
+
export function truncationInfraNote(omitted, partialFile = null, reordered = false) {
|
|
443
|
+
const list = omitted ?? [];
|
|
444
|
+
if (list.length === 0 && !partialFile)
|
|
445
|
+
return "";
|
|
446
|
+
const shown = list.slice(0, 40);
|
|
447
|
+
const lines = shown.map((p) => ` - ${p}`);
|
|
448
|
+
if (list.length > shown.length) {
|
|
449
|
+
lines.push(` - … and ${list.length - shown.length} more file(s)`);
|
|
450
|
+
}
|
|
451
|
+
if (partialFile) {
|
|
452
|
+
lines.push(` - ${partialFile} (shown only PARTIALLY — cut mid-file)`);
|
|
453
|
+
}
|
|
454
|
+
return [
|
|
455
|
+
"INFRA NOTICE — diff truncated by the review harness (RR-3, NOT a defect):",
|
|
456
|
+
"The diff above was truncated because it exceeded the review size limit. The",
|
|
457
|
+
"following file(s) are part of this PR but their content was WITHHELD by the",
|
|
458
|
+
"harness — you have NOT seen them:",
|
|
459
|
+
...lines,
|
|
460
|
+
"Do NOT reject (or approve) as if you had read these files. Their absence here",
|
|
461
|
+
"is a TOOLING limitation, never a code defect and never an out-of-scope signal.",
|
|
462
|
+
"If your verdict would hinge on a file you could not read, say so explicitly —",
|
|
463
|
+
"that concern is handled as a reviewer tooling failure (infra retry), not a reject.",
|
|
464
|
+
"HARD RULE — you may NOT state that any file, test, symbol, export or import is",
|
|
465
|
+
"missing, absent, not present, not visible or not shown to exist. You have not",
|
|
466
|
+
"read the whole diff, so such a finding is unsound and will be discarded as an",
|
|
467
|
+
"infra fault (the review is then re-run, costing budget). Judge only what you",
|
|
468
|
+
"were actually shown; for anything else, name the coverage gap instead.",
|
|
469
|
+
...(reordered
|
|
470
|
+
? [
|
|
471
|
+
"RF-3: file order was changed to keep the files your acceptance criteria NAME",
|
|
472
|
+
"inside the visible window. A file appearing earlier than in the raw diff is",
|
|
473
|
+
"an artifact of that prioritization, never a signal about the change itself.",
|
|
474
|
+
]
|
|
475
|
+
: []),
|
|
476
|
+
].join("\n");
|
|
477
|
+
}
|
|
259
478
|
const RETRY_DELAYS_MS = [2000, 4000, 8000];
|
|
260
479
|
/* ───────────────── REVFB (G1): in-process capacity retry/backoff ────────────
|
|
261
480
|
*
|
|
@@ -339,19 +558,35 @@ function defaultSleep(ms) {
|
|
|
339
558
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
340
559
|
}
|
|
341
560
|
export function renderReviewerPrompt(args) {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
561
|
+
// RF-3: ONE truncation policy — float the AC-named proof files to the front,
|
|
562
|
+
// cut at a whole-file boundary, and name what was withheld. Under the cap
|
|
563
|
+
// nothing reorders and no notice renders, so the prompt is byte-identical to
|
|
564
|
+
// the pre-RF-3 output for every normal-size PR.
|
|
565
|
+
const rawDiff = args.pr_diff ?? "";
|
|
566
|
+
const prioritized = rawDiff.length > MAX_DIFF_CHARS
|
|
567
|
+
? prioritizeAcNamedFiles(rawDiff, args.acceptance_criteria)
|
|
568
|
+
: { text: rawDiff, reordered: false };
|
|
569
|
+
const { text: kept, omitted } = truncateDiffAtFileBoundary(prioritized.text, MAX_DIFF_CHARS);
|
|
570
|
+
const truncated = kept.length < prioritized.text.length;
|
|
571
|
+
const keptPaths = truncated ? diffFilePaths(kept) : [];
|
|
572
|
+
const partialFile = truncated && omitted.length === 0 && keptPaths.length > 0
|
|
573
|
+
? keptPaths[keptPaths.length - 1]
|
|
574
|
+
: null;
|
|
575
|
+
const diff = truncated
|
|
576
|
+
? kept +
|
|
577
|
+
`\n\n... [diff truncated at ${MAX_DIFF_CHARS} chars; full length ${rawDiff.length}] ...\n`
|
|
578
|
+
: kept;
|
|
346
579
|
const acceptance = (args.acceptance_criteria ?? [])
|
|
347
580
|
.map((a, i) => `${i + 1}. ${a}`)
|
|
348
581
|
.join("\n");
|
|
349
|
-
|
|
582
|
+
const rendered = REVIEWER_PROMPT_TEMPLATE
|
|
350
583
|
.replace("{{task_description}}", args.task_description ?? "")
|
|
351
584
|
.replace("{{acceptance_criteria}}", acceptance)
|
|
352
585
|
.replace("{{pr_title}}", args.pr_title ?? "")
|
|
353
586
|
.replace("{{pr_body}}", args.pr_body ?? "")
|
|
354
587
|
.replace("{{pr_diff}}", diff);
|
|
588
|
+
const note = truncationInfraNote(omitted, partialFile, prioritized.reordered);
|
|
589
|
+
return note.length > 0 ? `${rendered}\n\n${note}\n` : rendered;
|
|
355
590
|
}
|
|
356
591
|
export function extractReviewerDecision(text) {
|
|
357
592
|
if (!text)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"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"}
|