@allocator-one/rcl 4.5.21 → 4.5.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +16 -8
  2. package/dist/ci.js +2 -3
  3. package/dist/ci.js.map +1 -1
  4. package/dist/consensus/deduper.d.ts +1 -0
  5. package/dist/consensus/deduper.js +1 -1
  6. package/dist/consensus/deduper.js.map +1 -1
  7. package/dist/consensus/gating.d.ts +15 -3
  8. package/dist/consensus/gating.js +35 -22
  9. package/dist/consensus/gating.js.map +1 -1
  10. package/dist/consensus/types.d.ts +1 -1
  11. package/dist/consensus/verification-contract.d.ts +6 -0
  12. package/dist/consensus/verification-contract.js +9 -0
  13. package/dist/consensus/verification-contract.js.map +1 -1
  14. package/dist/converge/dismissal-citations.d.ts +42 -0
  15. package/dist/converge/dismissal-citations.js +76 -0
  16. package/dist/converge/dismissal-citations.js.map +1 -0
  17. package/dist/converge/fresh-review-close.d.ts +89 -0
  18. package/dist/converge/fresh-review-close.js +222 -0
  19. package/dist/converge/fresh-review-close.js.map +1 -0
  20. package/dist/converge/fresh-review.d.ts +52 -0
  21. package/dist/converge/fresh-review.js +35 -0
  22. package/dist/converge/fresh-review.js.map +1 -1
  23. package/dist/converge/launch-guard.js +2 -2
  24. package/dist/converge/launch-guard.js.map +1 -1
  25. package/dist/converge/pr-snapshot.d.ts +53 -0
  26. package/dist/converge/pr-snapshot.js +76 -0
  27. package/dist/converge/pr-snapshot.js.map +1 -0
  28. package/dist/converge/repeat-guard.d.ts +46 -0
  29. package/dist/converge/repeat-guard.js +44 -0
  30. package/dist/converge/repeat-guard.js.map +1 -0
  31. package/dist/converge/run-state.d.ts +10 -0
  32. package/dist/converge/run-state.js +76 -2
  33. package/dist/converge/run-state.js.map +1 -1
  34. package/dist/dispatch/checkpoint-verification.js +1 -1
  35. package/dist/dispatch/checkpoint-verification.js.map +1 -1
  36. package/dist/evidence/original-run/source.js +2 -1
  37. package/dist/evidence/original-run/source.js.map +1 -1
  38. package/dist/evidence/retriage-finding.js +17 -0
  39. package/dist/evidence/retriage-finding.js.map +1 -1
  40. package/dist/evidence/reviewer-lineage.d.ts +6 -2
  41. package/dist/evidence/reviewer-lineage.js +14 -7
  42. package/dist/evidence/reviewer-lineage.js.map +1 -1
  43. package/dist/evidence/reviewer-original.js +1 -1
  44. package/dist/evidence/reviewer-original.js.map +1 -1
  45. package/dist/index.js +109 -4
  46. package/dist/index.js.map +1 -1
  47. package/dist/output/markdown.js +2 -2
  48. package/dist/output/markdown.js.map +1 -1
  49. package/dist/prompts/hardening.d.ts +8 -5
  50. package/dist/prompts/hardening.js +14 -10
  51. package/dist/prompts/hardening.js.map +1 -1
  52. package/dist/report/aggregation-inputs.d.ts +6 -2
  53. package/dist/report/aggregation-inputs.js +12 -4
  54. package/dist/report/aggregation-inputs.js.map +1 -1
  55. package/dist/report/assembly.d.ts +3 -0
  56. package/dist/report/assembly.js +3 -2
  57. package/dist/report/assembly.js.map +1 -1
  58. package/dist/report/checkpoint-gating.js +1 -0
  59. package/dist/report/checkpoint-gating.js.map +1 -1
  60. package/package.json +1 -1
