@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/README.md +8 -0
- package/dist/{chunk-CK5F5TWO.js → chunk-VTYOCFGF.js} +1094 -128
- package/dist/cli.js +64 -5
- package/dist/index.d.ts +296 -5
- package/dist/index.js +36 -74
- package/docs/replay-verify.md +17 -0
- package/docs/trace-analysts.md +28 -0
- package/package.json +4 -4
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-
|
|
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,
|
|
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(
|
|
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'
|
|
3535
|
-
|
|
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 };
|