@allocator-one/rcl 4.5.8 → 4.5.12
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 +5 -4
- package/dist/consensus/semantic-deduper.d.ts +2 -1
- package/dist/consensus/semantic-deduper.js +21 -10
- package/dist/consensus/semantic-deduper.js.map +1 -1
- package/dist/converge/attempt-budget.d.ts +11 -0
- package/dist/converge/attempt-budget.js +119 -61
- package/dist/converge/attempt-budget.js.map +1 -1
- package/dist/converge/cycle-remote.d.ts +6 -1
- package/dist/converge/cycle-remote.js +13 -3
- package/dist/converge/cycle-remote.js.map +1 -1
- package/dist/converge/delivery-reconciliation.d.ts +2 -1
- package/dist/converge/delivery-reconciliation.js +105 -11
- package/dist/converge/delivery-reconciliation.js.map +1 -1
- package/dist/converge/launch-guard.d.ts +3 -0
- package/dist/converge/launch-guard.js +53 -17
- package/dist/converge/launch-guard.js.map +1 -1
- package/dist/converge/ordinary-pending-export.d.ts +5 -0
- package/dist/converge/ordinary-pending-export.js +9 -1
- package/dist/converge/ordinary-pending-export.js.map +1 -1
- package/dist/converge/recovered-production.d.ts +14 -0
- package/dist/converge/recovered-production.js +61 -0
- package/dist/converge/recovered-production.js.map +1 -0
- package/dist/converge/recovery-launch.js +82 -35
- package/dist/converge/recovery-launch.js.map +1 -1
- package/dist/converge/run-state.d.ts +2 -0
- package/dist/converge/run-state.js +26 -12
- package/dist/converge/run-state.js.map +1 -1
- package/dist/converge/semantic-state.js +18 -4
- package/dist/converge/semantic-state.js.map +1 -1
- package/dist/coordination/registry-lock.d.ts +2 -0
- package/dist/coordination/registry-lock.js +42 -13
- package/dist/coordination/registry-lock.js.map +1 -1
- package/dist/evidence/claim-recovery/delivery.d.ts +25 -0
- package/dist/evidence/claim-recovery/delivery.js +100 -0
- package/dist/evidence/claim-recovery/delivery.js.map +1 -0
- package/dist/evidence/claim-recovery/public-adoption.d.ts +31 -0
- package/dist/evidence/claim-recovery/public-adoption.js +177 -0
- package/dist/evidence/claim-recovery/public-adoption.js.map +1 -0
- package/dist/evidence/claim-recovery/public-manifest.d.ts +114 -0
- package/dist/evidence/claim-recovery/public-manifest.js +11 -0
- package/dist/evidence/claim-recovery/public-manifest.js.map +1 -0
- package/dist/evidence/claim-recovery/public-model.d.ts +85 -0
- package/dist/evidence/claim-recovery/public-model.js +177 -0
- package/dist/evidence/claim-recovery/public-model.js.map +1 -0
- package/dist/evidence/original-run/journal.d.ts +10 -0
- package/dist/evidence/original-run/journal.js +55 -3
- package/dist/evidence/original-run/journal.js.map +1 -1
- package/dist/evidence/original-run/lock.js +22 -9
- package/dist/evidence/original-run/lock.js.map +1 -1
- package/dist/evidence/recover-claim.d.ts +21 -0
- package/dist/evidence/recover-claim.js +504 -0
- package/dist/evidence/recover-claim.js.map +1 -0
- package/dist/index.js +239 -137
- package/dist/index.js.map +1 -1
- package/dist/report/assembly.d.ts +2 -0
- package/dist/report/assembly.js +1 -0
- package/dist/report/assembly.js.map +1 -1
- package/dist/report/consensus-assembly.d.ts +2 -0
- package/dist/report/consensus-assembly.js +6 -3
- package/dist/report/consensus-assembly.js.map +1 -1
- package/dist/report/reviewer-artifact.js +3 -1
- package/dist/report/reviewer-artifact.js.map +1 -1
- package/dist/report/run-header.js +2 -0
- package/dist/report/run-header.js.map +1 -1
- package/dist/telemetry/deliver.d.ts +8 -0
- package/dist/telemetry/deliver.js +55 -8
- package/dist/telemetry/deliver.js.map +1 -1
- package/dist/telemetry/events.js +2 -0
- package/dist/telemetry/events.js.map +1 -1
- package/dist/telemetry/outbox.d.ts +20 -0
- package/dist/telemetry/outbox.js +324 -103
- package/dist/telemetry/outbox.js.map +1 -1
- package/dist/telemetry/reviewer-delivery.d.ts +95 -3
- package/dist/telemetry/reviewer-delivery.js +600 -12
- package/dist/telemetry/reviewer-delivery.js.map +1 -1
- package/dist/telemetry/sink.d.ts +14 -0
- package/dist/telemetry/sink.js +44 -2
- package/dist/telemetry/sink.js.map +1 -1
- package/dist/telemetry/terminal-reviewer-delivery.d.ts +154 -5
- package/dist/telemetry/terminal-reviewer-delivery.js +196 -21
- package/dist/telemetry/terminal-reviewer-delivery.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recover-claim.js","sourceRoot":"","sources":["../../src/evidence/recover-claim.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,7 @@ import { applyHarnessModelKeys } from './config/harness.js';
|
|
|
19
19
|
import { DEFAULT_MODELS, DEFAULT_TIMEOUT_MS, DEFAULT_ASYNC_TIMEOUT_MS, DEFAULT_QUORUM_FRACTION, DEFAULT_MAX_RETRIES, DEFAULT_CONCURRENCY, DEFAULT_REASONING_EFFORT, DEFAULT_THRESHOLDS, } from './config/defaults.js';
|
|
20
20
|
import { resolveProviderConcurrency } from './config/provider-concurrency.js';
|
|
21
21
|
import { parseGitHubTarget, fetchPRDiff, isGitHubTarget } from './resolver/github.js';
|
|
22
|
+
import { createGitHubClient, getGitHubPullRequest } from './resolver/github-client.js';
|
|
22
23
|
import { loadLocalDiff } from './resolver/local.js';
|
|
23
24
|
import { loadGitDiff, resolveGitHeads } from './resolver/git.js';
|
|
24
25
|
import { loadPlanAsDiff } from './resolver/plan.js';
|
|
@@ -47,7 +48,9 @@ import { resolveFinding, buildDiscussPrompts, runDiscussion, loadContextDocs, }
|
|
|
47
48
|
import { DEFAULT_CONVERGE_ATTEMPT_CAP, claimConvergeAttempt, ConvergeAttemptBudgetExceededError, convergeAttemptErrorExitCode, ConvergeAttemptStateError, resolveGitCommonDir, } from './converge/attempt-budget.js';
|
|
48
49
|
import { DEFAULT_CONVERGE_ROUND_CAP, HARD_CONVERGE_ROUND_CAP, processRoundReport, recordVerdicts, findingGatingReason, ConvergeRoundCapError, ConvergeRunStateError, } from './converge/run-state.js';
|
|
49
50
|
import { applyRoundGap, previewRoundGap } from './converge/round-gap.js';
|
|
51
|
+
import { withNativeTarget } from './converge/target-ownership.js';
|
|
50
52
|
import { guardReviewLaunch, ReviewLaunchRefused } from './converge/launch-guard.js';
|
|
53
|
+
import { selectCurrentRecoveredProduction } from './converge/recovered-production.js';
|
|
51
54
|
import { createBoundFixRecovery } from './converge/bound-fix-recovery.js';
|
|
52
55
|
import { openReadSink } from './telemetry/read-sink.js';
|
|
53
56
|
import { reconcileFlushedRun } from './converge/delivery-reconciliation.js';
|
|
@@ -110,7 +113,7 @@ program.hook('preAction', async (_thisCommand, actionCommand) => {
|
|
|
110
113
|
// Reads and explicit repairs must not flush unrelated evidence, even in preview.
|
|
111
114
|
if (actionCommand.parent?.name() === 'evidence' && (name === 'show' || name === 'status'))
|
|
112
115
|
return;
|
|
113
|
-
if (name === 'converge-rejected' || name === 'converge-stale' || name === 'converge-gap' || name === 'converge-reconcile-history' || name === 'recover-run' || name === 'recover-finding' || name === 'retriage-finding' || name === 'telemetry' || actionCommand.parent?.name() === 'telemetry' || name.includes('worker'))
|
|
116
|
+
if (name === 'converge-rejected' || name === 'converge-stale' || name === 'converge-gap' || name === 'converge-reconcile-history' || name === 'recover-run' || name === 'recover-claim' || name === 'recover-finding' || name === 'retriage-finding' || name === 'telemetry' || actionCommand.parent?.name() === 'telemetry' || name.includes('worker'))
|
|
114
117
|
return;
|
|
115
118
|
const flags = actionCommand.opts();
|
|
116
119
|
if (flags.telemetry === false || (process.env['RCL_TELEMETRY'] ?? '').trim().toLowerCase() === 'off')
|
|
@@ -234,7 +237,7 @@ program
|
|
|
234
237
|
.option('--round <n>', 'Converge round number (or RCL_CONVERGE_ROUND)')
|
|
235
238
|
.option('--attempt <n>', 'Converge attempt number (or RCL_CONVERGE_ATTEMPT)')
|
|
236
239
|
.option('--start-over', 'Start an explicitly requested fresh review with a new normal budget; retain all prior evidence and spending')
|
|
237
|
-
.option('--guarded-converge', 'Validate and claim inside this review process; derive the round from native state')
|
|
240
|
+
.option('--guarded-converge', 'Validate and claim inside this review process, or consume an exact recovered-v3 --attempt; derive the round from native state')
|
|
238
241
|
.option('--bound-fix-recovery <run-id>', 'Review unchanged inputs once live Harness evidence proves a retained bound fix obligation after this native dismissal-only run')
|
|
239
242
|
.option('--launch-intent <intent>', 'Guarded intent: review, stop-upstream, stop-review, or retry-delivery')
|
|
240
243
|
.option('--retry-report <path>', 'Original legacy report proving an inconclusive launch; the new inputs may differ; requires --retry-reason')
|
|
@@ -329,24 +332,31 @@ program
|
|
|
329
332
|
throw new ConvergeAttemptStateError('maxAttempts (--max-attempts) must be a positive safe integer.');
|
|
330
333
|
}
|
|
331
334
|
}
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
335
|
+
const gitCommonDir = await resolveGitCommonDir();
|
|
336
|
+
const claim = await withNativeTarget(gitCommonDir, opts.target, async (ownership) => {
|
|
337
|
+
const committed = await claimConvergeAttempt({
|
|
338
|
+
gitCommonDir,
|
|
339
|
+
target: opts.target,
|
|
340
|
+
maxAttempts,
|
|
341
|
+
ownership,
|
|
342
|
+
});
|
|
343
|
+
await reportConvergeEvents([
|
|
344
|
+
buildEvent({
|
|
345
|
+
kind: 'attempt_claimed',
|
|
346
|
+
convergeTarget: committed.target,
|
|
347
|
+
attempt: committed.attempt,
|
|
348
|
+
// The claim's local state path and process id stay on this machine.
|
|
349
|
+
payload: { attempt: committed.attempt, cap: committed.cap,
|
|
350
|
+
...(committed.cycle ? { cycle_id: committed.cycle.id } : {}) },
|
|
351
|
+
}),
|
|
352
|
+
// An explicit --max-attempts is consent evidence, whatever it was before.
|
|
353
|
+
...(maxAttempts !== undefined
|
|
354
|
+
? [buildEvent({ kind: 'cap_changed', convergeTarget: committed.target, attempt: committed.attempt,
|
|
355
|
+
payload: { kind: 'attempts', to: committed.cap } })]
|
|
356
|
+
: []),
|
|
357
|
+
]);
|
|
358
|
+
return committed;
|
|
336
359
|
});
|
|
337
|
-
await reportConvergeEvents([
|
|
338
|
-
buildEvent({
|
|
339
|
-
kind: 'attempt_claimed',
|
|
340
|
-
convergeTarget: claim.target,
|
|
341
|
-
attempt: claim.attempt,
|
|
342
|
-
// The claim's local state path and process id stay on this machine.
|
|
343
|
-
payload: { attempt: claim.attempt, cap: claim.cap, ...(claim.cycle ? { cycle_id: claim.cycle.id } : {}) },
|
|
344
|
-
}),
|
|
345
|
-
// An explicit --max-attempts is consent evidence, whatever it was before.
|
|
346
|
-
...(maxAttempts !== undefined
|
|
347
|
-
? [buildEvent({ kind: 'cap_changed', convergeTarget: claim.target, attempt: claim.attempt, payload: { kind: 'attempts', to: claim.cap } })]
|
|
348
|
-
: []),
|
|
349
|
-
]);
|
|
350
360
|
if (opts.json) {
|
|
351
361
|
console.log(JSON.stringify(claim));
|
|
352
362
|
}
|
|
@@ -596,10 +606,12 @@ program
|
|
|
596
606
|
}
|
|
597
607
|
}
|
|
598
608
|
let report;
|
|
609
|
+
let reportJson;
|
|
599
610
|
let reportSha256;
|
|
600
611
|
try {
|
|
601
612
|
const source = await readFile(opts.report);
|
|
602
|
-
|
|
613
|
+
reportJson = source.toString('utf8');
|
|
614
|
+
report = JSON.parse(reportJson);
|
|
603
615
|
reportSha256 = sha256(source);
|
|
604
616
|
}
|
|
605
617
|
catch (err) {
|
|
@@ -626,48 +638,69 @@ program
|
|
|
626
638
|
if (reportRunId !== undefined && runId === undefined) {
|
|
627
639
|
console.error(chalk.yellow(`Report run ${reportRunId} ${reportTarget === undefined ? 'carries no converge target' : `belongs to converge target ${reportTarget}`}, not ${opts.target}; the round keeps no run id.`));
|
|
628
640
|
}
|
|
629
|
-
const
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
...(runId !== undefined ? { runId } : {}),
|
|
638
|
-
});
|
|
639
|
-
const classified = result.findings.map((f) => ({
|
|
640
|
-
identity: f.identity,
|
|
641
|
-
status: f.status,
|
|
642
|
-
gating: findingGatingReason(f.finding),
|
|
643
|
-
severity: f.finding.severity,
|
|
644
|
-
file: f.finding.file,
|
|
645
|
-
startLine: f.finding.startLine,
|
|
646
|
-
endLine: f.finding.endLine,
|
|
647
|
-
title: f.finding.title,
|
|
648
|
-
...(f.suppressReason ? { suppressReason: f.suppressReason } : {}),
|
|
649
|
-
}));
|
|
650
|
-
const actionable = classified.filter((f) => (f.status === 'new' || f.status === 'regating') && f.gating !== 'none');
|
|
651
|
-
await reportConvergeEvents([
|
|
652
|
-
buildEvent({
|
|
653
|
-
kind: 'round_processed',
|
|
654
|
-
convergeTarget: opts.target,
|
|
641
|
+
const gitCommonDir = await resolveGitCommonDir();
|
|
642
|
+
const target = opts.target;
|
|
643
|
+
const { result, classified, actionable } = await withNativeTarget(gitCommonDir, target, async (ownership) => {
|
|
644
|
+
const existing = await loadConvergeRunState(gitCommonDir, target);
|
|
645
|
+
const recoveredReport = existing?.version === 3 || report.run?.gating?.bound_classification_protocol !== undefined;
|
|
646
|
+
const result = await processRoundReport({
|
|
647
|
+
gitCommonDir,
|
|
648
|
+
target,
|
|
655
649
|
round,
|
|
650
|
+
findings: recoveredReport
|
|
651
|
+
? [...report.findings, ...(report.belowThresholdFindings ?? [])]
|
|
652
|
+
: report.findings,
|
|
653
|
+
...(recoveredReport ? { evidence: { reportJson } } : {}),
|
|
654
|
+
reportSha256,
|
|
655
|
+
cycleId: report.run?.cycle_id,
|
|
656
|
+
ownership,
|
|
657
|
+
...(maxRounds !== undefined ? { maxRounds } : {}),
|
|
656
658
|
...(runId !== undefined ? { runId } : {}),
|
|
657
|
-
|
|
659
|
+
});
|
|
660
|
+
const classified = result.findings.map((f) => ({
|
|
661
|
+
identity: f.identity,
|
|
662
|
+
status: f.status,
|
|
663
|
+
gating: f.sighting?.gating ?? findingGatingReason(f.finding),
|
|
664
|
+
severity: f.finding.severity,
|
|
665
|
+
file: f.finding.file,
|
|
666
|
+
startLine: f.finding.startLine,
|
|
667
|
+
endLine: f.finding.endLine,
|
|
668
|
+
title: f.finding.title,
|
|
669
|
+
...(f.suppressReason ? { suppressReason: f.suppressReason } : {}),
|
|
670
|
+
}));
|
|
671
|
+
const actionable = classified.filter((f) => (f.status === 'new' || f.status === 'regating') && f.gating !== 'none');
|
|
672
|
+
await reportConvergeEvents([
|
|
673
|
+
buildEvent({
|
|
674
|
+
kind: 'round_processed',
|
|
675
|
+
convergeTarget: target,
|
|
658
676
|
round,
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
677
|
+
...(runId !== undefined ? { runId } : {}),
|
|
678
|
+
payload: {
|
|
679
|
+
round,
|
|
680
|
+
round_cap: result.roundCap,
|
|
681
|
+
counts: result.counts,
|
|
682
|
+
actionable_gating: result.actionableIdentities?.length ?? actionable.length,
|
|
683
|
+
...(result.classificationVersion
|
|
684
|
+
? {
|
|
685
|
+
classification_version: result.classificationVersion,
|
|
686
|
+
report_json_sha256: result.reportBinding.reportSha256,
|
|
687
|
+
...(result.legacyPendingIdentities
|
|
688
|
+
? { legacy_pending_identities: result.legacyPendingIdentities }
|
|
689
|
+
: {}),
|
|
690
|
+
}
|
|
691
|
+
: {}),
|
|
692
|
+
// Which identity each sighting was matched to, so the server
|
|
693
|
+
// can apply standing verdicts to keys that moved (IO-12601).
|
|
694
|
+
identities: roundIdentities(result.findings),
|
|
695
|
+
},
|
|
696
|
+
}),
|
|
697
|
+
...(maxRounds !== undefined
|
|
698
|
+
? [buildEvent({ kind: 'cap_changed', convergeTarget: target, round,
|
|
699
|
+
payload: { kind: 'rounds', to: result.roundCap } })]
|
|
700
|
+
: []),
|
|
701
|
+
]);
|
|
702
|
+
return { result, classified, actionable };
|
|
703
|
+
});
|
|
671
704
|
if (opts.json) {
|
|
672
705
|
console.log(JSON.stringify({
|
|
673
706
|
target: opts.target,
|
|
@@ -675,8 +708,11 @@ program
|
|
|
675
708
|
roundCap: result.roundCap,
|
|
676
709
|
reviewerHealth: blockingHealthJson(health),
|
|
677
710
|
counts: result.counts,
|
|
678
|
-
actionableGating: actionable.length,
|
|
711
|
+
actionableGating: result.actionableIdentities?.length ?? actionable.length,
|
|
679
712
|
findings: classified,
|
|
713
|
+
...(result.recoveryProjection
|
|
714
|
+
? { recoveryProjection: result.recoveryProjection }
|
|
715
|
+
: {}),
|
|
680
716
|
}, null, 2));
|
|
681
717
|
return;
|
|
682
718
|
}
|
|
@@ -684,7 +720,7 @@ program
|
|
|
684
720
|
console.log(`Round ${round}/${result.roundCap} for ${opts.target}: ` +
|
|
685
721
|
`${result.counts.new} new, ${result.counts.repeat} repeat, ` +
|
|
686
722
|
`${result.counts.suppressed} suppressed, ${result.counts.regating} regating · ` +
|
|
687
|
-
`${actionable.length} actionable gating finding(s)`);
|
|
723
|
+
`${result.actionableIdentities?.length ?? actionable.length} actionable gating finding(s)`);
|
|
688
724
|
for (const f of actionable) {
|
|
689
725
|
console.log(` [${f.status}] ${f.identity} ${f.file}:${f.startLine} — ${f.title}`);
|
|
690
726
|
}
|
|
@@ -778,68 +814,74 @@ program
|
|
|
778
814
|
if (new Set(verdicts.map(({ key }) => key)).size !== verdicts.length) {
|
|
779
815
|
throw new ConvergeRunStateError('Pass each finding identity only once, as either fixed or dismissed.');
|
|
780
816
|
}
|
|
781
|
-
const
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
});
|
|
788
|
-
// Feed the cross-run precision history (RCL-27) — fail-soft, the
|
|
789
|
-
// verdicts above are already durably recorded.
|
|
790
|
-
try {
|
|
791
|
-
const ts = new Date().toISOString();
|
|
792
|
-
await appendOutcomes(updated
|
|
793
|
-
.filter((e) => e.verdict !== undefined && e.models.length > 0)
|
|
794
|
-
.map((e) => ({
|
|
795
|
-
ts,
|
|
796
|
-
verdict: e.verdict,
|
|
797
|
-
models: e.models,
|
|
798
|
-
severity: e.verdictSeverity ?? e.severity,
|
|
799
|
-
target: opts.target,
|
|
800
|
-
findingKey: e.key,
|
|
801
|
-
source: 'live',
|
|
802
|
-
})));
|
|
803
|
-
}
|
|
804
|
-
catch (err) {
|
|
805
|
-
// Advisory history; verdict recording must not fail over it —
|
|
806
|
-
// but say so, or a broken store silently stops learning.
|
|
807
|
-
console.warn(`Model-stats store unavailable (outcomes not recorded): ${String(err)}`);
|
|
808
|
-
}
|
|
809
|
-
await reportConvergeEvents([
|
|
810
|
-
buildEvent({
|
|
811
|
-
kind: 'verdicts_recorded',
|
|
812
|
-
convergeTarget: opts.target,
|
|
817
|
+
const target = opts.target;
|
|
818
|
+
const gitCommonDir = await resolveGitCommonDir();
|
|
819
|
+
const { entries: updated, resolution, runId: roundRun } = await withNativeTarget(gitCommonDir, target, async (ownership) => {
|
|
820
|
+
const recorded = await recordVerdicts({
|
|
821
|
+
gitCommonDir,
|
|
822
|
+
target,
|
|
813
823
|
round,
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
824
|
+
verdicts,
|
|
825
|
+
runId: opts.runId,
|
|
826
|
+
ownership,
|
|
827
|
+
});
|
|
828
|
+
// Feed the cross-run precision history (RCL-27) — fail-soft, the
|
|
829
|
+
// verdicts above are already durably recorded.
|
|
830
|
+
try {
|
|
831
|
+
const ts = new Date().toISOString();
|
|
832
|
+
await appendOutcomes(recorded.entries
|
|
833
|
+
.filter((e) => e.verdict !== undefined && e.models.length > 0)
|
|
834
|
+
.map((e) => ({
|
|
835
|
+
ts,
|
|
836
|
+
verdict: e.verdict,
|
|
837
|
+
models: e.models,
|
|
838
|
+
severity: e.verdictSeverity ?? e.severity,
|
|
839
|
+
target,
|
|
840
|
+
findingKey: e.key,
|
|
841
|
+
source: 'live',
|
|
842
|
+
})));
|
|
843
|
+
}
|
|
844
|
+
catch (err) {
|
|
845
|
+
// Advisory history; verdict recording must not fail over it —
|
|
846
|
+
// but say so, or a broken store silently stops learning.
|
|
847
|
+
console.warn(`Model-stats store unavailable (outcomes not recorded): ${String(err)}`);
|
|
848
|
+
}
|
|
849
|
+
await reportConvergeEvents([
|
|
850
|
+
buildEvent({
|
|
851
|
+
kind: 'verdicts_recorded',
|
|
852
|
+
convergeTarget: target,
|
|
853
|
+
round,
|
|
854
|
+
...(recorded.runId !== undefined ? { runId: recorded.runId } : {}),
|
|
855
|
+
payload: {
|
|
856
|
+
verdicts: recorded.entries.map((e) => ({
|
|
857
|
+
identity_key: e.key,
|
|
858
|
+
verdict: e.verdict,
|
|
859
|
+
// Verdict reasons are user-authored prose: scrubbed like every other free text that leaves the machine.
|
|
860
|
+
...(e.verdictReason !== undefined ? { reason: scrubText(e.verdictReason, 500) } : {}),
|
|
861
|
+
severity: e.verdictSeverity ?? e.severity,
|
|
862
|
+
models: e.models,
|
|
863
|
+
})),
|
|
864
|
+
},
|
|
865
|
+
}),
|
|
866
|
+
...(recorded.resolution
|
|
867
|
+
? [
|
|
868
|
+
buildEvent({
|
|
869
|
+
kind: 'resolution',
|
|
870
|
+
convergeTarget: target,
|
|
871
|
+
round,
|
|
872
|
+
...(recorded.runId !== undefined ? { runId: recorded.runId } : {}),
|
|
873
|
+
payload: {
|
|
874
|
+
status: recorded.resolution.status,
|
|
875
|
+
actionable: recorded.resolution.actionable,
|
|
876
|
+
unresolved: recorded.resolution.unresolved.length,
|
|
877
|
+
fixed_this_round: recorded.resolution.fixedThisRound,
|
|
878
|
+
},
|
|
879
|
+
}),
|
|
880
|
+
]
|
|
881
|
+
: []),
|
|
882
|
+
]);
|
|
883
|
+
return recorded;
|
|
884
|
+
});
|
|
843
885
|
if (opts.json) {
|
|
844
886
|
console.log(JSON.stringify({
|
|
845
887
|
target: opts.target,
|
|
@@ -886,19 +928,31 @@ const telemetry = program
|
|
|
886
928
|
.description('Evidence delivery to Harness: credentials, queued deliveries and retained rejected reports');
|
|
887
929
|
telemetry
|
|
888
930
|
.command('recover-reviewer')
|
|
889
|
-
.description('
|
|
890
|
-
.
|
|
891
|
-
.
|
|
931
|
+
.description('Recover one terminal reviewer delivery without restarting reviewers')
|
|
932
|
+
.option('--preview', 'Write a pinned manifest without changing the server')
|
|
933
|
+
.option('--apply', 'Apply one exact reviewed recovery manifest')
|
|
934
|
+
.option('--resume', 'Resume the same journaled recovery operation')
|
|
935
|
+
.option('--manifest <path>', 'Immutable recovery manifest path; required for preview, apply or resume')
|
|
936
|
+
.option('--manifest-sha256 <sha256>', 'Required exact manifest digest for apply or resume')
|
|
937
|
+
.option('--target <target>', 'Exact guarded convergence target (preview or legacy no-outbox delivery)')
|
|
938
|
+
.option('--run <id>', 'Exact retained terminal run UUID (preview or legacy no-outbox delivery)')
|
|
892
939
|
.option('--json', 'Output JSON')
|
|
893
940
|
.action(async (opts) => {
|
|
894
941
|
try {
|
|
895
942
|
const runtime = await createTelemetryRuntime({ rclVersion: RCL_VERSION });
|
|
896
|
-
const result = await deliverTerminalReviewerRun(runtime, {
|
|
943
|
+
const result = await deliverTerminalReviewerRun(runtime, { preview: opts.preview, apply: opts.apply, resume: opts.resume,
|
|
944
|
+
manifest: opts.manifest, manifestSha256: opts.manifestSha256, target: opts.target, runId: opts.run });
|
|
897
945
|
if (opts.json)
|
|
898
946
|
console.log(JSON.stringify(result, null, 2));
|
|
947
|
+
else if (!('status' in result)) {
|
|
948
|
+
const legacy = result;
|
|
949
|
+
console.log(`${legacy.outcome.line}\nReport ${legacy.reportSha256}; reviewer artifact ${legacy.reviewerArtifactSha256}`);
|
|
950
|
+
}
|
|
951
|
+
else if (result.status === 'prepared')
|
|
952
|
+
console.log(`Recovery manifest ${result.manifest}\nSHA-256 ${result.manifest_sha256}\nOperation ${result.operation_id}`);
|
|
899
953
|
else
|
|
900
|
-
console.log(
|
|
901
|
-
process.exitCode = result.outcome.exitCode;
|
|
954
|
+
console.log(`Reviewer recovery complete for ${result.run_id}\nJournal ${result.journal}\nAcknowledgement ${result.recovery_acknowledgement}`);
|
|
955
|
+
process.exitCode = !('status' in result) ? result.outcome.exitCode : 0;
|
|
902
956
|
}
|
|
903
957
|
catch (error) {
|
|
904
958
|
const message = scrubText(error instanceof Error ? error.message : String(error), 300);
|
|
@@ -1054,6 +1108,22 @@ evidenceCmd
|
|
|
1054
1108
|
.action(async (runId, opts) => {
|
|
1055
1109
|
process.exitCode = await runEvidenceShow(runId ?? '', opts, evidenceDeps());
|
|
1056
1110
|
});
|
|
1111
|
+
evidenceCmd
|
|
1112
|
+
.command('recover-claim')
|
|
1113
|
+
.description('Preview, apply or resume an evidence-backed claim correction on the same target')
|
|
1114
|
+
.option('--preview', 'Read immutable evidence and write an exclusive preview manifest')
|
|
1115
|
+
.option('--apply', 'Apply the explicitly pinned manifest')
|
|
1116
|
+
.option('--resume', 'Resume the same operation after independently reading accepted receipts')
|
|
1117
|
+
.option('--selection <path>', 'Explicit source and claim selection for preview')
|
|
1118
|
+
.option('--adopt-manifest <path>', 'Existing operation manifest to adopt during preview')
|
|
1119
|
+
.option('--adopt-manifest-sha256 <sha256>', 'Exact digest of the existing operation manifest')
|
|
1120
|
+
.requiredOption('--manifest <path>', 'Exclusive preview manifest or existing operation manifest')
|
|
1121
|
+
.option('--manifest-sha256 <sha256>', 'Exact reviewed manifest digest for apply or resume')
|
|
1122
|
+
.option('--json', 'Print machine-readable operation status')
|
|
1123
|
+
.action(async (opts) => {
|
|
1124
|
+
const { runPublicClaimRecovery } = await import('./evidence/recover-claim.js');
|
|
1125
|
+
process.exitCode = await runPublicClaimRecovery(opts, evidenceDeps());
|
|
1126
|
+
});
|
|
1057
1127
|
evidenceCmd
|
|
1058
1128
|
.command('recover-run')
|
|
1059
1129
|
.description('Preview, apply or resume delivery of one immutable original asserted run; no review, events or native accounting')
|
|
@@ -1360,7 +1430,20 @@ async function prepareCouncil(spinner, opts, fallbackRoles, attestation) {
|
|
|
1360
1430
|
const startedAt = new Date();
|
|
1361
1431
|
// Validate the converge context first: a bad --round must fail before any
|
|
1362
1432
|
// model time is spent, not after the council has run.
|
|
1363
|
-
|
|
1433
|
+
let converge = resolveConvergeContext({ convergeTarget: opts.convergeTarget, round: opts.round, attempt: opts.attempt }, reviewConvergeEnvironment(opts));
|
|
1434
|
+
if (!opts.startOver && opts.guardedConverge && converge && converge.round === undefined) {
|
|
1435
|
+
const state = await loadConvergeRunState(await resolveGitCommonDir(), converge.target);
|
|
1436
|
+
converge = { ...converge, round: Math.max(0, ...(state?.rounds.map(entry => entry.round) ?? [])) + 1 };
|
|
1437
|
+
}
|
|
1438
|
+
const recoveredProduction = converge && !opts.startOver
|
|
1439
|
+
? await selectCurrentRecoveredProduction(converge)
|
|
1440
|
+
: undefined;
|
|
1441
|
+
if (recoveredProduction && !opts.guardedConverge) {
|
|
1442
|
+
throw new ReviewLaunchRefused('recovery_guard_required', 'Recovered-v3 production requires --guarded-converge so the provider call and report admission remain bound to one durable attempt.');
|
|
1443
|
+
}
|
|
1444
|
+
if (opts.guardedConverge && converge?.attempt !== undefined && !recoveredProduction) {
|
|
1445
|
+
throw new ReviewLaunchRefused('preclaimed_attempt_ineligible', 'An explicit guarded attempt may only hand off the exact standalone claim for recovered-v3 production.');
|
|
1446
|
+
}
|
|
1364
1447
|
if (!opts.exportPendingPackage)
|
|
1365
1448
|
await fetchHarnessKeys(spinner, attestation?.credential);
|
|
1366
1449
|
const config = await loadConfig(opts.config, undefined, { preserveDefaultRoster: opts.guardedConverge });
|
|
@@ -1554,7 +1637,10 @@ async function prepareCouncil(spinner, opts, fallbackRoles, attestation) {
|
|
|
1554
1637
|
...(pendingClaimPlan ? { pendingClaimPlan } : {}),
|
|
1555
1638
|
explicit: explicitReviewers !== undefined,
|
|
1556
1639
|
coreModels: models,
|
|
1557
|
-
...(converge ? { converge
|
|
1640
|
+
...(converge ? { converge: { ...converge, ...(recoveredProduction ? { recovery_source: {
|
|
1641
|
+
version: 1, native_sha256: recoveredProduction.nativeSha256,
|
|
1642
|
+
} } : {}) } } : {}),
|
|
1643
|
+
...(recoveredProduction ? { recoveredProduction } : {}),
|
|
1558
1644
|
startedAt,
|
|
1559
1645
|
};
|
|
1560
1646
|
}
|
|
@@ -1585,8 +1671,10 @@ async function discoverCycleReview(target, opts) {
|
|
|
1585
1671
|
const active = opts.startOver ? undefined : await loadConvergeRunState(common, targetKey);
|
|
1586
1672
|
if (!opts.startOver && !active?.cycle)
|
|
1587
1673
|
return opts;
|
|
1588
|
-
|
|
1674
|
+
const recoveredPreclaim = active?.version === 3 && opts.guardedConverge && opts.attempt !== undefined;
|
|
1675
|
+
if ((opts.attempt !== undefined && !recoveredPreclaim) || (opts.startOver && opts.round !== undefined) || opts.attest) {
|
|
1589
1676
|
throw new Error('A fresh review assigns its own ordinals and needs an ordinary actor credential');
|
|
1677
|
+
}
|
|
1590
1678
|
if (opts.telemetry === false)
|
|
1591
1679
|
throw new Error('Fresh review cycles require Harness evidence');
|
|
1592
1680
|
const paths = opts.jsonFile ? {} : await freshReviewOutputPaths(common);
|
|
@@ -1681,8 +1769,8 @@ async function runReview(target, opts) {
|
|
|
1681
1769
|
const converge = resolveConvergeContext(opts, reviewConvergeEnvironment(opts));
|
|
1682
1770
|
if (!converge)
|
|
1683
1771
|
throw new ReviewLaunchRefused('target_required', 'A guarded launch requires --converge-target.');
|
|
1684
|
-
if (
|
|
1685
|
-
throw new ReviewLaunchRefused('incompatible_launch', 'Guarded review
|
|
1772
|
+
if (opts.attest) {
|
|
1773
|
+
throw new ReviewLaunchRefused('incompatible_launch', 'Guarded review cannot be combined with --attest.');
|
|
1686
1774
|
}
|
|
1687
1775
|
}
|
|
1688
1776
|
// Exactly one review source: a positional target, --staged, or --working-tree
|
|
@@ -1897,7 +1985,16 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
|
|
|
1897
1985
|
const runtime = await createTelemetryRuntime({ rclVersion: RCL_VERSION, config, noTelemetry: opts.telemetry === false });
|
|
1898
1986
|
if (!runtime.sink || runtime.level !== 'full')
|
|
1899
1987
|
throw new Error('Fresh review cycles require full Harness evidence and an actor credential');
|
|
1900
|
-
|
|
1988
|
+
const prTarget = parseGitHubTarget(`${extra.target.repo}#${extra.target.prNumber}`);
|
|
1989
|
+
cycleRemote = createReviewCycleRemote(runtime.sink, extra.target.repo, extra.target.prNumber, opts.expectPrHeadSha ?? extra.target.headSha ?? '', async () => {
|
|
1990
|
+
const client = await createGitHubClient(config.githubToken);
|
|
1991
|
+
const auth = await client.auth();
|
|
1992
|
+
if (typeof auth !== 'object' || auth === null || !('type' in auth) || auth.type !== 'token') {
|
|
1993
|
+
throw new Error('fresh_review_github_auth_unavailable');
|
|
1994
|
+
}
|
|
1995
|
+
const { data: pr } = await getGitHubPullRequest(client, prTarget);
|
|
1996
|
+
return { headSha: pr.head.sha, merged: pr.merged, state: pr.state };
|
|
1997
|
+
});
|
|
1901
1998
|
}
|
|
1902
1999
|
if (opts.resumePending || opts.finalizePendingOnly) {
|
|
1903
2000
|
const asyncBinding = opts.resumeAsyncSha256.trim();
|
|
@@ -2122,6 +2219,7 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
|
|
|
2122
2219
|
target: prepared.converge.target,
|
|
2123
2220
|
startOver: opts.startOver, cycleRemote,
|
|
2124
2221
|
boundFixRecovery,
|
|
2222
|
+
recoverySource: prepared.converge.recovery_source,
|
|
2125
2223
|
headSha: extra.target.headSha ?? '',
|
|
2126
2224
|
inputSha256: guardedInputSha256(guardedInput),
|
|
2127
2225
|
round: prepared.converge.round,
|
|
@@ -2130,6 +2228,7 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
|
|
|
2130
2228
|
...(opts.retryReport ? { legacyRetry: { reportPath: opts.retryReport, config, roster,
|
|
2131
2229
|
historicalPlan: prepared.historicalRetryPlan === true } } : {}),
|
|
2132
2230
|
maxAttempts: opts.maxAttempts === undefined ? undefined : Number(opts.maxAttempts),
|
|
2231
|
+
consumeAttempt: prepared.recoveredProduction ? prepared.converge.attempt : undefined,
|
|
2133
2232
|
maxRounds: opts.maxRounds === undefined ? undefined : Number(opts.maxRounds),
|
|
2134
2233
|
validate: async () => {
|
|
2135
2234
|
validateLaunchProviders(roster.map(entry => entry.provider));
|
|
@@ -2147,7 +2246,7 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
|
|
|
2147
2246
|
baseSha: retained.baseSha } };
|
|
2148
2247
|
},
|
|
2149
2248
|
onClaim: async (claim) => {
|
|
2150
|
-
if (opts.telemetry !== false)
|
|
2249
|
+
if (!claim.preclaimed && opts.telemetry !== false)
|
|
2151
2250
|
await reportConvergeEvents([buildEvent({
|
|
2152
2251
|
kind: 'attempt_claimed', convergeTarget: claim.target, attempt: claim.attempt,
|
|
2153
2252
|
payload: { attempt: claim.attempt, cap: claim.cap, ...(claim.cycle ? { cycle_id: claim.cycle.id } : {}),
|
|
@@ -2444,7 +2543,10 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
|
|
|
2444
2543
|
startedAt: extra.pendingResume
|
|
2445
2544
|
? new Date(extra.pendingResume.launch.startedAtMs)
|
|
2446
2545
|
: prepared.startedAt,
|
|
2447
|
-
...(prepared.converge ? { converge: {
|
|
2546
|
+
...(prepared.converge ? { converge: {
|
|
2547
|
+
target: prepared.converge.target, round: prepared.converge.round, attempt: prepared.converge.attempt,
|
|
2548
|
+
...(prepared.converge.recovery_source ? { recovery_source: prepared.converge.recovery_source } : {}),
|
|
2549
|
+
}, cycleId: prepared.converge.cycleId } : {}),
|
|
2448
2550
|
};
|
|
2449
2551
|
const assemblyDependencies = {
|
|
2450
2552
|
onStage: postReviewStage,
|
|
@@ -2501,7 +2603,7 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
|
|
|
2501
2603
|
else
|
|
2502
2604
|
result = await assembleCompletedReview({
|
|
2503
2605
|
chunkReviews, arrivedAsync, asyncLaunched, startTime, roleMap, config, diff,
|
|
2504
|
-
gatingConfig: prepared.gatingConfig, modelWeights, run: runInput,
|
|
2606
|
+
gatingConfig: prepared.gatingConfig, recoveredProduction: prepared.recoveredProduction, modelWeights, run: runInput,
|
|
2505
2607
|
}, assemblyDependencies);
|
|
2506
2608
|
const { run } = result;
|
|
2507
2609
|
// The same derivation converge-report and the server apply to this report.
|