@tangle-network/agent-eval 0.191.0 → 0.193.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 +61 -0
- package/dist/adapters/http.d.ts +2 -2
- package/dist/analyst/index.d.ts +6 -6
- package/dist/analyst/index.js +3 -3
- package/dist/{analyze-runs-SCSWYpy0.js → analyze-runs-B6gv7vAT.js} +2 -2
- package/dist/{analyze-runs-SCSWYpy0.js.map → analyze-runs-B6gv7vAT.js.map} +1 -1
- package/dist/{benchmark-command-3tZJnD82.js → benchmark-command-DVhUPU7H.js} +7 -7
- package/dist/{benchmark-command-3tZJnD82.js.map → benchmark-command-DVhUPU7H.js.map} +1 -1
- package/dist/benchmarks/index.d.ts +3 -3
- package/dist/benchmarks/index.js +3 -3
- package/dist/campaign/index.d.ts +5 -5
- package/dist/campaign/index.js +12 -12
- package/dist/{campaign-C8iWEF0M.js → campaign-DdE6S80e.js} +15 -328
- package/dist/campaign-DdE6S80e.js.map +1 -0
- package/dist/{campaign-evidence-BqjlTM3P.js → campaign-evidence-DJc60F9C.js} +11 -46
- package/dist/campaign-evidence-DJc60F9C.js.map +1 -0
- package/dist/cli.js +47 -10
- package/dist/cli.js.map +1 -1
- package/dist/{client-wFyDisxi.d.ts → client-dMMKoQNS.d.ts} +2 -2
- package/dist/{client-wFyDisxi.d.ts.map → client-dMMKoQNS.d.ts.map} +1 -1
- package/dist/contract/index.d.ts +7 -7
- package/dist/contract/index.js +10 -10
- package/dist/{default-registry-DK_9aVJf.d.ts → default-registry-C3HTE08O.d.ts} +3 -3
- package/dist/{default-registry-DK_9aVJf.d.ts.map → default-registry-C3HTE08O.d.ts.map} +1 -1
- package/dist/{define-agent-eval-P28y7mI1.d.ts → define-agent-eval-DQJvVa1P.d.ts} +15 -24
- package/dist/{define-agent-eval-P28y7mI1.d.ts.map → define-agent-eval-DQJvVa1P.d.ts.map} +1 -1
- package/dist/{define-agent-eval-BE43YTm4.js → define-agent-eval-DkPbnJEY.js} +9 -10
- package/dist/define-agent-eval-DkPbnJEY.js.map +1 -0
- package/dist/diagnosis/index.js +1 -1
- package/dist/{dspy-rlm-engine-MfpwoEaj.js → dspy-rlm-engine-BX34vPVY.js} +2 -2
- package/dist/{dspy-rlm-engine-MfpwoEaj.js.map → dspy-rlm-engine-BX34vPVY.js.map} +1 -1
- package/dist/{engine-vNiM02Ub.d.ts → engine-DjRV55F9.d.ts} +2 -2
- package/dist/{engine-vNiM02Ub.d.ts.map → engine-DjRV55F9.d.ts.map} +1 -1
- package/dist/evaluation.d.ts +1 -1
- package/dist/experiment/index.d.ts +2 -2
- package/dist/experiment/index.js +4 -4
- package/dist/{external-optimizer-process-xFTliuiK.js → external-optimizer-process-D-Sab4v3.js} +3 -62
- package/dist/external-optimizer-process-D-Sab4v3.js.map +1 -0
- package/dist/{external-optimizer-subprocess-B234V9V0.js → external-optimizer-subprocess-kbqC-iWf.js} +64 -3
- package/dist/external-optimizer-subprocess-kbqC-iWf.js.map +1 -0
- package/dist/hosted/index.d.ts +2 -2
- package/dist/hosted/index.js +1 -1
- package/dist/{index-D-TN7ZRM.d.ts → index-0jEtpSM7.d.ts} +3 -3
- package/dist/{index-D-TN7ZRM.d.ts.map → index-0jEtpSM7.d.ts.map} +1 -1
- package/dist/{index-I4UJGRno.d.ts → index-Bj96W0jZ.d.ts} +28 -2
- package/dist/{index-I4UJGRno.d.ts.map → index-Bj96W0jZ.d.ts.map} +1 -1
- package/dist/{index-CzfnASj_.d.ts → index-DMPLG226.d.ts} +400 -374
- package/dist/index-DMPLG226.d.ts.map +1 -0
- package/dist/{index-DH-MWH5f.d.ts → index-DWQNDqPd.d.ts} +7 -7
- package/dist/{index-DH-MWH5f.d.ts.map → index-DWQNDqPd.d.ts.map} +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.js +9 -292
- package/dist/index.js.map +1 -1
- package/dist/jev.d.ts +1 -1
- package/dist/{journal-c3qY0SDP.js → journal-DvKCvjty.js} +94 -2
- package/dist/{journal-c3qY0SDP.js.map → journal-DvKCvjty.js.map} +1 -1
- package/dist/ledger-core/index.d.ts +2 -2
- package/dist/ledger-core/index.js +2 -2
- package/dist/{llm-judge-NJOHM0iA.js → llm-judge-ChbWfeWl.js} +2653 -656
- package/dist/llm-judge-ChbWfeWl.js.map +1 -0
- package/dist/{matrix-CgqdFm5N.d.ts → matrix-CNu13gg8.d.ts} +2 -2
- package/dist/{matrix-CgqdFm5N.d.ts.map → matrix-CNu13gg8.d.ts.map} +1 -1
- package/dist/multishot/golden/index.d.ts +1 -1
- package/dist/multishot/index.d.ts +2 -2
- package/dist/openapi.json +1 -1
- package/dist/paired-delta-test-BF-FEP8V.js +78 -0
- package/dist/paired-delta-test-BF-FEP8V.js.map +1 -0
- package/dist/{paired-promotion-decision-6cn3bLc3.js → paired-promotion-decision-DTKl6-G8.js} +4 -77
- package/dist/paired-promotion-decision-DTKl6-G8.js.map +1 -0
- package/dist/{produced-state-CY-L7CqS.js → produced-state-BqeIaIp2.js} +3 -3
- package/dist/{produced-state-CY-L7CqS.js.map → produced-state-BqeIaIp2.js.map} +1 -1
- package/dist/{promotion-policy-CfMNUro2.js → promotion-policy-Cy5OV8BV.js} +3 -3
- package/dist/{promotion-policy-CfMNUro2.js.map → promotion-policy-Cy5OV8BV.js.map} +1 -1
- package/dist/rl.d.ts +1 -1
- package/dist/rl.js +1 -1
- package/dist/{search-ledger-CQ8Uy4FK.js → search-ledger-CJiAEU3j.js} +164 -36
- package/dist/search-ledger-CJiAEU3j.js.map +1 -0
- package/dist/{search-ledger-file-EvdDZRhv.js → search-ledger-file-DY0AXX3W.js} +2 -2
- package/dist/{search-ledger-file-EvdDZRhv.js.map → search-ledger-file-DY0AXX3W.js.map} +1 -1
- package/dist/{search-ledger-types-C9anU2DX.d.ts → search-ledger-types-B3El5xgS.d.ts} +95 -11
- package/dist/search-ledger-types-B3El5xgS.d.ts.map +1 -0
- package/dist/{search-shipper-C55V7HE3.js → search-shipper-DUlwlCsK.js} +3 -3
- package/dist/{search-shipper-C55V7HE3.js.map → search-shipper-DUlwlCsK.js.map} +1 -1
- package/dist/search-summary-BhY8p0Av.js +378 -0
- package/dist/search-summary-BhY8p0Av.js.map +1 -0
- package/dist/{semantic-concept-judge-Bt7bXAAo.js → semantic-concept-judge-Bg-560H0.js} +3 -3
- package/dist/{semantic-concept-judge-Bt7bXAAo.js.map → semantic-concept-judge-Bg-560H0.js.map} +1 -1
- package/dist/{sequential-lwJOTRON.js → sequential-C21_PP7F.js} +2 -2
- package/dist/{sequential-lwJOTRON.js.map → sequential-C21_PP7F.js.map} +1 -1
- package/dist/{skillopt-optimization-method-DwO3TOAV.js → skillopt-optimization-method-DXQdaBjx.js} +7 -7
- package/dist/{skillopt-optimization-method-DwO3TOAV.js.map → skillopt-optimization-method-DXQdaBjx.js.map} +1 -1
- package/dist/{statistical-heldout-BED3wBtX.d.ts → statistical-heldout-D-xBpbrd.d.ts} +2 -2
- package/dist/{statistical-heldout-BED3wBtX.d.ts.map → statistical-heldout-D-xBpbrd.d.ts.map} +1 -1
- package/dist/{statistical-heldout-GcLIPxk4.js → statistical-heldout-DANVmyug.js} +2 -2
- package/dist/{statistical-heldout-GcLIPxk4.js.map → statistical-heldout-DANVmyug.js.map} +1 -1
- package/dist/{store-tool-spans-Cfh9XUCm.d.ts → store-tool-spans-BxrfuU2t.d.ts} +4 -4
- package/dist/{store-tool-spans-Cfh9XUCm.d.ts.map → store-tool-spans-BxrfuU2t.d.ts.map} +1 -1
- package/dist/{tool-groups-D-mkeN0N.d.ts → tool-groups-BC9O7Epn.d.ts} +2 -2
- package/dist/tool-groups-BC9O7Epn.d.ts.map +1 -0
- package/dist/trace-repair/index.d.ts +1 -1
- package/dist/traces.d.ts +2 -2
- package/dist/{types-BmQRs661.d.ts → types-BWwRXofp.d.ts} +340 -17
- package/dist/types-BWwRXofp.d.ts.map +1 -0
- package/dist/{types-ClK-sHs8.d.ts → types-qoxUfKQg.d.ts} +2 -2
- package/dist/{types-ClK-sHs8.d.ts.map → types-qoxUfKQg.d.ts.map} +1 -1
- package/docs/campaign-proposers.md +14 -16
- package/docs/search-ledger.md +129 -3
- package/package.json +1 -1
- package/dist/campaign-C8iWEF0M.js.map +0 -1
- package/dist/campaign-evidence-BqjlTM3P.js.map +0 -1
- package/dist/claim-BGOUqoMq.d.ts +0 -38
- package/dist/claim-BGOUqoMq.d.ts.map +0 -1
- package/dist/define-agent-eval-BE43YTm4.js.map +0 -1
- package/dist/external-optimizer-process-xFTliuiK.js.map +0 -1
- package/dist/external-optimizer-subprocess-B234V9V0.js.map +0 -1
- package/dist/index-CzfnASj_.d.ts.map +0 -1
- package/dist/llm-judge-NJOHM0iA.js.map +0 -1
- package/dist/paired-promotion-decision-6cn3bLc3.js.map +0 -1
- package/dist/search-ledger-CQ8Uy4FK.js.map +0 -1
- package/dist/search-ledger-types-C9anU2DX.d.ts.map +0 -1
- package/dist/tool-groups-D-mkeN0N.d.ts.map +0 -1
- package/dist/types-BmQRs661.d.ts.map +0 -1
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import { c as ValidationError, t as AgentEvalError } from "./errors-DEE6u6ot.js";
|
|
2
2
|
import { T as RunPaidCallInput, c as CostLedgerHandle, f as CostLedgerSummary, m as CostReceipt, o as CostLedger, p as CostProvenance } from "./cost-ledger-DbQdN3nO.js";
|
|
3
|
-
import { a as RunRecord, c as RunSplitTag
|
|
3
|
+
import { a as RunRecord, c as RunSplitTag } from "./run-record-DF-fuu31.js";
|
|
4
4
|
import { O as TraceAnalysisStore, _ as ProposalFinding, f as AnalystUsageReceipt, i as AnalystFinding, l as AnalystRunResult } from "./types-CeDfCRXp.js";
|
|
5
5
|
import { M as LlmCallMetadata, ft as ServedModelPolicy, rt as RawProviderSink, x as ChatClient } from "./types-C0bWoSKC.js";
|
|
6
|
-
import { Et as FinalEvidenceLedger, P as PairedArmsComparison, ft as EvidenceReceipt, it as CampaignEvidenceContext, kt as FinalEvidenceRecord } from "./statistical-heldout-
|
|
6
|
+
import { Et as FinalEvidenceLedger, P as PairedArmsComparison, ft as EvidenceReceipt, it as CampaignEvidenceContext, kt as FinalEvidenceRecord } from "./statistical-heldout-D-xBpbrd.js";
|
|
7
7
|
import { a as PairedPromotionDecision, d as PairedBootstrapResult } from "./paired-promotion-decision-DPKz8ZnF.js";
|
|
8
|
-
import { A as
|
|
9
|
-
import {
|
|
8
|
+
import { A as SearchLedgerHash, C as SearchEdgeOperator, E as SearchExecutionIdentity, G as SearchSplit, H as SearchProposerKind, L as SearchOpenedEvent, N as SearchNodeDecision, O as SearchLedgerEntry, P as SearchNodeRef, Q as SearchTaskOutcome, R as SearchOperationKind, S as SearchEdgeAttribution, U as SearchReservation, V as SearchProposer, W as SearchSourceRef, Y as SearchSurfaceEvidence, Z as SearchTask, _ as SearchClaimPower, a as SearchAttemptAccounting, et as SearchTraceRef, i as SearchArtifactRef, j as SearchModelIdentity, k as SearchLedgerEvent, l as SearchCandidateSurface, m as SearchClaim, nt as EvaluationClaim, o as SearchAudit, p as SearchCellStage, rt as EvaluationUnitSummary, t as NodeEstimate, tt as SearchUnknown, y as SearchCloseReason, z as SearchOperationRecordedEvent } from "./search-ledger-types-B3El5xgS.js";
|
|
9
|
+
import { b as LedgerTrustedHeadRemoval, f as LedgerLineContext, h as LedgerTextStore, y as LedgerTrustedHead } from "./index-Bj96W0jZ.js";
|
|
10
10
|
import { r as LedgerHash } from "./canonical-CFpojCN5.js";
|
|
11
|
-
import { _ as
|
|
12
|
-
import { A as SearchNodeDecision, B as SearchReservation, C as SearchExecutionIdentity, D as SearchLedgerHash, E as SearchLedgerEvent, F as SearchOperationKind, H as SearchSplit, I as SearchOperationRecordedEvent, J as SearchTask, K as SearchSurfaceEvidence, N as SearchNodeStatus, O as SearchModelIdentity, P as SearchOpenedEvent, Q as SearchUnknown, R as SearchProposer, T as SearchLedgerEntry, V as SearchSourceRef, Y as SearchTaskOutcome, Z as SearchTraceRef, _ as SearchClosedEvent, a as SearchAttemptAccounting, b as SearchEdgeOperator, d as SearchCellCancelledEvent, g as SearchCloseReason, i as SearchArtifactRef, j as SearchNodeRef, l as SearchCandidateSurface, m as SearchClaim, o as SearchAudit, p as SearchCellStage, t as NodeEstimate, x as SearchEdgeRecordedEvent, y as SearchEdgeAttribution } from "./search-ledger-types-C9anU2DX.js";
|
|
13
|
-
import { i as RolloutSearchLineage } from "./mint-C9Lojt1V.js";
|
|
11
|
+
import { $ as SearchNode, A as LabeledScenarioWrite, C as JudgeDimension, D as LabeledScenarioSampleArgs, E as LabeledScenarioRecord, H as SurfaceProposer, N as ParetoParent, O as LabeledScenarioSource, R as Scenario, S as JudgeConfig, T as LabelTrust, _ as GateDecision, a as CampaignResult, at as SearchUnitScore, b as GenerationRecord, c as CampaignTraceWriter, d as DispatchContext, f as DispatchFn, g as GateContribution, i as CampaignCostMeter, it as SearchStateView, j as MutableSurface, k as LabeledScenarioStore, l as CodeSurface, o as CampaignScenarioIdentity, p as Gate, r as CampaignCellResult, tt as SearchScoredCell, u as ComponentSurface, v as GateResult, y as GenerationCandidate } from "./types-BWwRXofp.js";
|
|
14
12
|
import { B as ExternalOptimizerModelBudget, E as AnalystIssueExpectation, F as ExternalOptimizerCallbackLimits, J as ExternalOptimizerWireCounts, K as ExternalOptimizerResumeMode, R as ExternalOptimizerEvaluationObservation, V as ExternalOptimizerModelCall, X as ExternalTextEvaluationRequest, Y as ExternalTextCandidate, m as AnalystBenchmarkLabelState, q as ExternalOptimizerRunnerCommand, t as AgentProfile$1, u as AnalystBenchmarkCase } from "./agent-profile-DDfIjdyS.js";
|
|
15
13
|
import { r as DatasetScenario, t as Dataset } from "./dataset-DQqhOCPt.js";
|
|
16
14
|
import { a as CheckerIdentity, n as VerdictCertification, t as DefaultVerdict, x as VerificationStrategySource } from "./verdict-E4eRNf7-.js";
|
|
17
15
|
import { t as DetectRewardHackingInput } from "./reward-hacking-Cyk-QHk9.js";
|
|
18
|
-
import { p as TraceSpanEvent, t as HostedClient } from "./client-
|
|
16
|
+
import { p as TraceSpanEvent, t as HostedClient } from "./client-dMMKoQNS.js";
|
|
19
17
|
import { AgentProfile } from "@tangle-network/agent-interface";
|
|
20
18
|
import { z } from "zod";
|
|
21
19
|
//#region src/campaign/coverage.d.ts
|
|
@@ -59,6 +57,10 @@ interface FinalEvidenceUse {
|
|
|
59
57
|
* so the same `join(...)`-built paths work unchanged across both adapters.
|
|
60
58
|
*/
|
|
61
59
|
interface CampaignStorage {
|
|
60
|
+
/** `filesystem` for the Node filesystem, whose paths durable journals such
|
|
61
|
+
* as the search ledger may open directly; any other storage keeps those
|
|
62
|
+
* journals in itself. */
|
|
63
|
+
readonly kind?: 'filesystem' | 'memory';
|
|
62
64
|
/** Ensure a directory exists (recursive). No-op for in-memory. */
|
|
63
65
|
ensureDir(dir: string): void;
|
|
64
66
|
/** Does this path exist (as a written file or an ensured dir)? */
|
|
@@ -393,40 +395,6 @@ interface OpenAutoPrResult {
|
|
|
393
395
|
*/
|
|
394
396
|
declare function openAutoPr<TArtifact, TScenario extends Scenario>(options: OpenAutoPrOptions<TArtifact, TScenario>): OpenAutoPrResult;
|
|
395
397
|
//#endregion
|
|
396
|
-
//#region src/campaign/parent-selection.d.ts
|
|
397
|
-
/** Search state supplied to one parent-selection call. */
|
|
398
|
-
interface ParentSelectionContext {
|
|
399
|
-
/** Non-dominated scored surfaces across the whole run so far, including the
|
|
400
|
-
* baseline (`generation: -1`). Never empty. */
|
|
401
|
-
readonly frontier: ReadonlyArray<ParetoParent>;
|
|
402
|
-
/** Measured result of the global incumbent, the promotion bar. Under the
|
|
403
|
-
* default `selectionRankKey` the incumbent is always on `frontier`. */
|
|
404
|
-
readonly incumbent: ScoredSurfaceOutcome;
|
|
405
|
-
/** Every completed generation so far. */
|
|
406
|
-
readonly history: ReadonlyArray<GenerationRecord>;
|
|
407
|
-
/** Index of the generation about to propose. */
|
|
408
|
-
readonly generation: number;
|
|
409
|
-
}
|
|
410
|
-
/** Chooses the surface the next generation mutates. Returns one frontier
|
|
411
|
-
* parent; `runOptimization` refuses a parent it has not measured to
|
|
412
|
-
* completion or whose surface does not match its `surfaceHash`. */
|
|
413
|
-
type ParentSelector = (ctx: ParentSelectionContext) => ParetoParent;
|
|
414
|
-
interface CrowdedFrontierParentOptions {
|
|
415
|
-
/** Integer seed for the per-generation draw. The same seed, frontier, and
|
|
416
|
-
* generation index select the same parent. */
|
|
417
|
-
seed: number;
|
|
418
|
-
}
|
|
419
|
-
/**
|
|
420
|
-
* NSGA-II crowded tournament selection over the frontier. Each generation
|
|
421
|
-
* draws two distinct frontier members with a PRNG seeded from `seed` and the
|
|
422
|
-
* generation index, and keeps the one with the larger crowding distance (more
|
|
423
|
-
* isolated on the frontier). Boundary parents carry infinite distance, so a
|
|
424
|
-
* boundary parent always beats an interior one. A tie on distance falls back
|
|
425
|
-
* to the higher mean composite, then to the smaller surface hash. A frontier
|
|
426
|
-
* of one member returns that member.
|
|
427
|
-
*/
|
|
428
|
-
declare function crowdedFrontierParent(options: CrowdedFrontierParentOptions): ParentSelector;
|
|
429
|
-
//#endregion
|
|
430
398
|
//#region src/campaign/search-ledger-errors.d.ts
|
|
431
399
|
/** Base error for invalid search-ledger input or operations. */
|
|
432
400
|
declare class SearchLedgerError extends ValidationError {}
|
|
@@ -435,247 +403,6 @@ declare class SearchLedgerIntegrityError extends SearchLedgerError {}
|
|
|
435
403
|
/** Error raised when an event identifier is reused with different content. */
|
|
436
404
|
declare class SearchLedgerConflictError extends SearchLedgerError {}
|
|
437
405
|
//#endregion
|
|
438
|
-
//#region src/campaign/search-state.d.ts
|
|
439
|
-
/** Deterministic node id: identical content in one search is one node. */
|
|
440
|
-
declare function searchNodeId(searchId: string, artifactDigest: string): string;
|
|
441
|
-
/** Deterministic cell id: one node on one task in one split at one repeat. */
|
|
442
|
-
declare function searchCellId(searchId: string, nodeId: string, taskId: string, split: SearchSplit, rep: number): string;
|
|
443
|
-
/** Digest a split's task list in taskId order. */
|
|
444
|
-
declare function searchTaskSetDigest(tasks: readonly SearchTask[]): SearchLedgerHash;
|
|
445
|
-
interface SearchDecisionRecord {
|
|
446
|
-
sequence: number;
|
|
447
|
-
decision: SearchNodeDecision;
|
|
448
|
-
basis: NodeEstimate | null;
|
|
449
|
-
rule: string;
|
|
450
|
-
reason: string;
|
|
451
|
-
}
|
|
452
|
-
interface SearchSpend {
|
|
453
|
-
knownUsd: number;
|
|
454
|
-
floorUsd: number;
|
|
455
|
-
unknownCostCells: number;
|
|
456
|
-
boxMinutes: number;
|
|
457
|
-
}
|
|
458
|
-
/** Scores of one node on one unit of one split: the sum and count of its
|
|
459
|
-
* scored cells. Repeats and sibling tasks of the unit average inside it. */
|
|
460
|
-
interface SearchUnitScore {
|
|
461
|
-
unitId: string;
|
|
462
|
-
sum: number;
|
|
463
|
-
count: number;
|
|
464
|
-
mean: number;
|
|
465
|
-
}
|
|
466
|
-
/** A cell's scored attempt: the inputs of every per-unit statistic. */
|
|
467
|
-
interface SearchScoredCell {
|
|
468
|
-
cellId: string;
|
|
469
|
-
unitId: string;
|
|
470
|
-
/** The attempt that produced the score, which is the cell's last. */
|
|
471
|
-
attempt: number;
|
|
472
|
-
score: number;
|
|
473
|
-
}
|
|
474
|
-
/**
|
|
475
|
-
* Per-unit means of scored cells, in unitId order. Each unit sums its cells in
|
|
476
|
-
* cellId order, so the result depends on the set of cells alone, never on the
|
|
477
|
-
* order they settled in: a verifier that reads the same cells from a database
|
|
478
|
-
* gets the same bits.
|
|
479
|
-
*/
|
|
480
|
-
declare function searchUnitScores(cells: readonly SearchScoredCell[]): SearchUnitScore[];
|
|
481
|
-
interface SearchNode {
|
|
482
|
-
nodeId: string;
|
|
483
|
-
/** Registration order; the root is 0. */
|
|
484
|
-
ordinal: number;
|
|
485
|
-
artifactDigest: SearchLedgerHash;
|
|
486
|
-
artifact: SearchArtifactRef;
|
|
487
|
-
surfaces: readonly SearchCandidateSurface[];
|
|
488
|
-
/** First in-search parent of the node's first edge; null for the root, a
|
|
489
|
-
* derived root, or a node whose parents are unknown. */
|
|
490
|
-
primaryParentId: string | null;
|
|
491
|
-
/** Edges from the root along primary parents; null while unknown. */
|
|
492
|
-
depth: number | null;
|
|
493
|
-
/** Every parent named by any edge into the node, in edge order. */
|
|
494
|
-
parents: readonly SearchNodeRef[];
|
|
495
|
-
children: readonly string[];
|
|
496
|
-
edgeIds: readonly string[];
|
|
497
|
-
status: SearchNodeStatus | null;
|
|
498
|
-
rung: number | null;
|
|
499
|
-
/** The node was decided `finalist` at some point, so its test cells are legal. */
|
|
500
|
-
finalist: boolean;
|
|
501
|
-
decisions: readonly SearchDecisionRecord[];
|
|
502
|
-
cellCount: number;
|
|
503
|
-
spend: SearchSpend;
|
|
504
|
-
registeredSequence: number;
|
|
505
|
-
updatedSequence: number;
|
|
506
|
-
}
|
|
507
|
-
interface SearchCell {
|
|
508
|
-
cellId: string;
|
|
509
|
-
nodeId: string;
|
|
510
|
-
taskId: string;
|
|
511
|
-
unitId: string;
|
|
512
|
-
split: SearchSplit;
|
|
513
|
-
rep: number;
|
|
514
|
-
stage: SearchCellStage;
|
|
515
|
-
lane: string | null;
|
|
516
|
-
reservation: SearchReservation | null;
|
|
517
|
-
attempts: number;
|
|
518
|
-
lastRunId: string | null;
|
|
519
|
-
outcome: SearchTaskOutcome['status'] | null;
|
|
520
|
-
/** Score of the scored attempt; null when no attempt was scored. */
|
|
521
|
-
score: number | null;
|
|
522
|
-
/** No further attempt is legal: a scored or non-retryable outcome. */
|
|
523
|
-
final: boolean;
|
|
524
|
-
cancelled: SearchCellCancelledEvent['reason'] | null;
|
|
525
|
-
/** Known cost plus proven floors across attempts. */
|
|
526
|
-
spentUsd: number;
|
|
527
|
-
/** Every attempt's cost is known. */
|
|
528
|
-
costKnown: boolean;
|
|
529
|
-
traceId: string | null;
|
|
530
|
-
allocatedSequence: number;
|
|
531
|
-
updatedSequence: number;
|
|
532
|
-
}
|
|
533
|
-
interface SearchOperation {
|
|
534
|
-
operationId: string;
|
|
535
|
-
operationKind: SearchOperationKind;
|
|
536
|
-
reservation: SearchReservation | null;
|
|
537
|
-
recorded: boolean;
|
|
538
|
-
spentUsd: number;
|
|
539
|
-
}
|
|
540
|
-
interface SearchCompletion {
|
|
541
|
-
complete: boolean;
|
|
542
|
-
reasons: string[];
|
|
543
|
-
}
|
|
544
|
-
/**
|
|
545
|
-
* The pure, incremental projection of one search ledger. `apply` refuses any
|
|
546
|
-
* entry that breaks an invariant; the journal then discards this instance and
|
|
547
|
-
* replays into a new one, so a refused entry leaves no partial state behind.
|
|
548
|
-
*/
|
|
549
|
-
declare class SearchState implements LedgerProjector<SearchLedgerEntry, SearchStateView> {
|
|
550
|
-
readonly searchId: string;
|
|
551
|
-
private version;
|
|
552
|
-
private header;
|
|
553
|
-
private closed;
|
|
554
|
-
private head;
|
|
555
|
-
private lastOccurredAt;
|
|
556
|
-
private lastOccurredAtText;
|
|
557
|
-
private readonly tasks;
|
|
558
|
-
private readonly nodes;
|
|
559
|
-
private readonly nodeOrder;
|
|
560
|
-
private readonly nodeByDigest;
|
|
561
|
-
private readonly edges;
|
|
562
|
-
private readonly edgeOrder;
|
|
563
|
-
private readonly cells;
|
|
564
|
-
private readonly operations;
|
|
565
|
-
private selectedNodeId;
|
|
566
|
-
private claimUsedUsd;
|
|
567
|
-
private readonly audit;
|
|
568
|
-
constructor(searchId: string);
|
|
569
|
-
apply(entry: SearchLedgerEntry, index: number): void;
|
|
570
|
-
snapshot(): SearchStateView;
|
|
571
|
-
/** @internal Views check this before every read of the live indexes. */
|
|
572
|
-
isAt(version: number): boolean;
|
|
573
|
-
private applyEvent;
|
|
574
|
-
private open;
|
|
575
|
-
private startOperation;
|
|
576
|
-
private recordOperation;
|
|
577
|
-
private registerNode;
|
|
578
|
-
private recordEdge;
|
|
579
|
-
private allocateCell;
|
|
580
|
-
private settleCell;
|
|
581
|
-
private cancelCell;
|
|
582
|
-
private decideNode;
|
|
583
|
-
private close;
|
|
584
|
-
private checkClaim;
|
|
585
|
-
/** @internal */
|
|
586
|
-
incompleteReasons(): string[];
|
|
587
|
-
/** Book an attempt's or operation's accounting into the running totals. An
|
|
588
|
-
* unknown cost counts as its proven floor. */
|
|
589
|
-
private book;
|
|
590
|
-
/** A cell's share of the open reservations, its overspend, and what it draws
|
|
591
|
-
* from the claim reserve: the larger of its hold and its spend. */
|
|
592
|
-
private reservationParts;
|
|
593
|
-
/** The admission rule: committed spend, open holds, the unspent claim
|
|
594
|
-
* reserve and the new hold stay within the cap. A claim cell draws on the
|
|
595
|
-
* claim reserve instead of adding to it. */
|
|
596
|
-
private admit;
|
|
597
|
-
/** @internal */
|
|
598
|
-
readHeader(): SearchOpenedEvent | null;
|
|
599
|
-
/** @internal */
|
|
600
|
-
readClosed(): SearchClosedEvent | null;
|
|
601
|
-
/** @internal */
|
|
602
|
-
readHead(): {
|
|
603
|
-
sequence: number;
|
|
604
|
-
entryHash: SearchLedgerHash;
|
|
605
|
-
} | null;
|
|
606
|
-
/** @internal */
|
|
607
|
-
readLastOccurredAt(): string | null;
|
|
608
|
-
/** @internal */
|
|
609
|
-
readAudit(): SearchAudit;
|
|
610
|
-
/** @internal */
|
|
611
|
-
readNode(nodeId: string): SearchNode | undefined;
|
|
612
|
-
/** @internal */
|
|
613
|
-
readNodeIds(): readonly string[];
|
|
614
|
-
/** @internal */
|
|
615
|
-
readHasNode(nodeId: string): boolean;
|
|
616
|
-
/** @internal */
|
|
617
|
-
readNodeIdForDigest(artifactDigest: string): string | undefined;
|
|
618
|
-
/** @internal */
|
|
619
|
-
readEdge(edgeId: string): SearchEdgeRecordedEvent | undefined;
|
|
620
|
-
/** @internal */
|
|
621
|
-
readEdgeIds(): readonly string[];
|
|
622
|
-
/** @internal */
|
|
623
|
-
readCell(cellId: string): SearchCell | undefined;
|
|
624
|
-
/** @internal */
|
|
625
|
-
readCellIds(nodeId?: string): readonly string[];
|
|
626
|
-
/** @internal */
|
|
627
|
-
readOperation(operationId: string): SearchOperation | undefined;
|
|
628
|
-
/** @internal */
|
|
629
|
-
readScoredCells(nodeId: string, split: SearchSplit): SearchScoredCell[];
|
|
630
|
-
}
|
|
631
|
-
/**
|
|
632
|
-
* A read of `SearchState` at one ledger position. Header, head, audit and
|
|
633
|
-
* claim are values. Node, edge, cell and score reads go to the live indexes and
|
|
634
|
-
* throw once the state has applied a later entry.
|
|
635
|
-
*/
|
|
636
|
-
declare class SearchStateView {
|
|
637
|
-
readonly searchId: string;
|
|
638
|
-
readonly header: SearchOpenedEvent | null;
|
|
639
|
-
readonly closed: SearchClosedEvent | null;
|
|
640
|
-
readonly head: {
|
|
641
|
-
sequence: number;
|
|
642
|
-
entryHash: SearchLedgerHash;
|
|
643
|
-
} | null;
|
|
644
|
-
/** `occurredAt` of the head entry; a writer stamps later events at or after it. */
|
|
645
|
-
readonly lastOccurredAt: string | null;
|
|
646
|
-
readonly audit: SearchAudit;
|
|
647
|
-
readonly completion: SearchCompletion;
|
|
648
|
-
private readonly state;
|
|
649
|
-
private readonly version;
|
|
650
|
-
constructor(state: SearchState, version: number);
|
|
651
|
-
/** The node the search started from: the first registered. */
|
|
652
|
-
get rootNodeId(): string | null;
|
|
653
|
-
node(nodeId: string): SearchNode | undefined;
|
|
654
|
-
hasNode(nodeId: string): boolean;
|
|
655
|
-
/** Node ids in registration order. */
|
|
656
|
-
nodeIds(): string[];
|
|
657
|
-
/** Nodes in registration order. */
|
|
658
|
-
nodes(): SearchNode[];
|
|
659
|
-
nodeIdForDigest(artifactDigest: string): string | undefined;
|
|
660
|
-
edge(edgeId: string): SearchEdgeRecordedEvent | undefined;
|
|
661
|
-
/** Edges in ledger order. */
|
|
662
|
-
edges(): SearchEdgeRecordedEvent[];
|
|
663
|
-
cell(cellId: string): SearchCell | undefined;
|
|
664
|
-
/** Cells in allocation order, optionally of one node. */
|
|
665
|
-
cells(filter?: {
|
|
666
|
-
nodeId?: string;
|
|
667
|
-
}): SearchCell[];
|
|
668
|
-
operation(operationId: string): SearchOperation | undefined;
|
|
669
|
-
/** A node's scored cells on one split, in allocation order. Unscored cells
|
|
670
|
-
* (errored, cancelled or in flight) are absent, never zero. */
|
|
671
|
-
scoredCells(nodeId: string, split: SearchSplit): SearchScoredCell[];
|
|
672
|
-
/** Per-unit score means of a node on one split, in unitId order. */
|
|
673
|
-
unitScores(nodeId: string, split: SearchSplit): SearchUnitScore[];
|
|
674
|
-
/** The lineage a RunRecord mint needs for one cell attempt. */
|
|
675
|
-
lineage(coordinates: RunSearchCoordinates): RolloutSearchLineage;
|
|
676
|
-
private live;
|
|
677
|
-
}
|
|
678
|
-
//#endregion
|
|
679
406
|
//#region src/campaign/search-ledger.d.ts
|
|
680
407
|
/** Validate and return a canonical copy. Arrays whose order carries no meaning
|
|
681
408
|
* are sorted, so retries from different processes produce identical bytes. */
|
|
@@ -698,6 +425,13 @@ interface OpenSearchLedgerOptions {
|
|
|
698
425
|
path: string;
|
|
699
426
|
searchId: string;
|
|
700
427
|
trustedHead?: SearchLedgerTrustedHeadMode;
|
|
428
|
+
/**
|
|
429
|
+
* Keep the ledger's text in this in-process store instead of a file, for a
|
|
430
|
+
* run without a filesystem (an in-memory `CampaignStorage`, keyed by `path`).
|
|
431
|
+
* The chain, parse and state rules are the file ledger's; there is no lock,
|
|
432
|
+
* fsync or trusted head, and the ledger lives as long as the store.
|
|
433
|
+
*/
|
|
434
|
+
store?: LedgerTextStore;
|
|
701
435
|
}
|
|
702
436
|
interface SearchLedgerAppendResult {
|
|
703
437
|
entry: SearchLedgerEntry;
|
|
@@ -966,6 +700,12 @@ declare class SearchRecorder {
|
|
|
966
700
|
state(): Promise<SearchStateView>;
|
|
967
701
|
/** Store `body` as a canonical JSON blob and return its content address. */
|
|
968
702
|
blob(role: string, body: unknown): SearchArtifactRef;
|
|
703
|
+
/**
|
|
704
|
+
* Read back a blob this recorder stored, by its content address. The bytes
|
|
705
|
+
* must hash to the reference's digest and length, so a resumed search reads
|
|
706
|
+
* exactly what the ledger bound.
|
|
707
|
+
*/
|
|
708
|
+
readBlob(ref: SearchArtifactRef): unknown;
|
|
969
709
|
/** Register a node, or return the existing node with the same artifact digest. */
|
|
970
710
|
registerNode(input: RegisterSearchNodeInput): Promise<{
|
|
971
711
|
nodeId: string;
|
|
@@ -977,6 +717,9 @@ declare class SearchRecorder {
|
|
|
977
717
|
operationId: string;
|
|
978
718
|
operationKind: SearchOperationKind;
|
|
979
719
|
reservation?: SearchReservation | null;
|
|
720
|
+
/** Bound at the start, so a restart finds them even if the operation
|
|
721
|
+
* never records a result. */
|
|
722
|
+
artifacts?: SearchArtifactRef[];
|
|
980
723
|
}): Promise<void>;
|
|
981
724
|
recordOperation(input: Omit<SearchOperationRecordedEvent, 'kind' | 'eventId' | 'occurredAt' | 'artifacts'> & {
|
|
982
725
|
artifacts?: SearchArtifactRef[];
|
|
@@ -1017,6 +760,74 @@ declare function surfaceNode(recorder: SearchRecorder, surface: MutableSurface):
|
|
|
1017
760
|
/** A parent-to-child diff of two mutable surfaces, stored as a blob. */
|
|
1018
761
|
declare function surfaceDiff(recorder: SearchRecorder, parent: MutableSurface, child: MutableSurface): SearchArtifactRef;
|
|
1019
762
|
//#endregion
|
|
763
|
+
//#region src/campaign/search-policy.d.ts
|
|
764
|
+
/** What a policy may read about a search. */
|
|
765
|
+
interface SearchPolicyView {
|
|
766
|
+
readonly searchId: string;
|
|
767
|
+
readonly seed: number;
|
|
768
|
+
readonly direction: 'maximize' | 'minimize';
|
|
769
|
+
/** The split nodes are ranked on: selection, or train when the search
|
|
770
|
+
* declares no selection split (the proposer's own feedback then ranks). */
|
|
771
|
+
readonly split: 'selection' | 'train';
|
|
772
|
+
readonly rootNodeId: string;
|
|
773
|
+
/** Proposals completed so far. One an interrupted process lost does not count. */
|
|
774
|
+
readonly expansions: number;
|
|
775
|
+
/** Admitted nodes whose screen finished, in registration order, root first. */
|
|
776
|
+
readonly screened: readonly string[];
|
|
777
|
+
/** Admitted nodes still being screened. */
|
|
778
|
+
readonly screening: number;
|
|
779
|
+
/** True when the node scored every unit its screen allocated on `split`.
|
|
780
|
+
* A node that dodged a unit (an unscored cell) cannot lead. */
|
|
781
|
+
complete(nodeId: string): boolean;
|
|
782
|
+
/** Per-unit means on `split`, in unitId order. */
|
|
783
|
+
unitScores(nodeId: string): readonly SearchUnitScore[];
|
|
784
|
+
/** The paired contrast of `nodeId` against `against` on `split`. */
|
|
785
|
+
estimate(nodeId: string, against: string): NodeEstimate;
|
|
786
|
+
}
|
|
787
|
+
/** One expansion: the parents a proposer derives a child from, and how. */
|
|
788
|
+
interface SearchExpansion {
|
|
789
|
+
parents: string[];
|
|
790
|
+
operator: Exclude<SearchEdgeOperator, 'seed' | 'derive'>;
|
|
791
|
+
/** Why these parents: recorded on every edge the expansion produces. */
|
|
792
|
+
selection: {
|
|
793
|
+
rule: string;
|
|
794
|
+
evidence: Record<string, number>;
|
|
795
|
+
};
|
|
796
|
+
}
|
|
797
|
+
interface SearchPolicy {
|
|
798
|
+
/** Recorded as the search's `policy.expansion`. */
|
|
799
|
+
readonly name: string;
|
|
800
|
+
/** Stop after this many expansions without a new leader. */
|
|
801
|
+
readonly patience?: number;
|
|
802
|
+
/** The next expansion, or null to wait for more evidence. */
|
|
803
|
+
expand(view: SearchPolicyView): SearchExpansion | null;
|
|
804
|
+
/** The node the search keeps if it stopped now. */
|
|
805
|
+
leader(view: SearchPolicyView): string;
|
|
806
|
+
}
|
|
807
|
+
/**
|
|
808
|
+
* The hill climb. The leader starts at the root; a screened node that scored
|
|
809
|
+
* every unit of its screen takes the lead when its mean on the units it shares
|
|
810
|
+
* with the leader beats the leader's mean on those units. Nodes are taken in
|
|
811
|
+
* registration order, so the leader is a pure function of the ledger. The
|
|
812
|
+
* policy expands the leader, and only once every earlier child is screened,
|
|
813
|
+
* so each proposal sees every result before it.
|
|
814
|
+
*/
|
|
815
|
+
declare function incumbent(options?: {
|
|
816
|
+
patience?: number;
|
|
817
|
+
}): SearchPolicy;
|
|
818
|
+
/**
|
|
819
|
+
* The hill climb with a different parent: each expansion draws two distinct
|
|
820
|
+
* members of the Pareto frontier (per-unit means on the policy split) with a
|
|
821
|
+
* PRNG seeded from `seed` and the expansion index, and keeps the one with the
|
|
822
|
+
* larger crowding distance, the more isolated. Boundary members carry infinite
|
|
823
|
+
* distance. Ties fall to the higher mean, then to the earlier node. The leader
|
|
824
|
+
* rule is the incumbent's: a frontier parent explores, and only a node that
|
|
825
|
+
* beats the leader leads.
|
|
826
|
+
*/
|
|
827
|
+
declare function crowdedFrontierParent(options: {
|
|
828
|
+
seed: number;
|
|
829
|
+
}): SearchPolicy;
|
|
830
|
+
//#endregion
|
|
1020
831
|
//#region src/campaign/presets/run-optimization.d.ts
|
|
1021
832
|
interface PremeasuredOptimizationBaseline<TArtifact, TScenario extends Scenario> {
|
|
1022
833
|
/** Hash of the exact surface that produced `campaign`. */
|
|
@@ -1030,36 +841,34 @@ interface RunOptimizationBaseOptions<TScenario extends Scenario, TArtifact> exte
|
|
|
1030
841
|
/**
|
|
1031
842
|
* Complete prior measurement of `baselineSurface`. When present,
|
|
1032
843
|
* `runOptimization` validates its surface, scenario split, seed, reps, and
|
|
1033
|
-
* normal campaign coverage, then
|
|
1034
|
-
*
|
|
1035
|
-
*
|
|
1036
|
-
* not added again to this continuation's CostLedger.
|
|
844
|
+
* normal campaign coverage, then records its cells as the root's instead of
|
|
845
|
+
* dispatching them. Prior spend stays in the imported campaign aggregates and
|
|
846
|
+
* is not added again to this run's CostLedger.
|
|
1037
847
|
*/
|
|
1038
848
|
premeasuredBaseline?: PremeasuredOptimizationBaseline<TArtifact, TScenario>;
|
|
1039
|
-
/** Dispatcher that takes
|
|
849
|
+
/** Dispatcher that takes a surface and a scenario to an artifact. */
|
|
1040
850
|
dispatchWithSurface: (surface: MutableSurface, scenario: TScenario, ctx: Parameters<RunCampaignOptions<TScenario, TArtifact>['dispatch']>[1]) => Promise<TArtifact>;
|
|
1041
851
|
/** The candidate-generation strategy. */
|
|
1042
852
|
proposer: SurfaceProposer<ProposalFinding>;
|
|
853
|
+
/** Candidates asked of each proposal. */
|
|
1043
854
|
populationSize: number;
|
|
855
|
+
/** Proposals the search may make. */
|
|
1044
856
|
maxGenerations: number;
|
|
1045
|
-
/**
|
|
1046
|
-
*
|
|
857
|
+
/** Scales the run's cell lanes: at most `candidateConcurrency *
|
|
858
|
+
* maxConcurrency` cells run at once. Default 1. */
|
|
1047
859
|
candidateConcurrency?: number;
|
|
1048
|
-
/** DEPTH knob forwarded to the proposer's `propose()
|
|
860
|
+
/** DEPTH knob forwarded to the proposer's `propose()`: max iterations the
|
|
1049
861
|
* agentic generator may take per candidate. */
|
|
1050
862
|
maxImprovementShots?: number;
|
|
1051
863
|
/** Search or observed-production findings forwarded to candidate generation. */
|
|
1052
864
|
findings?: ReadonlyArray<ProposalFinding>;
|
|
1053
|
-
/**
|
|
1054
|
-
* (as `generation: -1`,
|
|
1055
|
-
*
|
|
1056
|
-
*
|
|
1057
|
-
*
|
|
1058
|
-
*
|
|
1059
|
-
*
|
|
1060
|
-
* import an analyst — the consumer plugs its trace-analyst registry / HALO
|
|
1061
|
-
* here (reading the per-candidate `runDir` traces). When absent, findings
|
|
1062
|
-
* stay the static `opts.findings`. */
|
|
865
|
+
/** Findings producer. Before each proposal it runs on the previous
|
|
866
|
+
* generation's measured candidates (the baseline, as `generation: -1`,
|
|
867
|
+
* before the first), and what it returns REPLACES `ctx.findings` for that
|
|
868
|
+
* proposal. The substrate does not import an analyst: the consumer plugs its
|
|
869
|
+
* trace-analyst registry here, reading the per-candidate `runDir` traces.
|
|
870
|
+
* When absent, findings stay the static `opts.findings`. Its spend is
|
|
871
|
+
* booked to the proposal's operation. */
|
|
1063
872
|
analyzeGeneration?: (input: {
|
|
1064
873
|
generation: number;
|
|
1065
874
|
runDir: string;
|
|
@@ -1073,53 +882,19 @@ interface RunOptimizationBaseOptions<TScenario extends Scenario, TArtifact> exte
|
|
|
1073
882
|
costLedger?: CostLedgerHandle;
|
|
1074
883
|
costPhase?: string;
|
|
1075
884
|
}) => Promise<ReadonlyArray<ProposalFinding>>;
|
|
1076
|
-
/**
|
|
1077
|
-
*
|
|
1078
|
-
*
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
*
|
|
1082
|
-
*
|
|
1083
|
-
*
|
|
1084
|
-
* A binary-with-replicates consumer (e.g. swe-arena, whose ship-gate counts an
|
|
1085
|
-
* instance resolved only when EVERY replicate resolved) passes a fail-closed
|
|
1086
|
-
* key built from the SAME reduction its gate uses, so winner-selection and the
|
|
1087
|
-
* ship-gate rank on the identical metric and can never invert — the selector
|
|
1088
|
-
* cannot promote a flaky per-cell-mean candidate the gate would reject over a
|
|
1089
|
-
* fail-closed candidate the gate would accept. Only the winner CHOICE changes;
|
|
1090
|
-
* the descriptive `composite` (mean) on every record and the Pareto objective
|
|
1091
|
-
* vectors are untouched, so proposer diversity and reporting are unaffected.
|
|
1092
|
-
*/
|
|
1093
|
-
selectionRankKey?: (campaign: CampaignResult<TArtifact, TScenario>) => number[];
|
|
1094
|
-
/**
|
|
1095
|
-
* Optional policy for which scored surface the next generation MUTATES.
|
|
1096
|
-
* Absent, every generation mutates the global incumbent, so the recorded
|
|
1097
|
-
* `parentSurfaceHash` lineage is a chain. Present, the selector receives the
|
|
1098
|
-
* Pareto frontier so far, the measured incumbent, the generation history,
|
|
1099
|
-
* and the generation index, and returns one frontier parent; the loop hands
|
|
1100
|
-
* that parent to `propose()` as `currentSurface` + `parentOutcome` and
|
|
1101
|
-
* records it as every candidate's `parentSurfaceHash`. Promotion is
|
|
1102
|
-
* unchanged: a candidate still has to beat the incumbent. The loop refuses
|
|
1103
|
-
* a parent it has not measured to completion. `crowdedFrontierParent` is
|
|
1104
|
-
* the provided seeded policy.
|
|
1105
|
-
*/
|
|
1106
|
-
selectParent?: ParentSelector;
|
|
1107
|
-
/**
|
|
1108
|
-
* Record this search into a search ledger as it runs: the baseline as the
|
|
1109
|
-
* seeded root and its cells, each generation's candidate-generation
|
|
1110
|
-
* operation, each candidate as a node with an explicit edge, rationale and
|
|
1111
|
-
* diff from the parent it mutated, each designed cell when its campaign
|
|
1112
|
-
* starts and settles, one decision per node, and the close. Returns a
|
|
1113
|
-
* bounded `searchHistory` receipt over the exact ledger bytes.
|
|
1114
|
-
*
|
|
1115
|
-
* `identity` declares what the ledger requires and a campaign cannot infer:
|
|
1116
|
-
* immutable revisions for the agent, proposer, and search implementations,
|
|
1117
|
-
* and the model the agent runs when a cell reports none.
|
|
1118
|
-
*/
|
|
885
|
+
/** Which node each proposal extends, and which node the run keeps. Default
|
|
886
|
+
* `incumbent()`: the hill climb. `crowdedFrontierParent({ seed })` draws
|
|
887
|
+
* the parent from the Pareto frontier instead. */
|
|
888
|
+
policy?: SearchPolicy;
|
|
889
|
+
/** Where the search ledger goes and the identities it records. Default: a
|
|
890
|
+
* ledger at `<runDir>/search/ledger.jsonl`, held in `storage` unless that is
|
|
891
|
+
* the filesystem, whose identities are the dispatch ref's and proposer's
|
|
892
|
+
* digests. */
|
|
1119
893
|
searchLedger?: SearchLedgerBinding;
|
|
1120
894
|
}
|
|
1121
895
|
type RunOptimizationOptions<TScenario extends Scenario, TArtifact> = RunOptimizationBaseOptions<TScenario, TArtifact>;
|
|
1122
896
|
interface RunOptimizationResult<TArtifact, TScenario extends Scenario> {
|
|
897
|
+
/** One entry per proposal, with the candidates it registered. */
|
|
1123
898
|
generations: Array<{
|
|
1124
899
|
record: GenerationRecord;
|
|
1125
900
|
surfaces: Array<{
|
|
@@ -1132,31 +907,20 @@ interface RunOptimizationResult<TArtifact, TScenario extends Scenario> {
|
|
|
1132
907
|
baselineSurface: MutableSurface;
|
|
1133
908
|
winnerSurface: MutableSurface;
|
|
1134
909
|
winnerSurfaceHash: string;
|
|
1135
|
-
/** Proposer label for the
|
|
1136
|
-
* candidate came from a `ProposedCandidate` (a reflective proposer);
|
|
1137
|
-
* absent when the winner is the baseline or a bare-surface mutator. */
|
|
910
|
+
/** Proposer label for the kept surface; absent when the winner is the baseline. */
|
|
1138
911
|
winnerLabel?: string;
|
|
1139
|
-
/** Proposer rationale for the
|
|
1140
|
-
*
|
|
1141
|
-
* emitted provenance record. Absent when the winner is the baseline. */
|
|
912
|
+
/** Proposer rationale for the kept surface, as stored: redacted with the
|
|
913
|
+
* share profile. Absent when the winner is the baseline. */
|
|
1142
914
|
winnerRationale?: string;
|
|
1143
915
|
baselineCampaign: CampaignResult<TArtifact, TScenario>;
|
|
1144
916
|
/** Run-wide spend, including agents, proposers, analysts, and judges. */
|
|
1145
917
|
cost: CostLedgerSummary;
|
|
1146
|
-
/** Bounded proof envelope over the
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
searchHistory?: SearchHistoryReceipt;
|
|
1150
|
-
/** The GEPA Pareto frontier across every scored surface (baseline + all
|
|
1151
|
-
* generations) by per-scenario objective vector — the non-dominated set.
|
|
1152
|
-
* Each generation's `propose()` received the frontier-so-far as
|
|
1153
|
-
* `ctx.paretoParents`; this is the final frontier. A surface here that is
|
|
1154
|
-
* NOT the winner is uniquely best on some scenario the winner loses on. */
|
|
918
|
+
/** Bounded proof envelope over the search ledger. */
|
|
919
|
+
searchHistory: SearchHistoryReceipt;
|
|
920
|
+
/** The non-dominated set of measured surfaces by per-scenario composite. */
|
|
1155
921
|
paretoFrontier: ParetoParent[];
|
|
1156
922
|
}
|
|
1157
|
-
/**
|
|
1158
|
-
* Improvement loop body: N generations of propose → campaign → rank, maintaining a Pareto frontier and one global incumbent across generations. The parent each generation mutates is the incumbent unless `selectParent` draws it from the frontier.
|
|
1159
|
-
*/
|
|
923
|
+
/** Improve a surface as a search on the kernel; see the module comment. */
|
|
1160
924
|
declare function runOptimization<TScenario extends Scenario, TArtifact>(opts: RunOptimizationOptions<TScenario, TArtifact>): Promise<RunOptimizationResult<TArtifact, TScenario>>;
|
|
1161
925
|
//#endregion
|
|
1162
926
|
//#region src/campaign/presets/run-improvement-loop.d.ts
|
|
@@ -2293,10 +2057,6 @@ interface CampaignComparisonUnits {
|
|
|
2293
2057
|
* Partial judge results remain on their cells but never enter this value.
|
|
2294
2058
|
* A campaign with no complete score has no numeric mean and fails loudly. */
|
|
2295
2059
|
declare function campaignMeanComposite<TArtifact, TScenario extends Scenario>(campaign: CampaignResult<TArtifact, TScenario>): number;
|
|
2296
|
-
/** Compare fixed-length lexicographic rank keys where each element is higher-is-better.
|
|
2297
|
-
* Returns a positive number when `a` ranks above `b`, negative when below, and
|
|
2298
|
-
* zero when equal. */
|
|
2299
|
-
declare function compareRankKeys(a: readonly number[], b: readonly number[]): number;
|
|
2300
2060
|
interface CampaignBreakdown {
|
|
2301
2061
|
/** Mean score per judge dimension across all cells. */
|
|
2302
2062
|
dimensions: Record<string, number>;
|
|
@@ -2334,12 +2094,6 @@ interface LoopProvenanceCandidate {
|
|
|
2334
2094
|
* `GenerationCandidate.attribution`. Opaque here; the producer's schema tag
|
|
2335
2095
|
* governs interpretation. */
|
|
2336
2096
|
attribution?: Readonly<Record<string, unknown>>;
|
|
2337
|
-
/** Exact complete incumbent this candidate mutated. */
|
|
2338
|
-
parentSurfaceHash: string;
|
|
2339
|
-
/** Search-split composite of the exact parent. */
|
|
2340
|
-
parentComposite: number;
|
|
2341
|
-
/** Search-split composite change relative to the exact parent. */
|
|
2342
|
-
observedDeltaFromParent?: number;
|
|
2343
2097
|
/** Whether the candidate completed every designed cell and could be selected. */
|
|
2344
2098
|
eligibleForPromotion: boolean;
|
|
2345
2099
|
/** Designed-denominator receipt retained even for incomplete candidates. */
|
|
@@ -2546,6 +2300,35 @@ interface EmitLoopProvenanceArgs<TArtifact, TScenario extends Scenario> extends
|
|
|
2546
2300
|
*/
|
|
2547
2301
|
declare function emitLoopProvenance<TArtifact, TScenario extends Scenario>(args: EmitLoopProvenanceArgs<TArtifact, TScenario>): Promise<EmitLoopProvenanceResult>;
|
|
2548
2302
|
//#endregion
|
|
2303
|
+
//#region src/campaign/allocation.d.ts
|
|
2304
|
+
/** One cell an allocator wants for a node. */
|
|
2305
|
+
interface SearchCellPlan {
|
|
2306
|
+
taskId: string;
|
|
2307
|
+
split: SearchSplit;
|
|
2308
|
+
rep: number;
|
|
2309
|
+
stage: SearchCellStage;
|
|
2310
|
+
}
|
|
2311
|
+
interface SearchAllocator {
|
|
2312
|
+
/** Recorded as the search's `policy.allocation`. */
|
|
2313
|
+
readonly name: string;
|
|
2314
|
+
/** Repeats of each task. The claim runs its test cells at the same repeats. */
|
|
2315
|
+
readonly reps: number;
|
|
2316
|
+
/** Every cell the node needs now. The kernel allocates the ones missing. */
|
|
2317
|
+
plan(state: SearchStateView, nodeId: string): SearchCellPlan[];
|
|
2318
|
+
/** Cells a newly admitted node's screen allocates, so the kernel can price an
|
|
2319
|
+
* expansion against the budget before the proposer runs. */
|
|
2320
|
+
screenSize(state: SearchStateView): number;
|
|
2321
|
+
}
|
|
2322
|
+
/**
|
|
2323
|
+
* Every node gets every train and selection task at every repeat: the root as
|
|
2324
|
+
* `root` cells, every other node as `train` cells (the proposer's feedback) and
|
|
2325
|
+
* `screen` cells (the policy's private evidence). This is the fixed plan the
|
|
2326
|
+
* generation loop ran and GEPA runs.
|
|
2327
|
+
*/
|
|
2328
|
+
declare function uniform(options?: {
|
|
2329
|
+
reps?: number;
|
|
2330
|
+
}): SearchAllocator;
|
|
2331
|
+
//#endregion
|
|
2549
2332
|
//#region src/campaign/analyst-surface.d.ts
|
|
2550
2333
|
interface TraceAnalystScenario extends Scenario {
|
|
2551
2334
|
kind: 'trace-analyst';
|
|
@@ -3889,6 +3672,249 @@ declare function selectDiscriminative(signals: ScenarioSignal[], k: number, opts
|
|
|
3889
3672
|
saturationCeiling?: number;
|
|
3890
3673
|
}): string[];
|
|
3891
3674
|
//#endregion
|
|
3675
|
+
//#region src/campaign/search-claim.d.ts
|
|
3676
|
+
/** The claim procedure every `SearchClaim` and claim plan names. */
|
|
3677
|
+
declare const SEARCH_CLAIM_RULE: SearchSourceRef;
|
|
3678
|
+
/**
|
|
3679
|
+
* The claim reserve a search needs: the root and 3 finalists on every test
|
|
3680
|
+
* task at `reps` repeats, each held at `cellUsd`. Declare at least this as
|
|
3681
|
+
* `budget.reservedClaimUsd`; `runSearch` refuses to start a capped search
|
|
3682
|
+
* with less.
|
|
3683
|
+
*/
|
|
3684
|
+
declare function searchClaimReserveUsd(input: {
|
|
3685
|
+
testTasks: number;
|
|
3686
|
+
reps: number;
|
|
3687
|
+
cellUsd: number;
|
|
3688
|
+
}): number;
|
|
3689
|
+
/**
|
|
3690
|
+
* The claim's design, fixed before any test cell runs, and stored as the
|
|
3691
|
+
* `claim-plan` artifact of the ledger's `claim` operation.
|
|
3692
|
+
*/
|
|
3693
|
+
interface SearchClaimPlan {
|
|
3694
|
+
kind: 'search-claim-plan';
|
|
3695
|
+
rule: SearchSourceRef;
|
|
3696
|
+
/** Why expansion stopped; the search closes with this reason. */
|
|
3697
|
+
stopReason: SearchCloseReason;
|
|
3698
|
+
/** Best first. Every one is decided `finalist` and named by the claim. */
|
|
3699
|
+
finalists: Array<{
|
|
3700
|
+
nodeId: string;
|
|
3701
|
+
selectionMean: number;
|
|
3702
|
+
}>;
|
|
3703
|
+
power: SearchClaimPower;
|
|
3704
|
+
/** `run`: the root and the finalists run every test task. Otherwise the
|
|
3705
|
+
* claim closes with this decision and spends nothing on test cells. */
|
|
3706
|
+
test: 'run' | 'hold' | 'test-cannot-resolve';
|
|
3707
|
+
reason: string;
|
|
3708
|
+
}
|
|
3709
|
+
interface PlanSearchClaimInput {
|
|
3710
|
+
stopReason: SearchCloseReason;
|
|
3711
|
+
/** Repeats per test task. */
|
|
3712
|
+
reps: number;
|
|
3713
|
+
/** Whether the budget admits the test cells of the root and `finalists`. */
|
|
3714
|
+
affordable(finalists: number): boolean;
|
|
3715
|
+
}
|
|
3716
|
+
/** Fix the claim's design from a search that stopped expanding. */
|
|
3717
|
+
declare function planSearchClaim(state: SearchStateView, input: PlanSearchClaimInput): SearchClaimPlan;
|
|
3718
|
+
/** A node decision the claim makes, ready for `recorder.decideNode`. */
|
|
3719
|
+
interface SearchClaimDecision {
|
|
3720
|
+
nodeId: string;
|
|
3721
|
+
decision: SearchNodeDecision;
|
|
3722
|
+
basis: NodeEstimate | null;
|
|
3723
|
+
rule: string;
|
|
3724
|
+
reason: string;
|
|
3725
|
+
}
|
|
3726
|
+
/**
|
|
3727
|
+
* Decide the claim from the test cells of the root and the finalists. Call it
|
|
3728
|
+
* once every claim cell is settled or cancelled. It returns the claim and the
|
|
3729
|
+
* terminal decisions of the root and every finalist.
|
|
3730
|
+
*/
|
|
3731
|
+
declare function decideSearchClaim(state: SearchStateView, plan: SearchClaimPlan): {
|
|
3732
|
+
claim: SearchClaim;
|
|
3733
|
+
decisions: SearchClaimDecision[];
|
|
3734
|
+
};
|
|
3735
|
+
//#endregion
|
|
3736
|
+
//#region src/campaign/search-kernel.d.ts
|
|
3737
|
+
/** The kernel every `runSearch` ledger names as its search implementation. */
|
|
3738
|
+
declare const SEARCH_KERNEL_SOURCE: SearchSourceRef;
|
|
3739
|
+
/** An execution lane: a pool of slots whose cells share a cost rule. */
|
|
3740
|
+
interface SearchLane {
|
|
3741
|
+
name: string;
|
|
3742
|
+
/** Cells the lane runs at once. */
|
|
3743
|
+
capacity: number;
|
|
3744
|
+
/** `hard`: the lane enforces `cellUsd` as each cell's maximum. `estimate`:
|
|
3745
|
+
* it cannot, and the kernel holds an estimate, recording any overshoot. */
|
|
3746
|
+
costCap: 'hard' | 'estimate';
|
|
3747
|
+
/** The enforced per-cell maximum of a hard lane; the prior estimate of an
|
|
3748
|
+
* estimate lane until it has settled enough cells to estimate its own. */
|
|
3749
|
+
cellUsd: number;
|
|
3750
|
+
}
|
|
3751
|
+
/** One attempt at one cell, as the kernel hands it to an executor. */
|
|
3752
|
+
interface SearchCellWork<TArtifact> {
|
|
3753
|
+
searchId: string;
|
|
3754
|
+
cellId: string;
|
|
3755
|
+
nodeId: string;
|
|
3756
|
+
taskId: string;
|
|
3757
|
+
unitId: string;
|
|
3758
|
+
split: SearchSplit;
|
|
3759
|
+
rep: number;
|
|
3760
|
+
stage: SearchCellStage;
|
|
3761
|
+
lane: string;
|
|
3762
|
+
attempt: number;
|
|
3763
|
+
/** `cellId:attempt`: the id an executor keys the attempt's run by. */
|
|
3764
|
+
runId: string;
|
|
3765
|
+
artifact: TArtifact;
|
|
3766
|
+
signal: AbortSignal;
|
|
3767
|
+
}
|
|
3768
|
+
/** What an attempt produced: everything `cell-settled` records except the
|
|
3769
|
+
* coordinates the kernel owns. An environment fault is an `errored` outcome,
|
|
3770
|
+
* not a rejection; a rejection stops the search. */
|
|
3771
|
+
type SearchCellResult = Omit<SettleSearchCellInput, 'cellId' | 'attempt'>;
|
|
3772
|
+
/** The executor port: lanes, placement, running a cell, and adopting an
|
|
3773
|
+
* attempt an earlier kernel process started. */
|
|
3774
|
+
interface SearchExecutor<TArtifact> {
|
|
3775
|
+
lanes(): readonly SearchLane[];
|
|
3776
|
+
/** The lane a planned cell runs on. */
|
|
3777
|
+
place(cell: SearchCellPlan & {
|
|
3778
|
+
nodeId: string;
|
|
3779
|
+
}): string;
|
|
3780
|
+
run(work: SearchCellWork<TArtifact>): Promise<SearchCellResult>;
|
|
3781
|
+
/** The result of `work.runId` if the executor already has it, else null.
|
|
3782
|
+
* Called before the first dispatch of a cell the ledger shows unsettled when
|
|
3783
|
+
* the kernel starts, so a restart does not run an attempt twice. */
|
|
3784
|
+
adopt(work: SearchCellWork<TArtifact>): Promise<SearchCellResult | null>;
|
|
3785
|
+
}
|
|
3786
|
+
/** How a search stores, compares and restores its artifacts. */
|
|
3787
|
+
interface SearchArtifactCodec<TArtifact> {
|
|
3788
|
+
/** The artifact as a content-addressed node; stores its bytes. */
|
|
3789
|
+
node(recorder: SearchRecorder, artifact: TArtifact): RegisterSearchNodeInput;
|
|
3790
|
+
/** The parent-to-child diff, stored as a blob, or why there is none. */
|
|
3791
|
+
diff(recorder: SearchRecorder, parent: TArtifact, child: TArtifact): SearchArtifactRef | SearchUnknown;
|
|
3792
|
+
/** The artifact a node holds, read back from its stored bytes. */
|
|
3793
|
+
load(recorder: SearchRecorder, node: SearchNode): TArtifact;
|
|
3794
|
+
}
|
|
3795
|
+
interface SearchProposalRequest<TArtifact> {
|
|
3796
|
+
expansion: number;
|
|
3797
|
+
operationId: string;
|
|
3798
|
+
operator: Exclude<SearchEdgeOperator, 'seed' | 'derive'>;
|
|
3799
|
+
/** The parents the policy chose, primary first. */
|
|
3800
|
+
parents: ReadonlyArray<{
|
|
3801
|
+
nodeId: string;
|
|
3802
|
+
artifact: TArtifact;
|
|
3803
|
+
}>;
|
|
3804
|
+
/** The node the search keeps now. */
|
|
3805
|
+
leader: string;
|
|
3806
|
+
signal: AbortSignal;
|
|
3807
|
+
}
|
|
3808
|
+
/** One child a proposal returned. */
|
|
3809
|
+
interface SearchProposedChild<TArtifact> {
|
|
3810
|
+
artifact: TArtifact;
|
|
3811
|
+
label: string;
|
|
3812
|
+
/** The proposer's reason; redacted with the share profile before it is stored. */
|
|
3813
|
+
rationale: string;
|
|
3814
|
+
/** Typed JSON the proposer attaches to the child, stored with the proposal
|
|
3815
|
+
* and never interpreted by the kernel. */
|
|
3816
|
+
attribution?: Readonly<Record<string, unknown>>;
|
|
3817
|
+
}
|
|
3818
|
+
interface SearchProposalResult<TArtifact> {
|
|
3819
|
+
children: ReadonlyArray<SearchProposedChild<TArtifact>>;
|
|
3820
|
+
/** Set when the proposer judges the search converged; expansion stops. */
|
|
3821
|
+
stop?: string;
|
|
3822
|
+
/** What generated the children; default the port's `execution`. */
|
|
3823
|
+
execution?: SearchOperationRecordedEvent['execution'];
|
|
3824
|
+
accounting: SearchAttemptAccounting;
|
|
3825
|
+
}
|
|
3826
|
+
/** The proposer port: derives children from the parents the policy chose. */
|
|
3827
|
+
interface SearchProposerPort<TArtifact> {
|
|
3828
|
+
readonly name: string;
|
|
3829
|
+
readonly kind: SearchProposerKind;
|
|
3830
|
+
readonly source: SearchSourceRef;
|
|
3831
|
+
readonly execution: SearchOperationRecordedEvent['execution'];
|
|
3832
|
+
/** Prior hold for one proposal until 20 proposals have settled. Default 0. */
|
|
3833
|
+
readonly reservationUsd?: number;
|
|
3834
|
+
/** Children one proposal usually returns, to price an expansion's screens
|
|
3835
|
+
* before it runs. Default 1. */
|
|
3836
|
+
readonly childrenPerProposal?: number;
|
|
3837
|
+
propose(request: SearchProposalRequest<TArtifact>): Promise<SearchProposalResult<TArtifact>>;
|
|
3838
|
+
}
|
|
3839
|
+
interface RunSearchOptions<TArtifact> {
|
|
3840
|
+
/** An opened recorder; its header names this policy and allocator. */
|
|
3841
|
+
recorder: SearchRecorder;
|
|
3842
|
+
/** The starting artifact: the seeded root. */
|
|
3843
|
+
root: TArtifact;
|
|
3844
|
+
codec: SearchArtifactCodec<TArtifact>;
|
|
3845
|
+
policy: SearchPolicy;
|
|
3846
|
+
allocation: SearchAllocator;
|
|
3847
|
+
proposer: SearchProposerPort<TArtifact>;
|
|
3848
|
+
executor: SearchExecutor<TArtifact>;
|
|
3849
|
+
/** Refuse a child before it runs: the reason, or null to admit it. A
|
|
3850
|
+
* refused child is recorded, decided `invalid`, and never becomes a parent. */
|
|
3851
|
+
admit?: (artifact: TArtifact) => string | null;
|
|
3852
|
+
/** Stop expanding after this many proposals. */
|
|
3853
|
+
maxExpansions?: number;
|
|
3854
|
+
/** Attempts per cell for retryable environment errors. Default 3. */
|
|
3855
|
+
maxAttempts?: number;
|
|
3856
|
+
/** Aborting pauses the search: in-flight cells are aborted, what settled is
|
|
3857
|
+
* recorded, the ledger stays open, and the call rejects. Run the kernel on
|
|
3858
|
+
* the same ledger again to continue. */
|
|
3859
|
+
signal?: AbortSignal;
|
|
3860
|
+
/** Milliseconds since the epoch, for the deadline. Default `Date.now`. */
|
|
3861
|
+
now?: () => number;
|
|
3862
|
+
}
|
|
3863
|
+
interface SearchRunResult {
|
|
3864
|
+
/** The closed search. */
|
|
3865
|
+
state: SearchStateView;
|
|
3866
|
+
/** The node the search keeps: the claim's selection, or without a claim the
|
|
3867
|
+
* policy leader; the root when nothing was selected. */
|
|
3868
|
+
leader: string;
|
|
3869
|
+
reason: SearchCloseReason;
|
|
3870
|
+
/** The claim on the sealed test split; null for a search without one. */
|
|
3871
|
+
claim: SearchClaim | null;
|
|
3872
|
+
}
|
|
3873
|
+
/** Run a search to its close, or continue one from its ledger. */
|
|
3874
|
+
declare function runSearch<TArtifact>(options: RunSearchOptions<TArtifact>): Promise<SearchRunResult>;
|
|
3875
|
+
/** The expansion index a kernel operation id encodes, or null. */
|
|
3876
|
+
declare function searchExpansionIndex(operationId: string): number | null;
|
|
3877
|
+
/** The stored output of one proposal: enough to register its children again. */
|
|
3878
|
+
interface SearchProposalBlob {
|
|
3879
|
+
kind: 'search-proposal';
|
|
3880
|
+
operator: SearchProposalRequest<unknown>['operator'];
|
|
3881
|
+
parents: string[];
|
|
3882
|
+
selection: {
|
|
3883
|
+
rule: string;
|
|
3884
|
+
evidence: Record<string, number>;
|
|
3885
|
+
};
|
|
3886
|
+
children: Array<{
|
|
3887
|
+
node: RegisterSearchNodeInput;
|
|
3888
|
+
diffs: Array<SearchArtifactRef | SearchUnknown>;
|
|
3889
|
+
label: string;
|
|
3890
|
+
rationale: string;
|
|
3891
|
+
attribution: Readonly<Record<string, unknown>> | null;
|
|
3892
|
+
invalid: string | null;
|
|
3893
|
+
}>;
|
|
3894
|
+
}
|
|
3895
|
+
/**
|
|
3896
|
+
* A policy's read of a search: `screened` lists the admitted nodes whose screen
|
|
3897
|
+
* finished, in registration order; `screening` counts the admitted nodes still
|
|
3898
|
+
* being screened. Nodes are ranked on the selection split, or on train when
|
|
3899
|
+
* the search declares no selection split. The view reads no test cell.
|
|
3900
|
+
*/
|
|
3901
|
+
declare function searchPolicyView(state: SearchStateView, input: {
|
|
3902
|
+
screened: readonly string[];
|
|
3903
|
+
screening: number;
|
|
3904
|
+
expansions: number;
|
|
3905
|
+
}): SearchPolicyView;
|
|
3906
|
+
/**
|
|
3907
|
+
* The divergence rule: a node whose train mean rose over its parent's on the
|
|
3908
|
+
* train units they share while its selection interval against the parent (6
|
|
3909
|
+
* or more units, not indeterminate) lies wholly on the worse side. Train is
|
|
3910
|
+
* what the proposer reads; a gain there that selection contradicts is the
|
|
3911
|
+
* signature of fitting the feedback instead of the task.
|
|
3912
|
+
*/
|
|
3913
|
+
declare function searchDivergence(state: SearchStateView, nodeId: string): {
|
|
3914
|
+
basis: NodeEstimate;
|
|
3915
|
+
reason: string;
|
|
3916
|
+
} | null;
|
|
3917
|
+
//#endregion
|
|
3892
3918
|
//#region src/campaign/single-run-lock.d.ts
|
|
3893
3919
|
/**
|
|
3894
3920
|
* Single-run lock for evaluations that share one mutable environment.
|
|
@@ -4074,5 +4100,5 @@ declare function verifyCodeSurface(surface: CodeSurface, worktreeDir?: string):
|
|
|
4074
4100
|
* identity against the checkout at `worktreeRef`. */
|
|
4075
4101
|
declare function resolveWorktreePath(surface: CodeSurface, worktreeDir?: string): string;
|
|
4076
4102
|
//#endregion
|
|
4077
|
-
export { scoreboardSummary as $, searchNodeId as $a, RunImprovementLoopOptions as $i, buildTraceAnalystSurfaceDispatch as $n, GepaOptimizationRecipe as $r, EvalFixtureRunPlan as $t, tangleTracesRoot as A, searchHistoryCoverageRow as Aa, GepaCandidatePopulationSummary as Ai, CrossSurfaceCompositionStep as An, fsCampaignStorage as Ao, DEFAULT_RED_TEAM_CORPUS as Ar, sequentialOptimizationMethod as At, finalizeProfileMatrix as B, replaySearchLedgerText as Ba, ReferenceEquivalenceJudgeInput as Bi, CrossSurfaceNaiveStackSelection as Bn, CanaryKind as Br, classifyUngroundedLiterals as Bt, SingleRunLockOptions as C, SearchHistoryCoverageRow as Ca, compareOptimizationMethods as Ci, CrossSurfaceCandidate as Cn, CacheRead as Co, compareRankKeys as Cr, RequirementCheck as Ct, scoreDiscrimination as D, assertCompleteSearchHistory as Da, costFromLedgerSummary as Di, CrossSurfaceCandidateSummary as Dn, cellCachePath as Do, DefaultProductionGateOptions as Dr, createLlmCorrectnessChecker as Dt, ScenarioSignal as E, SearchHistoryRequiredError as Ea, combineComparisonCosts as Ei, CrossSurfaceCandidateOutcome as En, buildCellSchedule as Eo, DefaultProductionGateCheck as Er, completionVerdict as Et, ProfileMatrixPlan as F, SearchLedger as Fa, ExternalOptimizerObservationSummary as Fi, CrossSurfaceInteractionAwareSelection as Fn, assertCampaignSplitIdentity as Fo, redTeamDataset as Fr, RolloutArgumentDiff as Ft, ScoreboardRenderOptions as G, SearchNode as Ga, runReferenceEquivalenceJudge as Gi, CrossSurfaceRankedSingle as Gn, SkillOptOptimizationMethodConfig as Gr, importExternalEvaluations as Gt, PlaybackContext as H, SearchCell as Ha, ReferenceEquivalenceJudgeResult as Hi, CrossSurfacePairEvidence as Hn, CanaryReport as Hr, GepaEvaluationImport as Ht, ProfileMatrixRow as I, SearchLedgerAppendResult as Ia, ExternalOptimizerSubmittedCandidate as Ii, CrossSurfaceInteractionEffect as In, campaignScenarioIdentity as Io, redTeamReport as Ir, RolloutArgumentDiffOptions as It, UserStory as J, SearchSpend as Ja, llmJudge as Ji, CrossSurfaceSelections as Jn, skillOptOptimizationMethod as Jr, NeutralizationGateOptions as Jt, ScoreboardRow as K, SearchOperation as Ka, LlmJudgeDimension as Ki, CrossSurfaceRelativeCost as Kn, SkillOptRunnerCommand as Kr, importGepaPopulation as Kt, ProfileMatrixSegmentResult as L, SearchLedgerTrustedHeadMode as La, readExternalOptimizerObservationArtifact as Li, CrossSurfaceInteractionPath as Ln, campaignSplitDigest as Lo, scoreRedTeamOutput as Lr, RolloutCall as Lt, FinalizeProfileMatrixOptions as M, verifySearchHistoryReceipt as Ma, readGepaCandidatePopulationArtifact as Mi, CrossSurfaceEligibility as Mn, FinalEvidencePolicy as Mo, RedTeamCategory as Mr, FsLabeledScenarioStore as Mt, FinalizedProfileMatrixResult as N, FileSearchLedger as Na, ExternalOptimizerExecutionSummary as Ni, CrossSurfaceEvidenceBreakdown as Nn, FinalEvidenceUse as No, RedTeamFinding as Nr, FsLabeledScenarioStoreOptions as Nt, selectDiscriminative as O, assertSearchHistoryMatchesState as Oa, GepaCandidatePopulationArtifact as Oi, CrossSurfaceComponent as On, CampaignStorage as Oo, DefaultProductionRewardHackingOptions as Or, verifyCompletion as Ot, ProfileMatrixCoverage as P, OpenSearchLedgerOptions as Pa, ExternalOptimizerObservationArtifact as Pi, CrossSurfaceIneligibilityReason as Pn, assertCampaignDesign as Po, RedTeamReport as Pr, LabeledScenarioStoreError as Pt, scoreUserStory as Q, searchCellId as Qa, transientDispatchFailure as Qi, TraceAnalystScenario as Qn, GepaOptimizationMethodConfig as Qr, EvalFixtureLoadOptions as Qt, RunProfileMatrixSegmentOptions as R, openSearchLedger as Ra, REFERENCE_EQUIVALENCE_INPUT_LIMITS as Ri, CrossSurfaceInteractionReport as Rn, campaignSplitDigestFromIdentities as Ro, CanaryAlert as Rr, ScoredRollout as Rt, SingleRunLock as S, SearchHistoryCoverage as Sa, OptimizationTokenUsage as Si, CrossSurfaceBootstrapPolicy as Sn, CacheIssueReason as So, campaignMeanComposite as Sr, ProducedState as St, DiscriminationScore as T, SearchHistoryReceipt as Ta, ComparisonCost as Ti, CrossSurfaceCandidateEvidence as Tn, CellScheduleSlot as To, heldOutGate as Tr, TaskGold as Tt, PlaybackDriver as U, SearchCompletion as Ua, ReferenceEquivalenceScenario as Ui, CrossSurfacePairIncompatibilityReason as Un, runCanaries as Ur, GepaPopulationImport as Ut, runProfileMatrixSegment as V, validateSearchLedgerEvent as Va, ReferenceEquivalenceJudgeOptions as Vi, CrossSurfacePairCompatibility as Vn, CanaryOptions as Vr, rolloutArgumentDiff as Vt, PlaybackStep as W, SearchDecisionRecord as Wa, createReferenceEquivalenceJudge as Wi, CrossSurfacePairwiseEntry as Wn, composeGate as Wr, externalSurface as Wt, makePlaybackDispatch as X, SearchStateView as Xa, isTransientTransportFailure as Xi, BuildTraceAnalystSurfaceDispatchOptions as Xn, GepaEngineOptions as Xr, EvalFixture as Xt, UserStoryVerdict as Y, SearchState as Ya, TransientFailureOptions as Yi, CrossSurfaceTaskRow as Yn, GepaAdaptiveEngineRun as Yr, neutralizationGate as Yt, renderScoreboardMarkdown as Z, SearchUnitScore as Za, quotaExhaustedUntil as Zi, TraceAnalystArtifact as Zn, GepaEngineRun as Zr, EvalFixtureFile as Zt, componentSurfaceIdentityMaterial as _, surfaceDiff as _a, OptimizationMethodProvenance as _i, AnalyzeCrossSurfaceInteractionsInput as _n, runCampaign as _o, provenanceSpansPath as _r, CompletionRequirement as _t, WorktreeAdapterError as a, runOptimization as aa, ExternalTextOptimizationMethodConfig as ai, loadEvalFixture as an, CrowdedFrontierParentOptions as ao, LoopProvenanceBackend as ar, RunProfileMatrixResult as at, surfaceDispatchRef as b, SearchHistoryAdmissionOptions as ba, OptimizationMethodScore as bi, CrossSurfaceAttemptCompleteness as bn, PlanCampaignRunOptions as bo, CampaignComparisonUnits as br, LlmCorrectnessCheckerOpts as bt, verifyCodeSurface as c, RegisterSearchNodeInput as ca, ExternalOptimizationExample as ci, EstimateNodeCellsInput as cn, crowdedFrontierParent as co, LoopProvenanceOptimizationMethod as cr, BackendIntegrityError as ct, PhoenixEvaluationResultLike as d, SearchRecorder as da, CompareOptimizationMethodsOptions as di, SearchPosterior as dn, openAutoPr as do, campaignMeasurementDigest as dr, summarizeBackendIntegrity as dt, RunImprovementLoopResult as ea, GepaRunnerCommand as ei, EvalFixtureScenario as en, searchTaskSetDigest as eo, traceAnalystQualityJudge as er, userStoryScoreboard as et, PhoenixEvaluatorLike as f, SearchRecorderOptions as fa, OptimizationMethod as fi, estimateNode as fn, RunEvalOptions as fo, canonicalDigest as fr, ArtifactEventLike as ft, codeSurfaceIdentityMaterial as g, searchEdgeId as ga, OptimizationMethodPairwise as gi, analyzeCrossSurfaceInteractions as gn, RunCampaignOptions as go, provenanceRecordPath as gr, extractProducedState as gt, assertCodeSurfaceIdentity as h, developmentClaim as ha, OptimizationMethodInput as hi, searchPosterior as hn, CampaignCellRetryPolicy as ho, loopProvenanceSpans as hr, ToolCallEventLike as ht, WorktreeAdapter as i, RunOptimizationResult as ia, externalTextOptimizationMethod as ii, discoverEvalFixtures as in, SearchLedgerIntegrityError as io, LoopProvenanceArgsFromResult as ir, RunProfileMatrixOptions as it, CreateProfileMatrixPlanOptions as j, verifySearchHistoryArtifact as ja, GepaCandidateSelectionScore as ji, CrossSurfaceDistribution as jn, inMemoryCampaignStorage as jo, RedTeamCase as jr, neutralizeText as jt, resolveRunDir as k, createSearchHistoryReceipt as ka, GepaCandidatePopulationCandidate as ki, CrossSurfaceComponentEvidence as kn, createRunCostLedger as ko, defaultProductionGate as kr, scopedOptimizationMethod as kt, AutoevalsScoreLike as l, SearchLedgerBinding as la, ExternalTextEvaluationResponse as li, NodePosterior as ln, OpenAutoPrOptions as lo, LoopProvenanceRecord as lr, BackendIntegrityReport as lt, phoenixEvaluatorJudge as m, SettleSearchCellInput as ma, OptimizationMethodComposition as mi, searchCellSetDigest as mn, CampaignCellFailureReceipt as mo, loopProvenanceArgsFromResult as mr, RuntimeEventLike as mt, GitWorktreeAdapterOptions as n, PremeasuredOptimizationBaseline as na, OpenAICompatibleOptimizerModel as ni, LoadEvalFixtureScenariosOptions as nn, SearchLedgerConflictError as no, EmitLoopProvenanceArgs as nr, ProfileMatrixError as nt, gitWorktreeAdapter as o, AllocateSearchCellInput as oa, ExternalTextOptimizerContext as oi, loadEvalFixtureScenarios as on, ParentSelectionContext as oo, LoopProvenanceCandidate as or, ScenarioRollup as ot, autoevalsScorerJudge as p, SearchRunIdentity as pa, OptimizationMethodComparison as pi, estimateNodeFromCells as pn, runEval as po, emitLoopProvenance as pr, ProposalEventLike as pt, ScoreboardSummary as q, SearchScoredCell as qa, LlmJudgeOptions as qi, CrossSurfaceSelectionPolicy as qn, SkillOptTrainerConfig as qr, recordGepaSearch as qt, Worktree as r, RunOptimizationOptions as ra, OptimizerModelBudget as ri, PlanEvalFixtureRunOptions as rn, SearchLedgerError as ro, EmitLoopProvenanceResult as rr, ProfileSummary as rt, resolveWorktreePath as s, RecordSearchEdgeInput as sa, ExternalTextOptimizerResult as si, planEvalFixtureRun as sn, ParentSelector as so, LoopProvenanceEvidence as sr, runProfileMatrix as st, CodeSurfaceVerification as t, runImprovementLoop as ta, gepaOptimizationMethod as ti, EvalFixtureValidationMode as tn, searchUnitScores as to, BuildLoopProvenanceArgs as tr, ProfileDispatchFn as tt, AutoevalsScorerLike as u, SearchOpening as ua, decodeExternalTextCandidate as ui, SEARCH_ESTIMATOR as un, OpenAutoPrResult as uo, buildLoopProvenanceRecord as ur, assertRealBackend as ut, renderSurfaceDiff as v, surfaceNode as va, OptimizationMethodResult as vi, CrossSurfaceAdditionDecision as vn, CampaignRunPlan as vo, verifyLoopProvenanceRecord as vr, CompletionVerdict as vt, acquireSingleRunLock as w, SearchHistoryPolicy as wa, optimizationTokenUsageFromSummary as wi, CrossSurfaceCandidateComparison as wn, readCachedCell as wo, HeldOutGateOptions as wr, SatisfiedBy as wt, surfaceHash as x, SearchHistoryAuditSummary as xa, OptimizationPackageSource as xi, CrossSurfaceBestSingleSelection as xn, planCampaignRun as xo, campaignBreakdown as xr, ProducedProposal as xt, surfaceContentHash as y, CreateSearchHistoryReceiptInput as ya, OptimizationMethodRunOptions as yi, CrossSurfaceAdditionRejectionReason as yn, CampaignRunPlanCell as yo, CampaignBreakdown as yr, CorrectnessChecker as yt, createProfileMatrixPlan as z, parseSearchLedgerLine as za, REFERENCE_EQUIVALENCE_JUDGE_VERSION as zi, CrossSurfaceInteractionTask as zn, CanaryEvaluation as zr, UngroundedLiteralReport as zt };
|
|
4078
|
-
//# sourceMappingURL=index-
|
|
4103
|
+
export { resolveRunDir as $, SearchHistoryCoverage as $a, costFromLedgerSummary as $i, CrossSurfaceComponentEvidence as $n, DefaultProductionGateOptions as $r, scopedOptimizationMethod as $t, SearchExecutor as A, RunOptimizationResult as Aa, externalTextOptimizationMethod as Ai, loadEvalFixtureScenarios as An, runCampaign as Ao, EmitLoopProvenanceResult as Ar, ScenarioRollup as At, searchExpansionIndex as B, SearchLedgerBinding as Ba, OptimizationMethodComposition as Bi, analyzeCrossSurfaceInteractions as Bn, cellCachePath as Bo, emitLoopProvenance as Br, extractProducedState as Bt, SingleRunLockOptions as C, quotaExhaustedUntil as Ca, GepaEngineRun as Ci, EvalFixtureRunPlan as Cn, OpenAutoPrResult as Co, buildTraceAnalystSurfaceDispatch as Cr, scoreboardSummary as Ct, SearchArtifactCodec as D, runImprovementLoop as Da, gepaOptimizationMethod as Di, PlanEvalFixtureRunOptions as Dn, CampaignCellFailureReceipt as Do, uniform as Dr, ProfileSummary as Dt, SEARCH_KERNEL_SOURCE as E, RunImprovementLoopResult as Ea, GepaRunnerCommand as Ei, LoadEvalFixtureScenariosOptions as En, runEval as Eo, SearchCellPlan as Er, ProfileMatrixError as Et, SearchProposedChild as F, crowdedFrontierParent as Fa, ExternalTextEvaluationResponse as Fi, SearchPosterior as Fn, CacheIssueReason as Fo, LoopProvenanceOptimizationMethod as Fr, summarizeBackendIntegrity as Ft, SearchClaimPlan as G, SettleSearchCellInput as Ga, OptimizationMethodRunOptions as Gi, CrossSurfaceBestSingleSelection as Gn, FinalEvidencePolicy as Go, verifyLoopProvenanceRecord as Gr, ProducedProposal as Gt, PlanSearchClaimInput as H, SearchRecorder as Ha, OptimizationMethodPairwise as Hi, CrossSurfaceAdditionDecision as Hn, createRunCostLedger as Ho, loopProvenanceSpans as Hr, CompletionVerdict as Ht, SearchProposerPort as I, incumbent as Ia, decodeExternalTextCandidate as Ii, estimateNode as In, CacheRead as Io, LoopProvenanceRecord as Ir, ArtifactEventLike as It, searchClaimReserveUsd as J, surfaceDiff as Ja, OptimizationTokenUsage as Ji, CrossSurfaceCandidateComparison as Jn, assertCampaignSplitIdentity as Jo, campaignBreakdown as Jr, SatisfiedBy as Jt, decideSearchClaim as K, developmentClaim as Ka, OptimizationMethodScore as Ki, CrossSurfaceBootstrapPolicy as Kn, FinalEvidenceUse as Ko, CampaignBreakdown as Kr, ProducedState as Kt, SearchRunResult as L, AllocateSearchCellInput as La, CompareOptimizationMethodsOptions as Li, estimateNodeFromCells as Ln, readCachedCell as Lo, buildLoopProvenanceRecord as Lr, ProposalEventLike as Lt, SearchProposalBlob as M, SearchExpansion as Ma, ExternalTextOptimizerContext as Mi, EstimateNodeCellsInput as Mn, CampaignRunPlanCell as Mo, LoopProvenanceBackend as Mr, BackendIntegrityError as Mt, SearchProposalRequest as N, SearchPolicy as Na, ExternalTextOptimizerResult as Ni, NodePosterior as Nn, PlanCampaignRunOptions as No, LoopProvenanceCandidate as Nr, BackendIntegrityReport as Nt, SearchCellResult as O, PremeasuredOptimizationBaseline as Oa, OpenAICompatibleOptimizerModel as Oi, discoverEvalFixtures as On, CampaignCellRetryPolicy as Oo, BuildLoopProvenanceArgs as Or, RunProfileMatrixOptions as Ot, SearchProposalResult as P, SearchPolicyView as Pa, ExternalOptimizationExample as Pi, SEARCH_ESTIMATOR as Pn, planCampaignRun as Po, LoopProvenanceEvidence as Pr, assertRealBackend as Pt, selectDiscriminative as Q, SearchHistoryAuditSummary as Qa, combineComparisonCosts as Qi, CrossSurfaceComponent as Qn, DefaultProductionGateCheck as Qr, verifyCompletion as Qt, runSearch as R, RecordSearchEdgeInput as Ra, OptimizationMethod as Ri, searchCellSetDigest as Rn, CellScheduleSlot as Ro, campaignMeasurementDigest as Rr, RuntimeEventLike as Rt, SingleRunLock as S, isTransientTransportFailure as Sa, GepaEngineOptions as Si, EvalFixtureLoadOptions as Sn, OpenAutoPrOptions as So, TraceAnalystScenario as Sr, scoreUserStory as St, RunSearchOptions as T, RunImprovementLoopOptions as Ta, GepaOptimizationRecipe as Ti, EvalFixtureValidationMode as Tn, RunEvalOptions as To, SearchAllocator as Tr, ProfileDispatchFn as Tt, SEARCH_CLAIM_RULE as U, SearchRecorderOptions as Ua, OptimizationMethodProvenance as Ui, CrossSurfaceAdditionRejectionReason as Un, fsCampaignStorage as Uo, provenanceRecordPath as Ur, CorrectnessChecker as Ut, searchPolicyView as V, SearchOpening as Va, OptimizationMethodInput as Vi, AnalyzeCrossSurfaceInteractionsInput as Vn, CampaignStorage as Vo, loopProvenanceArgsFromResult as Vr, CompletionRequirement as Vt, SearchClaimDecision as W, SearchRunIdentity as Wa, OptimizationMethodResult as Wi, CrossSurfaceAttemptCompleteness as Wn, inMemoryCampaignStorage as Wo, provenanceSpansPath as Wr, LlmCorrectnessCheckerOpts as Wt, ScenarioSignal as X, CreateSearchHistoryReceiptInput as Xa, optimizationTokenUsageFromSummary as Xi, CrossSurfaceCandidateOutcome as Xn, campaignSplitDigest as Xo, HeldOutGateOptions as Xr, completionVerdict as Xt, DiscriminationScore as Y, surfaceNode as Ya, compareOptimizationMethods as Yi, CrossSurfaceCandidateEvidence as Yn, campaignScenarioIdentity as Yo, campaignMeanComposite as Yr, TaskGold as Yt, scoreDiscrimination as Z, SearchHistoryAdmissionOptions as Za, ComparisonCost as Zi, CrossSurfaceCandidateSummary as Zn, campaignSplitDigestFromIdentities as Zo, heldOutGate as Zr, createLlmCorrectnessChecker as Zt, componentSurfaceIdentityMaterial as _, runReferenceEquivalenceJudge as _a, SkillOptOptimizationMethodConfig as _i, recordGepaSearch as _n, replaySearchLedgerText as _o, CrossSurfaceSelectionPolicy as _r, ScoreboardSummary as _t, WorktreeAdapterError as a, ExternalOptimizerExecutionSummary as aa, RedTeamFinding as ai, RolloutArgumentDiff as an, assertSearchHistoryMatchesState as ao, CrossSurfaceInteractionAwareSelection as ar, ProfileMatrixPlan as at, surfaceDispatchRef as b, llmJudge as ba, skillOptOptimizationMethod as bi, EvalFixture as bn, SearchLedgerError as bo, BuildTraceAnalystSurfaceDispatchOptions as br, makePlaybackDispatch as bt, verifyCodeSurface as c, ExternalOptimizerSubmittedCandidate as ca, redTeamReport as ci, ScoredRollout as cn, verifySearchHistoryArtifact as co, CrossSurfaceInteractionReport as cr, RunProfileMatrixSegmentOptions as ct, PhoenixEvaluationResultLike as d, REFERENCE_EQUIVALENCE_JUDGE_VERSION as da, CanaryEvaluation as di, rolloutArgumentDiff as dn, OpenSearchLedgerOptions as do, CrossSurfacePairCompatibility as dr, runProfileMatrixSegment as dt, GepaCandidatePopulationArtifact as ea, DefaultProductionRewardHackingOptions as ei, sequentialOptimizationMethod as en, SearchHistoryCoverageRow as eo, CrossSurfaceCompositionStep as er, tangleTracesRoot as et, PhoenixEvaluatorLike as f, ReferenceEquivalenceJudgeInput as fa, CanaryKind as fi, GepaEvaluationImport as fn, SearchLedger as fo, CrossSurfacePairEvidence as fr, PlaybackContext as ft, codeSurfaceIdentityMaterial as g, createReferenceEquivalenceJudge as ga, composeGate as gi, importGepaPopulation as gn, parseSearchLedgerLine as go, CrossSurfaceRelativeCost as gr, ScoreboardRow as gt, assertCodeSurfaceIdentity as h, ReferenceEquivalenceScenario as ha, runCanaries as hi, importExternalEvaluations as hn, openSearchLedger as ho, CrossSurfaceRankedSingle as hr, ScoreboardRenderOptions as ht, WorktreeAdapter as i, readGepaCandidatePopulationArtifact as ia, RedTeamCategory as ii, LabeledScenarioStoreError as in, assertCompleteSearchHistory as io, CrossSurfaceIneligibilityReason as ir, ProfileMatrixCoverage as it, SearchLane as j, runOptimization as ja, ExternalTextOptimizationMethodConfig as ji, planEvalFixtureRun as jn, CampaignRunPlan as jo, LoopProvenanceArgsFromResult as jr, runProfileMatrix as jt, SearchCellWork as k, RunOptimizationOptions as ka, OptimizerModelBudget as ki, loadEvalFixture as kn, RunCampaignOptions as ko, EmitLoopProvenanceArgs as kr, RunProfileMatrixResult as kt, AutoevalsScoreLike as l, readExternalOptimizerObservationArtifact as la, scoreRedTeamOutput as li, UngroundedLiteralReport as ln, verifySearchHistoryReceipt as lo, CrossSurfaceInteractionTask as lr, createProfileMatrixPlan as lt, phoenixEvaluatorJudge as m, ReferenceEquivalenceJudgeResult as ma, CanaryReport as mi, externalSurface as mn, SearchLedgerTrustedHeadMode as mo, CrossSurfacePairwiseEntry as mr, PlaybackStep as mt, GitWorktreeAdapterOptions as n, GepaCandidatePopulationSummary as na, DEFAULT_RED_TEAM_CORPUS as ni, FsLabeledScenarioStore as nn, SearchHistoryReceipt as no, CrossSurfaceEligibility as nr, FinalizeProfileMatrixOptions as nt, gitWorktreeAdapter as o, ExternalOptimizerObservationArtifact as oa, RedTeamReport as oi, RolloutArgumentDiffOptions as on, createSearchHistoryReceipt as oo, CrossSurfaceInteractionEffect as or, ProfileMatrixRow as ot, autoevalsScorerJudge as p, ReferenceEquivalenceJudgeOptions as pa, CanaryOptions as pi, GepaPopulationImport as pn, SearchLedgerAppendResult as po, CrossSurfacePairIncompatibilityReason as pr, PlaybackDriver as pt, planSearchClaim as q, searchEdgeId as qa, OptimizationPackageSource as qi, CrossSurfaceCandidate as qn, assertCampaignDesign as qo, CampaignComparisonUnits as qr, RequirementCheck as qt, Worktree as r, GepaCandidateSelectionScore as ra, RedTeamCase as ri, FsLabeledScenarioStoreOptions as rn, SearchHistoryRequiredError as ro, CrossSurfaceEvidenceBreakdown as rr, FinalizedProfileMatrixResult as rt, resolveWorktreePath as s, ExternalOptimizerObservationSummary as sa, redTeamDataset as si, RolloutCall as sn, searchHistoryCoverageRow as so, CrossSurfaceInteractionPath as sr, ProfileMatrixSegmentResult as st, CodeSurfaceVerification as t, GepaCandidatePopulationCandidate as ta, defaultProductionGate as ti, neutralizeText as tn, SearchHistoryPolicy as to, CrossSurfaceDistribution as tr, CreateProfileMatrixPlanOptions as tt, AutoevalsScorerLike as u, REFERENCE_EQUIVALENCE_INPUT_LIMITS as ua, CanaryAlert as ui, classifyUngroundedLiterals as un, FileSearchLedger as uo, CrossSurfaceNaiveStackSelection as ur, finalizeProfileMatrix as ut, renderSurfaceDiff as v, LlmJudgeDimension as va, SkillOptRunnerCommand as vi, NeutralizationGateOptions as vn, validateSearchLedgerEvent as vo, CrossSurfaceSelections as vr, UserStory as vt, acquireSingleRunLock as w, transientDispatchFailure as wa, GepaOptimizationMethodConfig as wi, EvalFixtureScenario as wn, openAutoPr as wo, traceAnalystQualityJudge as wr, userStoryScoreboard as wt, surfaceHash as x, TransientFailureOptions as xa, GepaAdaptiveEngineRun as xi, EvalFixtureFile as xn, SearchLedgerIntegrityError as xo, TraceAnalystArtifact as xr, renderScoreboardMarkdown as xt, surfaceContentHash as y, LlmJudgeOptions as ya, SkillOptTrainerConfig as yi, neutralizationGate as yn, SearchLedgerConflictError as yo, CrossSurfaceTaskRow as yr, UserStoryVerdict as yt, searchDivergence as z, RegisterSearchNodeInput as za, OptimizationMethodComparison as zi, searchPosterior as zn, buildCellSchedule as zo, canonicalDigest as zr, ToolCallEventLike as zt };
|
|
4104
|
+
//# sourceMappingURL=index-DMPLG226.d.ts.map
|