@tangle-network/traces 0.11.3 → 0.11.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -3,11 +3,13 @@ import {
3
3
  ACTOR_ATTR,
4
4
  ATTR,
5
5
  CORRUPTION_RECEIPT_DISPLAY_LIMIT,
6
+ DEFAULT_SANDBOX_BASE_URL,
6
7
  appendAll,
7
8
  buildPolicyEvidenceRecord,
8
9
  buildSessionIndexFromRows,
9
10
  cmdReplayVerify,
10
11
  cmdReplayVerifyBatch,
12
+ cmdVerifyFindings,
11
13
  collectSessionSelection,
12
14
  commandAnalyzer,
13
15
  commandRedactor,
@@ -25,6 +27,7 @@ import {
25
27
  loadTracesConfig,
26
28
  locateSessions,
27
29
  mergeTracesConfig,
30
+ parseCorpusFlag,
28
31
  parseSession,
29
32
  parseSince,
30
33
  planUpload,
@@ -32,6 +35,7 @@ import {
32
35
  readSessionIndexFile,
33
36
  renderInspectionReport,
34
37
  renderValidation,
38
+ renderVerifiedFindingsSection,
35
39
  resolveAdapter,
36
40
  resolveRunWatchTarget,
37
41
  runTraceImprovement,
@@ -47,6 +51,7 @@ import {
47
51
  totalAgenticFailureMessage,
48
52
  traceStreamEventsFromSpans,
49
53
  validationExitCode,
54
+ verifyFindings,
50
55
  watchRunTarget,
51
56
  watchSessions,
52
57
  writeInspectionReportFile,
@@ -54,7 +59,7 @@ import {
54
59
  writePolicyEvidenceFile,
55
60
  writeSessionIndexFile,
56
61
  writeTraceEvidenceExportFile
57
- } from "./chunk-CK5F5TWO.js";
62
+ } from "./chunk-VTYOCFGF.js";
58
63
 
59
64
  // src/cli.ts
60
65
  import { readFileSync } from "fs";
@@ -102,7 +107,9 @@ function parseArgs(argv) {
102
107
  noSpans: false,
103
108
  noFindings: false,
104
109
  attrs: [],
105
- concurrency: 4
110
+ concurrency: 4,
111
+ verifyFindings: false,
112
+ replayCorpora: []
106
113
  };
107
114
  for (let i = 1; i < argv.length; i++) {
108
115
  const arg = argv[i];
@@ -222,6 +229,17 @@ function parseArgs(argv) {
222
229
  if (v) a.analyzers.push(v);
223
230
  break;
224
231
  }
232
+ case "--verify-findings":
233
+ a.verifyFindings = true;
234
+ break;
235
+ case "--replay-corpus": {
236
+ const v = next();
237
+ if (v) a.replayCorpora.push(v);
238
+ break;
239
+ }
240
+ case "--verify-out":
241
+ a.verifyOut = next();
242
+ break;
225
243
  case "--analyzer-prompt":
226
244
  a.analyzerPrompt = next();
227
245
  break;
@@ -765,16 +783,43 @@ async function loadExportAttributes(args) {
765
783
  async function cmdAnalyze(args) {
766
784
  if (args.supervisorRunDir) return cmdAnalyzeSupervisorRun(args.supervisorRunDir, args);
767
785
  const result = await investigate(args, { loadDefaultConfig: false });
786
+ let report = result.report;
787
+ let verifySummary = "";
788
+ if (args.verifyFindings) {
789
+ const run = await verifyAnalyzeFindings(args, result);
790
+ report = `${report}
791
+ ${renderVerifiedFindingsSection(run)}`;
792
+ verifySummary = `, verified: ${run.counts.reproduced} reproduced / ${run.counts["fix-flipped"]} fix-flipped / ${run.counts.divergent} divergent / ${run.counts["not-replayable"]} not-replayable \u2192 ${run.out}`;
793
+ }
768
794
  if (args.out) {
769
- await saveReport(args.out, result.report);
795
+ await saveReport(args.out, report);
770
796
  console.log(
771
- `report \u2192 ${args.out} (${result.findings.length} findings, ${result.pipelines.stuckLoops.findings.length} loops, OTLP: ${result.otlpPath})`
797
+ `report \u2192 ${args.out} (${result.findings.length} findings, ${result.pipelines.stuckLoops.findings.length} loops, OTLP: ${result.otlpPath}${verifySummary})`
772
798
  );
773
799
  } else {
774
- console.log(result.report);
800
+ console.log(report);
775
801
  }
776
802
  assertAgenticAnalystsRan(args, result.agenticPerAnalyst);
777
803
  }
804
+ async function verifyAnalyzeFindings(args, result) {
805
+ if (args.replayCorpora.length === 0) {
806
+ throw new Error(
807
+ "analyze --verify-findings needs the executable trajectory source: pass --replay-corpus name=<labels.json>::<preparedDir> (repeatable). Harness sessions carry no docker_config, so findings cannot be replayed from the session store alone."
808
+ );
809
+ }
810
+ if (result.findings.length === 0) {
811
+ throw new Error("analyze --verify-findings: the analysis produced no findings to verify");
812
+ }
813
+ const out = args.verifyOut ?? (args.out ? `${args.out}.verify` : "traces-verify-findings");
814
+ return verifyFindings(result.findings, {
815
+ source: { kind: "corpus", corpora: args.replayCorpora.map(parseCorpusFlag) },
816
+ out,
817
+ apiKey: process.env.SANDBOX_API_KEY,
818
+ baseUrl: process.env.SANDBOX_API_URL ?? DEFAULT_SANDBOX_BASE_URL,
819
+ onProgress: (message) => process.stderr.write(`${message}
820
+ `)
821
+ });
822
+ }
778
823
  async function cmdAnalyzeSupervisorRun(runDir, args) {
779
824
  const runContextDirs = await findFileRunContextDirs(runDir);
780
825
  const nested = runContextDirs.length > 0 ? [] : await findSupervisorRunDirs(runDir);
@@ -1277,6 +1322,10 @@ Commands:
1277
1322
  replay-verify-batch
1278
1323
  Measure replayability + fix-flip rates across gold-labeled corpora:
1279
1324
  arm A per replayable case, LLM-generated arm-B fixes (--help for flags)
1325
+ verify-findings
1326
+ Execute recorded analyst findings as sandbox replay proofs: each
1327
+ finding \u2192 reproduced | fix-flipped | divergent | not-replayable,
1328
+ with a receipt directory per finding (--help for flags)
1280
1329
  evidence Emit compact session-evidence JSONL for downstream policy miners
1281
1330
  stream Emit JSONL trace stream events for live visualizers or replay
1282
1331
  watch Online observer: tail active sessions, notify on loops + semantic findings
@@ -1331,6 +1380,12 @@ Options:
1331
1380
  --budget <usd> USD cap for agentic analysts
1332
1381
  --analyzer <id> analyze: also run halo, hodoscope, or an installed command (repeatable)
1333
1382
  --analyzer-prompt <p> analyze: prompt passed to external analyzers (default: diagnose)
1383
+ --verify-findings analyze: execute the findings as sandbox replay proofs and mark
1384
+ each VERIFIED (receipt path) or UNVERIFIABLE (reason). Needs
1385
+ --replay-corpus + a running sandbox (SANDBOX_API_KEY/_URL)
1386
+ --replay-corpus name=<labels.json>::<preparedDir>
1387
+ trajectory source for --verify-findings (repeatable)
1388
+ --verify-out <dir> receipt root for --verify-findings (default: <--out>.verify)
1334
1389
  --interval <s> watch/stream: poll interval seconds (sessions 5, run tree 2)
1335
1390
  --window <m> watch/stream: only sessions active in the last N minutes (default 30)
1336
1391
  --min-loop <n> Min identical repeated calls to flag a loop (default 3)
@@ -1365,6 +1420,10 @@ async function main() {
1365
1420
  await cmdReplayVerifyBatch(rawArgs.slice(1));
1366
1421
  return;
1367
1422
  }
1423
+ if (rawArgs[0] === "verify-findings") {
1424
+ await cmdVerifyFindings(rawArgs.slice(1));
1425
+ return;
1426
+ }
1368
1427
  const parsedArgs = parseArgs(rawArgs);
1369
1428
  if (parsedArgs.help) {
1370
1429
  if (parsedArgs.command === "import-codetracebench" || parsedArgs.command === "help" && parsedArgs.input === "import-codetracebench") usageImportCodeTraceBench();
package/dist/index.d.ts CHANGED
@@ -1264,7 +1264,8 @@ declare class FactoryAdapter implements HarnessTraceAdapter {
1264
1264
  }
1265
1265
 
1266
1266
  /**
1267
- * Pi adapter — `~/.pi/agent/sessions/<encoded-cwd>/<ts>_<uuid>.jsonl`.
1267
+ * Pi adapter — the default `~/.pi/agent/sessions/<encoded-cwd>/<ts>_<uuid>.jsonl`
1268
+ * layout or a caller-supplied session directory containing JSONL files directly.
1268
1269
  *
1269
1270
  * Line types: `session` (id + cwd), `model_change`, `thinking_level_change`,
1270
1271
  * and `message`. A `message` line wraps `message.{role, model, provider,
@@ -1274,8 +1275,14 @@ declare class FactoryAdapter implements HarnessTraceAdapter {
1274
1275
  * separate `role: "toolResult"` messages keyed by `message.toolCallId`.
1275
1276
  */
1276
1277
 
1278
+ interface PiAdapterOptions {
1279
+ /** Pi's effective session directory, including PI_CODING_AGENT_SESSION_DIR overrides. */
1280
+ sessionsRoot?: string;
1281
+ }
1277
1282
  declare class PiAdapter implements HarnessTraceAdapter {
1278
1283
  readonly harness = "pi";
1284
+ private readonly sessionsRoot;
1285
+ constructor(options?: PiAdapterOptions);
1279
1286
  private root;
1280
1287
  locate(opts?: LocateOptions): Promise<SessionRef[]>;
1281
1288
  parse(ref: SessionRef, options?: ParseOptions): Promise<OtlpSpan[]>;
@@ -3459,10 +3466,33 @@ interface FixPromptInput {
3459
3466
  /** Steps of context on each side of k (default 3). */
3460
3467
  readonly contextRadius?: number;
3461
3468
  }
3469
+ /** Head+tail excerpt with an elision marker; identity below the limit. */
3470
+ declare function clipText(text: string, limit: number): string;
3462
3471
  declare function buildFixPrompt(input: FixPromptInput): {
3463
3472
  system: string;
3464
3473
  user: string;
3465
3474
  };
3475
+ /** One prior attempt of the fix loop, rendered into the retry prompt. */
3476
+ interface FailedFixAttempt {
3477
+ readonly attempt: number;
3478
+ /** Null when the model call itself failed before producing a command. */
3479
+ readonly command: string | null;
3480
+ readonly exitCode: number | null;
3481
+ readonly stdoutTail: string | null;
3482
+ readonly stderrTail: string | null;
3483
+ readonly llmError: string | null;
3484
+ }
3485
+ /**
3486
+ * Retry prompt for fix-loop attempts ≥2: the original context plus every prior
3487
+ * attempt with its REAL executed output, and permission to answer with a short
3488
+ * script (the block still executes as one /bin/sh unit).
3489
+ */
3490
+ declare function buildRetryFixPrompt(input: FixPromptInput, priorAttempts: readonly FailedFixAttempt[], maxScriptCommands?: number): {
3491
+ system: string;
3492
+ user: string;
3493
+ };
3494
+ /** Non-empty, non-comment lines of a fix script — the loop's script-size cap. */
3495
+ declare function countScriptCommands(script: string): number;
3466
3496
  /** Last fenced code block, else the whole trimmed content; null when empty. */
3467
3497
  declare function extractFixCommand(content: string): string | null;
3468
3498
  type FixGenerationOutcome = {
@@ -3477,6 +3507,75 @@ type FixGenerationOutcome = {
3477
3507
  };
3478
3508
  declare function generateFixCommand(caller: ChatCompletionCaller, input: FixPromptInput): Promise<FixGenerationOutcome>;
3479
3509
 
3510
+ /**
3511
+ * Iterative counterfactual fix loop.
3512
+ *
3513
+ * Attempt 1 is exactly the one-shot generator (same prompt, same caller), so
3514
+ * flip@1 stays comparable to `--fix generate`. When an attempt does not flip
3515
+ * the failure — nonzero exit, signature still present, or the model call
3516
+ * itself failed — the next attempt's prompt carries every prior command and
3517
+ * its REAL executed stdout/stderr, up to a fixed attempt budget.
3518
+ *
3519
+ * Isolation invariant: every attempt executes through the injected executor,
3520
+ * which must provide a FRESH sandbox with the same replayed prefix. A used
3521
+ * sandbox is never mutated mid-arm; a flip therefore always proves the
3522
+ * corrected step against the recorded prefix state, not against debris from
3523
+ * an earlier attempt.
3524
+ */
3525
+
3526
+ /** Result of executing one corrected command as a full arm. */
3527
+ interface FixArmExecution {
3528
+ readonly exitCode: number;
3529
+ readonly prefixExecuted: number;
3530
+ readonly prefixDivergences: number;
3531
+ readonly failureVanished: boolean;
3532
+ readonly stdout: string;
3533
+ readonly stderr: string;
3534
+ }
3535
+ /** Runs one corrected command as a full arm: fresh sandbox + prefix replay. */
3536
+ type FixArmExecutor = (command: string, attempt: number) => Promise<FixArmExecution>;
3537
+ interface FixLoopOptions {
3538
+ /** Total LLM attempts per case (≥1); 1 degenerates to the one-shot path. */
3539
+ readonly maxAttempts: number;
3540
+ /** Command-line cap on retry scripts (default 5). */
3541
+ readonly maxScriptCommands?: number;
3542
+ /** Chars kept per stdout/stderr tail in records and retry prompts. */
3543
+ readonly outputTailChars?: number;
3544
+ readonly onProgress?: (message: string) => void;
3545
+ }
3546
+ interface FixLoopAttemptRecord {
3547
+ readonly attempt: number;
3548
+ readonly command: string | null;
3549
+ readonly llmError: string | null;
3550
+ readonly usage: {
3551
+ readonly promptTokens: number;
3552
+ readonly completionTokens: number;
3553
+ } | null;
3554
+ readonly executed: boolean;
3555
+ readonly exitCode: number | null;
3556
+ readonly prefixExecuted: number | null;
3557
+ readonly prefixDivergences: number | null;
3558
+ readonly failureVanished: boolean | null;
3559
+ readonly stdoutTail: string | null;
3560
+ readonly stderrTail: string | null;
3561
+ readonly armBError: string | null;
3562
+ readonly wallMs: number;
3563
+ }
3564
+ interface FixLoopResult {
3565
+ readonly flipped: boolean;
3566
+ readonly flippedAtAttempt: number | null;
3567
+ readonly attempts: readonly FixLoopAttemptRecord[];
3568
+ /** True when a sandbox error ended the loop before the attempt budget. */
3569
+ readonly aborted: boolean;
3570
+ readonly llmCalls: number;
3571
+ /** Calls that produced no runnable fix: transport errors, empty replies,
3572
+ * and retry scripts over the command cap. */
3573
+ readonly llmFailures: number;
3574
+ readonly promptTokens: number;
3575
+ readonly completionTokens: number;
3576
+ }
3577
+ declare function runFixLoop(caller: ChatCompletionCaller, input: FixPromptInput, executor: FixArmExecutor, options: FixLoopOptions): Promise<FixLoopResult>;
3578
+
3480
3579
  /**
3481
3580
  * Batch replay-verification across gold-labeled CodeTraceBench corpora.
3482
3581
  *
@@ -3531,8 +3630,12 @@ interface ReplayBatchOptions {
3531
3630
  readonly out: string;
3532
3631
  readonly baseUrl?: string;
3533
3632
  readonly apiKey?: string;
3534
- /** 'generate' runs one LLM call per arm-A-reproduced case, then arm B. */
3535
- readonly fix: 'none' | 'generate';
3633
+ /** 'generate' = one LLM call per arm-A-reproduced case, then arm B.
3634
+ * 'loop' = iterative: failed arms feed their real output into up to
3635
+ * --fix-attempts prompts, each executed in its own fresh sandbox. */
3636
+ readonly fix: 'none' | 'generate' | 'loop';
3637
+ /** Attempt budget per case in loop mode (default 3). */
3638
+ readonly fixAttempts?: number;
3536
3639
  readonly fixCaller?: ChatCompletionCaller;
3537
3640
  readonly fixModelLabel?: string;
3538
3641
  /** Cap on LLM fix calls; eligible cases beyond it are seeded-sampled out. */
@@ -3557,12 +3660,19 @@ interface ReplayBatchFixResult {
3557
3660
  readonly sampledOut: boolean;
3558
3661
  readonly command: string | null;
3559
3662
  readonly llmError: string | null;
3663
+ /** Loop mode: token totals summed across every attempt (null when the
3664
+ * provider reported no usage). */
3560
3665
  readonly usage: ChatUsage | null;
3561
3666
  readonly armBExit: number | null;
3562
3667
  readonly armBPrefixExecuted: number | null;
3563
3668
  readonly armBPrefixDivergences: number | null;
3564
3669
  readonly failureVanished: boolean | null;
3565
3670
  readonly armBError: string | null;
3671
+ /** Loop mode only: the full per-attempt trail. Null in generate mode. */
3672
+ readonly attempts: readonly FixLoopAttemptRecord[] | null;
3673
+ /** 1-based attempt that flipped the failure; null when none did.
3674
+ * Generate mode: 1 when the single attempt flipped. */
3675
+ readonly flippedAtAttempt: number | null;
3566
3676
  }
3567
3677
  interface ReplayBatchCaseRow {
3568
3678
  readonly corpus: string;
@@ -3635,6 +3745,15 @@ interface ReplayBatchReport {
3635
3745
  denominator: number;
3636
3746
  value: number | null;
3637
3747
  } | null;
3748
+ /** Loop mode only: flips at attempt 1 over cases whose attempt 1 executed —
3749
+ * the number directly comparable to the one-shot fixFlipRate. */
3750
+ readonly fixFlipAttempt1: {
3751
+ numerator: number;
3752
+ denominator: number;
3753
+ value: number | null;
3754
+ } | null;
3755
+ /** Loop mode only: flip count keyed by the attempt number that flipped. */
3756
+ readonly flipsByAttempt: Record<string, number> | null;
3638
3757
  };
3639
3758
  readonly llm: {
3640
3759
  readonly model: string;
@@ -3663,7 +3782,8 @@ declare function renderBatchReport(report: ReplayBatchReport): string;
3663
3782
  interface ReplayBatchCliArgs {
3664
3783
  readonly corpora: CorpusSpec[];
3665
3784
  readonly out: string;
3666
- readonly fix: 'none' | 'generate';
3785
+ readonly fix: 'none' | 'generate' | 'loop';
3786
+ readonly fixAttempts: number;
3667
3787
  readonly fixModel: string;
3668
3788
  readonly fixBaseUrl: string;
3669
3789
  readonly fixApiKeyEnv: string;
@@ -3746,6 +3866,177 @@ interface ReplayFindingResult {
3746
3866
  */
3747
3867
  declare function replayVerifyFinding(finding: AnalystReplayFinding, options: ReplayFindingOptions): Promise<ReplayFindingResult>;
3748
3868
 
3869
+ /**
3870
+ * Proof-carrying findings: execute analyst findings as sandbox replays.
3871
+ *
3872
+ * An analyst finding is a cited claim ("step 12 is where the run went
3873
+ * wrong"). This module turns each finding into an executed verdict by
3874
+ * replaying the trajectory prefix in a real sandbox and running the accused
3875
+ * step (arm A), optionally followed by a corrected step (arm B):
3876
+ *
3877
+ * `reproduced` arm A re-produced the recorded failure signature
3878
+ * (returncode + stable output substring).
3879
+ * `fix-flipped` arm A reproduced AND arm B's corrected command made the
3880
+ * failure vanish — the strongest per-finding proof.
3881
+ * `divergent` arm A executed but the recorded failure did NOT
3882
+ * reproduce; evidence against the finding (or against
3883
+ * replay fidelity — the receipt carries prefix
3884
+ * divergences so the reader can tell which).
3885
+ * `not-replayable` the finding could not be executed at all; the receipt
3886
+ * carries the precise reason (no step subject, unknown
3887
+ * trajectory, no docker image, submit step, …).
3888
+ *
3889
+ * Verification is execution, not generation: no LLM is involved unless the
3890
+ * caller supplies a corrected command for arm B. Sandbox infrastructure being
3891
+ * absent while a finding needs execution is an error, never a silent skip.
3892
+ *
3893
+ * Findings are matched by the shape the analyst product emits
3894
+ * (agent-eval `AnalystFinding`): `subject` (`incorrect-step-<n>` or the wire's
3895
+ * `incorrect-steps-<f>-<l>-<escaped|unescaped>-consequence-<c>`),
3896
+ * `metadata.block_first_step`, and `trace://<traj>/…` evidence refs.
3897
+ */
3898
+
3899
+ interface VerifiableFinding {
3900
+ readonly finding_id?: string;
3901
+ readonly analyst_id?: string;
3902
+ readonly subject?: string;
3903
+ readonly area?: string;
3904
+ readonly claim?: string;
3905
+ readonly evidence_refs?: readonly {
3906
+ readonly kind?: string;
3907
+ readonly uri?: string;
3908
+ readonly excerpt?: string;
3909
+ }[];
3910
+ readonly metadata?: Readonly<Record<string, unknown>>;
3911
+ }
3912
+ /**
3913
+ * 1-based step the finding accuses, or null when the finding names none.
3914
+ * `metadata.block_first_step` wins over the subject: the analyst records the
3915
+ * block's first incorrect step there even when the subject names a later
3916
+ * step of the same block.
3917
+ */
3918
+ declare function findingReplayStep(finding: VerifiableFinding): number | null;
3919
+ /** Trajectory id from the finding's `trace://<traj>/…` evidence refs, or null. */
3920
+ declare function findingTrajectoryId(finding: VerifiableFinding): string | null;
3921
+ /**
3922
+ * Where the executable trajectory lives.
3923
+ * `direct` — one trajectory's steps.json plus a replay-ready image (the
3924
+ * caller owns image preparation, exactly like `traces replay-verify`).
3925
+ * `corpus` — CodeTraceBench corpora; each finding's trajectory is resolved
3926
+ * by its `trace://` evidence and the image is derived through the batch
3927
+ * preparer (uid-1000 chown) unless a test backend is injected.
3928
+ */
3929
+ type FindingReplaySource = {
3930
+ readonly kind: 'direct';
3931
+ readonly stepsPath: string;
3932
+ readonly image: string;
3933
+ readonly cwd: string;
3934
+ readonly caseId?: string;
3935
+ } | {
3936
+ readonly kind: 'corpus';
3937
+ readonly corpora: readonly CorpusSpec[];
3938
+ readonly preparer?: ImagePreparer;
3939
+ };
3940
+ interface ResolvedFindingReplay {
3941
+ readonly caseId: string;
3942
+ readonly stepsPath: string;
3943
+ /** Raw image; corpus-mode execution derives the uid-1000 replay image from it. */
3944
+ readonly image: string;
3945
+ readonly cwd: string;
3946
+ /** 1-based step_id arm A executes. */
3947
+ readonly at: number;
3948
+ readonly recordedReturncode: number;
3949
+ readonly recordedStepTimeoutMs: number | null;
3950
+ }
3951
+ type FindingReplayability = {
3952
+ readonly replayable: true;
3953
+ readonly resolved: ResolvedFindingReplay;
3954
+ } | {
3955
+ readonly replayable: false;
3956
+ readonly reason: string;
3957
+ };
3958
+ /**
3959
+ * Decides whether one finding can be executed against the source, and with
3960
+ * what invocation. Never throws for a finding-shaped problem — every dead end
3961
+ * becomes a `not-replayable` reason the receipt can carry verbatim.
3962
+ */
3963
+ declare function resolveFindingReplayability(finding: VerifiableFinding, source: FindingReplaySource): FindingReplayability;
3964
+ type FindingVerificationStatus = 'reproduced' | 'fix-flipped' | 'not-replayable' | 'divergent';
3965
+ interface FindingVerification {
3966
+ readonly finding_id: string | null;
3967
+ readonly subject: string | null;
3968
+ readonly trajectory_id: string | null;
3969
+ /** 1-based step the proof executed at; null when not replayable. */
3970
+ readonly step: number | null;
3971
+ readonly verified: FindingVerificationStatus;
3972
+ /** Present exactly when `verified` is `not-replayable`. */
3973
+ readonly reason: string | null;
3974
+ /** Receipt directory: receipt.json plus, when executed, replay-verdict.json + report.md. */
3975
+ readonly receipt: string;
3976
+ readonly verdict_path: string | null;
3977
+ /** Receipt dir of the executed proof this finding shares (same case, step, and fix). */
3978
+ readonly deduplicated_with: string | null;
3979
+ }
3980
+ interface VerifyFindingsRun {
3981
+ readonly out: string;
3982
+ readonly verifications: readonly FindingVerification[];
3983
+ readonly counts: Readonly<Record<FindingVerificationStatus, number>>;
3984
+ /** Sandbox executions actually performed (deduplicated proofs count once). */
3985
+ readonly executions: number;
3986
+ }
3987
+ interface VerifyFindingsOptions {
3988
+ readonly source: FindingReplaySource;
3989
+ /** Receipt root; one subdirectory per finding plus verifications.json. */
3990
+ readonly out: string;
3991
+ /** Corrected command for arm B on every executed finding; omit for arm A only. */
3992
+ readonly fixCommand?: string;
3993
+ readonly stepTimeoutMs?: number;
3994
+ readonly prefixLimit?: number;
3995
+ /** Injectable for tests; when set, no sandbox reachability check and no image preparation run. */
3996
+ readonly backend?: ReplayExecBackend;
3997
+ readonly apiKey?: string;
3998
+ readonly baseUrl?: string;
3999
+ readonly maxLifetimeSeconds?: number;
4000
+ readonly onProgress?: (message: string) => void;
4001
+ }
4002
+ /** Arm A reproduced → the fix flipping it beats plain reproduction; anything else diverged. */
4003
+ declare function classifyVerdict(verdict: ReplayVerdict): FindingVerificationStatus;
4004
+ declare const DEFAULT_SANDBOX_BASE_URL = "http://127.0.0.1:4097";
4005
+ /**
4006
+ * Fails loud when the sandbox SDK adapter is not answering. Executed findings
4007
+ * require real infrastructure; verification is never silently skipped.
4008
+ */
4009
+ declare function assertSandboxReachable(baseUrl: string): Promise<void>;
4010
+ /**
4011
+ * Verifies every finding against the source: resolves replayability, executes
4012
+ * one sandbox proof per distinct (case, step, fix) — findings accusing the
4013
+ * same step share the executed proof — and writes a receipt directory per
4014
+ * finding plus a run-level verifications.json.
4015
+ */
4016
+ declare function verifyFindings(findings: readonly VerifiableFinding[], options: VerifyFindingsOptions): Promise<VerifyFindingsRun>;
4017
+ /** Markdown section the analyze report appends when --verify-findings ran. */
4018
+ declare function renderVerifiedFindingsSection(run: VerifyFindingsRun): string;
4019
+ /**
4020
+ * Accepts the two shapes findings travel in: a bare JSON array of analyst
4021
+ * findings, or an object with a `findings` array (e.g. an extracted
4022
+ * `observations[n]` from an agent-eval result.json).
4023
+ */
4024
+ declare function readFindingsFile(path: string): VerifiableFinding[];
4025
+ interface VerifyFindingsCliArgs {
4026
+ findingsPath: string;
4027
+ source: FindingReplaySource;
4028
+ out: string;
4029
+ fixCommand?: string;
4030
+ stepTimeoutMs?: number;
4031
+ prefixLimit?: number;
4032
+ baseUrl: string;
4033
+ apiKeyEnv: string;
4034
+ maxLifetimeSeconds?: number;
4035
+ }
4036
+ declare function verifyFindingsUsage(): string;
4037
+ declare function parseVerifyFindingsArgs(argv: readonly string[]): VerifyFindingsCliArgs | 'help';
4038
+ declare function cmdVerifyFindings(argv: readonly string[]): Promise<void>;
4039
+
3749
4040
  /**
3750
4041
  * Local upload-dedup state.
3751
4042
  *
@@ -3848,4 +4139,4 @@ interface ExecuteOptions {
3848
4139
  /** Send the final, new outbound items (or write their dry-run OTLP). */
3849
4140
  declare function executeUpload(plan: UploadPlan, opts?: ExecuteOptions): Promise<UploadResult>;
3850
4141
 
3851
- export { ACTOR_ATTR, ATTR, type Actor, type AdoptionOptions, type AdoptionReport, AmpAdapter, type AnalystReplayFinding, type AnalyzeOptions, type AnalyzeResult, type ArmExecutionResult, BLOBS_DIR, type BuildPolicyEvidenceOptions, type BuildSessionIndexOptions, type BuildTraceFindingPacketOptions, CODING_REDACTION_RULES, CONTENT_CAP, COORDINATION_LOG_FILE, CORRECTIVE_REACTIONS, type CaseResources, type ChatCompletionCaller, type ChatOutcome, type ChatTrajectory, type ChatTrajectoryMessage, type ChatTrajectoryOptions, type ChatUsage, ClaudeAdapter, type CodeTraceBenchFileRef, type CodeTraceBenchImportOptions, type CodeTraceBenchImportReceipt, type CodeTraceBenchImportResult, type CodeTraceBenchImportedTrace, type CodeTraceBenchStep, CodexAdapter, CodexExecAdapter, CodexExecStreamError, CodexTaskScopeError, type CollectOptions, type CollectPolicyEvidenceOptions, type CollectSessionIndexOptions, type CollectSessionSelectionOptions, type CollectSessionWorkflowOptions, type ConformanceRenderOptions, type CoordinationLog, type CoordinationQuestion, type CoordinationSteer, CopilotAdapter, type CorpusSpec, type CorruptionMode, type CwdSource, DEFAULT_HARNESS, type DockerImagePreparerOptions, EMPTY_SPAN_RUN_SNAPSHOT, EXPORT_RULE, EmptySessionError, type EnumerationResult, type ExcludedCase, type ExecuteOptions, type ExportRule, type ExternalAnalysisKind, type ExternalAnalysisPayload, type ExternalAnalysisResult, type ExternalAnalyzer, type ExternalAnalyzerOptions, type ExternalDiscoveryCandidate, FactoryAdapter, type FileRunContextReaderOptions, type FixGenerationOutcome, type FixPromptInput, ForgeAdapter, GeminiAdapter, type HaloAnalyzerOptions, type HaloReasoningEffort, type HarnessTraceAdapter, type HodoscopeAnalyzerOptions, type HodoscopeInput, type HodoscopeMessage, type HodoscopeSourceMapEntry, type HodoscopeTrajectory, INGEST_SOURCE_CLI, type ImagePreparation, type ImagePreparer, type IncorrectStepsSubject, type IngestedTrajectory, type InspectSessionIndexOptions, JsonSourceError, type JsonlCorruptionReceipt, JsonlParseError, type JsonlReadOptions, type LiveBatchOptions, type LocateOptions, type LoopConvergence, type LoopConvergenceReport, type LoopIteration, type LoopTrend, type LoopTrendBasis, type ObservedLoop, type ObserverOptions, OpencodeAdapter, type OtlpIngestIssue, type OtlpIngestIssueKind, type OtlpInput, type OtlpInputFile, type OtlpRowConversion, type OtlpSpan, type OtlpSpanKind, type OtlpSpanLink, type OtlpStatusCode, type ParentTaskResolution, type ParseOptions, PartialUploadError, PiAdapter, type PipelineOptions, type PipelineReport, type PlanOptions, type PolicyEvidenceLoopSummary, type PolicyEvidenceRecord, type PolicyEvidenceToolSummary, type PrefixDivergence, type PrefixReplayResult, QwenAdapter, REACTIONS, RESULT_FILE, RULE, type Reaction, type ReactionReport, type ReactionSessionReport, type Redactor, type ReplayArmVerdict, type ReplayBatchCaseRow, type ReplayBatchCliArgs, type ReplayBatchFixResult, type ReplayBatchOptions, type ReplayBatchReport, type ReplayExclusionReason, type ReplayExecBackend, type ReplayExecResult, type ReplayExecSession, type ReplayFindingOptions, type ReplayFindingResult, type ReplayVerdict, type ReplayVerifyCliArgs, type ReplayVerifyOptions, type ReplayableCase, type RepoAttrs, type RepoResolution, type RepoResolutionSource, type ResolvedOtlpInput, type ResolvedReplayInvocation, type ResourceResolution, type RunContextJournal, type RunContextNode, type RunContextResult, type RunContextSnapshot, type RunResult, type RunWatchSnapshot, type RunWatchTarget, type RuntimeTrace, SPAWN_JOURNAL_FILE, STATUS_MARK, SUBMIT_ACTION_SIGNATURE, SandboxCounterfactualRunner, type SandboxCounterfactualRunnerOptions, type SandboxReplayBackendOptions, type ScanOptions, type ScannedSession, type SessionBatch, type SessionCorruptionReceipt, type SessionIdentityConflict, type SessionIdentityIndex, type SessionIntegrity, type SessionRef, type SessionRelationship, type SessionRole, type SessionSeedGroup, type SessionSelection, type SessionSelectionRow, type SessionSourceFile, type SessionWorkflow, SessionWorkflowError, type SessionWorkflowErrorCode, type SessionWorkflowIssue, type SessionWorkflowSession, type SessionWorkflowSummary, type SkippedAnalysis, type SkippedInputFile, type SpanInput, type SpanNodeStatus, type SpanRedaction, type SpanRunNode, type SpanRunSnapshot, type SpanStructure, type SpendRoll, type SteeringChainReport, type SteeringEdge, TRACES_REDACTION_RULES, type TraceAgenticRoute, type TraceAgenticRouteReason, type TraceAgenticRouteReasonCode, type TraceContextIndex, type TraceContextRoot, type TraceEvidenceExportOptions, type TraceEvidenceExportResult, type TraceEvidenceFormatOption, type TraceEvidenceInputFormat, type TraceEvidenceRow, type TraceExecutionOptions, type TraceFindingPacket, type TraceImprovementArtifacts, type TraceImprovementOptions, type TraceImprovementResult, type TraceIndexedFile, type TraceInspectionArea, type TraceInspectionFinding, type TraceInspectionReport, type TraceInspectionSeverity, type TraceInvestigationOptions, type TraceInvestigationResult, type TraceLiveAction, type TraceLiveActionKind, type TraceLiveAnalysisContext, type TraceLiveAnalyst, type TraceLiveBatch, type TraceLiveEvidence, type TraceLiveFinding, type TraceLiveLoop, type TraceLiveSeverity, type TraceSessionIndex, type TraceSessionIndexRow, type TraceStoreInvestigationOptions, type TraceStoreInvestigationResult, type TraceStreamEvent, type TraceStreamOptions, type TraceStreamReplayOptions, type TraceStreamSession, type TracesConfig, type TriggerPair, type UnavailableCapabilities, type UploadBackend, type UploadIdentity, type UploadItem, type UploadPlan, type UploadRecord, type UploadResult, type UploadState, type UserPromptInput, type WatchRunTargetOptions, ZERO_ROLL, type ZaiChatCallerOptions, addSpend, alreadyUploaded, analyzeAdoption, analyzeLiveBatch, analyzeLoopConvergence, analyzeReactions, analyzeSpans, analyzeSteeringChain, applyRedactor, buildFixPrompt, buildPolicyEvidenceRecord, buildSessionIndex, buildSessionIndexFromRows, buildSpanRunTree, buildTraceFindingPacket, capText, chatTrajectoryToSpans, classifyLiveActions, classifyReaction, claudeActor, cmdReplayVerify, cmdReplayVerifyBatch, codexActor, collectPolicyEvidence, collectSessionIndex, collectSessionSelection, collectSessionWorkflow, collectSessions, commandAnalyzer, commandRedactor, conformanceOfSpans, connectors, countSkillRunsJsonl, cwdMatchesSelection, defaultTraceLiveAnalysts, deriveFailureSignature, derivedImageTag, describeSessionRelationship, dockerImagePreparer, enumerateReplayableCases, equivalentGitCwds, executeUpload, exportTraceEvidenceFile, exportTraceEvidenceRows, exportTraceEvidenceText, extractFixCommand, fileRunContextSupervisorRunReader, findSpanSourceFiles, forEachTreeNode, generateFixCommand, goldIncorrectSteps, haloAnalyzer, hodoscopeAnalyzer, importCodeTraceBench, incompleteInputsNote, indexSessionIdsByTrace, inferRole, inferSpanKind, ingestCodeTraceBenchSteps, inspectSessionIndex, int, isChatTrajectory, isChatTrajectoryMessage, isFileRunContextDir, isSubmitAction, knownHarnesses, listAdapters, loadState, loadTracesConfig, locateSessions, looksLikeAgentPrompt, mergeRolls, mergeTracesConfig, ms, normalizeRemote, otlpRowToSpan, outboundHash, parseCorpusFlag, parseIncorrectStepsSubject, parseIsoToEpochMs, parseObservationOutput, parseRecordedReturncode, parseReplayBatchArgs, parseReplayVerifyArgs, parseSession, parseSince, planTraceAgenticRoute, planUpload, readCoordinationLog, readFileRunContext, readJsonFile, readJsonl, readLabelEntries, readOtlpInput, readRunContextJournal, readRunContextSnapshot, readRunWatchSnapshot, readSessionIndexFile, readSpanRunSnapshot, recordSessionCorruption, redactSpans, renderBatchReport, renderConformance, renderInspectionReport, renderRunContextSnapshot, renderRunWatchSnapshot, renderSpanRunSnapshot, renderValidation, replayBatchUsage, replayVerify, replayVerifyFinding, replayVerifyUsage, resolveAdapter, resolveCaseResources, resolveFindingInvocation, resolveOtlpInputFiles, resolveRepoAttrs, resolveRunContextDir, resolveRunWatchTarget, resolveSessionRepoAttrs, runCommand, runExternalAnalyzers, runPipelines, runReplayBatch, runTotals, runTraceImprovement, runTraceInvestigation, runTraceStoreInvestigation, sandboxReplayBackend, saveReport, saveState, scanSessions, seededSample, selectAdapters, serializeInspectionReport, serializePolicyEvidence, serializeSessionIndex, serializeSpans, serializeTraceStreamEvent, sessionHash, sessionIdFromAttributes, sessionIntegrityAttributes, skippedAnalyses, span, spanRunTotals, stampRepoAttrs, stampSessionIdentity, stampSessionIntegrity, stampSpanWorkdirRepoAttrs, streamSessions, summarizeOtlpExecution, summarizeSpanExecution, summarizeSpanStructure, takeJsonl, textIsSynthetic, toOpenInferenceSpan, toRuntimeStore, toTraceSpanEvents, tokens, totalAgenticFailureMessage, traceAgenticKinds, traceStreamEventsFromSpans, unavailableCapabilities, uploadKey, usd, userPromptSpan, validateOtlpSpans, validationExitCode, watchRunTarget, watchSessions, wrap, wrapActionForExec, writeHodoscopeInput, writeInspectionReportFile, writeOtlpFile, writePolicyEvidenceFile, writeSessionIndexFile, writeTraceEvidenceExportFile, writeTraceImprovementArtifacts, zaiChatCaller, zeroPricedCost };
4142
+ export { ACTOR_ATTR, ATTR, type Actor, type AdoptionOptions, type AdoptionReport, AmpAdapter, type AnalystReplayFinding, type AnalyzeOptions, type AnalyzeResult, type ArmExecutionResult, BLOBS_DIR, type BuildPolicyEvidenceOptions, type BuildSessionIndexOptions, type BuildTraceFindingPacketOptions, CODING_REDACTION_RULES, CONTENT_CAP, COORDINATION_LOG_FILE, CORRECTIVE_REACTIONS, type CaseResources, type ChatCompletionCaller, type ChatOutcome, type ChatTrajectory, type ChatTrajectoryMessage, type ChatTrajectoryOptions, type ChatUsage, ClaudeAdapter, type CodeTraceBenchFileRef, type CodeTraceBenchImportOptions, type CodeTraceBenchImportReceipt, type CodeTraceBenchImportResult, type CodeTraceBenchImportedTrace, type CodeTraceBenchStep, CodexAdapter, CodexExecAdapter, CodexExecStreamError, CodexTaskScopeError, type CollectOptions, type CollectPolicyEvidenceOptions, type CollectSessionIndexOptions, type CollectSessionSelectionOptions, type CollectSessionWorkflowOptions, type ConformanceRenderOptions, type CoordinationLog, type CoordinationQuestion, type CoordinationSteer, CopilotAdapter, type CorpusSpec, type CorruptionMode, type CwdSource, DEFAULT_HARNESS, DEFAULT_SANDBOX_BASE_URL, type DockerImagePreparerOptions, EMPTY_SPAN_RUN_SNAPSHOT, EXPORT_RULE, EmptySessionError, type EnumerationResult, type ExcludedCase, type ExecuteOptions, type ExportRule, type ExternalAnalysisKind, type ExternalAnalysisPayload, type ExternalAnalysisResult, type ExternalAnalyzer, type ExternalAnalyzerOptions, type ExternalDiscoveryCandidate, FactoryAdapter, type FailedFixAttempt, type FileRunContextReaderOptions, type FindingReplaySource, type FindingReplayability, type FindingVerification, type FindingVerificationStatus, type FixArmExecution, type FixArmExecutor, type FixGenerationOutcome, type FixLoopAttemptRecord, type FixLoopOptions, type FixLoopResult, type FixPromptInput, ForgeAdapter, GeminiAdapter, type HaloAnalyzerOptions, type HaloReasoningEffort, type HarnessTraceAdapter, type HodoscopeAnalyzerOptions, type HodoscopeInput, type HodoscopeMessage, type HodoscopeSourceMapEntry, type HodoscopeTrajectory, INGEST_SOURCE_CLI, type ImagePreparation, type ImagePreparer, type IncorrectStepsSubject, type IngestedTrajectory, type InspectSessionIndexOptions, JsonSourceError, type JsonlCorruptionReceipt, JsonlParseError, type JsonlReadOptions, type LiveBatchOptions, type LocateOptions, type LoopConvergence, type LoopConvergenceReport, type LoopIteration, type LoopTrend, type LoopTrendBasis, type ObservedLoop, type ObserverOptions, OpencodeAdapter, type OtlpIngestIssue, type OtlpIngestIssueKind, type OtlpInput, type OtlpInputFile, type OtlpRowConversion, type OtlpSpan, type OtlpSpanKind, type OtlpSpanLink, type OtlpStatusCode, type ParentTaskResolution, type ParseOptions, PartialUploadError, PiAdapter, type PiAdapterOptions, type PipelineOptions, type PipelineReport, type PlanOptions, type PolicyEvidenceLoopSummary, type PolicyEvidenceRecord, type PolicyEvidenceToolSummary, type PrefixDivergence, type PrefixReplayResult, QwenAdapter, REACTIONS, RESULT_FILE, RULE, type Reaction, type ReactionReport, type ReactionSessionReport, type Redactor, type ReplayArmVerdict, type ReplayBatchCaseRow, type ReplayBatchCliArgs, type ReplayBatchFixResult, type ReplayBatchOptions, type ReplayBatchReport, type ReplayExclusionReason, type ReplayExecBackend, type ReplayExecResult, type ReplayExecSession, type ReplayFindingOptions, type ReplayFindingResult, type ReplayVerdict, type ReplayVerifyCliArgs, type ReplayVerifyOptions, type ReplayableCase, type RepoAttrs, type RepoResolution, type RepoResolutionSource, type ResolvedFindingReplay, type ResolvedOtlpInput, type ResolvedReplayInvocation, type ResourceResolution, type RunContextJournal, type RunContextNode, type RunContextResult, type RunContextSnapshot, type RunResult, type RunWatchSnapshot, type RunWatchTarget, type RuntimeTrace, SPAWN_JOURNAL_FILE, STATUS_MARK, SUBMIT_ACTION_SIGNATURE, SandboxCounterfactualRunner, type SandboxCounterfactualRunnerOptions, type SandboxReplayBackendOptions, type ScanOptions, type ScannedSession, type SessionBatch, type SessionCorruptionReceipt, type SessionIdentityConflict, type SessionIdentityIndex, type SessionIntegrity, type SessionRef, type SessionRelationship, type SessionRole, type SessionSeedGroup, type SessionSelection, type SessionSelectionRow, type SessionSourceFile, type SessionWorkflow, SessionWorkflowError, type SessionWorkflowErrorCode, type SessionWorkflowIssue, type SessionWorkflowSession, type SessionWorkflowSummary, type SkippedAnalysis, type SkippedInputFile, type SpanInput, type SpanNodeStatus, type SpanRedaction, type SpanRunNode, type SpanRunSnapshot, type SpanStructure, type SpendRoll, type SteeringChainReport, type SteeringEdge, TRACES_REDACTION_RULES, type TraceAgenticRoute, type TraceAgenticRouteReason, type TraceAgenticRouteReasonCode, type TraceContextIndex, type TraceContextRoot, type TraceEvidenceExportOptions, type TraceEvidenceExportResult, type TraceEvidenceFormatOption, type TraceEvidenceInputFormat, type TraceEvidenceRow, type TraceExecutionOptions, type TraceFindingPacket, type TraceImprovementArtifacts, type TraceImprovementOptions, type TraceImprovementResult, type TraceIndexedFile, type TraceInspectionArea, type TraceInspectionFinding, type TraceInspectionReport, type TraceInspectionSeverity, type TraceInvestigationOptions, type TraceInvestigationResult, type TraceLiveAction, type TraceLiveActionKind, type TraceLiveAnalysisContext, type TraceLiveAnalyst, type TraceLiveBatch, type TraceLiveEvidence, type TraceLiveFinding, type TraceLiveLoop, type TraceLiveSeverity, type TraceSessionIndex, type TraceSessionIndexRow, type TraceStoreInvestigationOptions, type TraceStoreInvestigationResult, type TraceStreamEvent, type TraceStreamOptions, type TraceStreamReplayOptions, type TraceStreamSession, type TracesConfig, type TriggerPair, type UnavailableCapabilities, type UploadBackend, type UploadIdentity, type UploadItem, type UploadPlan, type UploadRecord, type UploadResult, type UploadState, type UserPromptInput, type VerifiableFinding, type VerifyFindingsCliArgs, type VerifyFindingsOptions, type VerifyFindingsRun, type WatchRunTargetOptions, ZERO_ROLL, type ZaiChatCallerOptions, addSpend, alreadyUploaded, analyzeAdoption, analyzeLiveBatch, analyzeLoopConvergence, analyzeReactions, analyzeSpans, analyzeSteeringChain, applyRedactor, assertSandboxReachable, buildFixPrompt, buildPolicyEvidenceRecord, buildRetryFixPrompt, buildSessionIndex, buildSessionIndexFromRows, buildSpanRunTree, buildTraceFindingPacket, capText, chatTrajectoryToSpans, classifyLiveActions, classifyReaction, classifyVerdict, claudeActor, clipText, cmdReplayVerify, cmdReplayVerifyBatch, cmdVerifyFindings, codexActor, collectPolicyEvidence, collectSessionIndex, collectSessionSelection, collectSessionWorkflow, collectSessions, commandAnalyzer, commandRedactor, conformanceOfSpans, connectors, countScriptCommands, countSkillRunsJsonl, cwdMatchesSelection, defaultTraceLiveAnalysts, deriveFailureSignature, derivedImageTag, describeSessionRelationship, dockerImagePreparer, enumerateReplayableCases, equivalentGitCwds, executeUpload, exportTraceEvidenceFile, exportTraceEvidenceRows, exportTraceEvidenceText, extractFixCommand, fileRunContextSupervisorRunReader, findSpanSourceFiles, findingReplayStep, findingTrajectoryId, forEachTreeNode, generateFixCommand, goldIncorrectSteps, haloAnalyzer, hodoscopeAnalyzer, importCodeTraceBench, incompleteInputsNote, indexSessionIdsByTrace, inferRole, inferSpanKind, ingestCodeTraceBenchSteps, inspectSessionIndex, int, isChatTrajectory, isChatTrajectoryMessage, isFileRunContextDir, isSubmitAction, knownHarnesses, listAdapters, loadState, loadTracesConfig, locateSessions, looksLikeAgentPrompt, mergeRolls, mergeTracesConfig, ms, normalizeRemote, otlpRowToSpan, outboundHash, parseCorpusFlag, parseIncorrectStepsSubject, parseIsoToEpochMs, parseObservationOutput, parseRecordedReturncode, parseReplayBatchArgs, parseReplayVerifyArgs, parseSession, parseSince, parseVerifyFindingsArgs, planTraceAgenticRoute, planUpload, readCoordinationLog, readFileRunContext, readFindingsFile, readJsonFile, readJsonl, readLabelEntries, readOtlpInput, readRunContextJournal, readRunContextSnapshot, readRunWatchSnapshot, readSessionIndexFile, readSpanRunSnapshot, recordSessionCorruption, redactSpans, renderBatchReport, renderConformance, renderInspectionReport, renderRunContextSnapshot, renderRunWatchSnapshot, renderSpanRunSnapshot, renderValidation, renderVerifiedFindingsSection, replayBatchUsage, replayVerify, replayVerifyFinding, replayVerifyUsage, resolveAdapter, resolveCaseResources, resolveFindingInvocation, resolveFindingReplayability, resolveOtlpInputFiles, resolveRepoAttrs, resolveRunContextDir, resolveRunWatchTarget, resolveSessionRepoAttrs, runCommand, runExternalAnalyzers, runFixLoop, runPipelines, runReplayBatch, runTotals, runTraceImprovement, runTraceInvestigation, runTraceStoreInvestigation, sandboxReplayBackend, saveReport, saveState, scanSessions, seededSample, selectAdapters, serializeInspectionReport, serializePolicyEvidence, serializeSessionIndex, serializeSpans, serializeTraceStreamEvent, sessionHash, sessionIdFromAttributes, sessionIntegrityAttributes, skippedAnalyses, span, spanRunTotals, stampRepoAttrs, stampSessionIdentity, stampSessionIntegrity, stampSpanWorkdirRepoAttrs, streamSessions, summarizeOtlpExecution, summarizeSpanExecution, summarizeSpanStructure, takeJsonl, textIsSynthetic, toOpenInferenceSpan, toRuntimeStore, toTraceSpanEvents, tokens, totalAgenticFailureMessage, traceAgenticKinds, traceStreamEventsFromSpans, unavailableCapabilities, uploadKey, usd, userPromptSpan, validateOtlpSpans, validationExitCode, verifyFindings, verifyFindingsUsage, watchRunTarget, watchSessions, wrap, wrapActionForExec, writeHodoscopeInput, writeInspectionReportFile, writeOtlpFile, writePolicyEvidenceFile, writeSessionIndexFile, writeTraceEvidenceExportFile, writeTraceImprovementArtifacts, zaiChatCaller, zeroPricedCost };