@tangle-network/agent-eval 0.197.0 → 0.198.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 +45 -0
- package/dist/active-curriculum-B_Lc9kfO.js +61 -0
- package/dist/active-curriculum-B_Lc9kfO.js.map +1 -0
- package/dist/adapters/http.d.ts +2 -2
- package/dist/analyst/index.d.ts +5 -5
- package/dist/analyst/index.js +3 -3
- package/dist/{analyze-runs-B6gv7vAT.js → analyze-runs-DFbp2gB8.js} +5 -5
- package/dist/{analyze-runs-B6gv7vAT.js.map → analyze-runs-DFbp2gB8.js.map} +1 -1
- package/dist/{benchmark-command-DB7pxlks.js → benchmark-command-D8E5TaPC.js} +6 -5
- package/dist/{benchmark-command-DB7pxlks.js.map → benchmark-command-D8E5TaPC.js.map} +1 -1
- package/dist/benchmarks/index.d.ts +4 -3
- package/dist/benchmarks/index.d.ts.map +1 -1
- package/dist/benchmarks/index.js +3 -3
- package/dist/campaign/index.d.ts +5 -4
- package/dist/campaign/index.js +13 -11
- package/dist/{campaign-BUFSOI36.js → campaign-Dlg2iOzH.js} +13 -12
- package/dist/{campaign-BUFSOI36.js.map → campaign-Dlg2iOzH.js.map} +1 -1
- package/dist/{campaign-evidence-DJc60F9C.js → campaign-evidence-jL_U7Ikv.js} +2 -2
- package/dist/{campaign-evidence-DJc60F9C.js.map → campaign-evidence-jL_U7Ikv.js.map} +1 -1
- package/dist/cli.js +243 -13
- package/dist/cli.js.map +1 -1
- package/dist/contract/index.d.ts +7 -6
- package/dist/contract/index.js +9 -9
- package/dist/{default-registry-D2csUBBQ.d.ts → default-registry-oK9hHfX_.d.ts} +3 -3
- package/dist/{default-registry-D2csUBBQ.d.ts.map → default-registry-oK9hHfX_.d.ts.map} +1 -1
- package/dist/{define-agent-eval-ulRlLvse.d.ts → define-agent-eval-By9PImpa.d.ts} +5 -4
- package/dist/define-agent-eval-By9PImpa.d.ts.map +1 -0
- package/dist/{define-agent-eval-4J02MdF7.js → define-agent-eval-DvBgSzAI.js} +6 -6
- package/dist/{define-agent-eval-4J02MdF7.js.map → define-agent-eval-DvBgSzAI.js.map} +1 -1
- package/dist/diagnosis/index.js +1 -1
- package/dist/{dspy-rlm-engine-k_QdEBZo.js → dspy-rlm-engine-B5T43BkZ.js} +2 -2
- package/dist/{dspy-rlm-engine-k_QdEBZo.js.map → dspy-rlm-engine-B5T43BkZ.js.map} +1 -1
- package/dist/{engine-De2hfuiQ.d.ts → engine-Dc996kAg.d.ts} +2 -2
- package/dist/{engine-De2hfuiQ.d.ts.map → engine-Dc996kAg.d.ts.map} +1 -1
- package/dist/{eval-campaign-CXT2WYUe.js → eval-campaign-GapmPHIA.js} +2 -2
- package/dist/{eval-campaign-CXT2WYUe.js.map → eval-campaign-GapmPHIA.js.map} +1 -1
- package/dist/evaluation.d.ts +1 -1
- package/dist/experiment/index.d.ts +1 -1
- package/dist/experiment/index.js +8 -6
- package/dist/experiment/index.js.map +1 -1
- package/dist/{external-optimizer-process-_YIECYJ7.js → external-optimizer-process-CEXcCKqd.js} +2 -2
- package/dist/{external-optimizer-process-_YIECYJ7.js.map → external-optimizer-process-CEXcCKqd.js.map} +1 -1
- package/dist/{external-optimizer-subprocess-BrghTvEp.js → external-optimizer-subprocess-laM1-UDV.js} +2 -61
- package/dist/external-optimizer-subprocess-laM1-UDV.js.map +1 -0
- package/dist/fuzz.d.ts.map +1 -1
- package/dist/fuzz.js +2 -3
- package/dist/fuzz.js.map +1 -1
- package/dist/hosted/index.js +1 -1
- package/dist/{index-DJKZEldg.d.ts → index-BhoOCduB.d.ts} +12 -947
- package/dist/index-BhoOCduB.d.ts.map +1 -0
- package/dist/{index-CRsmcAGl.d.ts → index-D-tI1vgf.d.ts} +6 -6
- package/dist/{index-CRsmcAGl.d.ts.map → index-D-tI1vgf.d.ts.map} +1 -1
- package/dist/{index-kKECJfib.d.ts → index-lbwvO9vJ.d.ts} +3 -3
- package/dist/{index-kKECJfib.d.ts.map → index-lbwvO9vJ.d.ts.map} +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.js +15 -13
- package/dist/index.js.map +1 -1
- package/dist/jev.d.ts +1 -1
- package/dist/{llm-judge-fhkFQL1N.js → llm-judge-BYWXsxhZ.js} +415 -1981
- package/dist/llm-judge-BYWXsxhZ.js.map +1 -0
- package/dist/{matrix-C1X-fIVX.d.ts → matrix-BnksRaDD.d.ts} +2 -2
- package/dist/{matrix-C1X-fIVX.d.ts.map → matrix-BnksRaDD.d.ts.map} +1 -1
- package/dist/multiplicity-D9cjmStq.js +101 -0
- package/dist/multiplicity-D9cjmStq.js.map +1 -0
- package/dist/multishot/golden/index.d.ts +1 -1
- package/dist/multishot/golden/index.js +1 -1
- package/dist/multishot/index.d.ts +2 -2
- package/dist/multishot/index.js +1 -1
- package/dist/openapi.json +1 -1
- package/dist/{paired-arms-JSDcs2zx.js → paired-arms-DKZFVPt8.js} +4 -398
- package/dist/paired-arms-DKZFVPt8.js.map +1 -0
- package/dist/paired-binary-fzkwENI4.js +399 -0
- package/dist/paired-binary-fzkwENI4.js.map +1 -0
- package/dist/{paired-promotion-decision-DTKl6-G8.js → paired-promotion-decision-D5B1Cxc2.js} +78 -5
- package/dist/paired-promotion-decision-D5B1Cxc2.js.map +1 -0
- package/dist/{power-and-mde-BJOpt6pq.js → power-and-mde-K_CmO3dc.js} +3 -101
- package/dist/power-and-mde-K_CmO3dc.js.map +1 -0
- package/dist/{produced-state-1RnbLrSa.js → produced-state-DOfmCEwP.js} +3 -3
- package/dist/{produced-state-1RnbLrSa.js.map → produced-state-DOfmCEwP.js.map} +1 -1
- package/dist/{promotion-policy-Cy5OV8BV.js → promotion-policy-C6FAJvmZ.js} +3 -3
- package/dist/{promotion-policy-Cy5OV8BV.js.map → promotion-policy-C6FAJvmZ.js.map} +1 -1
- package/dist/reporting.js +3 -3
- package/dist/rl.d.ts +17 -39
- package/dist/rl.d.ts.map +1 -1
- package/dist/rl.js +5 -5
- package/dist/search/index.d.ts +1162 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +187 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search-kernel-CuvbakC_.d.ts +1176 -0
- package/dist/search-kernel-CuvbakC_.d.ts.map +1 -0
- package/dist/search-kernel-D8_kxChy.js +2399 -0
- package/dist/search-kernel-D8_kxChy.js.map +1 -0
- package/dist/{search-ledger-9W0g5FP6.js → search-ledger-BnUytR8X.js} +3 -1
- package/dist/search-ledger-BnUytR8X.js.map +1 -0
- package/dist/{search-shipper-CYbmJQx8.js → search-shipper-Cn8cxcyp.js} +2 -2
- package/dist/{search-shipper-CYbmJQx8.js.map → search-shipper-Cn8cxcyp.js.map} +1 -1
- package/dist/search-summary-Dmppg8kV.js +133 -0
- package/dist/search-summary-Dmppg8kV.js.map +1 -0
- package/dist/{semantic-concept-judge-Bh5lvKGg.js → semantic-concept-judge-2SE_kXGF.js} +2 -2
- package/dist/{semantic-concept-judge-Bh5lvKGg.js.map → semantic-concept-judge-2SE_kXGF.js.map} +1 -1
- package/dist/{sequential-C21_PP7F.js → sequential-Yz3OSskl.js} +2 -2
- package/dist/{sequential-C21_PP7F.js.map → sequential-Yz3OSskl.js.map} +1 -1
- package/dist/single-run-lock-fVu3MZWH.js +62 -0
- package/dist/single-run-lock-fVu3MZWH.js.map +1 -0
- package/dist/{skillopt-optimization-method-CHUcZ8w6.js → skillopt-optimization-method-BMP2qV_1.js} +8 -7
- package/dist/{skillopt-optimization-method-CHUcZ8w6.js.map → skillopt-optimization-method-BMP2qV_1.js.map} +1 -1
- package/dist/{statistical-heldout-DANVmyug.js → statistical-heldout-BAFDCo07.js} +2 -2
- package/dist/{statistical-heldout-DANVmyug.js.map → statistical-heldout-BAFDCo07.js.map} +1 -1
- package/dist/{statistical-heldout-BedVSZb2.d.ts → statistical-heldout-CMpxMjlQ.d.ts} +2 -2
- package/dist/{statistical-heldout-BedVSZb2.d.ts.map → statistical-heldout-CMpxMjlQ.d.ts.map} +1 -1
- package/dist/{store-tool-spans-CawP-WxM.d.ts → store-tool-spans-CUwWSXoj.d.ts} +3 -3
- package/dist/{store-tool-spans-CawP-WxM.d.ts.map → store-tool-spans-CUwWSXoj.d.ts.map} +1 -1
- package/dist/{summary-report-BMvou2oZ.js → summary-report-BeYnvddy.js} +4 -3
- package/dist/{summary-report-BMvou2oZ.js.map → summary-report-BeYnvddy.js.map} +1 -1
- package/dist/{tool-groups-B4JVrH3g.d.ts → tool-groups-DVJAR1GE.d.ts} +2 -2
- package/dist/tool-groups-DVJAR1GE.d.ts.map +1 -0
- package/dist/trace-repair/index.d.ts +1 -1
- package/dist/traces.d.ts +2 -2
- package/dist/tree-DHHWsH-X.js +4045 -0
- package/dist/tree-DHHWsH-X.js.map +1 -0
- package/dist/{types-B3jzCp0p.js → types-B3jzCp0p2.js} +1 -1
- package/dist/types-B3jzCp0p2.js.map +1 -0
- package/dist/{types-CjFDKMDe.d.ts → types-D94EanDL.d.ts} +2 -2
- package/dist/{types-CjFDKMDe.d.ts.map → types-D94EanDL.d.ts.map} +1 -1
- package/dist/{types-B2673PBj.d.ts → types-EBUav9Bu.d.ts} +8 -4
- package/dist/types-EBUav9Bu.d.ts.map +1 -0
- package/docs/campaign-proposers.md +2 -0
- package/docs/design/statistics-decisions.md +1 -1
- package/docs/search-ledger.md +143 -8
- package/package.json +6 -1
- package/dist/active-curriculum-OjIWgrUJ.js +0 -204
- package/dist/active-curriculum-OjIWgrUJ.js.map +0 -1
- package/dist/define-agent-eval-ulRlLvse.d.ts.map +0 -1
- package/dist/external-optimizer-subprocess-BrghTvEp.js.map +0 -1
- package/dist/index-DJKZEldg.d.ts.map +0 -1
- package/dist/llm-judge-fhkFQL1N.js.map +0 -1
- package/dist/paired-arms-JSDcs2zx.js.map +0 -1
- package/dist/paired-delta-test-BF-FEP8V.js +0 -78
- package/dist/paired-delta-test-BF-FEP8V.js.map +0 -1
- package/dist/paired-promotion-decision-DTKl6-G8.js.map +0 -1
- package/dist/power-and-mde-BJOpt6pq.js.map +0 -1
- package/dist/search-ledger-9W0g5FP6.js.map +0 -1
- package/dist/search-summary-CcavvYLe.js +0 -378
- package/dist/search-summary-CcavvYLe.js.map +0 -1
- package/dist/tool-groups-B4JVrH3g.d.ts.map +0 -1
- package/dist/types-B2673PBj.d.ts.map +0 -1
- package/dist/types-B3jzCp0p.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/search/lenses/edit-credit.ts","../../src/search/lenses/front.ts","../../src/search/lenses/geometry.ts","../../src/search/lenses/plateau.ts","../../src/search/lenses/landscape.ts","../../src/search/lenses/meta-search.ts","../../src/search/lenses/skill-manifold.ts","../../src/search/lenses/task-matrix.ts","../../src/search/lenses/tree.ts","../../src/search/nested-search.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { a as hashCanonical } from "../canonical-BsZVgBhW.js";
|
|
2
|
+
import { _ as rankingSplit, h as operatorYield, m as MIN_OUTCOMES_FOR_WEIGHT, n as runSearch, p as EXPANSION_OPERATORS, v as summarizeSamples } from "../search-kernel-D8_kxChy.js";
|
|
3
|
+
import { A as editCreditText, C as draftOnPlateau, D as EDIT_CREDIT_ESTIMATOR, E as front, O as EDIT_CREDIT_SIGNAL, S as vectorEmbedding, T as screenedNodes, _ as lineageEdits, a as skillCalibration, b as surfaceDigestEdits, c as META_SEARCH_SIGNAL, d as objectiveKey, f as renderMetaSearchText, g as lineEditDistance, h as landscape, i as nextUnitExtension, k as editCredit, l as metaSearch, m as formatLandscape, n as taskMatrix, o as skillManifold, p as searchPolicyGenome, r as formatSkillManifold, s as META_SEARCH_SCORE_SOURCE, t as tree, u as metaSearchScore, v as nearestNeighbours, w as searchPlateau, x as surfaceTextEdits, y as profileTextLines } from "../tree-DHHWsH-X.js";
|
|
4
|
+
//#region src/search/nested-search.ts
|
|
5
|
+
/** The deterministic id of the inner search one outer cell attempt runs. */
|
|
6
|
+
function nestedSearchId(containment) {
|
|
7
|
+
const { searchId, cellId, attempt } = containment;
|
|
8
|
+
return `nested_${hashCanonical({
|
|
9
|
+
searchId,
|
|
10
|
+
cellId,
|
|
11
|
+
attempt
|
|
12
|
+
}).slice(7, 39)}`;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The codec for a plain JSON configuration: the node is the configuration's
|
|
16
|
+
* canonical JSON, and the diff names each top-level key whose value changed.
|
|
17
|
+
*/
|
|
18
|
+
function searchConfigCodec() {
|
|
19
|
+
return {
|
|
20
|
+
node: (recorder, config) => {
|
|
21
|
+
const artifact = recorder.blob("search-config", config);
|
|
22
|
+
return {
|
|
23
|
+
artifactDigest: hashCanonical(config),
|
|
24
|
+
artifact,
|
|
25
|
+
surfaces: [{
|
|
26
|
+
surfaceId: "search-config",
|
|
27
|
+
kind: "runtime-config",
|
|
28
|
+
artifact
|
|
29
|
+
}]
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
diff: (recorder, parent, child) => {
|
|
33
|
+
const before = asRecord(parent);
|
|
34
|
+
const after = asRecord(child);
|
|
35
|
+
const changes = [.../* @__PURE__ */ new Set([...Object.keys(before), ...Object.keys(after)])].sort().filter((key) => hashCanonical(before[key] ?? null) !== hashCanonical(after[key] ?? null)).map((key) => ({
|
|
36
|
+
key,
|
|
37
|
+
from: before[key] ?? null,
|
|
38
|
+
to: after[key] ?? null
|
|
39
|
+
}));
|
|
40
|
+
return recorder.blob("diff", {
|
|
41
|
+
kind: "search-config-diff",
|
|
42
|
+
changes
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
load: (recorder, node) => recorder.readBlob(node.artifact)
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Run an outer search over search configurations to its close, or continue
|
|
50
|
+
* one from its ledger. The outer search must maximize (its score is lift per
|
|
51
|
+
* dollar), its nodes must be `runtime-config` artifacts, and its judge must be
|
|
52
|
+
* `META_SEARCH_SCORE_SOURCE`.
|
|
53
|
+
*/
|
|
54
|
+
async function runNestedSearch(options) {
|
|
55
|
+
const { recorder, lane, runInner, adoptInner } = options;
|
|
56
|
+
const header = (await recorder.state()).header;
|
|
57
|
+
if (!header) throw new Error(`runNestedSearch: search ${recorder.searchId} has not been opened`);
|
|
58
|
+
if (header.objective.direction !== "maximize") throw new Error("runNestedSearch: an outer search scores held-out lift per dollar, so its objective must maximize");
|
|
59
|
+
if (header.artifactKind !== "runtime-config") throw new Error(`runNestedSearch: an outer search's nodes are configurations (runtime-config), not ${header.artifactKind}`);
|
|
60
|
+
const judge = header.objective.judge;
|
|
61
|
+
if (!("uri" in judge) || judge.uri !== META_SEARCH_SCORE_SOURCE.uri || judge.revision !== META_SEARCH_SCORE_SOURCE.revision) throw new Error(`runNestedSearch: an outer search's judge must be META_SEARCH_SCORE_SOURCE (${META_SEARCH_SCORE_SOURCE.uri}@${META_SEARCH_SCORE_SOURCE.revision}), which scores its cells`);
|
|
62
|
+
const input = (work) => {
|
|
63
|
+
const containment = {
|
|
64
|
+
searchId: work.searchId,
|
|
65
|
+
cellId: work.cellId,
|
|
66
|
+
attempt: work.attempt
|
|
67
|
+
};
|
|
68
|
+
return {
|
|
69
|
+
config: work.artifact,
|
|
70
|
+
containment,
|
|
71
|
+
searchId: nestedSearchId(containment),
|
|
72
|
+
task: {
|
|
73
|
+
taskId: work.taskId,
|
|
74
|
+
unitId: work.unitId,
|
|
75
|
+
split: work.split,
|
|
76
|
+
rep: work.rep
|
|
77
|
+
},
|
|
78
|
+
signal: work.signal
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
return runSearch({
|
|
82
|
+
...options,
|
|
83
|
+
codec: options.codec ?? searchConfigCodec(),
|
|
84
|
+
executor: {
|
|
85
|
+
lanes: () => [lane],
|
|
86
|
+
place: () => lane.name,
|
|
87
|
+
async adopt(work) {
|
|
88
|
+
if (!adoptInner) return null;
|
|
89
|
+
const request = input(work);
|
|
90
|
+
const inner = await adoptInner(request);
|
|
91
|
+
return inner ? outerResult(recorder, request, inner, work.lane, null) : null;
|
|
92
|
+
},
|
|
93
|
+
async run(work) {
|
|
94
|
+
const request = input(work);
|
|
95
|
+
const startedAt = Date.now();
|
|
96
|
+
const inner = await runInner(request);
|
|
97
|
+
return outerResult(recorder, request, inner, work.lane, Date.now() - startedAt);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/** The outer cell's result from its closed inner search. */
|
|
103
|
+
function outerResult(recorder, request, inner, lane, wallMs) {
|
|
104
|
+
const header = inner.header;
|
|
105
|
+
const expected = request.containment;
|
|
106
|
+
const recorded = header?.containment ?? null;
|
|
107
|
+
if (!header || recorded === null || recorded.searchId !== expected.searchId || recorded.cellId !== expected.cellId || recorded.attempt !== expected.attempt) throw new Error(`runNestedSearch: inner search ${inner.searchId} does not record outer cell ${expected.cellId} attempt ${expected.attempt} of ${expected.searchId} as its containment`);
|
|
108
|
+
if (!inner.closed) throw new Error(`runNestedSearch: inner search ${inner.searchId} is open; runInner must return it closed`);
|
|
109
|
+
const score = metaSearchScore(inner);
|
|
110
|
+
const { spend, tokens } = inner.audit;
|
|
111
|
+
const metrics = {
|
|
112
|
+
knownUsd: spend.knownUsd,
|
|
113
|
+
floorUsd: spend.floorUsd,
|
|
114
|
+
nodes: inner.audit.nodes,
|
|
115
|
+
cells: inner.audit.cells.settled
|
|
116
|
+
};
|
|
117
|
+
if (score.status === "scored") {
|
|
118
|
+
metrics.lift = score.lift;
|
|
119
|
+
metrics.testUnits = score.estimate.pairs;
|
|
120
|
+
}
|
|
121
|
+
const perUsd = score.status === "scored" ? score.liftPerUsd : null;
|
|
122
|
+
const outcome = perUsd?.status === "known" ? {
|
|
123
|
+
status: "passed",
|
|
124
|
+
score: perUsd.value,
|
|
125
|
+
metrics
|
|
126
|
+
} : {
|
|
127
|
+
status: "errored",
|
|
128
|
+
metrics,
|
|
129
|
+
error: {
|
|
130
|
+
...score.status === "unscored" ? {
|
|
131
|
+
code: `inner-${score.reason}`,
|
|
132
|
+
message: score.detail
|
|
133
|
+
} : {
|
|
134
|
+
code: `inner-cost-${perUsd.status}`,
|
|
135
|
+
message: perUsd.reason
|
|
136
|
+
},
|
|
137
|
+
retryable: false
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const unknownCost = spend.unknownCostCells + spend.unknownCostOperations;
|
|
141
|
+
const accounting = {
|
|
142
|
+
tokens: tokens.unknownTokenAttempts > 0 ? {
|
|
143
|
+
status: "unknown",
|
|
144
|
+
reason: `${tokens.unknownTokenAttempts} attempt(s) of inner search ${inner.searchId} recorded no token usage`
|
|
145
|
+
} : {
|
|
146
|
+
status: "known",
|
|
147
|
+
inputTokens: tokens.inputTokens,
|
|
148
|
+
outputTokens: tokens.outputTokens,
|
|
149
|
+
cachedTokens: tokens.cachedTokens
|
|
150
|
+
},
|
|
151
|
+
cost: unknownCost > 0 ? {
|
|
152
|
+
status: "unknown",
|
|
153
|
+
knownLowerBoundUsd: spend.committedUsd,
|
|
154
|
+
reason: `${unknownCost} cost(s) of inner search ${inner.searchId} are known only as a floor`
|
|
155
|
+
} : {
|
|
156
|
+
status: "known",
|
|
157
|
+
usd: spend.knownUsd,
|
|
158
|
+
source: "pricing-table"
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
const nested = recorder.blob("nested-search", {
|
|
162
|
+
kind: "nested-search",
|
|
163
|
+
searchId: inner.searchId,
|
|
164
|
+
containment: expected,
|
|
165
|
+
head: inner.head,
|
|
166
|
+
score
|
|
167
|
+
});
|
|
168
|
+
return {
|
|
169
|
+
outcome,
|
|
170
|
+
accounting,
|
|
171
|
+
identity: header.identity,
|
|
172
|
+
wallMs,
|
|
173
|
+
placement: {
|
|
174
|
+
lane,
|
|
175
|
+
boxId: null
|
|
176
|
+
},
|
|
177
|
+
traceRef: { unknown: `the cell ran inner search ${inner.searchId}; its ledger records the execution` },
|
|
178
|
+
artifacts: [nested]
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
function asRecord(value) {
|
|
182
|
+
return value !== null && typeof value === "object" && !Array.isArray(value) ? value : { value };
|
|
183
|
+
}
|
|
184
|
+
//#endregion
|
|
185
|
+
export { EDIT_CREDIT_ESTIMATOR, EDIT_CREDIT_SIGNAL, EXPANSION_OPERATORS, META_SEARCH_SCORE_SOURCE, META_SEARCH_SIGNAL, MIN_OUTCOMES_FOR_WEIGHT, draftOnPlateau, editCredit, editCreditText, formatLandscape, formatSkillManifold, front, landscape, lineEditDistance, lineageEdits, metaSearch, metaSearchScore, nearestNeighbours, nestedSearchId, nextUnitExtension, objectiveKey, operatorYield, profileTextLines, rankingSplit, renderMetaSearchText, runNestedSearch, screenedNodes, searchConfigCodec, searchPlateau, searchPolicyGenome, skillCalibration, skillManifold, summarizeSamples, surfaceDigestEdits, surfaceTextEdits, taskMatrix, tree, vectorEmbedding };
|
|
186
|
+
|
|
187
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/search/nested-search.ts"],"sourcesContent":["/**\n * An outer search whose cells are inner searches (search-tree-design §2.6 and\n * §12, `metaSearch`).\n *\n * `runNestedSearch` runs the one kernel, `runSearch`, over search\n * configurations. Each outer node is a configuration; each outer task names a\n * problem; each outer cell runs one inner search with its node's configuration\n * on its task's problem. The inner search records the cell attempt as its\n * `containment`, so its ledger names the outer execution it belongs to, and\n * the outer cell binds the inner search's head hash, which commits to its\n * whole chain.\n *\n * An outer cell scores `metaSearchScore` of its closed inner search: the held-\n * out lift the inner claim measured per known dollar, the `metaSearch` lens's\n * own score, so the outer climb optimizes exactly what the lens shows. An inner\n * search without such a score (open, no claim, `test-cannot-resolve`, a lift on\n * fewer than 2 test units, a claim its ledger contradicts) or with only a spend\n * floor settles its outer cell `errored`, not retryable, with the reason: the\n * score is unknown, not 0, and a node with such a cell cannot lead. The outer\n * cell costs what the inner search spent.\n *\n * The outer search keeps every rule of the kernel: its policy ranks\n * configurations on the selection problems, and with a test split it claims\n * once, on held-out problems, whether a configuration beats the root\n * configuration.\n */\n\nimport type {\n RunSearchOptions,\n SearchArtifactCodec,\n SearchCellResult,\n SearchCellWork,\n SearchLane,\n SearchRunResult,\n} from '../campaign/search-kernel'\nimport { runSearch } from '../campaign/search-kernel'\nimport type { SearchRecorder } from '../campaign/search-ledger-recording'\nimport type {\n SearchAttemptAccounting,\n SearchOpenedEvent,\n SearchSplit,\n SearchTaskOutcome,\n} from '../campaign/search-ledger-types'\nimport type { SearchStateView } from '../campaign/search-state'\nimport { hashCanonical } from '../ledger-core/canonical'\nimport { META_SEARCH_SCORE_SOURCE, metaSearchScore } from './lenses/meta-search'\n\n/** The outer cell attempt an inner search runs as. */\nexport type NestedSearchContainment = NonNullable<SearchOpenedEvent['containment']>\n\n/** One inner search to run: a configuration on one outer task. */\nexport interface NestedSearchRunInput<TConfig> {\n config: TConfig\n /** Record this as the inner search's `containment`. */\n containment: NestedSearchContainment\n /** The inner search's id, a digest of `containment`: rerunning the same\n * attempt opens the same ledger, so an inner search resumes rather than\n * starting again. */\n searchId: string\n task: { taskId: string; unitId: string; split: SearchSplit; rep: number }\n signal: AbortSignal\n}\n\nexport interface RunNestedSearchOptions<TConfig>\n extends Omit<RunSearchOptions<TConfig>, 'codec' | 'executor'> {\n /** How configurations are stored as nodes. Default `searchConfigCodec()`,\n * for plain JSON configurations. */\n codec?: SearchArtifactCodec<TConfig>\n /** How many inner searches run at once, and what one is expected to cost:\n * `cellUsd` is the admission rule's prior for one inner search. */\n lane: SearchLane\n /** Run the inner search for one outer cell attempt to its close, recording\n * `containment` in its header, and return its closed state. */\n runInner(input: NestedSearchRunInput<TConfig>): Promise<SearchStateView>\n /** The closed inner search of an attempt an earlier outer process started,\n * or null to run it through `runInner`. Default null. */\n adoptInner?(input: NestedSearchRunInput<TConfig>): Promise<SearchStateView | null>\n}\n\n/** The deterministic id of the inner search one outer cell attempt runs. */\nexport function nestedSearchId(containment: NestedSearchContainment): string {\n const { searchId, cellId, attempt } = containment\n return `nested_${hashCanonical({ searchId, cellId, attempt }).slice('sha256:'.length, 'sha256:'.length + 32)}`\n}\n\n/**\n * The codec for a plain JSON configuration: the node is the configuration's\n * canonical JSON, and the diff names each top-level key whose value changed.\n */\nexport function searchConfigCodec<TConfig>(): SearchArtifactCodec<TConfig> {\n return {\n node: (recorder, config) => {\n const artifact = recorder.blob('search-config', config)\n return {\n artifactDigest: hashCanonical(config),\n artifact,\n surfaces: [{ surfaceId: 'search-config', kind: 'runtime-config', artifact }],\n }\n },\n diff: (recorder, parent, child) => {\n const before = asRecord(parent)\n const after = asRecord(child)\n const keys = [...new Set([...Object.keys(before), ...Object.keys(after)])].sort()\n const changes = keys\n .filter((key) => hashCanonical(before[key] ?? null) !== hashCanonical(after[key] ?? null))\n .map((key) => ({ key, from: before[key] ?? null, to: after[key] ?? null }))\n return recorder.blob('diff', { kind: 'search-config-diff', changes })\n },\n load: (recorder, node) => recorder.readBlob(node.artifact) as TConfig,\n }\n}\n\n/**\n * Run an outer search over search configurations to its close, or continue\n * one from its ledger. The outer search must maximize (its score is lift per\n * dollar), its nodes must be `runtime-config` artifacts, and its judge must be\n * `META_SEARCH_SCORE_SOURCE`.\n */\nexport async function runNestedSearch<TConfig>(\n options: RunNestedSearchOptions<TConfig>,\n): Promise<SearchRunResult> {\n const { recorder, lane, runInner, adoptInner } = options\n const header = (await recorder.state()).header\n if (!header) throw new Error(`runNestedSearch: search ${recorder.searchId} has not been opened`)\n if (header.objective.direction !== 'maximize') {\n throw new Error(\n 'runNestedSearch: an outer search scores held-out lift per dollar, so its objective must maximize',\n )\n }\n if (header.artifactKind !== 'runtime-config') {\n throw new Error(\n `runNestedSearch: an outer search's nodes are configurations (runtime-config), not ${header.artifactKind}`,\n )\n }\n // The cells are scored by metaSearchScore, so the header must name it as the\n // judge: a ledger that declared another judge would misstate its own scores.\n const judge = header.objective.judge\n if (\n !('uri' in judge) ||\n judge.uri !== META_SEARCH_SCORE_SOURCE.uri ||\n judge.revision !== META_SEARCH_SCORE_SOURCE.revision\n ) {\n throw new Error(\n `runNestedSearch: an outer search's judge must be META_SEARCH_SCORE_SOURCE (${META_SEARCH_SCORE_SOURCE.uri}@${META_SEARCH_SCORE_SOURCE.revision}), which scores its cells`,\n )\n }\n const input = (work: SearchCellWork<TConfig>): NestedSearchRunInput<TConfig> => {\n const containment = { searchId: work.searchId, cellId: work.cellId, attempt: work.attempt }\n return {\n config: work.artifact,\n containment,\n searchId: nestedSearchId(containment),\n task: { taskId: work.taskId, unitId: work.unitId, split: work.split, rep: work.rep },\n signal: work.signal,\n }\n }\n return runSearch({\n ...options,\n codec: options.codec ?? searchConfigCodec<TConfig>(),\n executor: {\n lanes: () => [lane],\n place: () => lane.name,\n async adopt(work) {\n if (!adoptInner) return null\n const request = input(work)\n const inner = await adoptInner(request)\n return inner ? outerResult(recorder, request, inner, work.lane, null) : null\n },\n async run(work) {\n const request = input(work)\n const startedAt = Date.now()\n const inner = await runInner(request)\n return outerResult(recorder, request, inner, work.lane, Date.now() - startedAt)\n },\n },\n })\n}\n\n/** The outer cell's result from its closed inner search. */\nfunction outerResult<TConfig>(\n recorder: SearchRecorder,\n request: NestedSearchRunInput<TConfig>,\n inner: SearchStateView,\n lane: string,\n wallMs: number | null,\n): SearchCellResult {\n const header = inner.header\n const expected = request.containment\n const recorded = header?.containment ?? null\n if (\n !header ||\n recorded === null ||\n recorded.searchId !== expected.searchId ||\n recorded.cellId !== expected.cellId ||\n recorded.attempt !== expected.attempt\n ) {\n throw new Error(\n `runNestedSearch: inner search ${inner.searchId} does not record outer cell ${expected.cellId} attempt ${expected.attempt} of ${expected.searchId} as its containment`,\n )\n }\n if (!inner.closed) {\n throw new Error(\n `runNestedSearch: inner search ${inner.searchId} is open; runInner must return it closed`,\n )\n }\n const score = metaSearchScore(inner)\n const { spend, tokens } = inner.audit\n const metrics: Record<string, number> = {\n knownUsd: spend.knownUsd,\n floorUsd: spend.floorUsd,\n nodes: inner.audit.nodes,\n cells: inner.audit.cells.settled,\n }\n if (score.status === 'scored') {\n metrics.lift = score.lift\n metrics.testUnits = score.estimate.pairs\n }\n const perUsd = score.status === 'scored' ? score.liftPerUsd : null\n const outcome: SearchTaskOutcome =\n perUsd?.status === 'known'\n ? { status: 'passed', score: perUsd.value, metrics }\n : {\n status: 'errored',\n metrics,\n error: {\n ...(score.status === 'unscored'\n ? { code: `inner-${score.reason}`, message: score.detail }\n : { code: `inner-cost-${perUsd!.status}`, message: perUsd!.reason }),\n retryable: false,\n },\n }\n const unknownCost = spend.unknownCostCells + spend.unknownCostOperations\n const accounting: SearchAttemptAccounting = {\n tokens:\n tokens.unknownTokenAttempts > 0\n ? {\n status: 'unknown',\n reason: `${tokens.unknownTokenAttempts} attempt(s) of inner search ${inner.searchId} recorded no token usage`,\n }\n : {\n status: 'known',\n inputTokens: tokens.inputTokens,\n outputTokens: tokens.outputTokens,\n cachedTokens: tokens.cachedTokens,\n },\n // The sum of the inner search's recorded costs, each already priced by the\n // inner ledger's own accounting.\n cost:\n unknownCost > 0\n ? {\n status: 'unknown',\n knownLowerBoundUsd: spend.committedUsd,\n reason: `${unknownCost} cost(s) of inner search ${inner.searchId} are known only as a floor`,\n }\n : { status: 'known', usd: spend.knownUsd, source: 'pricing-table' },\n }\n const nested = recorder.blob('nested-search', {\n kind: 'nested-search',\n searchId: inner.searchId,\n containment: expected,\n head: inner.head,\n score,\n })\n return {\n outcome,\n accounting,\n identity: header.identity,\n wallMs,\n placement: { lane, boxId: null },\n traceRef: {\n unknown: `the cell ran inner search ${inner.searchId}; its ledger records the execution`,\n },\n artifacts: [nested],\n }\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : { value }\n}\n"],"mappings":"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"}
|