@@ -22,7 +22,7 @@ function assertBindings(captured, run, diff, target, mergeBase) {
22
22
  if (!aggregation || !isDeepStrictEqual(captured.config.thresholds, aggregation.thresholds) ||
23
23
  captured.config.output?.belowThresholdAppendix !== aggregation.belowThresholdAppendix)
24
24
  refuse('aggregation_mismatch');
25
- if (aggregation.verifierContractVersion !== 2)
25
+ if (aggregation.verifierContractVersion === undefined)
26
26
  refuse('verifier_contract');
27
27
  const repo = run.target.repo && parseRepoName(run.target.repo);
28
28
  const pr = run.target.prNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer-original.js","sourceRoot":"","sources":["../../src/evidence/reviewer-original.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer-original.js","sourceRoot":"","sources":["../../src/evidence/reviewer-original.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,6 +4,8 @@ import { guardedDeliveryState } from './telemetry/deliver.js';
4
4
  import { AmbiguousReviewerIdentityError, assertUnambiguousReviewerIdentities } from './dispatch/reviewer-identity.js';
5
5
  import { retainAssemblyRefusal } from './output/assembly-refusal.js';
6
6
  import { createReviewCycleRemote } from './converge/cycle-remote.js';
7
+ import { prSnapshotFrom, readPrSnapshot, writePrSnapshot } from './converge/pr-snapshot.js';
8
+ import { applyFreshReviewClose, previewFreshReviewClose } from './converge/fresh-review-close.js';
7
9
  import { assertNoPendingFreshReview, freshReviewOutputPaths } from './converge/fresh-review.js';
8
10
  import { previewStaleReport, applyStaleReport } from './converge/stale-report.js';
9
11
  import { previewHistoricalDeliveryReconciliation, applyHistoricalDeliveryReconciliation } from './converge/historical-delivery-reconciliation.js';
@@ -82,6 +84,7 @@ import { runRefutationRecovery } from './telemetry/recovery/command.js';
82
84
  import { parseRepoName } from './evidence/target.js';
83
85
  import { text } from './evidence/format.js';
84
86
  import { loadConvergeRunState } from './converge/run-state.js';
87
+ import { checkDismissalCitations, dismissalRequiresCitation, gitRevisionReader, reviewedRevision } from './converge/dismissal-citations.js';
85
88
  import { finalizeOrdinaryPendingLaunch, previewOrdinaryPendingLaunch, resumePendingLegacyLaunch } from './converge/pending-legacy-resume.js';
86
89
  import { guardedInputWithoutAsyncSeats, ordinaryPendingGuardedInput } from './converge/ordinary-pending-package.js';
87
90
  import { exportOrdinaryPendingPackage, retainOrdinaryLaunchInputs } from './converge/ordinary-pending-export.js';
@@ -239,6 +242,7 @@ program
239
242
  .option('--round <n>', 'Converge round number (or RCL_CONVERGE_ROUND)')
240
243
  .option('--attempt <n>', 'Converge attempt number (or RCL_CONVERGE_ATTEMPT)')
241
244
  .option('--start-over', 'Start an explicitly requested fresh review with a new normal budget; retain all prior evidence and spending')
245
+ .option('--pr-snapshot <path>', 'Live pull request state from `rcl pr-snapshot`, captured by a parent that holds GitHub credentials; review cycles read it instead of GitHub (RCL-216)')
242
246
  .option('--guarded-converge', 'Validate and claim inside this review process, or consume an exact recovered-v3 --attempt; derive the round from native state')
243
247
  .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')
244
248
  .option('--launch-intent <intent>', 'Guarded intent: review, stop-upstream, stop-review, or retry-delivery')
@@ -519,6 +523,71 @@ program
519
523
  process.exitCode = 3;
520
524
  }
521
525
  });
