@tokenfactory/acc-runner 0.44.0 → 0.44.1

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 (74) hide show
  1. package/README.md +23 -0
  2. package/dist/cost-pricing.d.ts +45 -0
  3. package/dist/cost-pricing.d.ts.map +1 -1
  4. package/dist/cost-pricing.js +57 -0
  5. package/dist/cost-pricing.js.map +1 -1
  6. package/dist/doctor.d.ts +4 -0
  7. package/dist/doctor.d.ts.map +1 -1
  8. package/dist/doctor.js +19 -0
  9. package/dist/doctor.js.map +1 -1
  10. package/dist/instance.d.ts +30 -0
  11. package/dist/instance.d.ts.map +1 -0
  12. package/dist/instance.js +51 -0
  13. package/dist/instance.js.map +1 -0
  14. package/dist/keychain.d.ts +4 -8
  15. package/dist/keychain.d.ts.map +1 -1
  16. package/dist/keychain.js +10 -4
  17. package/dist/keychain.js.map +1 -1
  18. package/dist/login.d.ts +4 -0
  19. package/dist/login.d.ts.map +1 -1
  20. package/dist/login.js +6 -1
  21. package/dist/login.js.map +1 -1
  22. package/dist/memory-context.d.ts +106 -0
  23. package/dist/memory-context.d.ts.map +1 -0
  24. package/dist/memory-context.js +220 -0
  25. package/dist/memory-context.js.map +1 -0
  26. package/dist/memory-curation.d.ts +172 -0
  27. package/dist/memory-curation.d.ts.map +1 -0
  28. package/dist/memory-curation.js +277 -0
  29. package/dist/memory-curation.js.map +1 -0
  30. package/dist/program.d.ts.map +1 -1
  31. package/dist/program.js +13 -0
  32. package/dist/program.js.map +1 -1
  33. package/dist/provider-auth.d.ts +19 -0
  34. package/dist/provider-auth.d.ts.map +1 -1
  35. package/dist/provider-auth.js +23 -0
  36. package/dist/provider-auth.js.map +1 -1
  37. package/dist/runtime/cache-dir.d.ts.map +1 -1
  38. package/dist/runtime/cache-dir.js +8 -3
  39. package/dist/runtime/cache-dir.js.map +1 -1
  40. package/dist/runtime/decision-provenance.d.ts +63 -0
  41. package/dist/runtime/decision-provenance.d.ts.map +1 -0
  42. package/dist/runtime/decision-provenance.js +107 -0
  43. package/dist/runtime/decision-provenance.js.map +1 -0
  44. package/dist/runtime/prompt-substitute.d.ts +100 -0
  45. package/dist/runtime/prompt-substitute.d.ts.map +1 -0
  46. package/dist/runtime/prompt-substitute.js +124 -0
  47. package/dist/runtime/prompt-substitute.js.map +1 -0
  48. package/dist/runtime/review-cost-cap.d.ts +167 -0
  49. package/dist/runtime/review-cost-cap.d.ts.map +1 -0
  50. package/dist/runtime/review-cost-cap.js +182 -0
  51. package/dist/runtime/review-cost-cap.js.map +1 -0
  52. package/dist/runtime/reviewer-abstain.d.ts +101 -0
  53. package/dist/runtime/reviewer-abstain.d.ts.map +1 -0
  54. package/dist/runtime/reviewer-abstain.js +138 -0
  55. package/dist/runtime/reviewer-abstain.js.map +1 -0
  56. package/dist/runtime/reviewer.d.ts +75 -0
  57. package/dist/runtime/reviewer.d.ts.map +1 -1
  58. package/dist/runtime/reviewer.js +205 -65
  59. package/dist/runtime/reviewer.js.map +1 -1
  60. package/dist/runtime/singleton.d.ts.map +1 -1
  61. package/dist/runtime/singleton.js +9 -1
  62. package/dist/runtime/singleton.js.map +1 -1
  63. package/dist/serving-auth/index.d.ts +79 -0
  64. package/dist/serving-auth/index.d.ts.map +1 -0
  65. package/dist/serving-auth/index.js +169 -0
  66. package/dist/serving-auth/index.js.map +1 -0
  67. package/dist/task-runner.d.ts +8 -0
  68. package/dist/task-runner.d.ts.map +1 -1
  69. package/dist/task-runner.js +37 -3
  70. package/dist/task-runner.js.map +1 -1
  71. package/dist/watch.d.ts.map +1 -1
  72. package/dist/watch.js +47 -19
  73. package/dist/watch.js.map +1 -1
  74. package/package.json +3 -2
