@tangle-network/agent-eval 0.126.7 → 0.127.0
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/CHANGELOG.md +44 -0
- package/README.md +2 -2
- package/dist/analyst/index.d.ts +51 -39
- package/dist/analyst/index.js +4 -4
- package/dist/belief-state/index.d.ts +34 -36
- package/dist/belief-state/index.js +2 -2
- package/dist/benchmarks/index.d.ts +30 -12
- package/dist/benchmarks/index.js +12 -10
- package/dist/builder-eval/index.js +1 -1
- package/dist/campaign/index.d.ts +432 -146
- package/dist/campaign/index.js +11 -9
- package/dist/{chunk-ARU2PZFM.js → chunk-424XHVKV.js} +43 -23
- package/dist/chunk-424XHVKV.js.map +1 -0
- package/dist/{chunk-NUKSVU3W.js → chunk-5DTSBUL2.js} +2 -2
- package/dist/{chunk-BTACVO2W.js → chunk-65QETEKG.js} +542 -258
- package/dist/chunk-65QETEKG.js.map +1 -0
- package/dist/{chunk-CGG5SLH3.js → chunk-ARCFIY7U.js} +2 -2
- package/dist/{chunk-P22LJ3Y2.js → chunk-CLELFRQG.js} +6 -4
- package/dist/chunk-CLELFRQG.js.map +1 -0
- package/dist/{chunk-LUNF2SEL.js → chunk-DJKY2TSY.js} +3 -3
- package/dist/chunk-DPUHNQLN.js +232 -0
- package/dist/chunk-DPUHNQLN.js.map +1 -0
- package/dist/{chunk-IPYXE555.js → chunk-EJGRPCO3.js} +36 -13
- package/dist/chunk-EJGRPCO3.js.map +1 -0
- package/dist/{chunk-K6IAZZ6L.js → chunk-FA3MFYNA.js} +132 -110
- package/dist/chunk-FA3MFYNA.js.map +1 -0
- package/dist/chunk-IG35YDN3.js +614 -0
- package/dist/chunk-IG35YDN3.js.map +1 -0
- package/dist/{chunk-DPZAEKA6.js → chunk-IMGJZBFG.js} +84 -56
- package/dist/chunk-IMGJZBFG.js.map +1 -0
- package/dist/{chunk-H5UD2323.js → chunk-IN455XKS.js} +53 -1
- package/dist/chunk-IN455XKS.js.map +1 -0
- package/dist/{chunk-PJQFMIOX.js → chunk-MHELPNRP.js} +31 -1
- package/dist/chunk-MHELPNRP.js.map +1 -0
- package/dist/{chunk-IILEIWGW.js → chunk-NL33OXEP.js} +41 -36
- package/dist/chunk-NL33OXEP.js.map +1 -0
- package/dist/{chunk-474LBSOX.js → chunk-OD5NQ2CS.js} +41 -16
- package/dist/chunk-OD5NQ2CS.js.map +1 -0
- package/dist/{chunk-QOTFXW5L.js → chunk-P5W7RQKK.js} +2 -2
- package/dist/{chunk-IR3KBHOY.js → chunk-P6FYH6K4.js} +39 -3
- package/dist/chunk-P6FYH6K4.js.map +1 -0
- package/dist/{chunk-J5SQWP6Y.js → chunk-PBE2LOSS.js} +18 -2
- package/dist/chunk-PBE2LOSS.js.map +1 -0
- package/dist/{chunk-E3IADPLG.js → chunk-PRB53E3J.js} +50 -224
- package/dist/chunk-PRB53E3J.js.map +1 -0
- package/dist/{chunk-X4UCIOTZ.js → chunk-S5YLIBFX.js} +2 -2
- package/dist/{chunk-7VYEGHWF.js → chunk-SZLVEKMJ.js} +41 -20
- package/dist/chunk-SZLVEKMJ.js.map +1 -0
- package/dist/{chunk-LKKT3IVV.js → chunk-TSN7JT6D.js} +6 -4
- package/dist/{chunk-LKKT3IVV.js.map → chunk-TSN7JT6D.js.map} +1 -1
- package/dist/{chunk-M7AH34KV.js → chunk-UTA2TGC4.js} +32 -16
- package/dist/chunk-UTA2TGC4.js.map +1 -0
- package/dist/{chunk-MAX3TN3C.js → chunk-UWZZKKU7.js} +7 -19
- package/dist/chunk-UWZZKKU7.js.map +1 -0
- package/dist/{chunk-ZVCHKKOP.js → chunk-WED5KLZQ.js} +39 -15
- package/dist/chunk-WED5KLZQ.js.map +1 -0
- package/dist/{chunk-OCFJACJU.js → chunk-X6VOPMLD.js} +74 -14
- package/dist/chunk-X6VOPMLD.js.map +1 -0
- package/dist/{chunk-MOXWMGPC.js → chunk-Y5CYOL42.js} +159 -70
- package/dist/chunk-Y5CYOL42.js.map +1 -0
- package/dist/{chunk-FO7HEH76.js → chunk-YJBNWCAA.js} +2 -2
- package/dist/chunk-ZPUEEM5U.js +179 -0
- package/dist/chunk-ZPUEEM5U.js.map +1 -0
- package/dist/{chunk-KE2VWPZX.js → chunk-ZUUWPZCV.js} +3 -3
- package/dist/cli.js +4 -4
- package/dist/contract/index.d.ts +421 -124
- package/dist/contract/index.js +242 -115
- package/dist/contract/index.js.map +1 -1
- package/dist/control.d.ts +34 -32
- package/dist/control.js +2 -2
- package/dist/hosted/index.d.ts +142 -41
- package/dist/hosted/index.js +23 -1
- package/dist/index.d.ts +364 -255
- package/dist/index.js +315 -226
- package/dist/index.js.map +1 -1
- package/dist/meta-eval/index.d.ts +32 -32
- package/dist/meta-eval/index.js +2 -2
- package/dist/multishot/index.d.ts +1 -0
- package/dist/openapi.json +1 -1
- package/dist/pipelines/index.js +2 -2
- package/dist/reporting.d.ts +97 -74
- package/dist/reporting.js +5 -4
- package/dist/rl.d.ts +177 -131
- package/dist/rl.js +232 -126
- package/dist/rl.js.map +1 -1
- package/dist/rollout/index.d.ts +53 -63
- package/dist/rollout/index.js +7 -5
- package/dist/{run-campaign-FFRM3RH5.js → run-campaign-3A2EBYBE.js} +4 -3
- package/dist/supervisor-run/index.d.ts +7 -15
- package/dist/supervisor-run/index.js +2 -2
- package/dist/traces.d.ts +66 -41
- package/dist/traces.js +9 -5
- package/dist/wire/index.d.ts +1 -0
- package/dist/wire/index.js +2 -2
- package/docs/concepts.md +18 -1
- package/docs/hosted-ingest-spec.md +37 -40
- package/docs/insight-report.md +57 -7
- package/docs/research-report-methodology.md +20 -21
- package/docs/rollout.md +13 -8
- package/package.json +4 -3
- package/dist/chunk-474LBSOX.js.map +0 -1
- package/dist/chunk-7VYEGHWF.js.map +0 -1
- package/dist/chunk-ARU2PZFM.js.map +0 -1
- package/dist/chunk-BTACVO2W.js.map +0 -1
- package/dist/chunk-DPZAEKA6.js.map +0 -1
- package/dist/chunk-E3IADPLG.js.map +0 -1
- package/dist/chunk-H5UD2323.js.map +0 -1
- package/dist/chunk-IILEIWGW.js.map +0 -1
- package/dist/chunk-IPYXE555.js.map +0 -1
- package/dist/chunk-IR3KBHOY.js.map +0 -1
- package/dist/chunk-J5SQWP6Y.js.map +0 -1
- package/dist/chunk-K6IAZZ6L.js.map +0 -1
- package/dist/chunk-M7AH34KV.js.map +0 -1
- package/dist/chunk-MAX3TN3C.js.map +0 -1
- package/dist/chunk-MOXWMGPC.js.map +0 -1
- package/dist/chunk-OCFJACJU.js.map +0 -1
- package/dist/chunk-P22LJ3Y2.js.map +0 -1
- package/dist/chunk-PJQFMIOX.js.map +0 -1
- package/dist/chunk-ZVCHKKOP.js.map +0 -1
- package/dist/chunk-ZZUXHH3R.js +0 -99
- package/dist/chunk-ZZUXHH3R.js.map +0 -1
- /package/dist/{chunk-NUKSVU3W.js.map → chunk-5DTSBUL2.js.map} +0 -0
- /package/dist/{chunk-CGG5SLH3.js.map → chunk-ARCFIY7U.js.map} +0 -0
- /package/dist/{chunk-LUNF2SEL.js.map → chunk-DJKY2TSY.js.map} +0 -0
- /package/dist/{chunk-QOTFXW5L.js.map → chunk-P5W7RQKK.js.map} +0 -0
- /package/dist/{chunk-X4UCIOTZ.js.map → chunk-S5YLIBFX.js.map} +0 -0
- /package/dist/{chunk-FO7HEH76.js.map → chunk-YJBNWCAA.js.map} +0 -0
- /package/dist/{chunk-KE2VWPZX.js.map → chunk-ZUUWPZCV.js.map} +0 -0
- /package/dist/{run-campaign-FFRM3RH5.js.map → run-campaign-3A2EBYBE.js.map} +0 -0
package/dist/campaign/index.d.ts
CHANGED
|
@@ -237,6 +237,7 @@ type CostLedgerHandle = Pick<CostLedger, Exclude<keyof CostLedger, 'listPending'
|
|
|
237
237
|
* OpenAI-compatible `/v1/chat/completions` client with:
|
|
238
238
|
* - Exponential-backoff retry on 429 + 5xx gateway errors (502/503/504).
|
|
239
239
|
* - Retry on transient network errors (fetch failed, AbortError, ECONNRESET).
|
|
240
|
+
* - One retry at temperature 1 when a model explicitly requires it.
|
|
240
241
|
* - Graceful json_schema → json_object degrade on 400 with schema-reject body.
|
|
241
242
|
* - Fenced-JSON stripping (```json ... ```) for models that wrap structured output.
|
|
242
243
|
* - Configurable base URL + api key / bearer, works with LiteLLM proxies, OpenAI
|
|
@@ -419,7 +420,8 @@ type FailureClass = 'success' | 'reasoning_error' | 'tool_selection_error' | 'to
|
|
|
419
420
|
* researcher loop SHOULD be recorded as a `RunRecord`. The mandatory
|
|
420
421
|
* fields are exactly those the paper "Two Loops, Three Roles" requires
|
|
421
422
|
* for reproducibility: who/what/when/cost/seed/hash, plus the search vs
|
|
422
|
-
* holdout split tag
|
|
423
|
+
* holdout split tag. A task score is optional because execution-only records
|
|
424
|
+
* must preserve missing labels instead of converting errors into zero quality.
|
|
423
425
|
*
|
|
424
426
|
* This is intentionally NOT a replacement for the rich `Run` /
|
|
425
427
|
* `ProposeReviewReport` / `ScenarioResult` types already in the
|
|
@@ -440,6 +442,13 @@ type FailureClass = 'success' | 'reasoning_error' | 'tool_selection_error' | 'to
|
|
|
440
442
|
/** Search/dev/holdout split tag. 'search' is the paper-grade alias for the
|
|
441
443
|
* combined train+test pool that the optimizer is allowed to read. */
|
|
442
444
|
type RunSplitTag = 'search' | 'dev' | 'holdout';
|
|
445
|
+
/**
|
|
446
|
+
* Explicit execution-lifecycle result for a run.
|
|
447
|
+
*
|
|
448
|
+
* This is separate from task quality (`outcome`) and failure classification.
|
|
449
|
+
* Producers set it only from root-run or process evidence.
|
|
450
|
+
*/
|
|
451
|
+
type RunTerminalOutcome = 'succeeded' | 'failed' | 'cancelled' | 'incomplete' | 'unknown';
|
|
443
452
|
interface RunTokenUsage {
|
|
444
453
|
input: number;
|
|
445
454
|
/** All generated tokens charged as output, including reasoning tokens. */
|
|
@@ -453,11 +462,6 @@ interface RunTokenUsage {
|
|
|
453
462
|
}
|
|
454
463
|
/**
|
|
455
464
|
* How a run's USD amount was obtained.
|
|
456
|
-
*
|
|
457
|
-
* `costUsd` remains mandatory for wire compatibility. New producers should
|
|
458
|
-
* always populate this discriminated union so a missing bill is never
|
|
459
|
-
* mistaken for an observed zero-dollar run. For `uncaptured`, `costUsd` uses
|
|
460
|
-
* the legacy `0` sentinel while this field carries the truthful null.
|
|
461
465
|
*/
|
|
462
466
|
type RunCostProvenance = {
|
|
463
467
|
kind: 'observed';
|
|
@@ -503,8 +507,8 @@ interface JudgeScoresRecord {
|
|
|
503
507
|
perJudge: Record<string, Record<string, number>>;
|
|
504
508
|
/** Per-dim mean across judges. Convenience — derivable from `perJudge`. */
|
|
505
509
|
perDimMean: Record<string, number>;
|
|
506
|
-
/** Composite mean across
|
|
507
|
-
*
|
|
510
|
+
/** Composite mean across successful judges. Mirrors the task score only
|
|
511
|
+
* when `failedJudges` is empty. */
|
|
508
512
|
composite: number;
|
|
509
513
|
/** Judges that errored or returned an unparseable verdict. Recorded
|
|
510
514
|
* by id (e.g. `['glm-5.1']`) so a partial-failure case is explicit,
|
|
@@ -515,11 +519,11 @@ interface JudgeScoresRecord {
|
|
|
515
519
|
notes?: string;
|
|
516
520
|
}
|
|
517
521
|
interface RunOutcome {
|
|
518
|
-
/** Score on the search/optimization split. Optional
|
|
519
|
-
*
|
|
522
|
+
/** Score on the search/optimization split. Optional for holdout-only and
|
|
523
|
+
* execution-only records. */
|
|
520
524
|
searchScore?: number;
|
|
521
|
-
/** Score on the held-out split. Optional
|
|
522
|
-
*
|
|
525
|
+
/** Score on the held-out split. Optional for search-only and execution-only
|
|
526
|
+
* records. When both scores are absent, the run is explicitly unlabeled. */
|
|
523
527
|
holdoutScore?: number;
|
|
524
528
|
/** Bag of any other metric the run produced — judge dimensions,
|
|
525
529
|
* pass/fail counters, latency stats, etc. Numeric only — keeps
|
|
@@ -583,42 +587,39 @@ interface RunRecord {
|
|
|
583
587
|
wallMs: number;
|
|
584
588
|
/** Time spent queued before execution started, if known. */
|
|
585
589
|
queueMs?: number;
|
|
586
|
-
/** Total USD cost
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
costUsd: number;
|
|
591
|
-
/** Observed, model-priced estimate, or genuinely uncaptured USD amount.
|
|
592
|
-
* Optional only so existing serialized RunRecords remain valid. */
|
|
593
|
-
costProvenance?: RunCostProvenance;
|
|
590
|
+
/** Total USD cost, or null when the producer could not capture one. */
|
|
591
|
+
costUsd: number | null;
|
|
592
|
+
/** Whether `costUsd` came from billing data, a price calculation, or is unavailable. */
|
|
593
|
+
costProvenance: RunCostProvenance;
|
|
594
594
|
/** Token usage breakdown. */
|
|
595
595
|
tokenUsage: RunTokenUsage;
|
|
596
|
+
/** Root-run or process terminal result. Never inferred from a child span. */
|
|
597
|
+
terminalOutcome: RunTerminalOutcome;
|
|
598
|
+
/** Root-run or process failure reason. Valid only for a failed, cancelled,
|
|
599
|
+
* or incomplete terminal result; never populated from a child span. */
|
|
600
|
+
terminalFailureReason?: string;
|
|
596
601
|
/** Judge-side metadata, if a judge was used. */
|
|
597
602
|
judgeMetadata?: RunJudgeMetadata;
|
|
598
603
|
/** Per-split scores + raw bag. */
|
|
599
604
|
outcome: RunOutcome;
|
|
600
|
-
/** Canonical
|
|
605
|
+
/** Canonical task-failure class drawn from the shared
|
|
601
606
|
* `FAILURE_CLASSES` taxonomy. This is the aggregation key that makes
|
|
602
607
|
* "which failure dominates across the whole fleet" answerable in ONE
|
|
603
608
|
* vocabulary — every agent classifies against the same enum. Producers
|
|
604
|
-
* set it
|
|
605
|
-
*
|
|
609
|
+
* set it only from task-result evidence. Execution errors belong in
|
|
610
|
+
* `outcome.raw.execution_error_count`, even when the run later fails. */
|
|
606
611
|
failureClass?: FailureClass;
|
|
607
|
-
/** Free-form
|
|
612
|
+
/** Free-form task-failure detail, scoped UNDER `failureClass`
|
|
608
613
|
* (e.g. failureClass='tool_recovery_failure', failureMode='forge_build_unsatisfied').
|
|
609
|
-
*
|
|
614
|
+
* Do not populate this from a child execution error alone. */
|
|
610
615
|
failureMode?: string;
|
|
611
616
|
/** Which split this run was drawn from. */
|
|
612
617
|
splitTag: RunSplitTag;
|
|
613
618
|
/**
|
|
614
|
-
* Stable scenario identifier the run was scored against.
|
|
615
|
-
*
|
|
616
|
-
* that pairs runs by scenario (preferences, paired stats, BT tournament)
|
|
617
|
-
* keys on this. The campaign artifact populates it canonically; legacy
|
|
618
|
-
* runs without it fall back to inference from `outcome.raw.scenario_id`
|
|
619
|
-
* or `experimentId`.
|
|
619
|
+
* Stable scenario identifier the run observed or was scored against.
|
|
620
|
+
* Comparison primitives match this identity rather than input order.
|
|
620
621
|
*/
|
|
621
|
-
scenarioId
|
|
622
|
+
scenarioId: string;
|
|
622
623
|
/**
|
|
623
624
|
* Canonical identity for the agent profile cell that produced this row:
|
|
624
625
|
* profile artifact hash plus optional harness/model/prompt/reporting
|
|
@@ -976,6 +977,13 @@ interface OptimizerConfig extends OptimizerConfigBase {
|
|
|
976
977
|
}
|
|
977
978
|
/** Five-valued verdict taxonomy (MOSS-paper alignment). */
|
|
978
979
|
type GateDecision = 'ship' | 'hold' | 'need_more_work' | 'model_ceiling' | 'arch_ceiling';
|
|
980
|
+
/** Outcome of one check that contributed to a release decision. */
|
|
981
|
+
type GateCheckStatus = 'pass' | 'fail' | 'not_evaluated';
|
|
982
|
+
interface GateContribution {
|
|
983
|
+
name: string;
|
|
984
|
+
status: GateCheckStatus;
|
|
985
|
+
detail: unknown;
|
|
986
|
+
}
|
|
979
987
|
interface GateContext<TArtifact, TScenario extends Scenario> {
|
|
980
988
|
candidateArtifacts: Map<string, TArtifact>;
|
|
981
989
|
baselineArtifacts?: Map<string, TArtifact>;
|
|
@@ -1009,11 +1017,7 @@ interface GateContext<TArtifact, TScenario extends Scenario> {
|
|
|
1009
1017
|
interface GateResult {
|
|
1010
1018
|
decision: GateDecision;
|
|
1011
1019
|
reasons: string[];
|
|
1012
|
-
contributingGates:
|
|
1013
|
-
name: string;
|
|
1014
|
-
passed: boolean;
|
|
1015
|
-
detail: unknown;
|
|
1016
|
-
}>;
|
|
1020
|
+
contributingGates: GateContribution[];
|
|
1017
1021
|
delta?: number;
|
|
1018
1022
|
}
|
|
1019
1023
|
/** Composable promotion gate. */
|
|
@@ -1157,6 +1161,10 @@ interface CampaignCellResult<TArtifact> {
|
|
|
1157
1161
|
durationMs: number;
|
|
1158
1162
|
seed: number;
|
|
1159
1163
|
cached: boolean;
|
|
1164
|
+
/** Stage that produced `error`. Missing on successful cells. */
|
|
1165
|
+
errorStage?: 'dispatch' | 'judge';
|
|
1166
|
+
/** Judge that threw when `errorStage` is `judge`. */
|
|
1167
|
+
errorJudge?: string;
|
|
1160
1168
|
error?: string;
|
|
1161
1169
|
}
|
|
1162
1170
|
interface JudgeAggregate {
|
|
@@ -1181,8 +1189,10 @@ interface GenerationRecord {
|
|
|
1181
1189
|
* handled — the evidence a blind `Mutator` cannot see. */
|
|
1182
1190
|
interface GenerationCandidate {
|
|
1183
1191
|
surfaceHash: string;
|
|
1184
|
-
|
|
1185
|
-
|
|
1192
|
+
/** Mean over complete task-quality scores, or null when none were produced. */
|
|
1193
|
+
composite: number | null;
|
|
1194
|
+
/** Descriptive interval for `composite`, or null when no score exists. */
|
|
1195
|
+
ci95: [number, number] | null;
|
|
1186
1196
|
/** Exact surface this candidate mutated. */
|
|
1187
1197
|
parentSurfaceHash?: string;
|
|
1188
1198
|
/** Measured search-split composite of the exact parent surface. */
|
|
@@ -1192,13 +1202,12 @@ interface GenerationCandidate {
|
|
|
1192
1202
|
observedDeltaFromParent?: number;
|
|
1193
1203
|
/** Whether this candidate had a scorable result for every designed campaign
|
|
1194
1204
|
* cell and was therefore eligible for ranking, promotion, and Pareto
|
|
1195
|
-
* selection.
|
|
1196
|
-
|
|
1197
|
-
eligibleForPromotion?: boolean;
|
|
1205
|
+
* selection. */
|
|
1206
|
+
eligibleForPromotion: boolean;
|
|
1198
1207
|
/** Exact denominator receipt for selection eligibility. Scores stay
|
|
1199
1208
|
* descriptive: an incomplete candidate is retained with its observed score
|
|
1200
1209
|
* and errors instead of receiving an invented penalty. */
|
|
1201
|
-
coverage
|
|
1210
|
+
coverage: {
|
|
1202
1211
|
expectedCells: number;
|
|
1203
1212
|
scorableCells: number;
|
|
1204
1213
|
unscorableCells: Array<{
|
|
@@ -1239,10 +1248,18 @@ interface CampaignAggregates {
|
|
|
1239
1248
|
cost: CostLedgerSummary;
|
|
1240
1249
|
/** Compatibility alias of `cost.totalCostUsd`. */
|
|
1241
1250
|
totalCostUsd: number;
|
|
1251
|
+
/** Cells whose dispatch completed, including cells whose later judge failed. */
|
|
1242
1252
|
cellsExecuted: number;
|
|
1243
1253
|
cellsSkipped: number;
|
|
1244
1254
|
cellsCached: number;
|
|
1255
|
+
/** All non-skipped dispatch, judge, and unclassified cell failures. */
|
|
1245
1256
|
cellsFailed: number;
|
|
1257
|
+
/** Present on results that record failure stages. */
|
|
1258
|
+
cellsDispatchFailed?: number;
|
|
1259
|
+
/** Present on results that record failure stages. */
|
|
1260
|
+
cellsJudgeFailed?: number;
|
|
1261
|
+
/** Legacy failures whose stage was not recorded. */
|
|
1262
|
+
cellsUnclassifiedFailed?: number;
|
|
1246
1263
|
}
|
|
1247
1264
|
interface CampaignResult<TArtifact = unknown, TScenario extends Scenario = Scenario> {
|
|
1248
1265
|
/** sha256(scenarios, judges, dispatch source ref, optimizer config, seed). Stable identity for reruns. */
|
|
@@ -1379,7 +1396,7 @@ declare function createReferenceEquivalenceJudge(options: ReferenceEquivalenceJu
|
|
|
1379
1396
|
* `ViewTraceOversized`.
|
|
1380
1397
|
*/
|
|
1381
1398
|
/** OTLP span kind (subset we actually use). */
|
|
1382
|
-
type TraceAnalystSpanKind = 'AGENT' | 'LLM' | 'TOOL' | 'CHAIN' | 'GUARDRAIL' | 'SPAN' | 'UNKNOWN';
|
|
1399
|
+
type TraceAnalystSpanKind = 'AGENT' | 'LLM' | 'TOOL' | 'CHAIN' | 'EVALUATOR' | 'GUARDRAIL' | 'SPAN' | 'UNKNOWN';
|
|
1383
1400
|
type TraceAnalystSpanStatus = 'OK' | 'ERROR' | 'UNSET';
|
|
1384
1401
|
/** Subset of OTLP span fields the analyst exposes to the agent. The
|
|
1385
1402
|
* store's job is to project upstream's full span shape down to this
|
|
@@ -1948,10 +1965,10 @@ interface PairedMetricDelta {
|
|
|
1948
1965
|
n: number;
|
|
1949
1966
|
/** Pairs where at least one side does not carry the metric. */
|
|
1950
1967
|
nMissing: number;
|
|
1951
|
-
/** Median paired delta
|
|
1952
|
-
medianDelta: number;
|
|
1953
|
-
/** Mean paired delta
|
|
1954
|
-
meanDelta: number;
|
|
1968
|
+
/** Median paired delta, or null when `n === 0`. */
|
|
1969
|
+
medianDelta: number | null;
|
|
1970
|
+
/** Mean paired delta, or null when `n === 0`. */
|
|
1971
|
+
meanDelta: number | null;
|
|
1955
1972
|
/** Bootstrap CI on the paired delta (`pairedBootstrap`); null when
|
|
1956
1973
|
* `n === 0` — a zero-width [0, 0] interval on no data would read as a
|
|
1957
1974
|
* measured tight null. */
|
|
@@ -2856,6 +2873,86 @@ declare function planEvalFixtureRun<TArtifact = unknown>(options: PlanEvalFixtur
|
|
|
2856
2873
|
* (so the result records every gate's reason — useful for diagnostics). */
|
|
2857
2874
|
declare function composeGate<TArtifact = unknown, TScenario extends Scenario = Scenario>(...gates: Array<Gate<TArtifact, TScenario>>): Gate<TArtifact, TScenario>;
|
|
2858
2875
|
|
|
2876
|
+
/**
|
|
2877
|
+
* Liveness canaries — cheap statistical checks that catch the failure
|
|
2878
|
+
* modes a green test suite never sees.
|
|
2879
|
+
*
|
|
2880
|
+
* Three canary types in this module:
|
|
2881
|
+
*
|
|
2882
|
+
* 1. **Silent judge fallback** — the judge degraded to a fallback
|
|
2883
|
+
* path (rules-only / cached / heuristic) without anyone
|
|
2884
|
+
* noticing. Signature: a string of consecutive runs whose
|
|
2885
|
+
* `judgeMetadata.confidence` equals a known fallback constant
|
|
2886
|
+
* (default 0.30) OR whose `judgeMetadata.fallback` is true.
|
|
2887
|
+
*
|
|
2888
|
+
* 2. **Judge calibration drift** — the judge's confidence
|
|
2889
|
+
* distribution has drifted from a historical window. Two-sample
|
|
2890
|
+
* Kolmogorov-Smirnov test on the recent vs historical confidences,
|
|
2891
|
+
* with the empirical-CDF max-difference statistic.
|
|
2892
|
+
*
|
|
2893
|
+
* 3. **Eval-set distribution shift** — the mix of categories /
|
|
2894
|
+
* buckets in the recent runs differs significantly from the
|
|
2895
|
+
* historical mix. Chi-square test on the binned counts.
|
|
2896
|
+
*
|
|
2897
|
+
* Outputs are alerts. The canary does NOT fail loud the way a test
|
|
2898
|
+
* does — failing tests are reserved for hard correctness violations.
|
|
2899
|
+
* A canary that fires is a *signal* to investigate, not a verdict.
|
|
2900
|
+
*
|
|
2901
|
+
* Why this lives here rather than in `observability.ts`: that module
|
|
2902
|
+
* exports already, and is a pure-fanout-to-Langfuse/Prometheus
|
|
2903
|
+
* adapter. Canaries are statistical detectors, not adapters.
|
|
2904
|
+
*/
|
|
2905
|
+
|
|
2906
|
+
interface CanaryOptions {
|
|
2907
|
+
/**
|
|
2908
|
+
* Silent-fallback detection.
|
|
2909
|
+
* - `constant`: confidence value treated as the fallback signal.
|
|
2910
|
+
* Default 0.30 (matches the soft-fail default in
|
|
2911
|
+
* `propose-review.ts`).
|
|
2912
|
+
* - `consecutiveThreshold`: trip the alert after this many
|
|
2913
|
+
* consecutive runs at `constant` (or `fallback === true`).
|
|
2914
|
+
* Default 3.
|
|
2915
|
+
*/
|
|
2916
|
+
silentFallback?: {
|
|
2917
|
+
constant?: number;
|
|
2918
|
+
consecutiveThreshold?: number;
|
|
2919
|
+
/** Floating-point tolerance when comparing against `constant`. */
|
|
2920
|
+
epsilon?: number;
|
|
2921
|
+
};
|
|
2922
|
+
/**
|
|
2923
|
+
* Calibration-drift detection.
|
|
2924
|
+
* - `historyWindow`: number of past runs (oldest-first) treated as
|
|
2925
|
+
* the historical baseline. Default 50.
|
|
2926
|
+
* - `recentWindow`: number of recent runs (newest-first) compared
|
|
2927
|
+
* against history. Default 20.
|
|
2928
|
+
* - `ksAlpha`: alpha for the KS statistic vs critical value.
|
|
2929
|
+
* Default 0.05.
|
|
2930
|
+
* - `minRecent`: minimum recent runs required to even attempt the
|
|
2931
|
+
* check. Default 10.
|
|
2932
|
+
*/
|
|
2933
|
+
calibrationDrift?: {
|
|
2934
|
+
historyWindow?: number;
|
|
2935
|
+
recentWindow?: number;
|
|
2936
|
+
ksAlpha?: number;
|
|
2937
|
+
minRecent?: number;
|
|
2938
|
+
};
|
|
2939
|
+
/**
|
|
2940
|
+
* Distribution-shift detection.
|
|
2941
|
+
* - `category`: function that maps a run to a categorical bucket.
|
|
2942
|
+
* Required to enable this canary; if omitted the chi-square check
|
|
2943
|
+
* is skipped entirely.
|
|
2944
|
+
* - `chiSquareAlpha`: alpha. Default 0.05.
|
|
2945
|
+
* - `historyWindow`, `recentWindow`, `minRecent`: like above.
|
|
2946
|
+
*/
|
|
2947
|
+
distributionShift?: {
|
|
2948
|
+
category: (run: RunRecord) => string | null;
|
|
2949
|
+
chiSquareAlpha?: number;
|
|
2950
|
+
historyWindow?: number;
|
|
2951
|
+
recentWindow?: number;
|
|
2952
|
+
minRecent?: number;
|
|
2953
|
+
};
|
|
2954
|
+
}
|
|
2955
|
+
|
|
2859
2956
|
/**
|
|
2860
2957
|
* Dataset — versioned, sliceable, content-hashed scenario collection.
|
|
2861
2958
|
*
|
|
@@ -2927,6 +3024,178 @@ interface RedTeamCase extends DatasetScenario {
|
|
|
2927
3024
|
payload: RedTeamPayload;
|
|
2928
3025
|
}
|
|
2929
3026
|
|
|
3027
|
+
/**
|
|
3028
|
+
* Validator-output verdict — substrate primitive for "did this output pass,
|
|
3029
|
+
* and how well?"
|
|
3030
|
+
*
|
|
3031
|
+
* Used by:
|
|
3032
|
+
* - `@tangle-network/agent-eval/matrix` — verdict per cell in the cartesian.
|
|
3033
|
+
* - `@tangle-network/agent-runtime` — Validator<Output, Verdict = DefaultVerdict>.
|
|
3034
|
+
* Runtime keeps `Validator` because it's coupled to runtime-shaped
|
|
3035
|
+
* `ValidationCtx` (iteration, signal, traceEmitter); the verdict TYPE
|
|
3036
|
+
* itself is a substrate concept and lives here.
|
|
3037
|
+
*
|
|
3038
|
+
* Repo layering: agent-eval is the substrate (no upward deps). Both
|
|
3039
|
+
* agent-runtime and agent-knowledge consume this type FROM agent-eval —
|
|
3040
|
+
* never the other way around. See CLAUDE.md "Repo layering" for the rule.
|
|
3041
|
+
*/
|
|
3042
|
+
/**
|
|
3043
|
+
* Minimal verdict shape — `valid` + `score` are required; `scores` +
|
|
3044
|
+
* `notes` are optional surface. Validators that need richer shapes
|
|
3045
|
+
* parameterise `Validator<Output, MyVerdict>` with their own type.
|
|
3046
|
+
*
|
|
3047
|
+
* Need structured extras? Extend DefaultVerdict with typed fields — never
|
|
3048
|
+
* serialize extras into `notes`.
|
|
3049
|
+
*/
|
|
3050
|
+
interface DefaultVerdict {
|
|
3051
|
+
/** Whether the output meets the validator's pass criteria. */
|
|
3052
|
+
valid: boolean;
|
|
3053
|
+
/** Aggregate score in [0, 1]. Drivers use this for winner selection. */
|
|
3054
|
+
score: number;
|
|
3055
|
+
/** Per-dimension scores. Free-form; weighted into `score` by the validator. */
|
|
3056
|
+
scores?: Record<string, number>;
|
|
3057
|
+
/** Human-readable rationale; surfaces in trace + final-result `winner.verdict`. */
|
|
3058
|
+
notes?: string;
|
|
3059
|
+
}
|
|
3060
|
+
|
|
3061
|
+
/**
|
|
3062
|
+
* Verifiable reward channel.
|
|
3063
|
+
*
|
|
3064
|
+
* For RL on coding / math / theorem-proving / structured-output tasks, the
|
|
3065
|
+
* reward signal is *decidable* — a test passes or fails, a proof checks or
|
|
3066
|
+
* doesn't, an output validates against a schema or doesn't. These rewards
|
|
3067
|
+
* are dramatically more useful for RL training than LLM-judge scores
|
|
3068
|
+
* because they don't drift, can't be Goodhart-gamed by the policy in the
|
|
3069
|
+
* same way, and don't require a separate calibration loop.
|
|
3070
|
+
*
|
|
3071
|
+
* The `MultiLayerVerifier` already produces this signal — it just doesn't
|
|
3072
|
+
* surface it in a shape that's clean enough for RL training. This module
|
|
3073
|
+
* wraps the verifier output so consumers can:
|
|
3074
|
+
*
|
|
3075
|
+
* 1. Extract a clean `VerifiableReward` from a `VerificationReport`
|
|
3076
|
+
* 2. Distinguish *deterministic* rewards (compile, test, schema) from
|
|
3077
|
+
* *probabilistic* rewards (judge) so they can be weighted differently
|
|
3078
|
+
* in the RL training step
|
|
3079
|
+
* 3. Filter `RunRecord[]` to only those with a verifiable reward,
|
|
3080
|
+
* producing the clean training set that DeepSeek-R1-style GRPO and
|
|
3081
|
+
* AlphaProof-style search both depend on
|
|
3082
|
+
*
|
|
3083
|
+
* Why this matters: every credible 2025-2026 frontier RL result on coding
|
|
3084
|
+
* agents leans on verifiable reward (DeepSeek-R1 GRPO on test pass-rate,
|
|
3085
|
+
* o-series RL on math/code, AlphaProof on Lean kernel checking). Mixing
|
|
3086
|
+
* judge scores into the reward signal poisons the gradient. This module
|
|
3087
|
+
* is the seam.
|
|
3088
|
+
*/
|
|
3089
|
+
|
|
3090
|
+
type VerifiableRewardSource = 'compile' | 'test' | 'schema' | 'sandbox' | 'judge' | 'composite';
|
|
3091
|
+
interface VerifiableRewardExtractionOptions {
|
|
3092
|
+
/**
|
|
3093
|
+
* Which layers count as deterministic-reward sources. The verifier doesn't
|
|
3094
|
+
* tag layers as "this is verifiable"; the caller declares it via this list
|
|
3095
|
+
* (or via the layer name → source mapping). Default treats common names
|
|
3096
|
+
* (`install`, `typecheck`, `build`, `lint`, `test`, `compile`, `schema`,
|
|
3097
|
+
* `sandbox`) as deterministic.
|
|
3098
|
+
*/
|
|
3099
|
+
deterministicLayers?: string[];
|
|
3100
|
+
/**
|
|
3101
|
+
* Map layer name → reward source. Defaults to a sensible string-match.
|
|
3102
|
+
*/
|
|
3103
|
+
sourceFor?: (layerName: string) => VerifiableRewardSource;
|
|
3104
|
+
/**
|
|
3105
|
+
* Whether to fall back to a probabilistic (judge) reward when no
|
|
3106
|
+
* deterministic layer produced a numeric score. Default `true`. Set to
|
|
3107
|
+
* `false` for "deterministic-only" training pipelines that should
|
|
3108
|
+
* discard runs without a verifiable signal.
|
|
3109
|
+
*/
|
|
3110
|
+
fallbackToJudge?: boolean;
|
|
3111
|
+
/**
|
|
3112
|
+
* Default confidence for probabilistic (judge) rewards when the judge
|
|
3113
|
+
* doesn't report one. Default `0.7`.
|
|
3114
|
+
*/
|
|
3115
|
+
judgeConfidenceFloor?: number;
|
|
3116
|
+
}
|
|
3117
|
+
|
|
3118
|
+
/**
|
|
3119
|
+
* Reward hacking / Goodhart detection.
|
|
3120
|
+
*
|
|
3121
|
+
* Goodhart's Law says: when a measure becomes a target, it ceases to be
|
|
3122
|
+
* a good measure. In RLHF and agentic-RL settings this is the dominant
|
|
3123
|
+
* failure mode — the policy learns to produce outputs that score well on
|
|
3124
|
+
* the proxy reward (judge, rubric, test pass-rate) without producing
|
|
3125
|
+
* the underlying capability the proxy was meant to track.
|
|
3126
|
+
*
|
|
3127
|
+
* Krakovna et al. (2020, "Specification Gaming Examples in AI") and the
|
|
3128
|
+
* subsequent RLHF reward-hacking literature (Skalse et al. 2022, Kim et al.
|
|
3129
|
+
* 2023) converge on a few diagnostic signatures:
|
|
3130
|
+
*
|
|
3131
|
+
* 1. **Reward divergence:** the proxy reward grows while the held-out
|
|
3132
|
+
* ground-truth signal stagnates or drops. Predictive validity over
|
|
3133
|
+
* time captures this.
|
|
3134
|
+
* 2. **Distributional shift in outputs:** after RL, the policy produces
|
|
3135
|
+
* outputs that no longer match the reference distribution — usually
|
|
3136
|
+
* because it found a high-reward attractor that's degenerate (e.g.
|
|
3137
|
+
* one-token responses, repetition, formatting tricks).
|
|
3138
|
+
* 3. **Disagreement between independent rewards:** if you train on
|
|
3139
|
+
* reward A and a held-out independent reward B drops sharply, you're
|
|
3140
|
+
* probably hacking A.
|
|
3141
|
+
* 4. **Calibration drift:** the verifiable / deterministic component of
|
|
3142
|
+
* the reward is stable; the probabilistic / judge component drifts up
|
|
3143
|
+
* while the deterministic component doesn't. The judge is being
|
|
3144
|
+
* gamed.
|
|
3145
|
+
*
|
|
3146
|
+
* This module ships explicit detectors for all four signatures, plus a
|
|
3147
|
+
* combined verdict. The output is diagnostic — actionable signals,
|
|
3148
|
+
* not autoreject — because each signature has known false positives
|
|
3149
|
+
* (e.g., a policy that genuinely improves can show distributional shift).
|
|
3150
|
+
*
|
|
3151
|
+
* Differs from `rubricPredictiveValidity` (which is a *standing* check on
|
|
3152
|
+
* whether rubrics correlate with deployment outcomes) — this is a
|
|
3153
|
+
* *temporal* check on whether the reward-vs-truth gap is *widening over
|
|
3154
|
+
* time during a training run*.
|
|
3155
|
+
*/
|
|
3156
|
+
|
|
3157
|
+
interface DetectRewardHackingInput {
|
|
3158
|
+
/**
|
|
3159
|
+
* Run records ordered by recency (oldest first). The detector segments
|
|
3160
|
+
* them into prefix/suffix windows to compute "did the gap widen."
|
|
3161
|
+
*/
|
|
3162
|
+
runs: RunRecord[];
|
|
3163
|
+
/**
|
|
3164
|
+
* The metric the policy was trained to optimize. Should be present on
|
|
3165
|
+
* `outcome.raw` or `outcome.holdoutScore`. Default reads `outcome.holdoutScore`.
|
|
3166
|
+
*/
|
|
3167
|
+
proxyOf?: (run: RunRecord) => number | null;
|
|
3168
|
+
/**
|
|
3169
|
+
* The held-out ground-truth metric. For RL on coding, this is typically
|
|
3170
|
+
* test pass-rate. For RLHF, it's downstream task performance or human
|
|
3171
|
+
* preference. For knowledge tasks, it's an independently-graded score.
|
|
3172
|
+
*/
|
|
3173
|
+
truthOf?: (run: RunRecord) => number | null;
|
|
3174
|
+
/**
|
|
3175
|
+
* Independent secondary reward. Used for the `reward_disagreement`
|
|
3176
|
+
* signal. Default uses the verifiable reward extractor (deterministic
|
|
3177
|
+
* sources only).
|
|
3178
|
+
*/
|
|
3179
|
+
secondaryRewardOf?: (run: RunRecord) => number | null;
|
|
3180
|
+
/**
|
|
3181
|
+
* Window size — how many of the most recent runs count as the "after"
|
|
3182
|
+
* cohort. Default min(50, half the runs).
|
|
3183
|
+
*/
|
|
3184
|
+
windowSize?: number;
|
|
3185
|
+
/**
|
|
3186
|
+
* Severity threshold to flag a signal. Default 0.3 (suspect) and 0.6
|
|
3187
|
+
* (gaming).
|
|
3188
|
+
*/
|
|
3189
|
+
thresholds?: {
|
|
3190
|
+
suspect?: number;
|
|
3191
|
+
gaming?: number;
|
|
3192
|
+
};
|
|
3193
|
+
/**
|
|
3194
|
+
* Verifiable-reward options used for the secondary-reward fallback.
|
|
3195
|
+
*/
|
|
3196
|
+
verifiableRewardOptions?: VerifiableRewardExtractionOptions;
|
|
3197
|
+
}
|
|
3198
|
+
|
|
2930
3199
|
/**
|
|
2931
3200
|
* `defaultProductionGate` — composes the substrate's existing safety
|
|
2932
3201
|
* primitives (red-team / reward-hacking / canary / heldout) into a single
|
|
@@ -2939,6 +3208,10 @@ interface RedTeamCase extends DatasetScenario {
|
|
|
2939
3208
|
* extra domain-specific gates they need (`composeGate(defaultProductionGate(...), customGate)`).
|
|
2940
3209
|
*/
|
|
2941
3210
|
|
|
3211
|
+
type DefaultProductionGateCheck = 'dimension-regression' | 'budget' | 'red-team' | 'reward-hacking' | 'canary';
|
|
3212
|
+
type DefaultProductionRewardHackingOptions = Omit<DetectRewardHackingInput, 'runs' | 'truthOf'> & {
|
|
3213
|
+
truthOf: NonNullable<DetectRewardHackingInput['truthOf']>;
|
|
3214
|
+
};
|
|
2942
3215
|
interface DefaultProductionGateOptions {
|
|
2943
3216
|
/** Required: scenarios held out from training; substrate compares
|
|
2944
3217
|
* candidate-on-holdout vs baseline-on-holdout. */
|
|
@@ -2971,19 +3244,25 @@ interface DefaultProductionGateOptions {
|
|
|
2971
3244
|
* native scale. When omitted it auto-scales off observed magnitudes:
|
|
2972
3245
|
* 0.05 on [0,1], 5 on 0-100. */
|
|
2973
3246
|
regressionTolerance?: number;
|
|
2974
|
-
/** Total $ budget for
|
|
2975
|
-
*
|
|
3247
|
+
/** Total $ budget for the complete improvement run. Requires
|
|
3248
|
+
* `GateContext.costLedger`; missing or incomplete accounting holds. */
|
|
2976
3249
|
budgetUsd?: number;
|
|
2977
|
-
/**
|
|
2978
|
-
*
|
|
2979
|
-
*
|
|
3250
|
+
/** Static artifact-screening cases. Only `expected: 'ignore'` cases without
|
|
3251
|
+
* tool assertions are valid because this check does not dispatch case inputs
|
|
3252
|
+
* or observe tool calls. */
|
|
2980
3253
|
redTeamBattery?: RedTeamCase[];
|
|
2981
|
-
/**
|
|
2982
|
-
*
|
|
3254
|
+
/** Shared run history, oldest first. Supplying history does not enable either
|
|
3255
|
+
* monitoring check; configure `rewardHacking` and/or `canary` explicitly. */
|
|
2983
3256
|
recentRuns?: RunRecord[];
|
|
2984
|
-
/**
|
|
2985
|
-
|
|
2986
|
-
|
|
3257
|
+
/** Enable reward-hacking monitoring with a caller-owned independent truth channel. */
|
|
3258
|
+
rewardHacking?: DefaultProductionRewardHackingOptions;
|
|
3259
|
+
/** Enable canary monitoring. Pass `{}` to use the canary defaults. */
|
|
3260
|
+
canary?: CanaryOptions;
|
|
3261
|
+
/** Optional checks that must be evaluated even when their normal input is
|
|
3262
|
+
* absent. Configuring a check's input also makes that check required.
|
|
3263
|
+
* Missing evidence always records `not_evaluated`; required unevaluated
|
|
3264
|
+
* checks hold the release decision. Held-out significance is always required. */
|
|
3265
|
+
requiredChecks?: DefaultProductionGateCheck[];
|
|
2987
3266
|
}
|
|
2988
3267
|
/**
|
|
2989
3268
|
* Opinionated production gate composing held-out significance, red-team, reward-hacking, and canary checks into a single `Gate.decide` decision.
|
|
@@ -3902,40 +4181,6 @@ interface Artifact {
|
|
|
3902
4181
|
metadata?: Record<string, unknown>;
|
|
3903
4182
|
}
|
|
3904
4183
|
|
|
3905
|
-
/**
|
|
3906
|
-
* Validator-output verdict — substrate primitive for "did this output pass,
|
|
3907
|
-
* and how well?"
|
|
3908
|
-
*
|
|
3909
|
-
* Used by:
|
|
3910
|
-
* - `@tangle-network/agent-eval/matrix` — verdict per cell in the cartesian.
|
|
3911
|
-
* - `@tangle-network/agent-runtime` — Validator<Output, Verdict = DefaultVerdict>.
|
|
3912
|
-
* Runtime keeps `Validator` because it's coupled to runtime-shaped
|
|
3913
|
-
* `ValidationCtx` (iteration, signal, traceEmitter); the verdict TYPE
|
|
3914
|
-
* itself is a substrate concept and lives here.
|
|
3915
|
-
*
|
|
3916
|
-
* Repo layering: agent-eval is the substrate (no upward deps). Both
|
|
3917
|
-
* agent-runtime and agent-knowledge consume this type FROM agent-eval —
|
|
3918
|
-
* never the other way around. See CLAUDE.md "Repo layering" for the rule.
|
|
3919
|
-
*/
|
|
3920
|
-
/**
|
|
3921
|
-
* Minimal verdict shape — `valid` + `score` are required; `scores` +
|
|
3922
|
-
* `notes` are optional surface. Validators that need richer shapes
|
|
3923
|
-
* parameterise `Validator<Output, MyVerdict>` with their own type.
|
|
3924
|
-
*
|
|
3925
|
-
* Need structured extras? Extend DefaultVerdict with typed fields — never
|
|
3926
|
-
* serialize extras into `notes`.
|
|
3927
|
-
*/
|
|
3928
|
-
interface DefaultVerdict {
|
|
3929
|
-
/** Whether the output meets the validator's pass criteria. */
|
|
3930
|
-
valid: boolean;
|
|
3931
|
-
/** Aggregate score in [0, 1]. Drivers use this for winner selection. */
|
|
3932
|
-
score: number;
|
|
3933
|
-
/** Per-dimension scores. Free-form; weighted into `score` by the validator. */
|
|
3934
|
-
scores?: Record<string, number>;
|
|
3935
|
-
/** Human-readable rationale; surfaces in trace + final-result `winner.verdict`. */
|
|
3936
|
-
notes?: string;
|
|
3937
|
-
}
|
|
3938
|
-
|
|
3939
4184
|
/**
|
|
3940
4185
|
* Completion verifier — the task-completion oracle.
|
|
3941
4186
|
*
|
|
@@ -4251,8 +4496,8 @@ interface ProfileSummary {
|
|
|
4251
4496
|
model: string;
|
|
4252
4497
|
/** RunRecords produced for this profile (= scenarios × reps). */
|
|
4253
4498
|
records: number;
|
|
4254
|
-
/** Mean
|
|
4255
|
-
meanComposite: number;
|
|
4499
|
+
/** Mean across scored records, or null when the profile has no task labels. */
|
|
4500
|
+
meanComposite: number | null;
|
|
4256
4501
|
totalCostUsd: number;
|
|
4257
4502
|
/** Per-profile integrity verdict — surfaces a single profile that ran stub
|
|
4258
4503
|
* even when the matrix as a whole looks real. */
|
|
@@ -4480,7 +4725,7 @@ interface RunOptimizationBaseOptions<TScenario extends Scenario, TArtifact> exte
|
|
|
4480
4725
|
candidates: Array<{
|
|
4481
4726
|
surfaceHash: string;
|
|
4482
4727
|
campaign: CampaignResult<TArtifact, TScenario>;
|
|
4483
|
-
composite: number;
|
|
4728
|
+
composite: number | null;
|
|
4484
4729
|
}>;
|
|
4485
4730
|
history: GenerationRecord[];
|
|
4486
4731
|
/** Shared run spend account and receipt attribution phase. */
|
|
@@ -4641,7 +4886,7 @@ interface ParetoPoint {
|
|
|
4641
4886
|
onFrontier: boolean;
|
|
4642
4887
|
/** Optional gate verdict for this candidate, if a `GateDecision`
|
|
4643
4888
|
* for it was passed in. */
|
|
4644
|
-
gate?: 'promote' | '
|
|
4889
|
+
gate?: 'promote' | 'reject';
|
|
4645
4890
|
}
|
|
4646
4891
|
interface ParetoFigureSpec {
|
|
4647
4892
|
kind: 'pareto-cost-quality';
|
|
@@ -4695,8 +4940,8 @@ interface InsightReport {
|
|
|
4695
4940
|
/** Number of runs analyzed. */
|
|
4696
4941
|
n: number;
|
|
4697
4942
|
/** Runtime facts carried by the run records. These describe execution,
|
|
4698
|
-
* not task quality: duration, queueing, token categories, models,
|
|
4699
|
-
*
|
|
4943
|
+
* not task quality: duration, queueing, token categories, models,
|
|
4944
|
+
* execution errors, and terminal outcomes. */
|
|
4700
4945
|
execution: ExecutionInsight;
|
|
4701
4946
|
/** Composite-score distribution across all runs. Always present. */
|
|
4702
4947
|
composite: ScalarDistribution;
|
|
@@ -4754,10 +4999,9 @@ interface InsightReport {
|
|
|
4754
4999
|
* Surfaced metrics: composite, cost, duration, tokenUsage, plus any
|
|
4755
5000
|
* per-dimension judge metric present in both windows. */
|
|
4756
5001
|
priorPeriodComparison?: PriorPeriodComparison;
|
|
4757
|
-
/** Model-free failure
|
|
4758
|
-
* by count descending.
|
|
4759
|
-
*
|
|
4760
|
-
* the harness already recorded — actionable with no analyst wired. */
|
|
5002
|
+
/** Model-free task-failure breakdown from `RunRecord.failureClass` or
|
|
5003
|
+
* `failureMode`, ranked by count descending. Tags from successful or
|
|
5004
|
+
* otherwise non-failed tasks are excluded. */
|
|
4761
5005
|
failureModes?: FailureModeTally[];
|
|
4762
5006
|
/** Top-N actionable recommendations, ranked by priority. The packet's
|
|
4763
5007
|
* human-readable layer; the numeric sections are the evidence. */
|
|
@@ -4806,14 +5050,45 @@ interface ExecutionInsight {
|
|
|
4806
5050
|
events: number;
|
|
4807
5051
|
reportingRuns: number;
|
|
4808
5052
|
};
|
|
4809
|
-
/**
|
|
4810
|
-
*
|
|
4811
|
-
|
|
5053
|
+
/** Runs with explicit execution-error telemetry. This is independent of
|
|
5054
|
+
* whether the root run ultimately succeeded, failed, or has no terminal
|
|
5055
|
+
* evidence. */
|
|
5056
|
+
executionErrors: {
|
|
4812
5057
|
runs: number;
|
|
4813
|
-
|
|
4814
|
-
|
|
5058
|
+
/** Share among runs that supplied an execution-error count.
|
|
5059
|
+
* `null` when no run supplied error telemetry. */
|
|
5060
|
+
fraction: number | null;
|
|
5061
|
+
/** Execution-error events reported through the canonical count. */
|
|
5062
|
+
events: number;
|
|
5063
|
+
/** Runs that supplied an execution-error count, including explicit zeroes. */
|
|
4815
5064
|
reportingRuns: number;
|
|
5065
|
+
/** Exact sum of `outcome.raw.error_span_count`, kept separate from other errors. */
|
|
5066
|
+
errorSpanEvents: number;
|
|
5067
|
+
/** Runs that supplied `outcome.raw.error_span_count`, including explicit zeroes. */
|
|
5068
|
+
errorSpanReportingRuns: number;
|
|
5069
|
+
/**
|
|
5070
|
+
* Error-telemetry coverage crossed with independently reported terminal
|
|
5071
|
+
* outcomes. `unreported` is distinct from a reported zero.
|
|
5072
|
+
*/
|
|
5073
|
+
byTerminalOutcome: Record<RunTerminalOutcome, ExecutionErrorOutcomeCell>;
|
|
4816
5074
|
};
|
|
5075
|
+
/** Root-run or process outcomes. Missing `RunRecord.terminalOutcome` values
|
|
5076
|
+
* count as `unknown`; child-span status never changes these counts. */
|
|
5077
|
+
terminalOutcomes: {
|
|
5078
|
+
succeeded: number;
|
|
5079
|
+
failed: number;
|
|
5080
|
+
cancelled: number;
|
|
5081
|
+
incomplete: number;
|
|
5082
|
+
unknown: number;
|
|
5083
|
+
};
|
|
5084
|
+
}
|
|
5085
|
+
interface ExecutionErrorOutcomeCell {
|
|
5086
|
+
/** Runs that explicitly reported one or more execution errors. */
|
|
5087
|
+
withErrors: number;
|
|
5088
|
+
/** Runs that explicitly reported zero execution errors. */
|
|
5089
|
+
withoutErrors: number;
|
|
5090
|
+
/** Runs with no execution-error count from the producer. */
|
|
5091
|
+
unreported: number;
|
|
4817
5092
|
}
|
|
4818
5093
|
interface TokenUsageInsight {
|
|
4819
5094
|
input: ScalarDistribution;
|
|
@@ -4833,12 +5108,18 @@ interface TokenUsageInsight {
|
|
|
4833
5108
|
interface ScalarDistribution {
|
|
4834
5109
|
/** Sample count after dropping non-finite values. */
|
|
4835
5110
|
n: number;
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
|
|
4841
|
-
|
|
5111
|
+
/** Null when `n` is zero. */
|
|
5112
|
+
mean: number | null;
|
|
5113
|
+
/** Null when `n` is zero. */
|
|
5114
|
+
p50: number | null;
|
|
5115
|
+
/** Null when `n` is zero. */
|
|
5116
|
+
p95: number | null;
|
|
5117
|
+
/** Null when `n` is zero. */
|
|
5118
|
+
stddev: number | null;
|
|
5119
|
+
/** Null when `n` is zero. */
|
|
5120
|
+
min: number | null;
|
|
5121
|
+
/** Null when `n` is zero. */
|
|
5122
|
+
max: number | null;
|
|
4842
5123
|
/** Histogram bins using `agent-eval`'s `gainHistogram` primitive. */
|
|
4843
5124
|
histogram: GainDistributionBin[];
|
|
4844
5125
|
/** Worst-N runs by score, ascending. Populated for the composite
|
|
@@ -4904,12 +5185,16 @@ interface LiftInsight {
|
|
|
4904
5185
|
pValue: number;
|
|
4905
5186
|
/** Number of paired observations. */
|
|
4906
5187
|
n: number;
|
|
4907
|
-
/**
|
|
4908
|
-
|
|
5188
|
+
/** Scored baseline observations without a candidate match. */
|
|
5189
|
+
unpairedBaseline: number;
|
|
5190
|
+
/** Scored candidate observations without a baseline match. */
|
|
5191
|
+
unpairedCandidate: number;
|
|
5192
|
+
/** Cohen's dz for paired deltas; null when the observed delta variance is zero. */
|
|
5193
|
+
cohensD: number | null;
|
|
4909
5194
|
/** Minimum detectable effect at current n, 80% power. */
|
|
4910
5195
|
mde: number;
|
|
4911
|
-
/**
|
|
4912
|
-
requiredN: number;
|
|
5196
|
+
/** Paired sample size needed to detect the standardized effect at 80% power. */
|
|
5197
|
+
requiredN: number | null;
|
|
4913
5198
|
}
|
|
4914
5199
|
interface FailureClusterInsight {
|
|
4915
5200
|
/** All clusters identified by the registry, ranked by share descending. */
|
|
@@ -4973,7 +5258,7 @@ interface ReleaseSummary {
|
|
|
4973
5258
|
status: 'pass' | 'warn' | 'fail';
|
|
4974
5259
|
axes: Array<{
|
|
4975
5260
|
name: 'quality-lift' | 'contamination' | 'composite-distribution';
|
|
4976
|
-
status: 'pass' | 'warn' | 'fail';
|
|
5261
|
+
status: 'pass' | 'warn' | 'fail' | 'not_evaluated';
|
|
4977
5262
|
detail: string;
|
|
4978
5263
|
}>;
|
|
4979
5264
|
/** Free-form issues surfaced beyond the standard axes. Empty by default;
|
|
@@ -5033,9 +5318,8 @@ interface Recommendation {
|
|
|
5033
5318
|
* # Hosted-tier wire format — the schema that EVERY orchestrator (ours,
|
|
5034
5319
|
* a partner's self-hosted one, a future open implementation) must accept.
|
|
5035
5320
|
*
|
|
5036
|
-
*
|
|
5037
|
-
*
|
|
5038
|
-
* (`HostedWireVersion` literal increment).
|
|
5321
|
+
* This package implements exactly one wire version. Servers reject every
|
|
5322
|
+
* other version instead of translating old payloads.
|
|
5039
5323
|
*
|
|
5040
5324
|
* The wire format is two event streams in one transport:
|
|
5041
5325
|
*
|
|
@@ -5054,7 +5338,7 @@ interface Recommendation {
|
|
|
5054
5338
|
* ever sees another tenant's data.
|
|
5055
5339
|
*/
|
|
5056
5340
|
|
|
5057
|
-
declare const HOSTED_WIRE_VERSION: "2026-
|
|
5341
|
+
declare const HOSTED_WIRE_VERSION: "2026-07-24.v1";
|
|
5058
5342
|
type HostedWireVersion = typeof HOSTED_WIRE_VERSION;
|
|
5059
5343
|
/** Lifecycle stages of an eval-run as the substrate reports them. */
|
|
5060
5344
|
type EvalRunStatus = 'started' | 'baseline-complete' | 'generation-complete' | 'gate-decided' | 'finished' | 'errored';
|
|
@@ -5063,11 +5347,15 @@ interface EvalRunCellScore {
|
|
|
5063
5347
|
scenarioId: string;
|
|
5064
5348
|
/** Repetition index when reps > 1; 0 for the default. */
|
|
5065
5349
|
rep: number;
|
|
5066
|
-
/** Composite score across
|
|
5067
|
-
compositeMean: number;
|
|
5068
|
-
/** Per-judge
|
|
5350
|
+
/** Composite score across successful judges, or null when unscored. */
|
|
5351
|
+
compositeMean: number | null;
|
|
5352
|
+
/** Per-judge and per-dimension scores; failed or missing judges are absent. */
|
|
5069
5353
|
dimensions: Record<string, Record<string, number>>;
|
|
5070
|
-
/**
|
|
5354
|
+
/** Root execution result, kept separate from task quality. */
|
|
5355
|
+
terminalOutcome: RunTerminalOutcome;
|
|
5356
|
+
/** Canonical execution-error count, or null when the producer did not measure it. */
|
|
5357
|
+
executionErrorCount: number | null;
|
|
5358
|
+
/** Per-cell dispatch or judge error. Missing on success. */
|
|
5071
5359
|
errorMessage?: string;
|
|
5072
5360
|
}
|
|
5073
5361
|
interface EvalRunGenerationSnapshot {
|
|
@@ -5081,8 +5369,8 @@ interface EvalRunGenerationSnapshot {
|
|
|
5081
5369
|
surface?: MutableSurface;
|
|
5082
5370
|
/** Per-cell scores for this generation. */
|
|
5083
5371
|
cells: EvalRunCellScore[];
|
|
5084
|
-
/**
|
|
5085
|
-
compositeMean: number;
|
|
5372
|
+
/** Mean across scored cells, or null when no cell has a task-quality label. */
|
|
5373
|
+
compositeMean: number | null;
|
|
5086
5374
|
/** Total $ spent across this generation. */
|
|
5087
5375
|
costUsd: number;
|
|
5088
5376
|
/** Wall-clock duration of this generation. */
|
|
@@ -5122,10 +5410,14 @@ interface EvalRunEvent {
|
|
|
5122
5410
|
* paired-bootstrap lift CI, judge stats, inter-rater agreement,
|
|
5123
5411
|
* contamination check, failure clusters (when an analyst is wired),
|
|
5124
5412
|
* outcome correlation (when downstream signal is supplied), and the
|
|
5125
|
-
* recommendations the dashboard surfaces verbatim.
|
|
5126
|
-
* clients that don't know about this field continue to work. */
|
|
5413
|
+
* recommendations the dashboard surfaces verbatim. */
|
|
5127
5414
|
insightReport?: InsightReport;
|
|
5128
5415
|
}
|
|
5416
|
+
/**
|
|
5417
|
+
* Canonical unsigned 64-bit integer encoded as a base-10 string.
|
|
5418
|
+
* JSON numbers cannot represent OTLP nanosecond timestamps exactly.
|
|
5419
|
+
*/
|
|
5420
|
+
type UnixNanoTimestamp = string;
|
|
5129
5421
|
/**
|
|
5130
5422
|
* OTel-shape span with a few additional attributes for eval-run pivoting.
|
|
5131
5423
|
* Compatible with any OTLP collector — `name`, `traceId`, `spanId`,
|
|
@@ -5136,11 +5428,11 @@ interface TraceSpanEvent {
|
|
|
5136
5428
|
spanId: string;
|
|
5137
5429
|
parentSpanId?: string;
|
|
5138
5430
|
name: string;
|
|
5139
|
-
startTimeUnixNano:
|
|
5140
|
-
endTimeUnixNano:
|
|
5431
|
+
startTimeUnixNano: UnixNanoTimestamp;
|
|
5432
|
+
endTimeUnixNano: UnixNanoTimestamp;
|
|
5141
5433
|
attributes: Record<string, string | number | boolean>;
|
|
5142
5434
|
events?: Array<{
|
|
5143
|
-
timeUnixNano:
|
|
5435
|
+
timeUnixNano: UnixNanoTimestamp;
|
|
5144
5436
|
name: string;
|
|
5145
5437
|
attributes?: Record<string, string | number | boolean>;
|
|
5146
5438
|
}>;
|
|
@@ -5257,8 +5549,8 @@ interface LoopProvenanceCandidate {
|
|
|
5257
5549
|
eligibleForPromotion: boolean;
|
|
5258
5550
|
/** Designed-denominator receipt retained even for incomplete candidates. */
|
|
5259
5551
|
coverage: NonNullable<GenerationCandidate['coverage']>;
|
|
5260
|
-
/** Mean composite this candidate scored on the search split. */
|
|
5261
|
-
composite: number;
|
|
5552
|
+
/** Mean composite this candidate scored on the search split, or null when unscorable. */
|
|
5553
|
+
composite: number | null;
|
|
5262
5554
|
/** Whether this candidate was promoted out of its generation. */
|
|
5263
5555
|
promoted: boolean;
|
|
5264
5556
|
}
|
|
@@ -5330,11 +5622,7 @@ interface LoopProvenanceRecord {
|
|
|
5330
5622
|
decision: GateDecision;
|
|
5331
5623
|
reasons: string[];
|
|
5332
5624
|
delta?: number;
|
|
5333
|
-
contributingGates:
|
|
5334
|
-
name: string;
|
|
5335
|
-
passed: boolean;
|
|
5336
|
-
detail: unknown;
|
|
5337
|
-
}>;
|
|
5625
|
+
contributingGates: GateContribution[];
|
|
5338
5626
|
};
|
|
5339
5627
|
/** Present iff the loop ran with `holdout: 'deferred'` — the held-out
|
|
5340
5628
|
* comparison was intentionally not measured in this run, so the holdout
|
|
@@ -5529,11 +5817,9 @@ declare function selectDiscriminative(signals: ScenarioSignal[], k: number, opts
|
|
|
5529
5817
|
* the optimizers cannot drift on how a surface's score is computed.
|
|
5530
5818
|
*/
|
|
5531
5819
|
|
|
5532
|
-
/** Mean composite across
|
|
5533
|
-
*
|
|
5534
|
-
*
|
|
5535
|
-
* descriptive aggregate with NaN. Cells with no valid scores are skipped.
|
|
5536
|
-
* Empty ⇒ 0. */
|
|
5820
|
+
/** Mean composite across cells with complete task-quality evidence.
|
|
5821
|
+
* Partial judge results remain on their cells but never enter this value.
|
|
5822
|
+
* A campaign with no complete score has no numeric mean and fails loudly. */
|
|
5537
5823
|
declare function campaignMeanComposite<TArtifact, TScenario extends Scenario>(campaign: CampaignResult<TArtifact, TScenario>): number;
|
|
5538
5824
|
/** Compare fixed-length lexicographic rank keys where each element is higher-is-better.
|
|
5539
5825
|
* Returns a positive number when `a` ranks above `b`, negative when below, and
|
|
@@ -6106,4 +6392,4 @@ declare function verifyCodeSurface(surface: CodeSurface, worktreeDir?: string):
|
|
|
6106
6392
|
* identity against the checkout at `worktreeRef`. */
|
|
6107
6393
|
declare function resolveWorktreePath(surface: CodeSurface, worktreeDir?: string): string;
|
|
6108
6394
|
|
|
6109
|
-
export { type AnalystArtifact, type AnalystScenario, type AnalyzeCrossSurfaceInteractionsInput, type AxisEvidence, type AxisVerdict, type BuildAnalystSurfaceDispatchOptions, type BuildEvidenceVectorOptions, type BuildLoopProvenanceArgs, type CampaignAggregates, type CampaignArtifactWriter, type CampaignBreakdown, type CampaignCellFailureReceipt, type CampaignCellResult, type CampaignCostMeter, type CampaignResult, type CampaignRunPlan, type CampaignRunPlanCell, type CampaignScenarioIdentity, type CampaignStorage, type CampaignTokenUsage, type CampaignTraceWriter, type CodeSurface, type CodeSurfaceVerification, type CompareOptimizationMethodsOptions, type ComparisonCost, type ComponentSurface, type CostLedgerHandle, type CrossSurfaceAdditionDecision, type CrossSurfaceAdditionRejectionReason, type CrossSurfaceAttemptCompleteness, type CrossSurfaceBestSingleSelection, type CrossSurfaceBootstrapPolicy, type CrossSurfaceCandidate, type CrossSurfaceCandidateComparison, type CrossSurfaceCandidateEvidence, type CrossSurfaceCandidateOutcome, type CrossSurfaceCandidateSummary, type CrossSurfaceComponent, type CrossSurfaceComponentEvidence, type CrossSurfaceCompositionStep, type CrossSurfaceDistribution, type CrossSurfaceEligibility, type CrossSurfaceEvidenceBreakdown, type CrossSurfaceIneligibilityReason, type CrossSurfaceInteractionAwareSelection, type CrossSurfaceInteractionEffect, type CrossSurfaceInteractionPath, type CrossSurfaceInteractionReport, type CrossSurfaceInteractionTask, type CrossSurfaceNaiveStackSelection, type CrossSurfacePairCompatibility, type CrossSurfacePairEvidence, type CrossSurfacePairIncompatibilityReason, type CrossSurfacePairwiseEntry, type CrossSurfaceRankedSingle, type CrossSurfaceRelativeCost, type CrossSurfaceSelectionPolicy, type CrossSurfaceSelections, type CrossSurfaceTaskRow, type DefaultProductionGateOptions, type DimensionRegression, type DiscriminationScore, type DispatchContext, type DispatchFn, type EmitLoopProvenanceArgs, type EmitLoopProvenanceResult, type EvalFixture, type EvalFixtureFile, type EvalFixtureLoadOptions, type EvalFixtureRunPlan, type EvalFixtureScenario, type EvalFixtureValidationMode, type EvidenceVector, type ExternalOptimizationExample, type ExternalTextEvaluationResponse, type ExternalTextOptimizationMethodConfig, type ExternalTextOptimizerContext, type ExternalTextOptimizerResult, type FailureModeRecallJudgeOptions, FileSearchLedger, FsLabeledScenarioStore, type FsLabeledScenarioStoreOptions, type Gate, type GateContext, type GateDecision, type GateResult, type GenerationCandidate, type GenerationRecord, type GepaAdaptiveEngineRun, type GepaEngineOptions, type GepaEngineRun, type GepaOptimizationMethodConfig, type GepaOptimizationRecipe, type GepaRunnerCommand, type GitWorktreeAdapterOptions, type HeldOutGateOptions, type HeldoutSignificance, type HeldoutSignificanceOptions, type JudgeAggregate, type JudgeConfig, type JudgeDimension, type JudgeScore, type LabelTrust, type LabeledScenarioRecord, type LabeledScenarioSampleArgs, type LabeledScenarioSource, type LabeledScenarioStore, LabeledScenarioStoreError, type LabeledScenarioWrite, type LlmJudgeDimension, type LlmJudgeOptions, type LoadEvalFixtureScenariosOptions, type LoopProvenanceArgsFromResult, type LoopProvenanceBackend, type LoopProvenanceCandidate, type LoopProvenanceEvidence, type LoopProvenanceOptimizationMethod, type LoopProvenanceRecord, type MutableSurface, type NeutralizationGateOptions, type ObjectiveSource, type OpenAICompatibleOptimizerModel, type OpenAutoPrOptions, type OpenAutoPrResult, type OpenSearchLedgerOptions, type OptimizationMethod, type OptimizationMethodComparison, type OptimizationMethodInput, type OptimizationMethodPairwise, type OptimizationMethodProvenance, type OptimizationMethodResult, type OptimizationMethodRunOptions, type OptimizationMethodScore, type OptimizationPackageSource, type OptimizationProposer, type OptimizationTokenUsage, type OptimizerConfig, type OptimizerModelBudget, type PairedHoldout, type ParetoParent, type ParetoSignificanceGateOptions, type PendingCostCallView, type PlanCampaignRunOptions, type PlanEvalFixtureRunOptions, type PlaybackContext, type PlaybackDriver, type PlaybackStep, type PowerPreflight, type PowerPreflightOptions, type PremeasuredOptimizationBaseline, type ProfileDispatchFn, ProfileMatrixError, type ProfileSummary, type PromotionObjective, type PromotionPolicy, type ProposalTrackContext, type ProposeContext, type ProposedCandidate, type RedactionStatus, type ReferenceEquivalenceJudgeOptions, type ReferenceEquivalenceScenario, type RolloutArgumentDiff, type RolloutArgumentDiffOptions, type RolloutCall, type RunCampaignOptions, type RunEvalOptions, type RunImprovementLoopOptions, type RunImprovementLoopResult, type RunOptimizationOptions, type RunOptimizationResult, type RunProfileMatrixOptions, type RunProfileMatrixResult, SEARCH_LEDGER_SCHEMA, type Scenario, type ScenarioAggregate, type ScenarioRollup, type ScenarioSignal, type ScoreboardRenderOptions, type ScoreboardRow, type ScoreboardSummary, type ScoredRollout, type ScoredSurfaceOutcome, type SearchAccountingAudit, type SearchArtifactRef, type SearchAttemptAccounting, type SearchCandidateDecidedEvent, type SearchCandidateLineage, type SearchCandidateRegisteredEvent, type SearchCandidateSlot, type SearchCandidateSlotClosedEvent, type SearchCandidateSurface, type SearchCompletedEvent, type SearchCostAccounting, type SearchFailureReason, type SearchLedger, type SearchLedgerAppendResult, SearchLedgerConflictError, type SearchLedgerEntry, SearchLedgerError, type SearchLedgerEvent, type SearchLedgerHash, SearchLedgerIntegrityError, type SearchLedgerReplay, type SearchModelIdentity, type SearchOperationKind, type SearchOperationRecordedEvent, type SearchPlan, type SearchPlannedEvent, type SearchPlannedOperation, type SearchPlannedTask, type SearchSourceRef, type SearchSurfaceEffect, type SearchSurfaceEvidence, type SearchSurfaceKind, type SearchTaskAttemptedEvent, type SearchTaskOutcome, type SearchTokenAccounting, type SequentialDecideFn, type SequentialDecideOptions, type SequentialDecision, type SequentialObservation, type SequentialPairedGate, type SequentialPairedGateOptions, type SessionScript, type SingleRunLock, type SingleRunLockOptions, type SkillOptOptimizationMethodConfig, type SkillOptRunnerCommand, type SkillOptTrainerConfig, type SurfaceProposer, type TraceSpan, type TransientFailureOptions, type UngroundedLiteralReport, type UserStory, type UserStoryVerdict, type Worktree, type WorktreeAdapter, WorktreeAdapterError, acquireSingleRunLock, analyzeCrossSurfaceInteractions, assertCampaignDesign, assertCampaignSplitIdentity, assertCodeSurfaceIdentity, assertComponentSurface, buildAnalystSurfaceDispatch, buildEvidenceVector, buildLoopProvenanceRecord, campaignBreakdown, campaignMeanComposite, campaignMeasurementDigest, campaignScenarioIdentity, campaignSplitDigest, campaignSplitDigestFromIdentities, canonicalDigest, classifyUngroundedLiterals, codeSurfaceIdentityMaterial, compareOptimizationMethods, compareRankKeys, componentSurfaceIdentityMaterial, composeGate, costFromLedgerSummary, createReferenceEquivalenceJudge, createRunCostLedger, defaultProductionGate, detectScale, dimensionRegressions, discoverEvalFixtures, emitLoopProvenance, externalTextOptimizationMethod, failureModeRecallJudge, fsCampaignStorage, gepaOptimizationMethod, gitWorktreeAdapter, heldOutGate, heldoutSignificance, inMemoryCampaignStorage, isProposedCandidate, isTransientTransportFailure, labelTrustRank, llmJudge, loadEvalFixture, loadEvalFixtureScenarios, loopProvenanceArgsFromResult, loopProvenanceSpans, makePlaybackDispatch, neutralizationGate, neutralizeText, openAutoPr, openSearchLedger, optimizationTokenUsageFromSummary, pairHoldout, paretoPolicy, paretoSignificanceGate, planCampaignRun, planEvalFixtureRun, powerPreflight, provenanceRecordPath, provenanceSpansPath, renderScoreboardMarkdown, renderSurfaceDiff, resolveRunDir, resolveWorktreePath, rolloutArgumentDiff, runCampaign, runEval, runImprovementLoop, runOptimization, runProfileMatrix, scoreDiscrimination, scoreUserStory, scoreboardSummary, selectDiscriminative, sequentialDecide, sequentialPairedGate, skillOptOptimizationMethod, surfaceContentHash, surfaceHash, tangleTracesRoot, userStoryScoreboard, validateSearchLedgerEvent, verifyCodeSurface, verifyLoopProvenanceRecord };
|
|
6395
|
+
export { type AnalystArtifact, type AnalystScenario, type AnalyzeCrossSurfaceInteractionsInput, type AxisEvidence, type AxisVerdict, type BuildAnalystSurfaceDispatchOptions, type BuildEvidenceVectorOptions, type BuildLoopProvenanceArgs, type CampaignAggregates, type CampaignArtifactWriter, type CampaignBreakdown, type CampaignCellFailureReceipt, type CampaignCellResult, type CampaignCostMeter, type CampaignResult, type CampaignRunPlan, type CampaignRunPlanCell, type CampaignScenarioIdentity, type CampaignStorage, type CampaignTokenUsage, type CampaignTraceWriter, type CodeSurface, type CodeSurfaceVerification, type CompareOptimizationMethodsOptions, type ComparisonCost, type ComponentSurface, type CostLedgerHandle, type CrossSurfaceAdditionDecision, type CrossSurfaceAdditionRejectionReason, type CrossSurfaceAttemptCompleteness, type CrossSurfaceBestSingleSelection, type CrossSurfaceBootstrapPolicy, type CrossSurfaceCandidate, type CrossSurfaceCandidateComparison, type CrossSurfaceCandidateEvidence, type CrossSurfaceCandidateOutcome, type CrossSurfaceCandidateSummary, type CrossSurfaceComponent, type CrossSurfaceComponentEvidence, type CrossSurfaceCompositionStep, type CrossSurfaceDistribution, type CrossSurfaceEligibility, type CrossSurfaceEvidenceBreakdown, type CrossSurfaceIneligibilityReason, type CrossSurfaceInteractionAwareSelection, type CrossSurfaceInteractionEffect, type CrossSurfaceInteractionPath, type CrossSurfaceInteractionReport, type CrossSurfaceInteractionTask, type CrossSurfaceNaiveStackSelection, type CrossSurfacePairCompatibility, type CrossSurfacePairEvidence, type CrossSurfacePairIncompatibilityReason, type CrossSurfacePairwiseEntry, type CrossSurfaceRankedSingle, type CrossSurfaceRelativeCost, type CrossSurfaceSelectionPolicy, type CrossSurfaceSelections, type CrossSurfaceTaskRow, type DefaultProductionGateCheck, type DefaultProductionGateOptions, type DefaultProductionRewardHackingOptions, type DimensionRegression, type DiscriminationScore, type DispatchContext, type DispatchFn, type EmitLoopProvenanceArgs, type EmitLoopProvenanceResult, type EvalFixture, type EvalFixtureFile, type EvalFixtureLoadOptions, type EvalFixtureRunPlan, type EvalFixtureScenario, type EvalFixtureValidationMode, type EvidenceVector, type ExternalOptimizationExample, type ExternalTextEvaluationResponse, type ExternalTextOptimizationMethodConfig, type ExternalTextOptimizerContext, type ExternalTextOptimizerResult, type FailureModeRecallJudgeOptions, FileSearchLedger, FsLabeledScenarioStore, type FsLabeledScenarioStoreOptions, type Gate, type GateCheckStatus, type GateContext, type GateContribution, type GateDecision, type GateResult, type GenerationCandidate, type GenerationRecord, type GepaAdaptiveEngineRun, type GepaEngineOptions, type GepaEngineRun, type GepaOptimizationMethodConfig, type GepaOptimizationRecipe, type GepaRunnerCommand, type GitWorktreeAdapterOptions, type HeldOutGateOptions, type HeldoutSignificance, type HeldoutSignificanceOptions, type JudgeAggregate, type JudgeConfig, type JudgeDimension, type JudgeScore, type LabelTrust, type LabeledScenarioRecord, type LabeledScenarioSampleArgs, type LabeledScenarioSource, type LabeledScenarioStore, LabeledScenarioStoreError, type LabeledScenarioWrite, type LlmJudgeDimension, type LlmJudgeOptions, type LoadEvalFixtureScenariosOptions, type LoopProvenanceArgsFromResult, type LoopProvenanceBackend, type LoopProvenanceCandidate, type LoopProvenanceEvidence, type LoopProvenanceOptimizationMethod, type LoopProvenanceRecord, type MutableSurface, type NeutralizationGateOptions, type ObjectiveSource, type OpenAICompatibleOptimizerModel, type OpenAutoPrOptions, type OpenAutoPrResult, type OpenSearchLedgerOptions, type OptimizationMethod, type OptimizationMethodComparison, type OptimizationMethodInput, type OptimizationMethodPairwise, type OptimizationMethodProvenance, type OptimizationMethodResult, type OptimizationMethodRunOptions, type OptimizationMethodScore, type OptimizationPackageSource, type OptimizationProposer, type OptimizationTokenUsage, type OptimizerConfig, type OptimizerModelBudget, type PairedHoldout, type ParetoParent, type ParetoSignificanceGateOptions, type PendingCostCallView, type PlanCampaignRunOptions, type PlanEvalFixtureRunOptions, type PlaybackContext, type PlaybackDriver, type PlaybackStep, type PowerPreflight, type PowerPreflightOptions, type PremeasuredOptimizationBaseline, type ProfileDispatchFn, ProfileMatrixError, type ProfileSummary, type PromotionObjective, type PromotionPolicy, type ProposalTrackContext, type ProposeContext, type ProposedCandidate, type RedactionStatus, type ReferenceEquivalenceJudgeOptions, type ReferenceEquivalenceScenario, type RolloutArgumentDiff, type RolloutArgumentDiffOptions, type RolloutCall, type RunCampaignOptions, type RunEvalOptions, type RunImprovementLoopOptions, type RunImprovementLoopResult, type RunOptimizationOptions, type RunOptimizationResult, type RunProfileMatrixOptions, type RunProfileMatrixResult, SEARCH_LEDGER_SCHEMA, type Scenario, type ScenarioAggregate, type ScenarioRollup, type ScenarioSignal, type ScoreboardRenderOptions, type ScoreboardRow, type ScoreboardSummary, type ScoredRollout, type ScoredSurfaceOutcome, type SearchAccountingAudit, type SearchArtifactRef, type SearchAttemptAccounting, type SearchCandidateDecidedEvent, type SearchCandidateLineage, type SearchCandidateRegisteredEvent, type SearchCandidateSlot, type SearchCandidateSlotClosedEvent, type SearchCandidateSurface, type SearchCompletedEvent, type SearchCostAccounting, type SearchFailureReason, type SearchLedger, type SearchLedgerAppendResult, SearchLedgerConflictError, type SearchLedgerEntry, SearchLedgerError, type SearchLedgerEvent, type SearchLedgerHash, SearchLedgerIntegrityError, type SearchLedgerReplay, type SearchModelIdentity, type SearchOperationKind, type SearchOperationRecordedEvent, type SearchPlan, type SearchPlannedEvent, type SearchPlannedOperation, type SearchPlannedTask, type SearchSourceRef, type SearchSurfaceEffect, type SearchSurfaceEvidence, type SearchSurfaceKind, type SearchTaskAttemptedEvent, type SearchTaskOutcome, type SearchTokenAccounting, type SequentialDecideFn, type SequentialDecideOptions, type SequentialDecision, type SequentialObservation, type SequentialPairedGate, type SequentialPairedGateOptions, type SessionScript, type SingleRunLock, type SingleRunLockOptions, type SkillOptOptimizationMethodConfig, type SkillOptRunnerCommand, type SkillOptTrainerConfig, type SurfaceProposer, type TraceSpan, type TransientFailureOptions, type UngroundedLiteralReport, type UserStory, type UserStoryVerdict, type Worktree, type WorktreeAdapter, WorktreeAdapterError, acquireSingleRunLock, analyzeCrossSurfaceInteractions, assertCampaignDesign, assertCampaignSplitIdentity, assertCodeSurfaceIdentity, assertComponentSurface, buildAnalystSurfaceDispatch, buildEvidenceVector, buildLoopProvenanceRecord, campaignBreakdown, campaignMeanComposite, campaignMeasurementDigest, campaignScenarioIdentity, campaignSplitDigest, campaignSplitDigestFromIdentities, canonicalDigest, classifyUngroundedLiterals, codeSurfaceIdentityMaterial, compareOptimizationMethods, compareRankKeys, componentSurfaceIdentityMaterial, composeGate, costFromLedgerSummary, createReferenceEquivalenceJudge, createRunCostLedger, defaultProductionGate, detectScale, dimensionRegressions, discoverEvalFixtures, emitLoopProvenance, externalTextOptimizationMethod, failureModeRecallJudge, fsCampaignStorage, gepaOptimizationMethod, gitWorktreeAdapter, heldOutGate, heldoutSignificance, inMemoryCampaignStorage, isProposedCandidate, isTransientTransportFailure, labelTrustRank, llmJudge, loadEvalFixture, loadEvalFixtureScenarios, loopProvenanceArgsFromResult, loopProvenanceSpans, makePlaybackDispatch, neutralizationGate, neutralizeText, openAutoPr, openSearchLedger, optimizationTokenUsageFromSummary, pairHoldout, paretoPolicy, paretoSignificanceGate, planCampaignRun, planEvalFixtureRun, powerPreflight, provenanceRecordPath, provenanceSpansPath, renderScoreboardMarkdown, renderSurfaceDiff, resolveRunDir, resolveWorktreePath, rolloutArgumentDiff, runCampaign, runEval, runImprovementLoop, runOptimization, runProfileMatrix, scoreDiscrimination, scoreUserStory, scoreboardSummary, selectDiscriminative, sequentialDecide, sequentialPairedGate, skillOptOptimizationMethod, surfaceContentHash, surfaceHash, tangleTracesRoot, userStoryScoreboard, validateSearchLedgerEvent, verifyCodeSurface, verifyLoopProvenanceRecord };
|