526
+ program
527
+ .command('pr-snapshot <pr>')
528
+ .description('Capture a pull request\'s live state (head, base, open/merged) for a review process that holds no GitHub ' +
529
+ 'credentials: run it in the parent, then pass the file to `rcl review --pr-snapshot` within 15 minutes (RCL-216)')
530
+ .requiredOption('--out <path>', 'New file to write (refuses an existing one); readable by its owner only')
531
+ .option('--config <path>', 'Path to config file')
532
+ .option('--json')
533
+ .action(async (pr, opts) => {
534
+ try {
535
+ if (!isGitHubTarget(pr))
536
+ throw new Error('pr_snapshot_requires_pull_request');
537
+ const target = parseGitHubTarget(pr);
538
+ const config = await loadConfig(opts.config);
539
+ const { data } = await getGitHubPullRequest(await createGitHubClient(config.githubToken), target);
540
+ const snapshot = prSnapshotFrom(`${target.owner}/${target.repo}`, target.number, data);
541
+ const digest = await writePrSnapshot(opts.out, snapshot);
542
+ console.log(opts.json ? JSON.stringify({ snapshot, path: opts.out, sha256: digest })
543
+ : `Wrote ${opts.out}: ${snapshot.repo}#${snapshot.prNumber} ${snapshot.state} at ${snapshot.headSha} (sha256 ${digest})`);
544
+ }
545
+ catch (error) {
546
+ console.error(JSON.stringify({ error: { code: 'RCL_PR_SNAPSHOT', message: error instanceof Error ? error.message : String(error) } }));
547
+ process.exitCode = 3;
548
+ }
549
+ });
550
+ program
551
+ .command('converge-close-fresh')
552
+ .description('Preview or apply an audited close of a fresh-review operation whose launch died before writing any report; ' +
553
+ 'never creates a round, finding, verdict or attempt (RCL-216)')
554
+ .option('--preview')
555
+ .option('--apply')
556
+ .option('--target <target>')
557
+ .option('--operation <uuid>', 'The fresh-review operation to close (its native current operation)')
558
+ .requiredOption('--manifest <path>', 'Exclusive preview manifest; the reviewed manifest for apply')
559
+ .option('--manifest-sha256 <sha256>', 'Exact reviewed manifest bytes; required for apply')
560
+ .option('--json')
561
+ .action(async (opts) => {
562
+ try {
563
+ if ([opts.preview, opts.apply].filter(Boolean).length !== 1)
564
+ throw new Error('choose_exactly_one_fresh_close_mode');
565
+ const gitCommonDir = await resolveGitCommonDir();
566
+ let result;
567
+ if (opts.preview) {
568
+ if (opts.manifestSha256 !== undefined)
569
+ throw new Error('preview_does_not_accept_manifest_digest');
570
+ if (typeof opts.target !== 'string' || typeof opts.operation !== 'string')
571
+ throw new Error('fresh_close_preview_arguments_required');
572
+ const manifest = await previewFreshReviewClose({ target: opts.target, operationId: opts.operation }, gitCommonDir);
573
+ await writeExclusive(opts.manifest, manifest, 256 * 1024);
574
+ result = { mode: 'preview', manifest, manifestSha256: sha256(serializeRecoveryDocument(manifest)), accounting: 'unchanged',
575
+ scope: 'local operation close; no admission or approval' };
576
+ }
577
+ else {
578
+ if (opts.target !== undefined || opts.operation !== undefined)
579
+ throw new Error('apply_uses_only_pinned_manifest');
580
+ result = { mode: 'apply', result: await applyFreshReviewClose({ manifest: opts.manifest,
581
+ manifestSha256: opts.manifestSha256 }, gitCommonDir), accounting: 'unchanged',
582
+ scope: 'local operation close; no admission or approval' };
583
+ }
584
+ console.log(JSON.stringify(result));
585
+ }
586
+ catch (error) {
587
+ console.error(JSON.stringify({ error: { code: 'RCL_CONVERGE_CLOSE_FRESH', message: error instanceof Error ? error.message : String(error) } }));
588
+ process.exitCode = 3;
589
+ }
590
+ });
522
591
  program
523
592
  .command('converge-gap')
524
593
  .description('Preview, apply or resume one evidenced missing-terminal-report audit gap; never creates a round, finding, verdict or attempt')
@@ -771,7 +840,7 @@ program
771
840
  prev.push(val);
772
841
  return prev;
773
842
  }, [])