@@ -24,6 +24,10 @@ import { prepareReviewWorktree, ReviewFetchError } from "./worktree.js";
24
24
  import { isEmptyReviewDiff } from "../review-diff-guard.js";
25
25
  import { diffFilePaths, splitDiffByFile } from "./review-diff.js";
26
26
  import { planReviewChunks, partitionAbsenceClaims, MAX_REVIEW_CHUNKS, REVIEWER_ABSENCE_ESCALATION_REASON, DISCARDED_CLAIM_PREFIX, } from "./review-chunking.js";
27
+ import { decisionProvenanceReason, reconcileReviewDecision, PROSE_KEYWORD_OVERRIDE_REASON, } from "./decision-provenance.js";
28
+ import { describePromptRenderBleed, findPromptRenderBleed, substitutePlaceholders, } from "./prompt-substitute.js";
29
+ import { abstainReasons, describeAbstainForLog, } from "./reviewer-abstain.js";
30
+ import { chargeReviewAttempt, classifyReviewCost, openReviewCostContext, reviewCostLedger, reviewCostOverrunReason, reviewCostRunawayReason, } from "./review-cost-cap.js";
27
31
  import { classifyTeardownFailure } from "../review-worktree-cleanup.js";
28
32
  // Byte-identical to prompts/reviewer-agent.md. The runner does not have
29
33
  // the markdown file at runtime (the package ships without prompts/) so
