review-council 3.5.0 → 3.7.0
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 +121 -4
- package/dist/config/loader.js +1 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/consensus/gating.d.ts +20 -8
- package/dist/consensus/gating.js +79 -26
- package/dist/consensus/gating.js.map +1 -1
- package/dist/dispatch/anthropic.js +8 -2
- package/dist/dispatch/anthropic.js.map +1 -1
- package/dist/dispatch/google.js +10 -2
- package/dist/dispatch/google.js.map +1 -1
- package/dist/dispatch/openai.js +10 -2
- package/dist/dispatch/openai.js.map +1 -1
- package/dist/dispatch/utils.d.ts +20 -0
- package/dist/dispatch/utils.js +23 -0
- package/dist/dispatch/utils.js.map +1 -1
- package/dist/evidence/format.d.ts +4 -5
- package/dist/evidence/format.js +51 -8
- package/dist/evidence/format.js.map +1 -1
- package/dist/evidence/types.d.ts +20 -1
- package/dist/evidence/types.js +16 -1
- package/dist/evidence/types.js.map +1 -1
- package/dist/index.js +17 -2
- package/dist/index.js.map +1 -1
- package/dist/output/markdown.js +33 -1
- package/dist/output/markdown.js.map +1 -1
- package/dist/report/run-header.d.ts +5 -0
- package/dist/report/run-header.js.map +1 -1
- package/dist/telemetry/backfill.d.ts +9 -0
- package/dist/telemetry/backfill.js +72 -63
- package/dist/telemetry/backfill.js.map +1 -1
- package/dist/telemetry/envelope.d.ts +2 -0
- package/dist/telemetry/envelope.js +15 -1
- package/dist/telemetry/envelope.js.map +1 -1
- package/dist/telemetry/recovery/command.d.ts +16 -0
- package/dist/telemetry/recovery/command.js +70 -0
- package/dist/telemetry/recovery/command.js.map +1 -0
- package/dist/telemetry/recovery/discovery.d.ts +8 -0
- package/dist/telemetry/recovery/discovery.js +277 -0
- package/dist/telemetry/recovery/discovery.js.map +1 -0
- package/dist/telemetry/recovery/files.d.ts +17 -0
- package/dist/telemetry/recovery/files.js +115 -0
- package/dist/telemetry/recovery/files.js.map +1 -0
- package/dist/telemetry/recovery/plan.d.ts +10 -0
- package/dist/telemetry/recovery/plan.js +324 -0
- package/dist/telemetry/recovery/plan.js.map +1 -0
- package/dist/telemetry/recovery/source.d.ts +107 -0
- package/dist/telemetry/recovery/source.js +238 -0
- package/dist/telemetry/recovery/source.js.map +1 -0
- package/dist/telemetry/recovery/types.d.ts +100 -0
- package/dist/telemetry/recovery/types.js +2 -0
- package/dist/telemetry/recovery/types.js.map +1 -0
- package/dist/telemetry/scrub.d.ts +12 -4
- package/dist/telemetry/scrub.js +44 -23
- package/dist/telemetry/scrub.js.map +1 -1
- package/dist/telemetry/sink.d.ts +1 -1
- package/dist/telemetry/sink.js +4 -1
- package/dist/telemetry/sink.js.map +1 -1
- package/dist/telemetry/verification.d.ts +9 -0
- package/dist/telemetry/verification.js +12 -0
- package/dist/telemetry/verification.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -259,6 +259,22 @@ rcl converge-verdict --target rcl-30 --round 2 \
|
|
|
259
259
|
|
|
260
260
|
---
|
|
261
261
|
|
|
262
|
+
Structured findings include the recorded verifier model and explanation, when present,
|
|
263
|
+
at both `findings` and `full` telemetry levels. The JSON report and wire envelope
|
|
264
|
+
share normalization: blank values are absent, model identifiers are capped at 500
|
|
265
|
+
Unicode code points, and explanations at 2,000. Missing legacy explanations are
|
|
266
|
+
never generated. Unicode normalization forms and gate outcomes are unchanged.
|
|
267
|
+
|
|
268
|
+
Quoted credential assignments are redacted through their closing quote or end of
|
|
269
|
+
input, including multiline and unfinished values. Preliminary text truncation
|
|
270
|
+
keeps only through the last whitespace in its bounded prefix (or only an ellipsis
|
|
271
|
+
if there is none), preventing partial secrets from surviving redaction. The shared
|
|
272
|
+
fixture `test/fixtures/verification-normalization.json` comes from allocator-one
|
|
273
|
+
PR #8974 and pins the receiver contract. This corrects the quoted-value and
|
|
274
|
+
preliminary-truncation behavior of RCL 3.6.0. Existing source reports are not
|
|
275
|
+
rewritten to add explanations; legacy backfill retains its declared artifact
|
|
276
|
+
scrubbing and deterministic source identity rules.
|
|
277
|
+
|
|
262
278
|
### `rcl telemetry status` and `rcl telemetry flush`
|
|
263
279
|
|
|
264
280
|
Evidence delivery to Harness (epic IO-12475). In a repository that carries
|
|
@@ -376,13 +392,28 @@ exit code is the contract the skills gate on:
|
|
|
376
392
|
|
|
377
393
|
`rcl evidence show <run id>` prints one recorded run: header and verification,
|
|
378
394
|
credential tier and runner, reviewer health, artifact state, and every finding
|
|
379
|
-
with its identity
|
|
380
|
-
|
|
395
|
+
with its identity and gating reason. Each **Verification** block shows the
|
|
396
|
+
recorded result, actual model and complete stored explanation. Recovered notes
|
|
397
|
+
identify the original report digest and recovery time. Legacy results without
|
|
398
|
+
a note say `Explanation not recorded`; `unavailable` remains distinct from
|
|
399
|
+
`refuted`. A separate **Triage** block shows the recorded judgment, reason,
|
|
400
|
+
actor, round and recording time when available. Missing attribution stays
|
|
401
|
+
unknown, and a displayed judgment does not assert current gate resolution.
|
|
402
|
+
|
|
403
|
+
Text preserves multiline explanations while scrubbing credential-shaped text
|
|
404
|
+
and terminal controls. `--json` preserves the API object's semantic values with
|
|
405
|
+
safe control-character escaping. Older servers may omit the optional evidence
|
|
406
|
+
and attribution fields. Local Markdown reports also show verifier explanations
|
|
407
|
+
for kept findings and the rendered below-threshold appendix; the appendix still
|
|
408
|
+
shows at most 20 findings and points to JSON for omitted entries.
|
|
381
409
|
|
|
382
410
|
The reads use the same credential rules as delivery — the stored `harness
|
|
383
411
|
login`, or `HARNESS_API_TOKEN` + `HARNESS_API_URL` in CI, the token sent to
|
|
384
412
|
its own host only — and need `reviews:read`. They do not depend on the
|
|
385
413
|
telemetry level: switching delivery off does not blind them.
|
|
414
|
+
Both commands send only their normal GET requests. They neither fetch an
|
|
415
|
+
artifact per finding nor flush pending retry deliveries, run reviewers or
|
|
416
|
+
record verdicts. Use `rcl telemetry flush` explicitly to retry queued delivery.
|
|
386
417
|
|
|
387
418
|
```bash
|
|
388
419
|
rcl evidence status # error: name the pull request
|
|
@@ -568,6 +599,90 @@ rcl telemetry backfill --from ~/recovered-rcl-artifacts --repo allocator-one/all
|
|
|
568
599
|
rcl telemetry backfill --from ~/recovered-rcl-artifacts --repo allocator-one/allocator-one
|
|
569
600
|
```
|
|
570
601
|
|
|
602
|
+
### `rcl telemetry recover-refutations`
|
|
603
|
+
|
|
604
|
+
Recover the original verifier model and explanation from retained modern and
|
|
605
|
+
pre-header reports. The default command only reads files and makes authenticated
|
|
606
|
+
GET requests. It writes a private manifest for review; `--apply` is a separate,
|
|
607
|
+
explicit step. No reviewer is rerun, no triage events are invented, and retry
|
|
608
|
+
queues and source reports remain untouched.
|
|
609
|
+
|
|
610
|
+
```bash
|
|
611
|
+
# Offline discovery, also usable before the compatible Harness backend is deployed.
|
|
612
|
+
rcl telemetry recover-refutations --inventory-only --manifest inventory.json
|
|
613
|
+
|
|
614
|
+
# Plan against the authenticated organization. Repeated roots replace defaults.
|
|
615
|
+
rcl telemetry recover-refutations --root ~/Development --root /tmp --manifest recovery.json
|
|
616
|
+
|
|
617
|
+
# Inspect coverage, source hashes, every refutation and each proposed action first.
|
|
618
|
+
rcl telemetry recover-refutations --manifest recovery.json --apply --output outcome.json
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
The destination is the complete authenticated Harness base URL plus its
|
|
622
|
+
server-reported organization. Applying with a different host, URL path or
|
|
623
|
+
organization fails before any write. An older receiver without `meta.org_id`
|
|
624
|
+
cannot produce an applyable manifest; use `--inventory-only` until the compatible
|
|
625
|
+
backend is released. Inventory-only artifacts are never accepted for apply.
|
|
626
|
+
Telemetry opt-outs and the existing Harness login/CI credential rules still apply.
|
|
627
|
+
|
|
628
|
+
Default discovery covers `~/Development`, `/tmp`, `/private/tmp`, the configured
|
|
629
|
+
OS temporary directory and `RCL_DATA_DIR` (otherwise `~/.rcl`). It also inspects
|
|
630
|
+
registered Git worktrees/common directories, RCL output and outbox directories,
|
|
631
|
+
and explicit JSON report references in retained ledgers and task metadata,
|
|
632
|
+
including references beyond the initial roots. Add `--root` for other retained
|
|
633
|
+
cache/task locations. Only bounded candidate files are read; symlinks, changing
|
|
634
|
+
files, invalid UTF-8 and files larger than 25 MiB are rejected. Incomplete,
|
|
635
|
+
missing and inaccessible sources stay in the coverage report. Re-inventory after
|
|
636
|
+
active reviews finish and record a final discovery cutoff.
|
|
637
|
+
|
|
638
|
+
Identical report bytes collapse to one SHA-256 entry with all discovered file
|
|
639
|
+
locations. The manifest retains positional finding refs, original identities,
|
|
640
|
+
normalized model/notes and source bindings. Missing original notes remain explicit.
|
|
641
|
+
Legacy repository ownership must be proven by a registered source worktree or a
|
|
642
|
+
retained ledger in that worktree; ambiguous ownership is unresolved. A directory
|
|
643
|
+
marked `SYNTHETIC_TEST_ONLY`, or a repeated `--exclude-sha256 <digest>`, explicitly
|
|
644
|
+
excludes synthetic evidence and all copies with that digest. Missing reference
|
|
645
|
+
paths are counted separately from missing reports; a basename match is not proof.
|
|
646
|
+
|
|
647
|
+
| Planned action | Application |
|
|
648
|
+
| --- | --- |
|
|
649
|
+
| `upload_and_recover` | Upload only the absent original artifact matching the recorded run's declaration, then select that run for server recovery. |
|
|
650
|
+
| `recover` | Select an existing run for the server's validated, append-only recovery operation. RCL does not patch findings. |
|
|
651
|
+
| `import_history` | Import missing evidence once under a deterministic historical ID; preserve original timing/target and explicit original-run/digest binding for modern reports. |
|
|
652
|
+
| `already_present` | Read and confirm the recorded evidence; no write. |
|
|
653
|
+
| `skip`, `conflict`, `unavailable` | Preserve the disposition for resolution; no write. |
|
|
654
|
+
|
|
655
|
+
Apply rechecks source bytes and server bindings. It can use a retained,
|
|
656
|
+
digest-verified copy if another location disappeared. It never replaces an
|
|
657
|
+
existing run or escalates an existing-run selection into a new historical import.
|
|
658
|
+
For legacy reports, the established UUID derives from lowercase host (including
|
|
659
|
+
port), repository and **original** report digest. Its scrubbed upload may have a
|
|
660
|
+
different digest, recorded in the artifact declaration. Modern originals needing
|
|
661
|
+
redaction are never uploaded under their original digest. When that exact
|
|
662
|
+
artifact is already stored in Harness, it can still supply server recovery without
|
|
663
|
+
another upload. Unsafe, unsupported or conflicting sources require resolution.
|
|
664
|
+
|
|
665
|
+
An apply outcome includes `server_recovery_run_ids`. An authorized operator passes
|
|
666
|
+
those IDs to the released, bounded Harness recovery operation documented in
|
|
667
|
+
[`harness_review_verification.md`](https://github.com/allocator-one/allocator-one/blob/main/docs/ops/harness_review_verification.md),
|
|
668
|
+
previews the selection, applies it with explicit operator/operation attribution,
|
|
669
|
+
and retains its results. Rerun the reviewed manifest to verify the common API
|
|
670
|
+
projection afterwards. Repeat application is resumable and idempotent, including
|
|
671
|
+
when a delivery receipt is lost; the source, queues and manifest are never deleted.
|
|
672
|
+
Outcome `writes` counts acknowledged creations, so a lost receipt can leave a
|
|
673
|
+
confirmed stored result without a creation count. The report dispositions and
|
|
674
|
+
readback determine completion.
|
|
675
|
+
|
|
676
|
+
Manifest/output paths must be new and are published atomically with mode `0600`.
|
|
677
|
+
Without `--output`, apply uses a unique outcome filename beside the manifest.
|
|
678
|
+
Exit `0` means a plan/inventory was written, or apply reconciled its selected
|
|
679
|
+
reports; `1` means apply still needs server recovery or source/conflict resolution;
|
|
680
|
+
`2` means the command could not validate or perform the operation. Discovery
|
|
681
|
+
issues and absent original notes still need explicit reconciliation even with
|
|
682
|
+
exit `0`. Stopping and keeping the manifest is the rollback for an interrupted
|
|
683
|
+
operation: do not delete historical records, rewrite original evidence, or flush
|
|
684
|
+
queued live reviews as a recovery shortcut.
|
|
685
|
+
|
|
571
686
|
## Config File
|
|
572
687
|
|
|
573
688
|
Place `.review-council.yml` in your project root (or any parent directory). All fields are optional.
|
|
@@ -619,13 +734,15 @@ thresholds:
|
|
|
619
734
|
# Convergence gating: which findings block convergence / CI (RCL-23).
|
|
620
735
|
# A finding gates when multi-model, critical, or unrefuted by a cheap
|
|
621
736
|
# verification pass; refuted single-model claims stay in the report but
|
|
622
|
-
# stop blocking
|
|
737
|
+
# stop blocking, and so does a claim the pass could not check (verdict
|
|
738
|
+
# unavailable): verification promotes nothing it did not check. Report
|
|
739
|
+
# JSON marks every finding with gating.reason
|
|
623
740
|
# (consensus | critical | verified | none).
|
|
624
741
|
gating:
|
|
625
742
|
mode: verified-consensus # or all-findings (legacy: severity alone decides)
|
|
626
743
|
minModels: 2 # distinct models for consensus gating
|
|
627
744
|
verificationModel: google/gemini-3.8-flash # direct-API only
|
|
628
|
-
verificationTimeout: 60000 # ms
|
|
745
|
+
verificationTimeout: 60000 # ms per refutation call (8 candidates per batch, 3 in flight)
|
|
629
746
|
|
|
630
747
|
# Output defaults
|
|
631
748
|
output:
|
package/dist/config/loader.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,16 +14,28 @@ import type { FileChange } from '../resolver/types.js';
|
|
|
14
14
|
* Everything else still lands in the report — it just stops blocking
|
|
15
15
|
* convergence ('none'). This is the two-stage recall→precision split
|
|
16
16
|
* production review bots converged on.
|
|
17
|
+
*
|
|
18
|
+
* Verification promotes nothing it did not check (RCL-62): a candidate the
|
|
19
|
+
* pass could not judge — verifier call failed, answer did not cover it, no
|
|
20
|
+
* diff context, no direct-API verifier in the roster — is recorded with
|
|
21
|
+
* verdict 'unavailable' and left at the tier it earned on its own ('none').
|
|
22
|
+
* The fail-safe alternative (unavailable keeps gating) turned every verifier
|
|
23
|
+
* outage into a gate no pull request could pass: on 2026-09-14 a lane-wide
|
|
24
|
+
* failure promoted 73 single-model, low-confidence findings to blocking on
|
|
25
|
+
* one PR and blocked every open PR in the organization (RCL-60, RCL-62).
|
|
17
26
|
*/
|
|
18
27
|
export type GatingReason = 'consensus' | 'critical' | 'verified' | 'none';
|
|
19
28
|
export interface GatingVerification {
|
|
20
|
-
model
|
|
29
|
+
/** Absent in legacy evidence or when no model was recorded. */
|
|
30
|
+
model?: string;
|
|
21
31
|
/**
|
|
22
32
|
* 'refuted': the verifier showed the finding does not hold → not gating.
|
|
23
33
|
* 'unrefuted': the verifier could not refute it → gates.
|
|
24
|
-
* 'unavailable': the verification pass failed or did not
|
|
25
|
-
* finding —
|
|
26
|
-
*
|
|
34
|
+
* 'unavailable': the verification pass failed, did not run, or did not
|
|
35
|
+
* cover this finding — it is left at the tier it earned without
|
|
36
|
+
* verification ('none'): a single-model claim nobody checked is reported,
|
|
37
|
+
* not promoted to blocking (RCL-62). Read `note` for the cause; a
|
|
38
|
+
* persistently broken verifier is a fixable infrastructure problem.
|
|
27
39
|
*/
|
|
28
40
|
verdict: 'refuted' | 'unrefuted' | 'unavailable';
|
|
29
41
|
note?: string;
|
|
@@ -41,8 +53,8 @@ export interface GatingOptions {
|
|
|
41
53
|
minModels: number;
|
|
42
54
|
/**
|
|
43
55
|
* Direct-API model that runs the refutation pass. Undefined = no usable
|
|
44
|
-
* verifier in the configured roster: candidates
|
|
45
|
-
*
|
|
56
|
+
* verifier in the configured roster: candidates are recorded unavailable
|
|
57
|
+
* and do not gate, and no content leaves the configured providers.
|
|
46
58
|
*/
|
|
47
59
|
verificationModel: string | undefined;
|
|
48
60
|
verificationTimeoutMs: number;
|
|
@@ -52,7 +64,7 @@ export interface GatingOptions {
|
|
|
52
64
|
* Changed files, so the verifier judges against the actual change. A
|
|
53
65
|
* candidate whose file has no patch here is NEVER sent for verification —
|
|
54
66
|
* a refutation must be grounded in the code, not in the claim's own text —
|
|
55
|
-
* and
|
|
67
|
+
* and is recorded unavailable, not gating.
|
|
56
68
|
*/
|
|
57
69
|
diffFiles?: FileChange[];
|
|
58
70
|
/**
|
|
@@ -95,7 +107,7 @@ export declare const DEFAULT_GATING_CONFIG: {
|
|
|
95
107
|
* DEFAULT verifier is only used when its provider is already in the
|
|
96
108
|
* configured roster — a review must never send the diff to a provider the
|
|
97
109
|
* user configured away from just to verify findings. When the roster has no
|
|
98
|
-
* direct-API model, verification is unavailable (candidates
|
|
110
|
+
* direct-API model, verification is unavailable (candidates do not gate).
|
|
99
111
|
*/
|
|
100
112
|
export declare function resolveGatingConfig(input: GatingConfigInput | undefined, rosterModels?: readonly string[]): ResolvedGatingConfig;
|
|
101
113
|
/**
|
package/dist/consensus/gating.js
CHANGED
|
@@ -7,7 +7,7 @@ export const DEFAULT_GATING_CONFIG = {
|
|
|
7
7
|
mode: 'verified-consensus',
|
|
8
8
|
minModels: 2,
|
|
9
9
|
// Use the stable Flash council member for this latency-sensitive pass;
|
|
10
|
-
//
|
|
10
|
+
// each verifier batch is capped at 60 s so it cannot dominate round time.
|
|
11
11
|
verificationModel: 'google/gemini-3.8-flash',
|
|
12
12
|
verificationTimeoutMs: 60_000,
|
|
13
13
|
};
|
|
@@ -17,7 +17,7 @@ export const DEFAULT_GATING_CONFIG = {
|
|
|
17
17
|
* DEFAULT verifier is only used when its provider is already in the
|
|
18
18
|
* configured roster — a review must never send the diff to a provider the
|
|
19
19
|
* user configured away from just to verify findings. When the roster has no
|
|
20
|
-
* direct-API model, verification is unavailable (candidates
|
|
20
|
+
* direct-API model, verification is unavailable (candidates do not gate).
|
|
21
21
|
*/
|
|
22
22
|
export function resolveGatingConfig(input, rosterModels) {
|
|
23
23
|
const minModels = input?.minModels ?? DEFAULT_GATING_CONFIG.minModels;
|
|
@@ -68,6 +68,16 @@ Respond with ONLY a JSON array, one entry per finding id:
|
|
|
68
68
|
"confirmed" = you could not refute it; it plausibly holds against this change.
|
|
69
69
|
When unsure, answer "confirmed".`;
|
|
70
70
|
const MAX_PATCH_CHARS = 4_000;
|
|
71
|
+
/**
|
|
72
|
+
* Candidates per verifier call. The answer carries one JSON entry per
|
|
73
|
+
* candidate, so its length grows with the batch while the model's output
|
|
74
|
+
* budget does not — measured against production runs, a single call stopped
|
|
75
|
+
* covering its candidates somewhere past ten, and every uncovered candidate
|
|
76
|
+
* was recorded unavailable and gated unrefuted (RCL-60).
|
|
77
|
+
*/
|
|
78
|
+
const VERIFIER_BATCH_SIZE = 8;
|
|
79
|
+
/** Verifier batches in flight at once — small enough to stay clear of per-model rate limits. */
|
|
80
|
+
const VERIFIER_CONCURRENCY = 3;
|
|
71
81
|
/** Lines of slack when matching a finding's range against a hunk's span. */
|
|
72
82
|
const HUNK_MARGIN_LINES = 16;
|
|
73
83
|
function isChangedLine(line) {
|
|
@@ -383,12 +393,15 @@ export async function applyGating(findings, options) {
|
|
|
383
393
|
unavailable: 0,
|
|
384
394
|
durationMs: 0,
|
|
385
395
|
};
|
|
396
|
+
// Verification promotes nothing it did not check (RCL-62): an unchecked
|
|
397
|
+
// candidate keeps the tier it earned on its own — not gating — with the
|
|
398
|
+
// cause recorded, instead of being promoted to 'verified' by default.
|
|
386
399
|
function markUnavailable(findingIndex, note) {
|
|
387
400
|
stats.unavailable++;
|
|
388
401
|
annotated[findingIndex] = {
|
|
389
402
|
...findings[findingIndex],
|
|
390
403
|
gating: {
|
|
391
|
-
reason: '
|
|
404
|
+
reason: 'none',
|
|
392
405
|
verification: { model: verifierModel, verdict: 'unavailable', note },
|
|
393
406
|
},
|
|
394
407
|
};
|
|
@@ -440,37 +453,77 @@ export async function applyGating(findings, options) {
|
|
|
440
453
|
stats.durationMs = Date.now() - started;
|
|
441
454
|
return { findings: annotated, verification: stats };
|
|
442
455
|
}
|
|
443
|
-
|
|
444
|
-
|
|
456
|
+
// One verdict per candidate has to fit in one answer, so a single call over
|
|
457
|
+
// every candidate silently stops covering them as a review grows — and an
|
|
458
|
+
// uncovered candidate goes unverified. Batches keep each answer small, and
|
|
459
|
+
// keep one bad batch from costing the whole lane (RCL-60).
|
|
460
|
+
const verdictsByIndex = new Map();
|
|
461
|
+
const failureByIndex = new Map();
|
|
445
462
|
if (verifiable.length > 0) {
|
|
446
|
-
const
|
|
447
|
-
|
|
463
|
+
const batches = [];
|
|
464
|
+
for (let i = 0; i < verifiable.length; i += VERIFIER_BATCH_SIZE) {
|
|
465
|
+
batches.push(verifiable.slice(i, i + VERIFIER_BATCH_SIZE));
|
|
466
|
+
}
|
|
467
|
+
// Adapter construction can throw (e.g. a missing provider key) — it
|
|
468
|
+
// must hit the same fail-safe path as a failed call, never abort the
|
|
469
|
+
// round after the council already ran.
|
|
470
|
+
let ask;
|
|
471
|
+
let constructionFailure;
|
|
448
472
|
try {
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
return (m, systemPrompt, userPrompt, opts) => adapter.ask(m, systemPrompt, userPrompt, opts);
|
|
456
|
-
})();
|
|
457
|
-
const answer = await ask(options.verificationModel, VERIFIER_SYSTEM_PROMPT, buildVerifierPrompt(candidates, relevantPatches), { timeoutMs: options.verificationTimeoutMs, maxRetries: 1 });
|
|
458
|
-
if (answer.status === 'success') {
|
|
459
|
-
verdicts = parseVerdicts(answer.text);
|
|
460
|
-
}
|
|
461
|
-
else {
|
|
462
|
-
failure = answer.error ?? answer.status;
|
|
463
|
-
}
|
|
473
|
+
ask =
|
|
474
|
+
options.ask ??
|
|
475
|
+
(() => {
|
|
476
|
+
const adapter = defaultAdapterFactory(detectProvider(options.verificationModel));
|
|
477
|
+
return (m, systemPrompt, userPrompt, opts) => adapter.ask(m, systemPrompt, userPrompt, opts);
|
|
478
|
+
})();
|
|
464
479
|
}
|
|
465
480
|
catch (err) {
|
|
466
|
-
|
|
481
|
+
constructionFailure = err instanceof Error ? err.message : String(err);
|
|
482
|
+
}
|
|
483
|
+
async function runBatch(batch) {
|
|
484
|
+
if (ask === undefined) {
|
|
485
|
+
for (const index of batch)
|
|
486
|
+
failureByIndex.set(index, constructionFailure);
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
489
|
+
const candidates = batch.map((i) => findings[i]);
|
|
490
|
+
const relevantPatches = new Map([...new Set(candidates.map((f) => f.file))].map((file) => [file, patches.get(file)]));
|
|
491
|
+
try {
|
|
492
|
+
const answer = await ask(options.verificationModel, VERIFIER_SYSTEM_PROMPT, buildVerifierPrompt(candidates, relevantPatches), { timeoutMs: options.verificationTimeoutMs, maxRetries: 1 });
|
|
493
|
+
if (answer.status !== 'success') {
|
|
494
|
+
const reason = answer.error ?? answer.status;
|
|
495
|
+
for (const index of batch)
|
|
496
|
+
failureByIndex.set(index, reason);
|
|
497
|
+
return;
|
|
498
|
+
}
|
|
499
|
+
const parsed = parseVerdicts(answer.text);
|
|
500
|
+
batch.forEach((findingIndex, c) => {
|
|
501
|
+
const verdict = parsed.get(`F${c + 1}`);
|
|
502
|
+
if (verdict !== undefined)
|
|
503
|
+
verdictsByIndex.set(findingIndex, verdict);
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
catch (err) {
|
|
507
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
508
|
+
for (const index of batch)
|
|
509
|
+
failureByIndex.set(index, reason);
|
|
510
|
+
}
|
|
467
511
|
}
|
|
512
|
+
// Index-stealing pool, same shape as the review runner: a slow batch
|
|
513
|
+
// never stalls the queue behind it.
|
|
514
|
+
let nextBatch = 0;
|
|
515
|
+
const width = Math.max(1, Math.min(VERIFIER_CONCURRENCY, batches.length));
|
|
516
|
+
await Promise.all(Array.from({ length: width }, async () => {
|
|
517
|
+
while (nextBatch < batches.length) {
|
|
518
|
+
await runBatch(batches[nextBatch++]);
|
|
519
|
+
}
|
|
520
|
+
}));
|
|
468
521
|
}
|
|
469
|
-
verifiable.forEach((findingIndex
|
|
522
|
+
verifiable.forEach((findingIndex) => {
|
|
470
523
|
const finding = findings[findingIndex];
|
|
471
|
-
const verdict =
|
|
524
|
+
const verdict = verdictsByIndex.get(findingIndex);
|
|
472
525
|
if (verdict === undefined) {
|
|
473
|
-
markUnavailable(findingIndex,
|
|
526
|
+
markUnavailable(findingIndex, failureByIndex.get(findingIndex) ?? 'verifier response did not cover this finding');
|
|
474
527
|
return;
|
|
475
528
|
}
|
|
476
529
|
let gating;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gating.js","sourceRoot":"","sources":["../../src/consensus/gating.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gating.js","sourceRoot":"","sources":["../../src/consensus/gating.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Anthropic from '@anthropic-ai/sdk';
|
|
2
2
|
import { parseReviewOutput } from '../consensus/parser.js';
|
|
3
|
-
import { stripKnownProviderPrefix, isRetryableStatus, retryDelay, sleep, attemptWithRetries, failedReview, isBlankOutput, linkAbortSignal, reviewFromParse, usageFromAnthropic, } from './utils.js';
|
|
3
|
+
import { stripKnownProviderPrefix, isRetryableStatus, retryDelay, sleep, attemptWithRetries, failedReview, isBlankOutput, linkAbortSignal, reviewFromParse, usageFromAnthropic, ASK_MAX_OUTPUT_TOKENS, TruncatedAnswerError, } from './utils.js';
|
|
4
4
|
function isRetryable(err) {
|
|
5
5
|
return err instanceof Anthropic.APIError && isRetryableStatus(err.status);
|
|
6
6
|
}
|
|
@@ -181,10 +181,16 @@ export class AnthropicAdapter {
|
|
|
181
181
|
attempt: async (signal) => {
|
|
182
182
|
const response = await this.client.messages.create({
|
|
183
183
|
model: modelId,
|
|
184
|
-
max_tokens:
|
|
184
|
+
max_tokens: ASK_MAX_OUTPUT_TOKENS,
|
|
185
185
|
system: systemPrompt,
|
|
186
186
|
messages: [{ role: 'user', content: userPrompt }],
|
|
187
187
|
}, { signal, timeout: options.timeoutMs + 30_000 });
|
|
188
|
+
// An answer cut off at the ceiling is not a short answer: the verifier
|
|
189
|
+
// emits one entry per finding, and a partial list parses to nothing,
|
|
190
|
+
// which gates every candidate it never reached (RCL-60).
|
|
191
|
+
if (response.stop_reason === 'max_tokens') {
|
|
192
|
+
throw new TruncatedAnswerError('anthropic');
|
|
193
|
+
}
|
|
188
194
|
return response.content
|
|
189
195
|
.filter((block) => block.type === 'text')
|
|
190
196
|
.map((block) => block.text)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/dispatch/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,KAAK,EACL,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,kBAAkB,
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/dispatch/anthropic.ts"],"names":[],"mappings":"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"}
|
package/dist/dispatch/google.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GoogleGenAI } from '@google/genai';
|
|
2
2
|
import { parseReviewOutput } from '../consensus/parser.js';
|
|
3
|
-
import { stripKnownProviderPrefix, retryDelay, sleep, attemptWithRetries, failedReview, isBlankOutput, linkAbortSignal, reviewFromParse, usageFromGoogle, } from './utils.js';
|
|
3
|
+
import { stripKnownProviderPrefix, retryDelay, sleep, attemptWithRetries, failedReview, isBlankOutput, linkAbortSignal, reviewFromParse, usageFromGoogle, ASK_MAX_OUTPUT_TOKENS, TruncatedAnswerError, } from './utils.js';
|
|
4
4
|
/**
|
|
5
5
|
* Gemini finish reasons that mean "this was not reviewed". Distinct from
|
|
6
6
|
* MAX_TOKENS (truncation, handled separately) — these produce a candidate
|
|
@@ -157,11 +157,19 @@ export class GoogleAdapter {
|
|
|
157
157
|
contents: [{ role: 'user', parts: [{ text: userPrompt }] }],
|
|
158
158
|
config: {
|
|
159
159
|
systemInstruction: systemPrompt,
|
|
160
|
-
maxOutputTokens:
|
|
160
|
+
maxOutputTokens: ASK_MAX_OUTPUT_TOKENS,
|
|
161
161
|
abortSignal: signal,
|
|
162
162
|
httpOptions: { timeout: options.timeoutMs + 30_000 },
|
|
163
163
|
},
|
|
164
164
|
});
|
|
165
|
+
// A thinking model spends this budget on reasoning before it emits a
|
|
166
|
+
// token of answer, so a truncated response arrives as empty or partial
|
|
167
|
+
// text with a success status. Silently returning it makes a verifier
|
|
168
|
+
// answer that covers no findings look like a model that had nothing to
|
|
169
|
+
// say — every finding then gates unrefuted.
|
|
170
|
+
if (response.candidates?.[0]?.finishReason === 'MAX_TOKENS') {
|
|
171
|
+
throw new TruncatedAnswerError('google');
|
|
172
|
+
}
|
|
165
173
|
return (response.text ?? '').trim();
|
|
166
174
|
},
|
|
167
175
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/dispatch/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,KAAK,EACL,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/dispatch/google.ts"],"names":[],"mappings":"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"}
|