774
- .option('--dismissed <key=reason>', 'Finding identity dismissed, with reason (repeatable)', (val, prev) => {
843
+ .option('--dismissed <key=reason>', 'Finding identity dismissed, with reason; a gating dismissal must cite path:line `quoted code` (repeatable)', (val, prev) => {
775
844
  prev.push(val);
776
845
  return prev;
777
846
  }, [])
@@ -820,6 +889,7 @@ program
820
889
  const target = opts.target;
821
890
  const gitCommonDir = await resolveGitCommonDir();
822
891
  const { entries: updated, resolution, runId: roundRun } = await withNativeTarget(gitCommonDir, target, async (ownership) => {
892
+ await assertCitedGatingDismissals(gitCommonDir, target, round, verdicts);
823
893
  const recorded = await recordVerdicts({
824
894
  gitCommonDir,
825
895
  target,
@@ -899,8 +969,12 @@ program
899
969
  switch (resolution.status) {
900
970
  case 'converged-dismissal-only':
901
971
  console.log(`Round ${round} resolution: all ${resolution.actionable} gating finding(s) dismissed, ` +
902
- 'nothing fixed — the reviewed patch is unchanged, so this round CONVERGES. ' +
972
+ 'no gating finding fixed — this round CONVERGES. ' +
903
973
  'No confirmation round is required (RCL-30).');
974
+ if (resolution.fixedThisRound > 0) {
975
+ console.log(`${resolution.fixedThisRound} non-gating fix(es) recorded. They never buy another round, ` +
976
+ 'and a converged PR is not pushed again for them (RCL-218): leave them out of the PR.');
977
+ }
904
978
  break;
905
979
  case 'fixes-pending-fresh-round':
906
980
  console.log(`Round ${round} resolution: ${resolution.fixedThisRound} fix(es) recorded — ` +
@@ -1923,6 +1997,31 @@ async function runReview(target, opts) {
1923
1997
  : opts.guardedConverge && err instanceof ReviewCouncilInterrupted ? 5 : 1;
1924
1998
  }
1925
1999
  }
2000
+ /**
2001
+ * Refuse a gating dismissal that does not quote, on its cited lines, the code
2002
+ * the round reviewed (RCL-201). Runs before any verdict is written.
2003
+ */
2004
+ async function assertCitedGatingDismissals(gitCommonDir, target, round, verdicts) {
2005
+ const state = await loadConvergeRunState(gitCommonDir, target);
2006
+ if (!state)
2007
+ return;
2008
+ const gated = verdicts.filter(v => v.verdict === 'dismissed' && dismissalRequiresCitation(state, round, v.key));
2009
+ if (gated.length === 0)
2010
+ return;
2011
+ const launch = state.version === 3
2012
+ ? (await (await import('./converge/attempt-budget.js')).loadConvergeAttemptState(gitCommonDir, target))?.lastLaunch
2013
+ : state.lastLaunch;
2014
+ const read = gitRevisionReader(process.cwd(), reviewedRevision(launch, round));
2015
+ const problems = [];
2016
+ for (const { key, reason } of gated) {
2017
+ const problem = await checkDismissalCitations(reason ?? '', read);
2018
+ if (problem)
2019
+ problems.push(`${key}: ${problem}`);
2020
+ }
2021
+ if (problems.length > 0) {
2022
+ throw new ConvergeRunStateError(`A dismissal of a gating finding must quote the code it relies on (RCL-201). No verdict was recorded.\n${problems.join('\n')}`);
2023
+ }
2024
+ }
1926
2025
  /**
1927
2026
  * Shared back half of every council command: chunking, prompt building,
1928
2027
  * dispatch, consensus, and every output surface.
@@ -2022,6 +2121,10 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
2022
2121
  throw new Error('Fresh review cycles require full Harness evidence and an actor credential');
2023
2122
  const prTarget = parseGitHubTarget(`${extra.target.repo}#${extra.target.prNumber}`);
2024
2123
  cycleRemote = createReviewCycleRemote(runtime.sink, extra.target.repo, extra.target.prNumber, opts.expectPrHeadSha ?? extra.target.headSha ?? '', async () => {
2124
+ // A parent with GitHub credentials hands the live state over, so this
2125
+ // review process needs none (RCL-216).
2126
+ if (opts.prSnapshot !== undefined)
2127
+ return readPrSnapshot(opts.prSnapshot, extra.target.repo, extra.target.prNumber);
2025
2128
  const client = await createGitHubClient(config.githubToken);
2026
2129
  const auth = await client.auth();
2027
2130
  if (typeof auth !== 'object' || auth === null || !('type' in auth) || auth.type !== 'token') {
@@ -2182,7 +2285,8 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
2182
2285
  };
2183
2286
  const aggregationInputs = captureAggregationInputs({ algorithm: AGGREGATION_ALGORITHM,
2184
2287
  diffSha256: diffDigest(diff.files), roleMap, thresholds, gating: prepared.gatingConfig,
2185
- belowThresholdAppendix: config.output?.belowThresholdAppendix ?? true });
2288
+ belowThresholdAppendix: config.output?.belowThresholdAppendix ?? true,
2289
+ ...(work.taskContext ? { taskContext: work.taskContext } : {}) });
2186
2290
  const captured = capturePreparedCouncil({ target: prepared.converge.target,
2187
2291
  headSha: extra.target.headSha ?? '', mergeBaseSha: extra.target.baseSha ?? '', diff,
2188
2292
  assignments,
@@ -2652,7 +2756,7 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
2652
2756
  };
2653
2757
  const assemblyDependencies = {
2654
2758
  onStage: postReviewStage,
2655
- onVerificationStart: () => { spinner.text = 'Verifying single-model findings...'; },
2759
+ onVerificationStart: () => { spinner.text = 'Verifying blocking findings...'; },
2656
2760
  onVerificationProgress: (event) => {
2657
2761
  const line = `Verification ${event.completedBatches}/${event.totalBatches} batches ` +
2658
2762
  `(${event.completedCandidates}/${event.totalCandidates} findings)`;
@@ -2706,6 +2810,7 @@ async function executeCouncil(spinner, prepared, diff, opts, extra, preparedWork
2706
2810
  result = await assembleCompletedReview({
2707
2811
  chunkReviews, arrivedAsync, asyncLaunched, startTime, roleMap, config, diff,
2708
2812
  gatingConfig: prepared.gatingConfig, recoveredProduction: prepared.recoveredProduction, modelWeights, run: runInput,
2813
+ ...(work.taskContext ? { taskContext: work.taskContext } : {}),
2709
2814
  }, assemblyDependencies);
2710
2815
  const { run } = result;
2711
2816
  // The same derivation converge-report and the server apply to this report.