@@ -516,7 +520,7 @@ export function isRetriableError(stderr) {
516
520
  function defaultSleep(ms) {
517
521
  return new Promise((resolve) => setTimeout(resolve, ms));
518
522
  }
519
- export function renderReviewerPrompt(args) {
523
+ export function renderReviewerPromptChecked(args) {
520
524
  // RF-3: ONE truncation policy — float the AC-named proof files to the front,
521
525
  // cut at a whole-file boundary, and name what was withheld. Under the cap
522
526
  // nothing reorders and no notice renders, so the prompt is byte-identical to
@@ -538,14 +542,41 @@ export function renderReviewerPrompt(args) {
538
542
  const acceptance = (args.acceptance_criteria ?? [])
539
543
  .map((a, i) => `${i + 1}. ${a}`)
540
544
  .join("\n");
541
- const rendered = REVIEWER_PROMPT_TEMPLATE
542
- .replace("{{task_description}}", args.task_description ?? "")
543
- .replace("{{acceptance_criteria}}", acceptance)
544
- .replace("{{pr_title}}", args.pr_title ?? "")
545
- .replace("{{pr_body}}", args.pr_body ?? "")
546
- .replace("{{pr_diff}}", diff);
545
+ // S15-FU/REVIEW-1 (AC1): substitute VERBATIM. `String.replace` with a string
546
+ // replacement expands `$$`/`$&`/`` $` ``/`$'`/`$n`, so a diff containing `$'`
547
+ // — e.g. the clean literal `... where seq ~ '^[0-9]+$' order by 1` — used to
548
+ // splice the template text FOLLOWING `{{pr_diff}}` ("Now answer in this exact
549
+ // JSON shape…") into the diff, and the reviewer then reported that prose as a
550
+ // corruption defect in the file (#1933). Never re-introduce a string
551
+ // replacement here; see ./prompt-substitute.ts.
552
+ const pairs = reviewerPlaceholderPairs(args, diff, acceptance);
553
+ const rendered = substitutePlaceholders(REVIEWER_PROMPT_TEMPLATE, pairs);
547
554
  const note = truncationInfraNote(omitted, partialFile, prioritized.reordered);
548
- return note.length > 0 ? `${rendered}\n\n${note}\n` : rendered;
555
+ const prompt = note.length > 0 ? `${rendered}\n\n${note}\n` : rendered;
556
+ return { prompt, bleed: findPromptRenderBleed(REVIEWER_PROMPT_TEMPLATE, prompt, pairs) };
557
+ }
558
+ /**
559
+ * S15-FU/REVIEW-1 (AC1): the ORDERED placeholder/value pairs a reviewer prompt
560
+ * substitutes, so the render-integrity check (and its test) can assert that every
561
+ * one of these values survived into the prompt VERBATIM.
562
+ * // keep in sync with reviewerPlaceholderPairs in api/_lib/reviewer-agent.ts
563
+ */
564
+ export function reviewerPlaceholderPairs(args, diff, acceptance) {
565
+ return [
566
+ ["{{task_description}}", args.task_description ?? ""],
567
+ ["{{acceptance_criteria}}", acceptance],
568
+ ["{{pr_title}}", args.pr_title ?? ""],
569
+ ["{{pr_body}}", args.pr_body ?? ""],
570
+ ["{{pr_diff}}", diff],
571
+ ];
572
+ }
573
+ /**
574
+ * String façade over `renderReviewerPromptChecked` — the signature every existing
575
+ * caller and the RF-3 parity tests use. Integrity is enforced at the review seam,
576
+ * which needs the `bleed` list to build its abstain.
577
+ */
578
+ export function renderReviewerPrompt(args) {
579
+ return renderReviewerPromptChecked(args).prompt;
549
580
  }
550
581
  /* ─────────── REVIEWER-DIFF-CAP: chunked review of an over-cap diff ───────────
551
582
  *
@@ -740,7 +771,18 @@ export function extractReviewerDecision(text) {
740
771
  "parsed from prose reviewer output (no JSON found)",
741
772
  `decision_keyword: ${decision}`,
742
773
  ];
743
- return { decision, reasons, confidence };
774
+ // REVIEW-DECISION-PROVENANCE: this verdict was INFERRED from a keyword, not
775
+ // asserted. PR #1913 persisted a reject this way over an all-"Met." analysis
776
+ // with no trace of the inference; runReview stamps the marker at submit time.
777
+ return {
778
+ decision,
779
+ reasons,
780
+ confidence,
781
+ decision_provenance: {
782
+ decision_source: "prose_keyword",
783
+ override_reason: PROSE_KEYWORD_OVERRIDE_REASON,
784
+ },
785
+ };
744
786
  }
745
787
  async function defaultFetchPRMeta(repo, prNumber) {
746
788
  const { stdout } = await execa("gh", ["pr", "view", String(prNumber), "-R", repo, "--json", "title,body"], { env: buildEnv() });
@@ -959,18 +1001,34 @@ export async function runReview(assignment, deps) {
959
1001
  cost_usd: 0,
960
1002
  };
961
1003
  }
1004
+ // REVIEW-DECISION-PROVENANCE — the persistence seam. Two stamps, both purely
1005
+ // additive to `reasons` and neither touching the verdict:
1006
+ // 1. a SYNTHESIZED decision (prose fallback) renders its marker, so a
1007
+ // keyword-inferred verdict is never stored as if the analysis argued it;
1008
+ // 2. reconcile catches a reject whose own reasons record a clean full pass
1009
+ // and no override rationale (the PR #1913 shape) and flags it.
1010
+ // Applied here, immediately before the RPC, so EVERY path that reaches
1011
+ // submit_review — chunked, single-pass, capacity fallback — is covered.
1012
+ const provenanceNote = outcome.decision_provenance
1013
+ ? [decisionProvenanceReason(outcome.decision_provenance)]
1014
+ : [];
1015
+ const reconciled = reconcileReviewDecision({
1016
+ decision: outcome.decision,
1017
+ reasons: [...outcome.reasons, ...provenanceNote],
1018
+ });
1019
+ const submitted = { ...outcome, reasons: reconciled.reasons };
962
1020
  const { error } = await deps.supabase.rpc("submit_review", {
963
1021
  p_review_id: assignment.review_id,
964
- p_decision: outcome.decision,
965
- p_reasons: outcome.reasons,
966
- p_confidence: outcome.confidence,
967
- p_session_id: outcome.session_id,
968
- p_cost_usd: outcome.cost_usd,
1022
+ p_decision: submitted.decision,
1023
+ p_reasons: submitted.reasons,
1024
+ p_confidence: submitted.confidence,
1025
+ p_session_id: submitted.session_id,
1026
+ p_cost_usd: submitted.cost_usd,
969
1027
  });
970
1028
  if (error) {
971
1029
  process.stderr.write(`[acc-runner] submit_review(${assignment.review_id}) failed: ${error.message}\n`);
972
1030
  }
973
- return outcome;
1031
+ return submitted;
974
1032
  }
975
1033
  async function invokeClaude(spawnFn, modelId, prompt) {
976
1034
  const spawnedAt = Date.now();
@@ -1111,9 +1169,34 @@ async function driveReview(assignment, deps, fetchMeta, prepareTree) {
1111
1169
  * settles as an INFRA outcome the escalation path owns — never a reject.
1112
1170
  */
1113
1171
  async function produceVerdict(input, policy, deps, spawnFn, engine) {
1172
+ // REV-COST: ONE cost context per review — the SIZE-SCALED cap plus the
1173
+ // attempt ledger every pass charges into. Derived from the ASSEMBLED diff this
1174
+ // function already holds, so no caller has to change. At or under
1175
+ // REVIEW_CAP_REFERENCE_DIFF_CHARS the cap is EXACTLY the org's flat
1176
+ // `max_cost_usd_per_review` (an ordinary PR is judged against today's number);
1177
+ // above it the cap ramps, bounded by REVIEW_CAP_MAX_MULTIPLE.
1178
+ const costCtx = openReviewCostContext(policy?.max_cost_usd_per_review ?? 0, input.pr_diff.length);
1114
1179
  const chunks = planReviewChunks(input.pr_diff, MAX_DIFF_CHARS);
1115
1180
  if (chunks.length <= 1) {
1116
- return runClaudeAndDecide(renderReviewerPrompt(input), policy, deps, spawnFn, engine);
1181
+ // S15-FU/REVIEW-1 (AC1 + AC2): render, then PROVE the prompt carries the PR
1182
+ // content verbatim. If any value did not survive substitution, the reviewer
1183
+ // would be judging text the repo does not contain (the #1933 corruption
1184
+ // class) — so ABSTAIN before spawning anything. Never a reject, never a cost.
1185
+ const render = renderReviewerPromptChecked(input);
1186
+ if (render.bleed.length > 0) {
1187
+ const detail = describePromptRenderBleed(render.bleed);
1188
+ process.stderr.write(describeAbstainForLog("prompt_render", detail));
1189
+ return {
1190
+ decision: "reviewer_error",
1191
+ reasons: abstainReasons("prompt_render", [
1192
+ `rendered reviewer prompt did not carry PR content verbatim: ${detail}`,
1193
+ ]),
1194
+ confidence: 0,
1195
+ session_id: null,
1196
+ cost_usd: 0,
1197
+ };
1198
+ }
1199
+ return stampReviewCost(await runClaudeAndDecide(render.prompt, policy, deps, spawnFn, engine, costCtx), costCtx);
1117
1200
  }
1118
1201
  if (chunks.length > MAX_REVIEW_CHUNKS) {
1119
1202
  return {
@@ -1130,7 +1213,7 @@ async function produceVerdict(input, policy, deps, spawnFn, engine) {
1130
1213
  cost_usd: 0,
1131
1214
  };
1132
1215
  }
1133
- return runChunkedReview(input, chunks, policy, deps, spawnFn, engine);
1216
+ return runChunkedReview(input, chunks, policy, deps, spawnFn, engine, costCtx);
1134
1217
  }
1135
1218
  /**
1136
1219
  * REVIEWER-DIFF-CAP — read an over-cap diff in `chunks.length` part passes, then
@@ -1143,13 +1226,13 @@ async function produceVerdict(input, policy, deps, spawnFn, engine) {
1143
1226
  * env-broken — short-circuits the whole review with the spend accumulated so far,
1144
1227
  * so an infra fault never degrades into a partial-evidence verdict.
1145
1228
  */
1146
- async function runChunkedReview(input, chunks, policy, deps, spawnFn, engine) {
1147
- // The cap is checked ONCE against the whole chunked spend below; per-pass it is
1148
- // disabled so a single part is never judged against the whole-review budget.
1149
- const passPolicy = policy ? { ...policy, max_cost_usd_per_review: 0 } : null;
1150
- const cap = policy?.max_cost_usd_per_review ?? 0;
1229
+ async function runChunkedReview(input, chunks, policy, deps, spawnFn, engine, costCtx) {
1230
+ // REV-COST: the cap is judged ONCE against the WHOLE chunked spend, because
1231
+ // the shared ledger in `costCtx` accumulates across every part pass. That
1232
+ // replaces the old cap-0 `passPolicy` clone: a single part is still never
1233
+ // judged against the whole-review budget, and the whole review is no longer
1234
+ // judged against a FLAT cap.
1151
1235
  const passes = [];
1152
- let cost = 0;
1153
1236
  let degraded = false;
1154
1237
  let modelUsed;
1155
1238
  for (const chunk of chunks) {
@@ -1157,53 +1240,80 @@ async function runChunkedReview(input, chunks, policy, deps, spawnFn, engine) {
1157
1240
  // a probe for every chunk. Only the first pass carries it.
1158
1241
  const passDeps = chunk.index === 1 ? deps : { ...deps, authCanary: undefined };
1159
1242
  const prompt = `${renderReviewerPrompt({ ...input, pr_diff: chunk.text })}\n\n${chunkScopeNotice(chunk)}\n`;
1160
- const out = await runClaudeAndDecide(prompt, passPolicy, passDeps, spawnFn, engine);
1161
- cost += out.cost_usd;
1243
+ // The RUNAWAY brake lives in finalizeReviewerSuccess, right where the spend
1244
+ // is charged, so a part pass that pushes the WHOLE-review total past the
1245
+ // tolerance short-circuits here as a non-verdict outcome and the remaining
1246
+ // passes never run. An overrun INSIDE the band deliberately does not stop the
1247
+ // review: it finishes and the paid verdict is kept (see the tail).
1248
+ const out = await runClaudeAndDecide(prompt, policy, passDeps, spawnFn, engine, costCtx);
1249
+ const partLedger = reviewCostLedger(costCtx);
1162
1250
  modelUsed = out.model_used ?? modelUsed;
1163
1251
  degraded = degraded || out.capacity_degraded === true;
1164
1252
  if (out.decision !== "approve" && out.decision !== "reject") {
1165
- return { ...out, cost_usd: cost, capacity_degraded: degraded ? true : out.capacity_degraded };
1253
+ return {
1254
+ ...out,
1255
+ cost_usd: partLedger.total_usd,
1256
+ cost_cap: costCtx.cap,
1257
+ cost_breakdown: partLedger,
1258
+ capacity_degraded: degraded ? true : out.capacity_degraded,
1259
+ };
1166
1260
  }
1167
- if (cap > 0 && cost > cap)
1168
- return overChunkedCostCap(cost, cap, modelUsed);
1169
1261
  passes.push({ decision: out.decision, reasons: out.reasons, confidence: out.confidence });
1170
1262
  }
1171
1263
  const allPaths = diffFilePaths(input.pr_diff);
1172
1264
  const evidence = renderSynthesisEvidence(chunks, passes, allPaths);
1173
1265
  const synthPrompt = `${renderReviewerPrompt({ ...input, pr_diff: evidence })}\n\n${synthesisScopeNotice(chunks.length)}\n`;
1174
- const final = await runClaudeAndDecide(synthPrompt, passPolicy, { ...deps, authCanary: undefined }, spawnFn, engine);
1175
- cost += final.cost_usd;
1266
+ const final = await runClaudeAndDecide(synthPrompt, policy, { ...deps, authCanary: undefined }, spawnFn, engine, costCtx);
1267
+ const ledger = reviewCostLedger(costCtx);
1176
1268
  modelUsed = final.model_used ?? modelUsed;
1177
1269
  degraded = degraded || final.capacity_degraded === true;
1178
1270
  if (final.decision !== "approve" && final.decision !== "reject") {
1179
- return { ...final, cost_usd: cost, capacity_degraded: degraded ? true : final.capacity_degraded };
1271
+ return {
1272
+ ...final,
1273
+ cost_usd: ledger.total_usd,
1274
+ cost_cap: costCtx.cap,
1275
+ cost_breakdown: ledger,
1276
+ capacity_degraded: degraded ? true : final.capacity_degraded,
1277
+ };
1180
1278
  }
1181
- if (cap > 0 && cost > cap)
1182
- return overChunkedCostCap(cost, cap, modelUsed);
1183
1279
  // Guard FIRST (so a coverage claim can never survive as a verdict), then stamp
1184
1280
  // the coverage telemetry — which must never itself be partitioned as a claim.
1185
1281
  const guarded = guardCoverageClaims({
1186
1282
  ...final,
1187
- cost_usd: cost,
1283
+ cost_usd: ledger.total_usd,
1188
1284
  model_used: modelUsed,
1189
1285
  capacity_degraded: degraded ? true : undefined,
1190
1286
  });
1287
+ // REV-COST: the overrun note (when the paid spend landed in the tolerance
1288
+ // band) sits between the findings and the coverage telemetry — a real reason,
1289
+ // so it must precede chunkedCoverageReason to keep THAT last.
1290
+ const stamped = stampReviewCost(guarded, costCtx);
1191
1291
  return {
1192
- ...guarded,
1193
- reasons: [...guarded.reasons, chunkedCoverageReason(chunks.length, allPaths.length, input.pr_diff.length)],
1292
+ ...stamped,
1293
+ reasons: [...stamped.reasons, chunkedCoverageReason(chunks.length, allPaths.length, input.pr_diff.length)],
1194
1294
  };
1195
1295
  }
1196
- /** Cost-cap parity for the chunked path: the cap applies to the WHOLE review. */
1197
- function overChunkedCostCap(cost, cap, modelUsed) {
1296
+ /**
1297
+ * REV-COST — stamp the cost ledger onto a FINISHED review outcome and, when
1298
+ * the chargeable spend landed in the OVERRUN band (over the effective cap, under
1299
+ * the runaway threshold), keep the verdict and add the advisory note.
1300
+ *
1301
+ * Called exactly once per review, after the verdict is assembled — never on a
1302
+ * chunked PART pass, so a budget note can never leak into the synthesis evidence
1303
+ * and be re-read as a finding.
1304
+ */
1305
+ function stampReviewCost(out, costCtx) {
1306
+ const ledger = reviewCostLedger(costCtx);
1307
+ const isVerdict = out.decision === "approve" || out.decision === "reject";
1308
+ const overrun = isVerdict && classifyReviewCost(ledger.chargeable_usd, costCtx.cap) === "overrun";
1198
1309
  return {
1199
- decision: "cost_cap_exceeded",
1200
- reasons: [
1201
- `reviewer cost $${cost.toFixed(4)} exceeded cap $${cap.toFixed(2)} across the chunked review`,
1202
- ],
1203
- confidence: 0,
1204
- session_id: null,
1205
- cost_usd: cost,
1206
- model_used: modelUsed,
1310
+ ...out,
1311
+ reasons: overrun
1312
+ ? [...out.reasons, reviewCostOverrunReason(costCtx.cap, ledger)]
1313
+ : out.reasons,
1314
+ cost_cap: costCtx.cap,
1315
+ cost_breakdown: ledger,
1316
+ ...(overrun ? { cost_overrun: true } : {}),
1207
1317
  };
1208
1318
  }
1209
1319
  /**
@@ -1261,48 +1371,67 @@ async function invokeReviewerModel(spawnFn, modelId, prompt, sleepFn, maxCapacit
1261
1371
  /** RVU-2: a budget-exempt env-broken (auth) reviewer_error. Decision stays
1262
1372
  * `reviewer_error` (frozen); the marker reason makes the shared cron treat it
1263
1373
  * as budget-exempt and alert once. */
1264
- function envBrokenOutcome(modelId, detail) {
1374
+ function envBrokenOutcome(modelId, detail, ledger) {
1265
1375
  return {
1266
1376
  decision: "reviewer_error",
1267
1377
  reasons: [REVIEWER_ENV_BROKEN_REASON, `detail: ${(detail ?? "").slice(0, 160)}`],
1268
1378
  confidence: 0,
1379
+ // REV-COST: an auth fault costs nothing and is charged to INFRA, never to
1380
+ // the per-review budget — the review still needs its productive attempt.
1381
+ cost_usd: ledger?.total_usd ?? 0,
1269
1382
  session_id: null,
1270
- cost_usd: 0,
1271
1383
  model_used: modelId,
1272
1384
  env_broken: true,
1385
+ ...(ledger ? { cost_breakdown: ledger } : {}),
1273
1386
  };
1274
1387
  }
1275
1388
  /** RVU-2: assemble the outcome from a clean (exit 0) reviewer envelope. Cost-cap
1276
- * parity + parse are unchanged; `degraded` marks a re-routed (lower-tier) run. */
1277
- function finalizeReviewerSuccess(stdout, modelId, degraded, policy, engine) {
1389
+ * parity + parse are unchanged; `degraded` marks a re-routed (lower-tier) run.
1390
+ * REV-COST: the cap is now the size-scaled decision carried in `costCtx`, and
1391
+ * only the RUNAWAY band refuses the verdict here. */
1392
+ function finalizeReviewerSuccess(stdout, modelId, degraded, costCtx, engine) {
1278
1393
  const envelope = parseEnvelope(stdout, modelId, engine);
1279
- // Cost cap parity with api/_lib/reviewer-agent.ts. A cap of 0 disables it.
1280
- if (policy &&
1281
- policy.max_cost_usd_per_review > 0 &&
1282
- envelope.cost_usd > policy.max_cost_usd_per_review) {
1394
+ // REV-COST: the spawn returned a readable envelope, so this is the review's
1395
+ // PRODUCTIVE attempt — the only class charged to the per-review cap. Parity
1396
+ // with api/_lib/reviewer-agent.ts, which charges at exactly this point.
1397
+ const ledger = chargeReviewAttempt(costCtx, modelId, "productive", envelope.cost_usd);
1398
+ // REV-COST RUNAWAY BACKSTOP. Past `cap × REVIEW_COST_OVERRUN_TOLERANCE`
1399
+ // something is pathological, so the verdict is still refused. Inside the band
1400
+ // the spend is judged AFTER the verdict is assembled (stampReviewCost): the
1401
+ // money is already gone, and discarding a paid verdict only stranded the PR
1402
+ // (#1937 — $18 spent, $8 flat cap, NO verdict) and re-charged the same review
1403
+ // on the next tick. A cap of 0 disables the whole check, as before.
1404
+ if (classifyReviewCost(ledger.chargeable_usd, costCtx.cap) === "runaway") {
1283
1405
  return {
1284
1406
  decision: "cost_cap_exceeded",
1285
- reasons: [
1286
- `reviewer cost $${envelope.cost_usd.toFixed(4)} exceeded cap $${policy.max_cost_usd_per_review.toFixed(2)}`,
1287
- ],
1407
+ reasons: [reviewCostRunawayReason(costCtx.cap, ledger)],
1288
1408
  confidence: 0,
1289
1409
  session_id: envelope.session_id,
1290
- cost_usd: envelope.cost_usd,
1410
+ cost_usd: ledger.total_usd,
1291
1411
  model_used: modelId,
1412
+ cost_cap: costCtx.cap,
1413
+ cost_breakdown: ledger,
1292
1414
  };
1293
1415
  }
1294
1416
  const decision = extractReviewerDecision(envelope.result);
1295
1417
  if (!decision) {
1418
+ // S15-FU/REVIEW-1 (AC2): a PARSE FAULT is an explicit ABSTAIN. The unparsed
1419
+ // output head is carried as QUARANTINED context (never a finding) so an
1420
+ // operator can diagnose the format drift without any of that text being
1421
+ // scored as a defect.
1422
+ process.stderr.write(describeAbstainForLog("verdict_parse"));
1296
1423
  return {
1297
1424
  decision: "reviewer_error",
1298
- reasons: [
1425
+ reasons: abstainReasons("verdict_parse", [
1299
1426
  "could not parse reviewer JSON from claude output",
1300
1427
  `output_head: ${envelope.result.slice(0, 200)}`,
1301
- ],
1428
+ ]),
1302
1429
  confidence: 0,
1303
1430
  session_id: envelope.session_id,
1304
- cost_usd: envelope.cost_usd,
1431
+ cost_usd: ledger.total_usd,
1305
1432
  model_used: modelId,
1433
+ cost_cap: costCtx.cap,
1434
+ cost_breakdown: ledger,
1306
1435
  };
1307
1436
  }
1308
1437
  return {
@@ -1312,6 +1441,11 @@ function finalizeReviewerSuccess(stdout, modelId, degraded, policy, engine) {
1312
1441
  session_id: envelope.session_id,
1313
1442
  cost_usd: envelope.cost_usd,
1314
1443
  model_used: modelId,
1444
+ // REVIEW-DECISION-PROVENANCE: carried as a field (never a reason) so it
1445
+ // survives the coverage/absence guards without being read as a finding.
1446
+ ...(decision.decision_provenance
1447
+ ? { decision_provenance: decision.decision_provenance }
1448
+ : {}),
1315
1449
  // Signal capacity pressure to watch.ts only when the review actually
1316
1450
  // re-routed to a lower tier (leave undefined on the primary-model path).
1317
1451
  capacity_degraded: degraded ? true : undefined,
@@ -1326,7 +1460,7 @@ function finalizeReviewerSuccess(stdout, modelId, degraded, policy, engine) {
1326
1460
  * explicit broken CLI-auth signal surfaces as budget-exempt env_broken rather
1327
1461
  * than looping. Cost-cap / parse behaviour is unchanged.
1328
1462
  */
1329
- async function runClaudeAndDecide(prompt, policy, deps, spawnFn, engine) {
1463
+ async function runClaudeAndDecide(prompt, policy, deps, spawnFn, engine, costCtx) {
1330
1464
  const sleepFn = deps.sleep ?? defaultSleep;
1331
1465
  const baseModel = policy?.model_id ?? "claude-sonnet-4-6";
1332
1466
  const maxCapacityRetries = resolveCapacityRetries(process.env[CAPACITY_RETRIES_ENV]);
@@ -1344,7 +1478,7 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn, engine) {
1344
1478
  probes = [];
1345
1479
  }
1346
1480
  if (isEnvBrokenReviewerProbe(probes)) {
1347
- return envBrokenOutcome(primaryModel, "preflight auth canary: repeated silent CLI exit (broken login / rejected key)");
1481
+ return envBrokenOutcome(primaryModel, "preflight auth canary: repeated silent CLI exit (broken login / rejected key)", chargeReviewAttempt(costCtx, primaryModel, "infra_auth", 0));
1348
1482
  }
1349
1483
  }
1350
1484
  let lastCapacityDetail = "reviewer capacity exhausted across all fallback tiers";
@@ -1355,7 +1489,7 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn, engine) {
1355
1489
  const invokeResult = await invokeReviewerModel(spawnFn, modelId, prompt, sleepFn, maxCapacityRetries, engine);
1356
1490
  const { stdout, exitCode, stderr: claudeStderr, durationMs } = invokeResult;
1357
1491
  if (exitCode === 0) {
1358
- return finalizeReviewerSuccess(stdout, modelId, modelId !== primaryModel, policy, engine);
1492
+ return finalizeReviewerSuccess(stdout, modelId, modelId !== primaryModel, costCtx, engine);
1359
1493
  }
1360
1494
  const classified = engine.classifyFailure(exitCode, claudeStderr, stdout, durationMs);
1361
1495
  const combined = `${claudeStderr}\n${stdout}`;
@@ -1367,7 +1501,7 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn, engine) {
1367
1501
  if (classified.class === "auth_expired" ||
1368
1502
  classified.class === "env_broken" ||
1369
1503
  isReviewerAuthFailure(combined)) {
1370
- return envBrokenOutcome(modelId, classified.detail);
1504
+ return envBrokenOutcome(modelId, classified.detail, chargeReviewAttempt(costCtx, modelId, "infra_auth", 0));
1371
1505
  }
1372
1506
  const isCapacity = classified.class === "capacity_exhausted" ||
1373
1507
  classified.class === "claude_unavailable";
@@ -1376,6 +1510,10 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn, engine) {
1376
1510
  const resumeMs = extractResetTime(combined);
1377
1511
  if (resumeMs !== null)
1378
1512
  lastResumeMs = resumeMs;
1513
+ // REV-COST: a 429/overload brownout is INFRA. Recording it makes "N
1514
+ // attempts on one review" visible WITHOUT any of those attempts consuming
1515
+ // the per-review budget the productive attempt needs.
1516
+ const capacityLedger = chargeReviewAttempt(costCtx, modelId, "infra_capacity", 0);
1379
1517
  // Re-route to the next lower catalog tier instead of stalling the lane.
1380
1518
  if (!isLast)
1381
1519
  continue;
@@ -1391,6 +1529,8 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn, engine) {
1391
1529
  resume_at: lastResumeMs !== null ? new Date(lastResumeMs).toISOString() : null,
1392
1530
  model_used: modelId,
1393
1531
  capacity_degraded: true,
1532
+ cost_cap: costCtx.cap,
1533
+ cost_breakdown: capacityLedger,
1394
1534
  };
1395
1535
  }
1396
1536
  // Genuine error (task_error / usage_limit) — legacy reviewer_error, no
@@ -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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"}