@tangle-network/agent-eval 0.199.0 → 0.200.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 +10 -1
- package/dist/adapters/http.d.ts +2 -2
- package/dist/analyst/index.d.ts +9 -69
- package/dist/analyst/index.d.ts.map +1 -1
- package/dist/analyst/index.js +1 -1
- package/dist/{benchmark-command-CoBwYvau.js → benchmark-command-EBmuMUBo.js} +5 -3
- package/dist/benchmark-command-EBmuMUBo.js.map +1 -0
- package/dist/benchmarks/index.d.ts +4 -4
- package/dist/benchmarks/index.js +2 -2
- package/dist/campaign/index.d.ts +4 -4
- package/dist/campaign/index.js +6 -6
- package/dist/{campaign-BIqhoN9r.js → campaign-L391bmir.js} +7 -7
- package/dist/{campaign-BIqhoN9r.js.map → campaign-L391bmir.js.map} +1 -1
- package/dist/cli.js +11 -9
- package/dist/cli.js.map +1 -1
- package/dist/contract/index.d.ts +7 -7
- package/dist/contract/index.js +3 -3
- package/dist/{default-registry-oK9hHfX_.d.ts → default-registry-D1rNS2yB.d.ts} +3 -3
- package/dist/{default-registry-oK9hHfX_.d.ts.map → default-registry-D1rNS2yB.d.ts.map} +1 -1
- package/dist/{define-agent-eval-Bgwt5ZcC.d.ts → define-agent-eval-1YuvJpOs.d.ts} +5 -5
- package/dist/{define-agent-eval-Bgwt5ZcC.d.ts.map → define-agent-eval-1YuvJpOs.d.ts.map} +1 -1
- package/dist/{define-agent-eval-BRCLti7N.js → define-agent-eval-7q_UwsTt.js} +3 -3
- package/dist/{define-agent-eval-BRCLti7N.js.map → define-agent-eval-7q_UwsTt.js.map} +1 -1
- package/dist/{engine-Dc996kAg.d.ts → engine-DlKIzDKo.d.ts} +2 -2
- package/dist/{engine-Dc996kAg.d.ts.map → engine-DlKIzDKo.d.ts.map} +1 -1
- package/dist/evaluation.d.ts +1 -1
- package/dist/experiment/index.d.ts +1 -1
- package/dist/hosted/index.js +1 -1
- package/dist/{index-lbwvO9vJ.d.ts → index-Bi2fLITd.d.ts} +3 -3
- package/dist/{index-lbwvO9vJ.d.ts.map → index-Bi2fLITd.d.ts.map} +1 -1
- package/dist/{index-D4pC7Tvd.d.ts → index-D4pC7Tvd2.d.ts} +1 -1
- package/dist/index-D4pC7Tvd2.d.ts.map +1 -0
- package/dist/{index-OuIM7sJz.d.ts → index-DKmrHA02.d.ts} +4 -4
- package/dist/{index-OuIM7sJz.d.ts.map → index-DKmrHA02.d.ts.map} +1 -1
- package/dist/{index-DNgf5gyG.d.ts → index-DNgf5gyG2.d.ts} +1 -1
- package/dist/index-DNgf5gyG2.d.ts.map +1 -0
- package/dist/{index-J8BB_NYv.d.ts → index-EkRNsLr4.d.ts} +6 -6
- package/dist/{index-J8BB_NYv.d.ts.map → index-EkRNsLr4.d.ts.map} +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.js +4 -4
- package/dist/jev-protocol-CpKI7XSu.d.ts +82 -0
- package/dist/jev-protocol-CpKI7XSu.d.ts.map +1 -0
- package/dist/jev-protocol.d.ts +2 -82
- package/dist/jev-review-Cu9xtIu4.js +155 -0
- package/dist/jev-review-Cu9xtIu4.js.map +1 -0
- package/dist/jev-review-D4ynCORp.d.ts +76 -0
- package/dist/jev-review-D4ynCORp.d.ts.map +1 -0
- package/dist/jev.d.ts +3 -74
- package/dist/jev.d.ts.map +1 -1
- package/dist/jev.js +2 -151
- package/dist/jev.js.map +1 -1
- package/dist/{llm-judge-GSlZ0eG8.js → llm-judge-CL6f3utD.js} +4 -4
- package/dist/{llm-judge-GSlZ0eG8.js.map → llm-judge-CL6f3utD.js.map} +1 -1
- package/dist/matrix/index.d.ts +1 -1
- package/dist/{matrix-BnksRaDD.d.ts → matrix-_NLSWsKM.d.ts} +3 -3
- package/dist/{matrix-BnksRaDD.d.ts.map → matrix-_NLSWsKM.d.ts.map} +1 -1
- 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/{produced-state-D2ff-Dyo.js → produced-state-DZMW8cuF.js} +2 -2
- package/dist/{produced-state-D2ff-Dyo.js.map → produced-state-DZMW8cuF.js.map} +1 -1
- package/dist/rl.d.ts +279 -2
- package/dist/rl.d.ts.map +1 -1
- package/dist/rl.js +576 -2
- package/dist/rl.js.map +1 -1
- package/dist/rollout/index.d.ts +1 -1
- package/dist/search/index.d.ts +2 -2
- package/dist/search/index.js +2 -2
- package/dist/{search-kernel-CumYAjA3.js → search-kernel-AVgIjXaI.js} +56 -15
- package/dist/search-kernel-AVgIjXaI.js.map +1 -0
- package/dist/{search-kernel-DA2-mS4N.d.ts → search-kernel-C9CXvFR7.d.ts} +6 -4
- package/dist/search-kernel-C9CXvFR7.d.ts.map +1 -0
- package/dist/{search-ledger-BnUytR8X.js → search-ledger-CL0-mXQ8.js} +4 -2
- package/dist/search-ledger-CL0-mXQ8.js.map +1 -0
- package/dist/{search-shipper-Cn8cxcyp.js → search-shipper-Cs6K4km9.js} +2 -2
- package/dist/{search-shipper-Cn8cxcyp.js.map → search-shipper-Cs6K4km9.js.map} +1 -1
- package/dist/{search-summary-dJOaZ3Dw.js → search-summary-DvWk0hb3.js} +2 -2
- package/dist/{search-summary-dJOaZ3Dw.js.map → search-summary-DvWk0hb3.js.map} +1 -1
- package/dist/{skillopt-optimization-method-DDt77V-N.js → skillopt-optimization-method-B2syNik0.js} +3 -3
- package/dist/{skillopt-optimization-method-DDt77V-N.js.map → skillopt-optimization-method-B2syNik0.js.map} +1 -1
- package/dist/{statistical-heldout-CMpxMjlQ.d.ts → statistical-heldout-HswMvzbP.d.ts} +2 -2
- package/dist/{statistical-heldout-CMpxMjlQ.d.ts.map → statistical-heldout-HswMvzbP.d.ts.map} +1 -1
- package/dist/{store-tool-spans-CUwWSXoj.d.ts → store-tool-spans-Dv9x4XYG.d.ts} +3 -3
- package/dist/{store-tool-spans-CUwWSXoj.d.ts.map → store-tool-spans-Dv9x4XYG.d.ts.map} +1 -1
- package/dist/{tool-groups-DVJAR1GE.d.ts → tool-groups-BY1MdSIE.d.ts} +2 -2
- package/dist/tool-groups-BY1MdSIE.d.ts.map +1 -0
- package/dist/trace-questions-DnqdmwyV.d.ts +68 -0
- package/dist/trace-questions-DnqdmwyV.d.ts.map +1 -0
- package/dist/trace-repair/index.d.ts +1 -1
- package/dist/traces.d.ts +2 -2
- package/dist/{tree-DxGfhISA.js → tree-Ki_gW7z8.js} +25 -26
- package/dist/{tree-DxGfhISA.js.map → tree-Ki_gW7z8.js.map} +1 -1
- package/dist/{types-B3jzCp0p2.js → types-B3jzCp0p.js} +1 -1
- package/dist/types-B3jzCp0p.js.map +1 -0
- package/dist/{types-D94EanDL.d.ts → types-C4hH69a9.d.ts} +2 -2
- package/dist/{types-D94EanDL.d.ts.map → types-C4hH69a9.d.ts.map} +1 -1
- package/dist/{types-EBUav9Bu.d.ts → types-DfvQOe91.d.ts} +4 -1
- package/dist/types-DfvQOe91.d.ts.map +1 -0
- package/docs/jev-behavior-review.md +24 -0
- package/docs/public-api.md +50 -31
- package/docs/search-ledger.md +20 -2
- package/package.json +1 -1
- package/dist/benchmark-command-CoBwYvau.js.map +0 -1
- package/dist/index-D4pC7Tvd.d.ts.map +0 -1
- package/dist/index-DNgf5gyG.d.ts.map +0 -1
- package/dist/jev-protocol.d.ts.map +0 -1
- package/dist/search-kernel-CumYAjA3.js.map +0 -1
- package/dist/search-kernel-DA2-mS4N.d.ts.map +0 -1
- package/dist/search-ledger-BnUytR8X.js.map +0 -1
- package/dist/tool-groups-DVJAR1GE.d.ts.map +0 -1
- package/dist/types-B3jzCp0p2.js.map +0 -1
- package/dist/types-EBUav9Bu.d.ts.map +0 -1
|
@@ -105,4 +105,4 @@ function describeValue(value) {
|
|
|
105
105
|
//#endregion
|
|
106
106
|
export { assertMultishotShotResult as i, MultishotFatalToolError as n, MultishotShotResultError as r, MultishotDriverEmptyError as t };
|
|
107
107
|
|
|
108
|
-
//# sourceMappingURL=types-
|
|
108
|
+
//# sourceMappingURL=types-B3jzCp0p.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-B3jzCp0p.js","names":[],"sources":["../src/multishot/types.ts"],"sourcesContent":["// Public types for the multishot substrate.\n\nimport type { CostProvenance } from '../cost-ledger'\n\nexport interface MultishotMessage {\n role: 'user' | 'assistant' | 'tool'\n content: string\n toolCallId?: string\n toolCalls?: Array<{ id: string; name: string; args: Record<string, unknown> }>\n}\n\nexport interface MultishotArtifact {\n type: string\n turn: number\n invocation: { name: string; args: Record<string, unknown> }\n content: string\n}\n\nexport interface MultishotResult {\n transcript: MultishotMessage[]\n artifacts: MultishotArtifact[]\n toolCalls: number\n durationMs: number\n /** Known spend. A subtotal, not a total, when `costProvenance.kind` is\n * `uncaptured`. */\n costUsd: number\n /** Origin of `costUsd`. A shot that priced every call reports `estimated`\n * or `observed`; a shot with a call the router priced at nothing reports\n * `uncaptured`, and the matrix records the cell as under-counted instead of\n * presenting the subtotal as a complete estimate.\n *\n * Optional so an engine written before this field keeps working; the matrix\n * then judges the cell on judge receipts alone, as it did before. */\n costProvenance?: CostProvenance\n}\n\nexport interface MultishotToolDefinition {\n type: 'function'\n function: {\n name: string\n description: string\n parameters: Record<string, unknown>\n }\n}\n\n/** One chat-completion request the multishot loop issues for a single agent\n * (or driver) inference step. Mirrors the OpenAI-compat body the loop would\n * otherwise POST to the Tangle router. */\nexport interface MultishotTransportRequest {\n model: string\n messages: Array<Record<string, unknown>>\n tools?: MultishotToolDefinition[]\n temperature?: number\n maxTokens?: number\n signal?: AbortSignal\n}\n\nexport interface MultishotTransportToolCall {\n id: string\n type: 'function'\n function: { name: string; arguments: string }\n}\n\nexport interface MultishotTransportResponse {\n message: { content?: string | null; tool_calls?: MultishotTransportToolCall[] }\n usage?: { prompt_tokens?: number; completion_tokens?: number }\n /** Actual spend for this call. When omitted, the loop meters cost from\n * `usage` via the per-model estimator (estimateMultishotCost). */\n costUsd?: number\n /** Model identity the provider reported, when the transport observed one.\n * Omitted means unreported, and the requested model is used for\n * attribution — which is not proof that model answered. */\n model?: string\n}\n\n/** Execution seam for one leg of the multishot loop. The caller owns model\n * execution: agent-eval issues no provider request and holds no credential.\n * The loop still owns turn scheduling, tool dispatch, transcript capture, and\n * cost metering. agent-eval has no dependency on agent-runtime; adapt\n * agent-runtime's `profileChatClient` (or any sandbox, bridge, or router\n * client) into this signature product-side. */\nexport type MultishotTransport = (\n req: MultishotTransportRequest,\n) => Promise<MultishotTransportResponse>\n\nexport type MultishotToolExecutor = (\n args: Record<string, unknown>,\n ctx: {\n /** Caller-owned execution seam for the specialist leg this tool runs. */\n transport: MultishotTransport\n signal?: AbortSignal\n },\n) => Promise<{ content: string; costUsd: number }>\n\nexport interface MultishotPersona {\n /** Stable identifier — used for per-cell artifact paths + matrix axis keys. */\n id: string\n /** Per-domain payload (income/profile/voice/etc.) shaped by the consumer. */\n [k: string]: unknown\n}\n\n/**\n * Persona-shaping callbacks. Both are OPTIONAL: when omitted, the loop derives\n * them from the `AgentProfile` + persona payload (see `defaultShapeFromProfile`)\n * so a pure-profile call — `runMultishot({ profile, persona })` — works with no\n * role-builder functions. Provide callbacks only to override the derived shape.\n */\nexport interface MultishotShape<TPersona extends MultishotPersona> {\n /** Opening user message (turn 0) — the persona's first ask. */\n buildOpener?: (persona: TPersona) => string\n /** System prompt the driver LLM uses to roleplay the persona. Should set\n * voice, goals, constraints, time-pressure, and the \"never go silent\" rule. */\n buildDriverSystemPrompt?: (persona: TPersona) => string\n}\n\nexport class MultishotDriverEmptyError extends Error {\n constructor(public readonly turn: number) {\n super(`multishot: driver returned empty content twice at turn ${turn} — failing loud`)\n this.name = 'MultishotDriverEmptyError'\n }\n}\n\nexport class MultishotFatalToolError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'MultishotFatalToolError'\n }\n}\n\nexport class MultishotShotResultError extends Error {\n constructor(reason: string) {\n super(`multishot: shot returned an invalid MultishotResult — ${reason}`)\n this.name = 'MultishotShotResultError'\n }\n}\n\nconst MULTISHOT_ROLES = new Set(['user', 'assistant', 'tool'])\n\n/** Contract guard for the value a caller-supplied shot resolves with. The\n * matrix writes per-cell artifacts, builds judge inputs, and meters cost from\n * this value, so a malformed result must stop the cell instead of scoring a\n * degraded one. Two silent degradations this closes: an artifact with no\n * `type` matches neither the code nor the content artifact set, so the cell\n * scores as though the artifact was never produced; a non-finite `costUsd`\n * reaches `summary.totalCostUsd` and makes every cost number NaN.\n *\n * A rejected cell is still billed: the matrix cell reads the shot's own\n * `costUsd` when it is a usable amount and declares that spend on the throw,\n * so money the shot spent before returning a malformed result stays in the\n * cumulative sum the cost ceiling reads. A result whose `costUsd` is itself\n * malformed carries no usable amount, and the cell records as `uncaptured`.\n *\n * Every required field of `MultishotMessage` and `MultishotArtifact` is\n * checked, including `toolCalls` elements and `invocation.args`. Optional\n * fields are checked only when present. */\nexport function assertMultishotShotResult(value: unknown): asserts value is MultishotResult {\n if (typeof value !== 'object' || value === null) {\n throw new MultishotShotResultError(`expected an object, received ${describeValue(value)}`)\n }\n const result = value as Record<string, unknown>\n if (!Array.isArray(result.transcript)) {\n throw new MultishotShotResultError(\n `transcript must be an array, received ${describeValue(result.transcript)}`,\n )\n }\n if (!Array.isArray(result.artifacts)) {\n throw new MultishotShotResultError(\n `artifacts must be an array, received ${describeValue(result.artifacts)}`,\n )\n }\n result.transcript.forEach(assertMessage)\n result.artifacts.forEach(assertArtifact)\n assertFiniteCount(result.toolCalls, 'toolCalls')\n assertFiniteCount(result.durationMs, 'durationMs')\n assertFiniteCount(result.costUsd, 'costUsd')\n if (result.costProvenance !== undefined) assertCostProvenance(result.costProvenance)\n}\n\nfunction assertCostProvenance(value: unknown): void {\n const row = requireRow(value, 'costProvenance')\n if (row.kind !== 'observed' && row.kind !== 'estimated' && row.kind !== 'uncaptured') {\n throw new MultishotShotResultError(\n `costProvenance.kind must be observed, estimated or uncaptured, received ${describeValue(row.kind)}`,\n )\n }\n // The matrix reads the amount from `costUsd`; `usd` only has to agree with\n // the kind, so an uncaptured provenance cannot smuggle in a total.\n if (row.kind === 'uncaptured') {\n if (row.usd !== null) {\n throw new MultishotShotResultError(\n `uncaptured costProvenance.usd must be null, received ${describeValue(row.usd)}`,\n )\n }\n return\n }\n assertFiniteCount(row.usd, 'costProvenance.usd')\n}\n\nfunction assertMessage(value: unknown, index: number): void {\n const row = requireRow(value, `transcript[${index}]`)\n if (typeof row.role !== 'string' || !MULTISHOT_ROLES.has(row.role)) {\n throw new MultishotShotResultError(\n `transcript[${index}].role must be user, assistant or tool, received ${describeValue(row.role)}`,\n )\n }\n assertString(row.content, `transcript[${index}].content`)\n if (row.toolCallId !== undefined) {\n assertString(row.toolCallId, `transcript[${index}].toolCallId`)\n }\n if (row.toolCalls === undefined) return\n if (!Array.isArray(row.toolCalls)) {\n throw new MultishotShotResultError(\n `transcript[${index}].toolCalls must be an array when present, received ${describeValue(row.toolCalls)}`,\n )\n }\n row.toolCalls.forEach((call, callIndex) => {\n const field = `transcript[${index}].toolCalls[${callIndex}]`\n const row = requireRow(call, field)\n assertString(row.id, `${field}.id`)\n assertString(row.name, `${field}.name`)\n requireRow(row.args, `${field}.args`)\n })\n}\n\nfunction assertArtifact(value: unknown, index: number): void {\n const row = requireRow(value, `artifacts[${index}]`)\n assertString(row.type, `artifacts[${index}].type`)\n assertString(row.content, `artifacts[${index}].content`)\n assertFiniteCount(row.turn, `artifacts[${index}].turn`)\n const invocation = requireRow(row.invocation, `artifacts[${index}].invocation`)\n assertString(invocation.name, `artifacts[${index}].invocation.name`)\n requireRow(invocation.args, `artifacts[${index}].invocation.args`)\n}\n\nfunction requireRow(value: unknown, field: string): Record<string, unknown> {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) {\n throw new MultishotShotResultError(\n `${field} must be an object, received ${describeValue(value)}`,\n )\n }\n return value as Record<string, unknown>\n}\n\nfunction assertString(value: unknown, field: string): void {\n if (typeof value !== 'string') {\n throw new MultishotShotResultError(\n `${field} must be a string, received ${describeValue(value)}`,\n )\n }\n}\n\nfunction assertFiniteCount(value: unknown, field: string): void {\n if (typeof value !== 'number' || !Number.isFinite(value) || value < 0) {\n throw new MultishotShotResultError(\n `${field} must be a finite number >= 0, received ${describeValue(value)}`,\n )\n }\n}\n\nfunction describeValue(value: unknown): string {\n if (value === null) return 'null'\n if (Array.isArray(value)) return 'an array'\n if (typeof value === 'object') return 'an object'\n return `${typeof value} ${String(value)}`\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as RunSplitTag } from "./run-record-DF-fuu31.js";
|
|
2
|
-
import { R as Scenario, d as DispatchContext } from "./types-
|
|
2
|
+
import { R as Scenario, d as DispatchContext } from "./types-DfvQOe91.js";
|
|
3
3
|
//#region src/benchmarks/types.d.ts
|
|
4
4
|
type BenchmarkTaskKind = 'retrieval' | 'rag-answer' | 'hallucination' | 'kb-improvement' | 'routing' | 'custom';
|
|
5
5
|
type BenchmarkFamily = 'beir' | 'mteb-retrieval' | 'msmarco' | 'trec-dl' | 'miracl' | 'lotte' | 'bright' | 'crag' | 'hotpotqa' | 'kilt' | 'ragtruth' | 'faithbench' | 'first-party' | 'custom';
|
|
@@ -99,4 +99,4 @@ declare const BENCHMARK_SPLIT_SEED = "agent-eval-v1";
|
|
|
99
99
|
declare function deterministicSplit(itemId: string, seed?: string): RunSplitTag;
|
|
100
100
|
//#endregion
|
|
101
101
|
export { BenchmarkFamily as a, BenchmarkSource as c, BenchmarkEvaluation as i, BenchmarkTaskKind as l, BenchmarkAdapter as n, BenchmarkResponder as o, BenchmarkDatasetItem as r, BenchmarkScenario as s, BENCHMARK_SPLIT_SEED as t, deterministicSplit as u };
|
|
102
|
-
//# sourceMappingURL=types-
|
|
102
|
+
//# sourceMappingURL=types-C4hH69a9.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-
|
|
1
|
+
{"version":3,"file":"types-C4hH69a9.d.ts","names":[],"sources":["../src/benchmarks/types.ts"],"mappings":";;;KASY;KAQA;UAgBK,qBAAqB;;;EAGpC;;EAEA,SAAS;;EAET,QAAQ;;EAER,SAAS;;EAET,WAAW;;EAEX;;EAEA,SAAS;EACT,WAAW;;UAGI;;;;EAIf;;EAEA;;EAEA,aAAa;;;EAGb,KAAK;EACL;;UAGe;EACf;EACA;EACA;;EAEA;EACA;EACA;;EAEA;;;;;EAKA;;;UAQe,iBAAiB,kBAAkB,oBAAoB;;EAEtE;EACA,SAAS;EACT,WAAW;EACX;EACA,SAAS;EACT;;;;;EAKA,YAAY,OAAO,cAAc,QAAQ,qBAAqB;;EAE9D,SAAS,MAAM,qBAAqB,WAAW,UAAU,YAAY,QAAQ;;;;EAI7E,YAAY,iBAAiB;;UAGd,kBAAkB,4BAA4B;EAC7D;EACA;EACA,QAAQ;EACR,UAAU;EACV,UAAU;EACV,MAAM,qBAAqB;;KAGjB,mBAAmB,oBAAoB,uBAAuB;EACxE,UAAU,kBAAkB;EAC5B,MAAM,qBAAqB;EAC3B,SAAS;MACL,QAAQ,aAAa;;;cAoBd;;;;;;;;;iBAUG,mBACd,gBACA,gBACC"}
|
|
@@ -116,7 +116,10 @@ interface SearchOperation {
|
|
|
116
116
|
/** Artifacts the started event bound, then those the recorded event bound,
|
|
117
117
|
* for example a claim's plan or a proposal's output. */
|
|
118
118
|
artifacts: readonly SearchArtifactRef[];
|
|
119
|
+
/** Known cost, or the proven floor when `costKnown` is false. */
|
|
119
120
|
spentUsd: number;
|
|
121
|
+
/** The recorded cost is known; false until the operation is recorded. */
|
|
122
|
+
costKnown: boolean;
|
|
120
123
|
}
|
|
121
124
|
interface SearchCompletion {
|
|
122
125
|
complete: boolean;
|
|
@@ -1006,4 +1009,4 @@ interface CampaignResult<TArtifact = unknown, TScenario extends Scenario = Scena
|
|
|
1006
1009
|
}
|
|
1007
1010
|
//#endregion
|
|
1008
1011
|
export { SearchNode as $, LabeledScenarioWrite as A, ScoredSurfaceOutcome as B, JudgeDimension as C, LabeledScenarioSampleArgs as D, LabeledScenarioRecord as E, ProposeContext as F, labelTrustRank as G, SurfaceProposer as H, ProposedCandidate as I, renderSearchSummary as J, SearchProposerView as K, RedactionStatus as L, OptimizerConfig as M, ParetoParent as N, LabeledScenarioSource as O, ProposalTrackContext as P, SearchDecisionRecord as Q, Scenario as R, JudgeConfig as S, LabelTrust as T, TraceSpan as U, SessionScript as V, isProposedCandidate as W, SearchCell as X, searchProposerView as Y, SearchCompletion as Z, GateDecision as _, CampaignResult as a, SearchUnitScore as at, GenerationRecord as b, CampaignTraceWriter as c, searchTaskSetDigest as ct, DispatchContext as d, SearchOperation as et, DispatchFn as f, GateContribution as g, GateContext as h, CampaignCostMeter as i, SearchStateView as it, MutableSurface as j, LabeledScenarioStore as k, CodeSurface as l, searchUnitScores as lt, GateCheckStatus as m, CampaignArtifactWriter as n, SearchSpend as nt, CampaignScenarioIdentity as o, searchCellId as ot, Gate as p, SearchSummaryOptions as q, CampaignCellResult as r, SearchState as rt, CampaignTokenUsage as s, searchNodeId as st, CampaignAggregates as t, SearchScoredCell as tt, ComponentSurface as u, GateResult as v, JudgeScore as w, JudgeAggregate as x, GenerationCandidate as y, ScenarioAggregate as z };
|
|
1009
|
-
//# sourceMappingURL=types-
|
|
1012
|
+
//# sourceMappingURL=types-DfvQOe91.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-DfvQOe91.d.ts","names":[],"sources":["../src/campaign/search-state.ts","../src/campaign/search-summary.ts","../src/campaign/types.ts"],"mappings":"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"}
|
|
@@ -144,6 +144,30 @@ requires resolution. Never convert an unresolved safety review to a perfect scor
|
|
|
144
144
|
critical constraint failure into unrelated high scores. Working feedback must not expose the
|
|
145
145
|
independent final evaluator, protected holdout labels, or monitor control credentials to the worker.
|
|
146
146
|
|
|
147
|
+
## Claims an exact checker verified
|
|
148
|
+
|
|
149
|
+
An exact checker decides whether an artifact satisfies the checker's own encoding of a statement.
|
|
150
|
+
It cannot decide whether that encoding matches the statement the source meant.
|
|
151
|
+
An agent that reads the checker finds the cases where they differ.
|
|
152
|
+
A claim in such a case passes every exact check and settles nothing.
|
|
153
|
+
|
|
154
|
+
`/rl` exports `claimIntegrityVerdict` for this case.
|
|
155
|
+
It decides `pass`, `hack` or `unknown` for one claim from signals the caller computes:
|
|
156
|
+
|
|
157
|
+
- `scopeSignals`: predicates over the claim's parameters, from a `SourceScope` written from the source by someone other than the checker's author. The source excludes the case, lists it, or reports it checked.
|
|
158
|
+
- `farmingSignal`: one parameter value repeated across a lane's sweep of claims.
|
|
159
|
+
- `graderReferenceSignal`: the claim page justifies itself by the checker or by the printed letter.
|
|
160
|
+
- `refereeSignal`: a model reads the source and the claim's parameters, never the claimant's prose (`sourceScopeRefereeMessages`, `parseSourceScopeReferee`).
|
|
161
|
+
- `jevSignal`: typed questions over the same brief (`claimIntegrityJevReview`). The caller supplies calibrated thresholds.
|
|
162
|
+
- `monitorSignal`: `askTraceQuestions` with `claimIntegrityTraceQuestions`, on escalation only.
|
|
163
|
+
- `checkerReadSignal`: context for a reader; it never moves a verdict.
|
|
164
|
+
|
|
165
|
+
The policy fails closed.
|
|
166
|
+
A pass needs a declared scope and a referee that evaluated the claim, with nothing against it.
|
|
167
|
+
An exact signal decides `hack`, and so do two distinct kinds of signal.
|
|
168
|
+
One kind alone holds the claim as `unknown`.
|
|
169
|
+
Keep verdicts, scopes and questions away from the agent that filed the claim: an agent scored on them learns to hide the case.
|
|
170
|
+
|
|
147
171
|
## Security and validation boundaries
|
|
148
172
|
|
|
149
173
|
TypeSafe's Jev 1.13 documentation explicitly warns that adversarial state content can move the
|
package/docs/public-api.md
CHANGED
|
@@ -7,11 +7,11 @@ Generated by `pnpm api:census` on demand — this is a dated reading, not a gate
|
|
|
7
7
|
| measure | count |
|
|
8
8
|
| --- | --- |
|
|
9
9
|
| export subpaths | 33 |
|
|
10
|
-
| published value exports (subpath x symbol) |
|
|
11
|
-
| distinct symbols |
|
|
12
|
-
| production |
|
|
13
|
-
| planned |
|
|
14
|
-
| none |
|
|
10
|
+
| published value exports (subpath x symbol) | 1589 |
|
|
11
|
+
| distinct symbols | 1401 |
|
|
12
|
+
| production | 1048 |
|
|
13
|
+
| planned | 278 |
|
|
14
|
+
| none | 263 |
|
|
15
15
|
|
|
16
16
|
Type-only exports are not listed: a type binds no runtime surface, and removing one cannot break a caller at run time.
|
|
17
17
|
|
|
@@ -460,7 +460,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
460
460
|
|
|
461
461
|
### `./analyst`
|
|
462
462
|
|
|
463
|
-
131 value exports — 79 production,
|
|
463
|
+
131 value exports — 79 production, 20 planned, 32 none.
|
|
464
464
|
|
|
465
465
|
| symbol | consumer | evidence |
|
|
466
466
|
| --- | --- | --- |
|
|
@@ -489,7 +489,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
489
489
|
| `AnalystRegistry` | production | blueprint-agent:scripts/experiments/vb-multi-analyst.ts |
|
|
490
490
|
| `analystUsageReceiptFromPrimeUsage` | production | this package: src/analyst/benchmark-runner-prime.ts:19 |
|
|
491
491
|
| `appendVerificationArtifactsToOtlp` | production | this package: src/analyst/benchmark-public-data.ts:32 |
|
|
492
|
-
| `askTraceQuestions` |
|
|
492
|
+
| `askTraceQuestions` | planned | doc: docs/jev-behavior-review.md |
|
|
493
493
|
| `assertProposalFindings` | production | agent-runtime:src/improvement/code-execution.ts |
|
|
494
494
|
| `behavioralAnalyst` | production | agent-dev-container:products/intelligence/api/src/lib/deep-trace-analyst.ts |
|
|
495
495
|
| `bindAnalyst` | planned | doc: docs/trace-analysis.md |
|
|
@@ -649,16 +649,16 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
649
649
|
| symbol | consumer | evidence |
|
|
650
650
|
| --- | --- | --- |
|
|
651
651
|
| `acquireSingleRunLock` | production | agent-knowledge:src/memory/run-control.ts |
|
|
652
|
-
| `aide` | production | this package: scripts/search-sim.ts:
|
|
652
|
+
| `aide` | production | this package: scripts/search-sim.ts:146 |
|
|
653
653
|
| `analyzeCrossSurfaceInteractions` | none | only this package's tests: src/campaign/cross-surface-interaction.test.ts:2 |
|
|
654
|
-
| `asha` | production | this package: scripts/search-sim.ts:
|
|
654
|
+
| `asha` | production | this package: scripts/search-sim.ts:120 |
|
|
655
655
|
| `assertCampaignDesign` | production | this package: src/campaign/plan-campaign-run.ts:10 |
|
|
656
656
|
| `assertCampaignSplitIdentity` | production | agent-knowledge:src/memory/experiment/learning-pairs.ts |
|
|
657
657
|
| `assertCodeSurfaceIdentity` | none | — |
|
|
658
658
|
| `assertCompleteSearchHistory` | production | this package: src/campaign/optimization-method.ts:14 |
|
|
659
659
|
| `assertSearchHistoryMatchesState` | planned | doc: docs/search-ledger.md |
|
|
660
660
|
| `autoevalsScorerJudge` | none | only this package's tests: src/campaign/upstream-evaluators.test.ts:6 |
|
|
661
|
-
| `beam` | production | this package: scripts/search-sim.ts:
|
|
661
|
+
| `beam` | production | this package: scripts/search-sim.ts:146 |
|
|
662
662
|
| `buildCellSchedule` | production | this package: src/campaign/plan-campaign-run.ts:9 |
|
|
663
663
|
| `buildEvidenceVector` | planned | doc: docs/experiment.md |
|
|
664
664
|
| `buildLoopProvenanceRecord` | none | only this package's tests: tests/campaign/candidate-attribution.test.ts:5 |
|
|
@@ -683,18 +683,18 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
683
683
|
| `createReferenceEquivalenceJudge` | none | only this package's tests: src/reference-equivalence-judge.test.ts:13 |
|
|
684
684
|
| `createRunCostLedger` | production | agent-dev-container:products/intelligence/api/src/lib/eval-engine.ts |
|
|
685
685
|
| `createSearchHistoryReceipt` | production | this package: src/campaign/search-ledger-recording.ts:27 |
|
|
686
|
-
| `crowdedFrontierParent` | production | this package: scripts/search-sim.ts:
|
|
686
|
+
| `crowdedFrontierParent` | production | this package: scripts/search-sim.ts:146 |
|
|
687
687
|
| `decideSearchClaim` | production | this package: src/campaign/search-kernel.ts:42 |
|
|
688
688
|
| `decodeExternalTextCandidate` | production | agent-runtime:src/improvement/method-execution.ts |
|
|
689
689
|
| `DEFAULT_EXTERNAL_OPTIMIZER_CALLBACK_LIMITS` | none | — |
|
|
690
690
|
| `DEFAULT_EXTERNAL_OPTIMIZER_PROCESS_LIMITS` | none | — |
|
|
691
691
|
| `defaultProductionGate` | production | agent-app:src/eval-campaign/index.ts |
|
|
692
692
|
| `detectScale` | production | this package: src/campaign/gates/promotion-policy.ts:25 |
|
|
693
|
-
| `developmentClaim` | production | this package: scripts/generate-synthetic-search-ledger.ts:
|
|
693
|
+
| `developmentClaim` | production | this package: scripts/generate-synthetic-search-ledger.ts:37 |
|
|
694
694
|
| `dimensionRegressions` | production | agent-dev-container:products/intelligence/api/src/lib/optimization-engine.ts |
|
|
695
695
|
| `discoverEvalFixtures` | planned | doc: docs/eval-fixtures.md |
|
|
696
696
|
| `emitLoopProvenance` | production | this package: src/contract/self-improve.ts:36 |
|
|
697
|
-
| `estimateNode` | production | this package: scripts/search-sim.ts:
|
|
697
|
+
| `estimateNode` | production | this package: scripts/search-sim.ts:121 |
|
|
698
698
|
| `estimateNodeFromCells` | production | this package: scripts/synthetic-search-ledger.ts:60 |
|
|
699
699
|
| `externalSurface` | none | — |
|
|
700
700
|
| `externalTextOptimizationMethod` | production | agent-app:src/eval-campaign/index.ts |
|
|
@@ -725,12 +725,12 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
725
725
|
| `neutralizationGate` | planned | consumer tests: tax-agent:tests/eval/benchmarks/taxcalc/evolve.ts |
|
|
726
726
|
| `neutralizeText` | planned | consumer tests: tax-agent:tests/eval/benchmarks/taxcalc/compile-and-prove/compile-diff.ts |
|
|
727
727
|
| `openAutoPr` | production | this package: src/campaign/presets/run-improvement-loop.ts:8 |
|
|
728
|
-
| `openSearchLedger` | production | this package: scripts/generate-synthetic-search-ledger.ts:
|
|
728
|
+
| `openSearchLedger` | production | this package: scripts/generate-synthetic-search-ledger.ts:37 |
|
|
729
729
|
| `optimizationTokenUsageFromSummary` | production | this package: src/campaign/external-text-optimization.ts:41 |
|
|
730
730
|
| `pairHoldout` | production | agent-dev-container:products/intelligence/api/src/lib/run-provenance.ts |
|
|
731
731
|
| `paretoPolicy` | none | only this package's tests: src/campaign/gates/promotion-policy.test.ts:3 |
|
|
732
732
|
| `paretoSignificanceGate` | production | agent-app:src/eval-campaign/index.ts |
|
|
733
|
-
| `parseSearchLedgerLine` | production | this package: scripts/search-sim.ts:
|
|
733
|
+
| `parseSearchLedgerLine` | production | this package: scripts/search-sim.ts:133 |
|
|
734
734
|
| `phoenixEvaluatorJudge` | none | only this package's tests: src/campaign/upstream-evaluators.test.ts:6 |
|
|
735
735
|
| `planCampaignRun` | production | this package: src/campaign/fixtures.ts:5 |
|
|
736
736
|
| `planEvalFixtureRun` | planned | example: examples/eval-fixtures-quickstart/index.ts:11 |
|
|
@@ -748,7 +748,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
748
748
|
| `renderScoreboardMarkdown` | production | blueprint-agent:scripts/experiments/eval/launch-scoreboard/run.ts |
|
|
749
749
|
| `renderSearchSummary` | production | this package: scripts/search-meta-sim.ts:50 |
|
|
750
750
|
| `renderSurfaceDiff` | production | agent-dev-container:products/intelligence/api/src/lib/optimization-evidence-packet.ts |
|
|
751
|
-
| `replaySearchLedgerText` | production | this package: scripts/generate-synthetic-search-ledger.ts:
|
|
751
|
+
| `replaySearchLedgerText` | production | this package: scripts/generate-synthetic-search-ledger.ts:37 |
|
|
752
752
|
| `resolveExternalOptimizerCallbackLimits` | production | this package: src/analyst/dspy-rlm-engine.ts:1 |
|
|
753
753
|
| `resolveExternalOptimizerProcessLimits` | production | this package: src/analyst/benchmark-command-persistence.ts:6 |
|
|
754
754
|
| `resolveRunDir` | production | agent-dev-container:products/intelligence/api/src/lib/eval-engine.ts |
|
|
@@ -760,7 +760,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
760
760
|
| `runOptimization` | production | agent-dev-container:products/sandbox/evals/src/auto-optimization.ts |
|
|
761
761
|
| `runProfileMatrix` | production | agent-runtime:examples/product-eval/product-eval.ts |
|
|
762
762
|
| `runProfileMatrixSegment` | production | discovery-lab:tools/run-profile-confirmation.mjs |
|
|
763
|
-
| `runSearch` | production | this package: scripts/search-sim.ts:
|
|
763
|
+
| `runSearch` | production | this package: scripts/search-sim.ts:122 |
|
|
764
764
|
| `scopedOptimizationMethod` | planned | doc: docs/campaign-proposers.md |
|
|
765
765
|
| `scoreboardSummary` | production | blueprint-agent:scripts/experiments/eval/launch-scoreboard/run.ts |
|
|
766
766
|
| `scoreDiscrimination` | production | supervisor-lab:bench/comms/seat-discrimination.ts |
|
|
@@ -774,7 +774,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
774
774
|
| `searchClaimReserveUsd` | production | this package: scripts/search-meta-sim.ts:43 |
|
|
775
775
|
| `searchDivergence` | planned | doc: docs/search-ledger.md |
|
|
776
776
|
| `searchEdgeId` | planned | doc: docs/search-ledger.md |
|
|
777
|
-
| `searchExpansionIndex` | production | this package: scripts/search-sim.ts:
|
|
777
|
+
| `searchExpansionIndex` | production | this package: scripts/search-sim.ts:122 |
|
|
778
778
|
| `searchHistoryCoverageRow` | production | this package: src/campaign/optimization-method.ts:14 |
|
|
779
779
|
| `SearchHistoryRequiredError` | none | — |
|
|
780
780
|
| `SearchLedgerConflictError` | production | this package: src/campaign/search-ledger.ts:36 |
|
|
@@ -787,8 +787,8 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
787
787
|
| `searchProposalExecution` | production | this package: src/campaign/presets/run-optimization.ts:51 |
|
|
788
788
|
| `searchProposerView` | production | this package: src/campaign/presets/run-optimization.ts:86 |
|
|
789
789
|
| `searchReceiptAccounting` | production | this package: src/campaign/presets/run-optimization.ts:51 |
|
|
790
|
-
| `SearchRecorder` | production | this package: scripts/generate-synthetic-search-ledger.ts:
|
|
791
|
-
| `SearchState` | production | this package: scripts/search-sim.ts:
|
|
790
|
+
| `SearchRecorder` | production | this package: scripts/generate-synthetic-search-ledger.ts:37 |
|
|
791
|
+
| `SearchState` | production | this package: scripts/search-sim.ts:145 |
|
|
792
792
|
| `SearchStateView` | production | this package: scripts/search-meta-sim.ts:49 |
|
|
793
793
|
| `searchTaskSetDigest` | production | this package: src/campaign/search-ledger-recording.ts:57 |
|
|
794
794
|
| `searchUnitScores` | production | this package: src/campaign/estimate-node.ts:28 |
|
|
@@ -1063,7 +1063,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1063
1063
|
|
|
1064
1064
|
### `./jev`
|
|
1065
1065
|
|
|
1066
|
-
15 value exports —
|
|
1066
|
+
15 value exports — 8 production, 6 planned, 1 none.
|
|
1067
1067
|
|
|
1068
1068
|
| symbol | consumer | evidence |
|
|
1069
1069
|
| --- | --- | --- |
|
|
@@ -1081,7 +1081,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1081
1081
|
| `parseJevQuestions` | production | this package: src/jev.ts:7 |
|
|
1082
1082
|
| `parseJevRequest` | production | this package: src/jev-review.ts:9 |
|
|
1083
1083
|
| `parseJevResult` | production | this package: src/jev-review.ts:9 |
|
|
1084
|
-
| `prepareJevReview` |
|
|
1084
|
+
| `prepareJevReview` | production | this package: src/rl/claim-integrity.ts:39 |
|
|
1085
1085
|
|
|
1086
1086
|
### `./jev/protocol`
|
|
1087
1087
|
|
|
@@ -1103,7 +1103,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1103
1103
|
| --- | --- | --- |
|
|
1104
1104
|
| `appendLedgerLine` | production | this package: src/campaign/search-ledger-file.ts:3 |
|
|
1105
1105
|
| `AtomicFileLockError` | production | this package: src/ledger-core/journal-file.ts:16 |
|
|
1106
|
-
| `canonicalString` | production | this package: scripts/search-sim.ts:
|
|
1106
|
+
| `canonicalString` | production | this package: scripts/search-sim.ts:155 |
|
|
1107
1107
|
| `FileLedgerJournal` | production | this package: src/campaign/search-ledger.ts:23 |
|
|
1108
1108
|
| `hashCanonical` | production | discovery-lab:tools/provenance.mjs |
|
|
1109
1109
|
| `jsonDocument` | production | this package: src/agent-profile-cell.ts:3 |
|
|
@@ -1280,7 +1280,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1280
1280
|
|
|
1281
1281
|
### `./rl`
|
|
1282
1282
|
|
|
1283
|
-
|
|
1283
|
+
82 value exports — 18 production, 30 planned, 34 none.
|
|
1284
1284
|
|
|
1285
1285
|
| symbol | consumer | evidence |
|
|
1286
1286
|
| --- | --- | --- |
|
|
@@ -1294,6 +1294,14 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1294
1294
|
| `buildRlDataset` | production | this package: src/rl/corpus.ts:24 |
|
|
1295
1295
|
| `buildVerifiedFindingRow` | none | only this package's tests: src/rl/verified-findings-dataset.test.ts:5 |
|
|
1296
1296
|
| `campaignToRunRecords` | production | agent-builder:src/lib/.server/eval/loops/auto-research-runner.ts |
|
|
1297
|
+
| `checkerReadSignal` | planned | doc: docs/jev-behavior-review.md |
|
|
1298
|
+
| `CLAIM_INTEGRITY_VERSION` | none | — |
|
|
1299
|
+
| `claimBrief` | none | — |
|
|
1300
|
+
| `claimIntegrityDigest` | none | only this package's tests: src/rl/claim-integrity.test.ts:4 |
|
|
1301
|
+
| `claimIntegrityJevQuestions` | none | — |
|
|
1302
|
+
| `claimIntegrityJevReview` | planned | doc: docs/jev-behavior-review.md |
|
|
1303
|
+
| `claimIntegrityTraceQuestions` | planned | doc: docs/jev-behavior-review.md |
|
|
1304
|
+
| `claimIntegrityVerdict` | planned | doc: docs/jev-behavior-review.md |
|
|
1297
1305
|
| `compareAdaptationCurves` | planned | doc: docs/design/statistics-decisions.md |
|
|
1298
1306
|
| `datasheetToMarkdown` | none | only this package's tests: src/rl/dataset.test.ts:7 |
|
|
1299
1307
|
| `defaultBehaviorFeatures` | none | only this package's tests: src/rl/sim-fidelity.test.ts:3 |
|
|
@@ -1304,32 +1312,43 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1304
1312
|
| `extractStepRewards` | none | only this package's tests: tests/rl-process-reward.test.ts:3 |
|
|
1305
1313
|
| `extractVerifiableReward` | planned | named in gtm-agent (bind not in the import graph) |
|
|
1306
1314
|
| `extractVerifiableRewardsFromRecords` | production | creative-agent:eval/canonical-export.ts |
|
|
1315
|
+
| `farmingSignal` | planned | doc: docs/jev-behavior-review.md |
|
|
1307
1316
|
| `FileSystemOutcomeStore` | production | phony:products/builder/api/src/eval/outcomes.ts |
|
|
1308
1317
|
| `filterDeterministicallyRewarded` | production | this package: src/rl/reward-hacking.ts:43 |
|
|
1309
1318
|
| `firstPassK` | planned | doc: docs/statistical-evidence.md |
|
|
1310
1319
|
| `fitBradleyTerry` | none | only this package's tests: tests/rl-tournament.test.ts:2 |
|
|
1320
|
+
| `GRADER_REFERENCE_PHRASES` | none | — |
|
|
1321
|
+
| `graderReferenceSignal` | planned | doc: docs/jev-behavior-review.md |
|
|
1311
1322
|
| `injectIrrelevantClause` | none | only this package's tests: tests/rl-contamination.test.ts:2 |
|
|
1312
1323
|
| `InMemoryOutcomeStore` | planned | consumer tests: phony:products/builder/api/src/eval/outcomes-correlate.test.ts |
|
|
1313
1324
|
| `inverseProbabilityWeighting` | planned | consumer tests: agent-knowledge:tests/memory-holdout.test.ts |
|
|
1325
|
+
| `jevSignal` | planned | doc: docs/jev-behavior-review.md |
|
|
1314
1326
|
| `jsDivergence` | none | only this package's tests: src/rl/sim-fidelity.test.ts:3 |
|
|
1315
1327
|
| `loadVerifiedFindingsDataset` | planned | doc: docs/verified-labels-flywheel.md |
|
|
1328
|
+
| `monitorSignal` | planned | doc: docs/jev-behavior-review.md |
|
|
1316
1329
|
| `offPolicyEstimateAll` | none | only this package's tests: tests/rl-off-policy.test.ts:3 |
|
|
1317
1330
|
| `paretoFrontier` | production | agent-dev-container:products/sandbox/evals/run.ts |
|
|
1331
|
+
| `parseSourceScopeReferee` | planned | doc: docs/jev-behavior-review.md |
|
|
1318
1332
|
| `PredictiveValidityResearcher` | planned | doc: docs/design/mlbenchmarks-book-review.md |
|
|
1319
1333
|
| `prmTrainingPairs` | planned | doc: examples/fine-tune-with-prime-rl/README.md |
|
|
1320
1334
|
| `quantileEdges` | none | only this package's tests: src/rl/sim-fidelity.test.ts:3 |
|
|
1321
1335
|
| `readCorpus` | planned | named in agent-runtime (bind not in the import graph) |
|
|
1336
|
+
| `REFEREE_VERDICTS` | none | — |
|
|
1337
|
+
| `refereeSignal` | planned | doc: docs/jev-behavior-review.md |
|
|
1322
1338
|
| `renameVariables` | none | only this package's tests: tests/rl-contamination.test.ts:2 |
|
|
1339
|
+
| `ruleHolds` | none | only this package's tests: src/rl/claim-integrity.test.ts:4 |
|
|
1323
1340
|
| `runAdaptationCurve` | planned | doc: docs/statistical-evidence.md |
|
|
1324
1341
|
| `runComputeCurve` | none | only this package's tests: tests/rl-adversarial-and-compute.test.ts:2 |
|
|
1325
1342
|
| `runContaminationProbe` | planned | doc: docs/statistical-evidence.md |
|
|
1326
1343
|
| `runEvalCampaign` | production | agent-builder:scripts/eval.ts |
|
|
1327
1344
|
| `runRLCampaign` | planned | doc: docs/outcome-validity.md |
|
|
1328
1345
|
| `runwiseStepRewardSummary` | none | only this package's tests: tests/rl-process-reward.test.ts:3 |
|
|
1346
|
+
| `scopeSignals` | planned | doc: docs/jev-behavior-review.md |
|
|
1329
1347
|
| `selfConsistency` | none | only this package's tests: tests/rl-adversarial-and-compute.test.ts:2 |
|
|
1330
1348
|
| `selfNormalizedImportanceWeighting` | planned | consumer tests: agent-knowledge:tests/memory-holdout.test.ts |
|
|
1331
1349
|
| `shuffleOrder` | none | — |
|
|
1332
1350
|
| `simFidelityReport` | none | only this package's tests: src/rl/sim-fidelity.test.ts:3 |
|
|
1351
|
+
| `sourceScopeRefereeMessages` | planned | doc: docs/jev-behavior-review.md |
|
|
1333
1352
|
| `stepRewardsToJsonl` | none | only this package's tests: src/rollout/gate-properties.test.ts:38 |
|
|
1334
1353
|
| `summarizeVerifiedFindings` | none | only this package's tests: src/rl/verified-findings-dataset.test.ts:5 |
|
|
1335
1354
|
| `toAnthropicFormat` | production | blueprint-agent:scripts/experiments/lib/steering-dataset.ts |
|
|
@@ -1428,7 +1447,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1428
1447
|
|
|
1429
1448
|
| symbol | consumer | evidence |
|
|
1430
1449
|
| --- | --- | --- |
|
|
1431
|
-
| `draftOnPlateau` | production | this package: scripts/search-sim.ts:
|
|
1450
|
+
| `draftOnPlateau` | production | this package: scripts/search-sim.ts:162 |
|
|
1432
1451
|
| `EDIT_CREDIT_ESTIMATOR` | none | — |
|
|
1433
1452
|
| `EDIT_CREDIT_SIGNAL` | none | — |
|
|
1434
1453
|
| `editCredit` | production | this package: scripts/synthetic-search-ledger.ts:70 |
|
|
@@ -1437,9 +1456,9 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1437
1456
|
| `formatLandscape` | production | this package: src/search-command.ts:41 |
|
|
1438
1457
|
| `formatSkillManifold` | production | this package: src/search-command.ts:45 |
|
|
1439
1458
|
| `front` | production | this package: src/search-command.ts:40 |
|
|
1440
|
-
| `landscape` | production | this package: scripts/search-sim.ts:
|
|
1459
|
+
| `landscape` | production | this package: scripts/search-sim.ts:156 |
|
|
1441
1460
|
| `lineageEdits` | planned | doc: docs/search-ledger.md |
|
|
1442
|
-
| `lineEditDistance` | production | this package: scripts/search-sim.ts:
|
|
1461
|
+
| `lineEditDistance` | production | this package: scripts/search-sim.ts:156 |
|
|
1443
1462
|
| `META_SEARCH_SCORE_SOURCE` | production | this package: scripts/search-meta-sim.ts:52 |
|
|
1444
1463
|
| `META_SEARCH_SIGNAL` | none | — |
|
|
1445
1464
|
| `metaSearch` | production | this package: scripts/search-meta-sim.ts:52 |
|
|
@@ -1447,7 +1466,7 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1447
1466
|
| `MIN_OUTCOMES_FOR_WEIGHT` | planned | doc: docs/search-ledger.md |
|
|
1448
1467
|
| `nearestNeighbours` | none | — |
|
|
1449
1468
|
| `nestedSearchId` | planned | doc: docs/search-ledger.md |
|
|
1450
|
-
| `nextUnitExtension` | production | this package: scripts/search-sim.ts:
|
|
1469
|
+
| `nextUnitExtension` | production | this package: scripts/search-sim.ts:163 |
|
|
1451
1470
|
| `objectiveKey` | production | this package: scripts/search-meta-sim.ts:52 |
|
|
1452
1471
|
| `operatorYield` | production | this package: scripts/prove-operator-bandit.mts:24 |
|
|
1453
1472
|
| `profileTextLines` | none | — |
|
|
@@ -1458,12 +1477,12 @@ The `none` set was reviewed symbol by symbol on 2026-08-21. Four rules decided m
|
|
|
1458
1477
|
| `searchConfigCodec` | planned | doc: docs/search-ledger.md |
|
|
1459
1478
|
| `searchPlateau` | production | this package: src/search/lenses/landscape.ts:49 |
|
|
1460
1479
|
| `searchPolicyGenome` | planned | doc: docs/search-ledger.md |
|
|
1461
|
-
| `skillCalibration` | production | this package: scripts/search-sim.ts:
|
|
1462
|
-
| `skillManifold` | production | this package: scripts/search-sim.ts:
|
|
1480
|
+
| `skillCalibration` | production | this package: scripts/search-sim.ts:163 |
|
|
1481
|
+
| `skillManifold` | production | this package: scripts/search-sim.ts:163 |
|
|
1463
1482
|
| `summarizeSamples` | production | this package: src/search/lenses/meta-search.ts:55 |
|
|
1464
1483
|
| `surfaceDigestEdits` | none | — |
|
|
1465
1484
|
| `surfaceTextEdits` | production | this package: src/search-command.ts:41 |
|
|
1466
|
-
| `taskMatrix` | production | this package:
|
|
1485
|
+
| `taskMatrix` | production | this package: scripts/prove-task-matrix.mts:8 |
|
|
1467
1486
|
| `tree` | production | this package: src/search-command.ts:47 |
|
|
1468
1487
|
| `vectorEmbedding` | planned | doc: docs/search-ledger.md |
|
|
1469
1488
|
|
package/docs/search-ledger.md
CHANGED
|
@@ -175,7 +175,7 @@ tree: 2 nodes, 2 edges
|
|
|
175
175
|
seed → node_8b6e8e11c5a430aa900f210c8e5162d7 (rejected) $0.00 known + at least $0.00 over 2 unknown-cost cells
|
|
176
176
|
improve → node_9d74773e7ecfd982307a8285845e7fad (selected) $0.00 known + at least $0.00 over 2 unknown-cost cells
|
|
177
177
|
|
|
178
|
-
operator yield (selection split):
|
|
178
|
+
operator yield (selection split, gain per known $ of proposal + screen):
|
|
179
179
|
improve: 1 proposals → 1 node (selected=1); yield: no measured children; 1 excluded
|
|
180
180
|
seed: 1 proposals → 1 node (rejected=1); yield: no measured children; 1 excluded
|
|
181
181
|
|
|
@@ -206,12 +206,30 @@ The two `--wired` behaviors above (`incumbentWithOperatorBandit`, `draftOnPlatea
|
|
|
206
206
|
| Lens | Reports | Signal |
|
|
207
207
|
|---|---|---|
|
|
208
208
|
| `tree(state)` | a tidy tree of nodes and edges — the base view every other lens sits beside; a node with unknown-cost cells shows its known spend, its proven floor and how many cells are unknown, never a total | `tree.nodeCount` (drives no policy) |
|
|
209
|
-
| `operatorYield(state, { split? })` | each edge operator's proposals, re-proposals, outcome counts and
|
|
209
|
+
| `operatorYield(state, { split? })` | each edge operator's proposals, re-proposals, outcome counts and yield: a node's gain over the root from `searchPosterior` (`estimateNode`'s tree-wide contrast) divided by the known cost of producing and screening it — its even share of the proposal operation's cost over that operation's child edges, plus its cells allocated before its first decision (the first rung and the train feedback); cells of later rungs and the claim are the allocator's and the claim's choice, so they are not charged to the operator; a node counts once, under the operator of the edge that registered it, and a re-proposal adds a proposal but no outcome or sample; a node is excluded from yield when it was decided invalid, shares fewer than 2 units with the root, or its proposal or a screen cell has an unknown, unrecorded or zero cost | `operatorYield.weights`: an operator's yield mean once it has 6 or more yield-eligible nodes (`MIN_OUTCOMES_FOR_WEIGHT`), else `null` |
|
|
210
210
|
| `front(state, { split?, axes? })` | the Pareto frontier over per-unit mean score and known cost per attempted cell on the split (reusing `paretoFrontier`), with room for caller-declared extra axes; a node's total spend depends on how far the allocator measured it, so it is shown but is not an axis; a node decided invalid, scored on fewer than 2 units, with an unknown-cost cell on the split, or with a non-finite extra axis is excluded from every frontier pass, with the reason | `front.membership`: 1 for a node on the frontier, 0 otherwise (including an excluded node) |
|
|
211
211
|
| `taskMatrix(state, { split? })` | nodes and units, each single-linkage clustered on the root-mean-square difference over their shared scores, cutoff at the data's own median pairwise distance | `taskMatrix.specialistGain`: per unit cluster, the best node's mean minus the mean of node means, in the objective's direction, among nodes not decided invalid that scored every unit of the cluster; `null` with the reason, and omitted from the signal, below 2 such nodes or 6 units |
|
|
212
212
|
|
|
213
213
|
`agent-eval search show <ledger> [--tree] [--operator-yield] [--front] [--task-matrix]` prints each lens's text form below the search summary, so an agent reading the CLI sees the same numbers Intelligence, discovery lab, VerticalBench and agent-runtime `improve()` would render from the same JSON.
|
|
214
214
|
|
|
215
|
+
The task matrix evaluates each node pair and each unit pair at most twice.
|
|
216
|
+
Clustering preserves the median cutoff, missing-score rules, deterministic ordering, and specialist gains.
|
|
217
|
+
Piped CLI output includes the complete JSON before the process exits.
|
|
218
|
+
|
|
219
|
+
Run the proof against retained search ledgers:
|
|
220
|
+
|
|
221
|
+
```sh
|
|
222
|
+
pnpm build
|
|
223
|
+
pnpm exec tsx scripts/prove-task-matrix.mts /path/to/search-ledger.jsonl
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
The proof compares piped CLI JSON with the library result and enforces the distance-call bound using V8 counters.
|
|
227
|
+
It reports ledger hashes, dimensions, complete output size, and elapsed library time.
|
|
228
|
+
Wall time is descriptive; the operation count is the performance guard.
|
|
229
|
+
On a retained 501-node, 24-unit scale ledger, node-distance calls fell from 44,650,773 to 250,500.
|
|
230
|
+
The complete 1,668,617-byte CLI output stayed identical.
|
|
231
|
+
This scale ledger is generated data; it does not establish research quality or a live deployment speedup.
|
|
232
|
+
|
|
215
233
|
`incumbentWithOperatorBandit({ seed, fixedWeights? })` (`/campaign`) is the one built-in policy that reads a lens signal: a hill climb, like `incumbent`, whose expansion operator is a weighted draw over `operatorYield`'s weights.
|
|
216
234
|
An operator without 6 measured outcomes yet draws on `fixedWeights` (uniform by default) instead of being starved until every operator clears the gate; a measured operator's weight is `fixedWeights[operator] + yield`, floored just above zero, because yield (dollars) and the fixed prior (an arbitrary share) are not on the same scale and a small positive yield should not draw less than an untested operator's default prior.
|
|
217
235
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/agent-eval",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.200.0",
|
|
4
4
|
"description": "Evaluate and improve AI agents from runs, traces, judges, and feedback. Compare candidates, cluster failures, measure lift, and gate releases.",
|
|
5
5
|
"homepage": "https://github.com/tangle-network/agent-eval#readme",
|
|
6
6
|
"repository": {
|