@tangle-network/agent-eval 0.99.0 → 0.100.1

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.
Files changed (91) hide show
  1. package/dist/adapters/http.d.ts +2 -2
  2. package/dist/adapters/langchain.d.ts +2 -2
  3. package/dist/adapters/otel.d.ts +4 -4
  4. package/dist/analyst/index.d.ts +8 -7
  5. package/dist/analyst/index.js +36 -28
  6. package/dist/analyst/index.js.map +1 -1
  7. package/dist/{analyze-runs-DtT6F_6T.d.ts → analyze-runs-BlJRBniC.d.ts} +3 -3
  8. package/dist/belief-state/index.d.ts +3 -3
  9. package/dist/benchmarks/index.d.ts +2 -2
  10. package/dist/campaign/index.d.ts +37 -13
  11. package/dist/campaign/index.js +76 -7
  12. package/dist/campaign/index.js.map +1 -1
  13. package/dist/{chunk-WMBLMTUE.js → chunk-2KTBHICD.js} +139 -16
  14. package/dist/chunk-2KTBHICD.js.map +1 -0
  15. package/dist/{chunk-IZCEK2HR.js → chunk-2MLIEQSN.js} +3 -2
  16. package/dist/{chunk-IZCEK2HR.js.map → chunk-2MLIEQSN.js.map} +1 -1
  17. package/dist/{chunk-OKQ2LAT7.js → chunk-4LWD6GC7.js} +7 -5
  18. package/dist/{chunk-OKQ2LAT7.js.map → chunk-4LWD6GC7.js.map} +1 -1
  19. package/dist/{chunk-LO6IOIJ2.js → chunk-ABOIVNXL.js} +2 -240
  20. package/dist/chunk-ABOIVNXL.js.map +1 -0
  21. package/dist/{chunk-NZEQVRH5.js → chunk-BOETF6BU.js} +2 -2
  22. package/dist/{chunk-S4SYLDFX.js → chunk-FRI6RG3P.js} +3 -2
  23. package/dist/chunk-FRI6RG3P.js.map +1 -0
  24. package/dist/chunk-G6S73VA7.js +248 -0
  25. package/dist/chunk-G6S73VA7.js.map +1 -0
  26. package/dist/{chunk-GMGRBNVT.js → chunk-G7IB3GJ5.js} +2 -2
  27. package/dist/chunk-IN3SHQML.js +664 -0
  28. package/dist/chunk-IN3SHQML.js.map +1 -0
  29. package/dist/{chunk-SJISCGWD.js → chunk-JU6ZX3CX.js} +2 -2
  30. package/dist/{chunk-3NHEO6ZC.js → chunk-L5TVEZFT.js} +2 -2
  31. package/dist/{chunk-77T4STFI.js → chunk-PMF5WIBX.js} +3 -3
  32. package/dist/{chunk-OYU4D7FY.js → chunk-VWQ6PO5O.js} +2 -2
  33. package/dist/{code-agent-session-CPHRCb4-.d.ts → code-agent-session-B6ZcDwyA.d.ts} +1 -1
  34. package/dist/contract/index.d.ts +16 -16
  35. package/dist/contract/index.js +6 -5
  36. package/dist/contract/index.js.map +1 -1
  37. package/dist/{control-Doncu-B_.d.ts → control-DC8TELh0.d.ts} +1 -1
  38. package/dist/control.d.ts +2 -2
  39. package/dist/control.js +3 -2
  40. package/dist/{corpus-D4YW9UoJ.d.ts → corpus-ONOzGFmG.d.ts} +1 -1
  41. package/dist/{default-registry-GyE8X5SP.d.ts → default-registry-Dhrc__SE.d.ts} +2 -2
  42. package/dist/diagnose.d.ts +3 -3
  43. package/dist/diagnose.js +2 -1
  44. package/dist/diagnose.js.map +1 -1
  45. package/dist/{gepa-H6mlM0KN.d.ts → gepa-BRgNnmGZ.d.ts} +1 -1
  46. package/dist/groundedness/index.d.ts +112 -0
  47. package/dist/groundedness/index.js +77 -0
  48. package/dist/groundedness/index.js.map +1 -0
  49. package/dist/hosted/index.d.ts +4 -4
  50. package/dist/{index-_Y4oNOOb.d.ts → index-W96macmS.d.ts} +1 -1
  51. package/dist/index.d.ts +338 -24
  52. package/dist/index.js +208 -24
  53. package/dist/index.js.map +1 -1
  54. package/dist/{insight-report-BnRjTibG.d.ts → insight-report-C02J3q4T.d.ts} +1 -1
  55. package/dist/{kind-factory-X3eDYbKn.d.ts → kind-factory-OgqQSvLi.d.ts} +1 -1
  56. package/dist/meta-eval/index.d.ts +2 -2
  57. package/dist/multishot/index.d.ts +2 -2
  58. package/dist/openapi.json +1 -1
  59. package/dist/policy-edit-Dccm9tyA.d.ts +103 -0
  60. package/dist/{pre-registration-CMm8cvrh.d.ts → pre-registration-DB8oDqZJ.d.ts} +3 -3
  61. package/dist/{provenance-Bg_RttR8.d.ts → provenance-B0SZw1z2.d.ts} +3 -3
  62. package/dist/{release-report-pidWUMZ2.d.ts → release-report-B1tA6pKu.d.ts} +2 -2
  63. package/dist/reporting.d.ts +4 -4
  64. package/dist/{researcher-Jr8ME1dZ.d.ts → researcher-Ba2y1Foi.d.ts} +2 -2
  65. package/dist/rl.d.ts +8 -8
  66. package/dist/rl.js +3 -2
  67. package/dist/rl.js.map +1 -1
  68. package/dist/{rubric-predictive-validity-C2hDKM8Z.d.ts → rubric-predictive-validity-w7tun-q3.d.ts} +1 -1
  69. package/dist/{run-record-CP2ObebC.d.ts → run-record-DEwidcqn.d.ts} +1 -1
  70. package/dist/{runtime-trajectory-BOUUjI0y.d.ts → runtime-trajectory-OJDaTYHN.d.ts} +1 -1
  71. package/dist/{semantic-concept-judge-DSBB2Cfp.d.ts → semantic-concept-judge-J8xvjdc3.d.ts} +2 -2
  72. package/dist/{summary-report-CInXwsza.d.ts → summary-report-C4uzRWh8.d.ts} +1 -1
  73. package/dist/traces.d.ts +1 -1
  74. package/dist/traces.js +4 -3
  75. package/dist/{types-B5x54y6n.d.ts → types-BEzCBMQD.d.ts} +2 -2
  76. package/dist/{types-BTI16iFl.d.ts → types-Cv1bo4_a.d.ts} +1 -1
  77. package/dist/workflow/index.d.ts +4 -4
  78. package/dist/workflow/index.js +2 -1
  79. package/dist/workflow/index.js.map +1 -1
  80. package/package.json +6 -1
  81. package/dist/chunk-BUTW4RGG.js +0 -32
  82. package/dist/chunk-BUTW4RGG.js.map +0 -1
  83. package/dist/chunk-LO6IOIJ2.js.map +0 -1
  84. package/dist/chunk-S4SYLDFX.js.map +0 -1
  85. package/dist/chunk-WMBLMTUE.js.map +0 -1
  86. /package/dist/{chunk-NZEQVRH5.js.map → chunk-BOETF6BU.js.map} +0 -0
  87. /package/dist/{chunk-GMGRBNVT.js.map → chunk-G7IB3GJ5.js.map} +0 -0
  88. /package/dist/{chunk-SJISCGWD.js.map → chunk-JU6ZX3CX.js.map} +0 -0
  89. /package/dist/{chunk-3NHEO6ZC.js.map → chunk-L5TVEZFT.js.map} +0 -0
  90. /package/dist/{chunk-77T4STFI.js.map → chunk-PMF5WIBX.js.map} +0 -0
  91. /package/dist/{chunk-OYU4D7FY.js.map → chunk-VWQ6PO5O.js.map} +0 -0
package/dist/index.js CHANGED
@@ -51,7 +51,7 @@ import {
51
51
  llmJudge,
52
52
  parseCorrectnessResponse,
53
53
  verifyCompletion
54
- } from "./chunk-OYU4D7FY.js";
54
+ } from "./chunk-VWQ6PO5O.js";
55
55
  import {
56
56
  DEFAULT_MUTATION_PRIMITIVES,
57
57
  DEFAULT_RED_TEAM_CORPUS,
@@ -75,7 +75,7 @@ import {
75
75
  scoreRedTeamOutput,
76
76
  surfaceContentHash,
77
77
  toolNamesForRun
78
- } from "./chunk-WMBLMTUE.js";
78
+ } from "./chunk-2KTBHICD.js";
79
79
  import {
80
80
  BackendIntegrityError,
81
81
  assertRealBackend,
@@ -133,20 +133,32 @@ import {
133
133
  defaultIsMaterial,
134
134
  diffFindings,
135
135
  runSemanticConceptJudge
136
- } from "./chunk-SJISCGWD.js";
137
- import {
138
- buildDefaultAnalystRegistry,
139
- computeTraceMetrics
140
- } from "./chunk-3NHEO6ZC.js";
136
+ } from "./chunk-JU6ZX3CX.js";
141
137
  import {
142
138
  LockedJsonlAppender,
143
139
  Mutex
144
140
  } from "./chunk-DJWX3GVS.js";
141
+ import {
142
+ buildDefaultAnalystRegistry,
143
+ computeTraceMetrics
144
+ } from "./chunk-L5TVEZFT.js";
145
145
  import {
146
146
  DEFAULT_RUN_SCORE_WEIGHTS,
147
+ POLICY_EDIT_AXES,
148
+ POLICY_EDIT_TARGET_SURFACES,
149
+ PolicyEditValidationError,
150
+ admitPolicyEdit,
147
151
  aggregateRunScore,
148
- clamp01
149
- } from "./chunk-BUTW4RGG.js";
152
+ applyPolicyEditToSurface,
153
+ clamp01,
154
+ computePolicyEditId,
155
+ isPolicyEdit,
156
+ makePolicyEdit,
157
+ policyEditFromFinding,
158
+ policyEditsFromFindings,
159
+ scorePolicyEditReadiness,
160
+ validatePolicyEdit
161
+ } from "./chunk-IN3SHQML.js";
150
162
  import {
151
163
  AnalystRegistry,
152
164
  DEFAULT_TRACE_ANALYST_KINDS,
@@ -156,7 +168,7 @@ import {
156
168
  KNOWLEDGE_POISONING_KIND_SPEC,
157
169
  createTraceAnalystKind,
158
170
  renderPriorFindings
159
- } from "./chunk-S4SYLDFX.js";
171
+ } from "./chunk-FRI6RG3P.js";
160
172
  import {
161
173
  controlFailureClassFromVerification,
162
174
  controlRunToRunRecord,
@@ -167,7 +179,7 @@ import {
167
179
  runProposeReview,
168
180
  runProposeReviewAsControlLoop,
169
181
  scoreFromEvals
170
- } from "./chunk-NZEQVRH5.js";
182
+ } from "./chunk-BOETF6BU.js";
171
183
  import {
172
184
  allCriticalPassed,
173
185
  errorStreakDetector,
@@ -189,7 +201,7 @@ import {
189
201
  } from "./chunk-VDGPPGE3.js";
190
202
  import {
191
203
  runEvalCampaign
192
- } from "./chunk-OKQ2LAT7.js";
204
+ } from "./chunk-4LWD6GC7.js";
193
205
  import {
194
206
  LlmCallError,
195
207
  LlmClient,
@@ -292,13 +304,13 @@ import {
292
304
  scoreTraceInsightReadiness,
293
305
  tokenizeDomainWords,
294
306
  traceAnalystOnRunComplete
295
- } from "./chunk-77T4STFI.js";
307
+ } from "./chunk-PMF5WIBX.js";
296
308
  import {
297
309
  TRACE_ANALYST_ACTOR_DESCRIPTION,
298
310
  TRACE_ANALYST_ACTOR_DESCRIPTION_VERSION,
299
311
  TRACE_ANALYST_SUBAGENT_DESCRIPTION,
300
312
  analyzeTraces
301
- } from "./chunk-IZCEK2HR.js";
313
+ } from "./chunk-2MLIEQSN.js";
302
314
  import {
303
315
  DEFAULT_REDACTION_RULES,
304
316
  REDACTION_VERSION,
@@ -370,29 +382,31 @@ import {
370
382
  defaultProviderRedactor,
371
383
  providerFromBaseUrl
372
384
  } from "./chunk-PC4UYEBM.js";
385
+ import {
386
+ RunRecordValidationError,
387
+ isRunRecord,
388
+ parseRunRecordSafe,
389
+ roundTripRunRecord,
390
+ validateRunRecord
391
+ } from "./chunk-G6S73VA7.js";
392
+ import {
393
+ TraceEmitter,
394
+ llmSpanFromProvider
395
+ } from "./chunk-TVVP3ZZQ.js";
373
396
  import {
374
397
  AGENT_PROFILE_KINDS,
375
398
  AgentProfileCellValidationError,
376
- RunRecordValidationError,
377
399
  agentProfileCellHashMaterial,
378
400
  agentProfileCellKey,
379
401
  assertRunAgentProfileCell,
380
402
  buildAgentInterfaceProfileCell,
381
403
  buildAgentProfileCell,
382
404
  groupRunsByAgentProfileCell,
383
- isRunRecord,
384
- parseRunRecordSafe,
385
405
  requireAgentProfileCell,
386
- roundTripRunRecord,
387
406
  toAgentProfileJson,
388
407
  validateAgentProfileCell,
389
- validateRunRecord,
390
408
  verifyAgentProfileCell
391
- } from "./chunk-LO6IOIJ2.js";
392
- import {
393
- TraceEmitter,
394
- llmSpanFromProvider
395
- } from "./chunk-TVVP3ZZQ.js";
409
+ } from "./chunk-ABOIVNXL.js";
396
410
  import {
397
411
  canonicalize,
398
412
  evaluateHypothesis,
@@ -2593,6 +2607,59 @@ function printDriverSummary(results) {
2593
2607
  console.log(`${completedCount}/${results.length} personas completed`);
2594
2608
  }
2595
2609
 
2610
+ // src/treatment-gate.ts
2611
+ function gateTreatmentApplied(input, opts = {}) {
2612
+ const failOpen = opts.failOpenWhenNoTelemetry ?? true;
2613
+ let observedTools = 0;
2614
+ let matchedCalls = 0;
2615
+ for (const [tool, count] of Object.entries(input.toolHistogram)) {
2616
+ const n = Number.isFinite(count) && count > 0 ? count : 0;
2617
+ observedTools += n;
2618
+ if (n > 0 && input.matches(tool)) matchedCalls += n;
2619
+ }
2620
+ if (observedTools === 0) {
2621
+ return failOpen ? {
2622
+ applied: true,
2623
+ gated: false,
2624
+ reason: "no tool telemetry captured \u2014 fail-open (not quarantined)",
2625
+ matchedCalls: 0,
2626
+ observedTools: 0
2627
+ } : {
2628
+ applied: false,
2629
+ gated: true,
2630
+ reason: "no tool telemetry captured \u2014 fail-closed",
2631
+ matchedCalls: 0,
2632
+ observedTools: 0
2633
+ };
2634
+ }
2635
+ if (matchedCalls === 0) {
2636
+ return {
2637
+ applied: false,
2638
+ gated: true,
2639
+ reason: `treatment tool never fired (${observedTools} tool calls, 0 matched)`,
2640
+ matchedCalls: 0,
2641
+ observedTools
2642
+ };
2643
+ }
2644
+ return { applied: true, gated: false, matchedCalls, observedTools };
2645
+ }
2646
+ function gateTreatmentFromMetrics(metrics, matches2, opts) {
2647
+ return gateTreatmentApplied({ toolHistogram: metrics.toolHistogram, matches: matches2 }, opts);
2648
+ }
2649
+ function gateTreatmentFromSpans(spans, matches2, opts) {
2650
+ return gateTreatmentFromMetrics(computeTraceMetrics(spans), matches2, opts);
2651
+ }
2652
+ function gateTreatmentFromToolSpans(toolSpans2, matches2, opts) {
2653
+ const toolHistogram = {};
2654
+ for (const s of toolSpans2) {
2655
+ if (s.toolName) toolHistogram[s.toolName] = (toolHistogram[s.toolName] ?? 0) + 1;
2656
+ }
2657
+ return gateTreatmentApplied({ toolHistogram, matches: matches2 }, opts);
2658
+ }
2659
+ function classifyTreatment(_record, gate) {
2660
+ return gate.gated ? "treatment-not-applied" : "measurable";
2661
+ }
2662
+
2596
2663
  // src/anti-slop.ts
2597
2664
  var DEFAULT_HEDGES = [
2598
2665
  /\bi\s+could\s+be\s+wrong\b/i,
@@ -3922,6 +3989,97 @@ var BudgetGuard = class {
3922
3989
  }
3923
3990
  };
3924
3991
 
3992
+ // src/hidden-criteria-grading.ts
3993
+ var hiddenDestinations = /* @__PURE__ */ new Set([
3994
+ "grading-only",
3995
+ "judge-only"
3996
+ ]);
3997
+ function isHiddenDestination(destination) {
3998
+ return hiddenDestinations.has(destination);
3999
+ }
4000
+ function routeFields(routing, values) {
4001
+ const out = [];
4002
+ for (const name of Object.keys(routing)) {
4003
+ const value = values[name];
4004
+ if (value === void 0) {
4005
+ throw new ValidationError(
4006
+ `routed field "${name}" has a destination but no value \u2014 every routed field must carry its value`
4007
+ );
4008
+ }
4009
+ out.push({ name, value, destination: routing[name] });
4010
+ }
4011
+ return out;
4012
+ }
4013
+ function assertNoHiddenLeak(fields, agentContext, opts = {}) {
4014
+ const minLen = opts.minMatchLength ?? 12;
4015
+ const leaks = [];
4016
+ for (const field of fields) {
4017
+ if (!isHiddenDestination(field.destination)) continue;
4018
+ const needle = field.value.trim();
4019
+ if (needle.length < minLen) continue;
4020
+ if (agentContext.includes(needle)) {
4021
+ leaks.push({ field: field.name, destination: field.destination });
4022
+ }
4023
+ }
4024
+ if (leaks.length > 0) {
4025
+ const detail = leaks.map((l) => `"${l.field}" (${l.destination})`).join(", ");
4026
+ throw new ValidationError(
4027
+ `hidden-criteria firewall breached: ${leaks.length} hidden field(s) reached the agent context: ${detail}`
4028
+ );
4029
+ }
4030
+ return fields;
4031
+ }
4032
+ function agentVisibleFields(fields) {
4033
+ return fields.filter((f) => !isHiddenDestination(f.destination));
4034
+ }
4035
+ function hiddenGrade(passed, total, notes) {
4036
+ const p = Number.isFinite(passed) && passed > 0 ? Math.floor(passed) : 0;
4037
+ const t = Number.isFinite(total) && total > 0 ? Math.floor(total) : 0;
4038
+ const passRate = t > 0 ? Math.min(1, p / t) : 0;
4039
+ return { passed: Math.min(p, t > 0 ? t : p), total: t, passRate, notes };
4040
+ }
4041
+ async function gradeOnHidden(args) {
4042
+ assertNoHiddenLeak(args.firewall.fields, args.firewall.agentContext, args.firewall.options);
4043
+ const result = await args.grader(args.artifact, args.hiddenCriteria, args.signal);
4044
+ return hiddenGrade(result.passed, result.total, result.notes);
4045
+ }
4046
+ var defaultBlendWeights = { heldout: 0.7, judge: 0.3 };
4047
+ function normalizeWeights(weights) {
4048
+ const h = Number.isFinite(weights.heldout) && weights.heldout >= 0 ? weights.heldout : 0;
4049
+ const j = Number.isFinite(weights.judge) && weights.judge >= 0 ? weights.judge : 0;
4050
+ const sum3 = h + j;
4051
+ if (sum3 <= 0) {
4052
+ throw new ValidationError(
4053
+ "blend weights must have a positive sum (got heldout+judge <= 0) \u2014 cannot weight a composite by zero"
4054
+ );
4055
+ }
4056
+ return { heldout: h / sum3, judge: j / sum3 };
4057
+ }
4058
+ function blendHeldout(heldoutPassRate, judgeScore, weights = defaultBlendWeights) {
4059
+ const w = normalizeWeights(weights);
4060
+ const heldout = clampUnit(heldoutPassRate);
4061
+ const judge = clampUnit(judgeScore);
4062
+ return w.heldout * heldout + w.judge * judge;
4063
+ }
4064
+ function withHeldoutBlend(score, heldoutPassRate, weights = defaultBlendWeights) {
4065
+ return async (input) => {
4066
+ const base = await score(input);
4067
+ if (base.failed) return base;
4068
+ const rate = clampUnit(heldoutPassRate(input.artifact));
4069
+ const composite = blendHeldout(rate, base.composite, weights);
4070
+ const w = normalizeWeights(weights);
4071
+ return {
4072
+ ...base,
4073
+ composite,
4074
+ notes: `composite=${composite.toFixed(3)} (held-out ${(rate * 100).toFixed(0)}% \xD7 ${w.heldout.toFixed(2)} + quality ${base.composite.toFixed(3)} \xD7 ${w.judge.toFixed(2)})` + (base.notes ? ` \u2014 ${base.notes}` : "")
4075
+ };
4076
+ };
4077
+ }
4078
+ function clampUnit(value) {
4079
+ if (!Number.isFinite(value)) return 0;
4080
+ return Math.max(0, Math.min(1, value));
4081
+ }
4082
+
3925
4083
  // src/cost-ledger.ts
3926
4084
  function modelPriceKey(model) {
3927
4085
  return isModelPriced(model) ? model : null;
@@ -9982,7 +10140,10 @@ export {
9982
10140
  OPENINFERENCE_SPAN_KIND,
9983
10141
  OTEL_AGENT_EVAL_SCOPE,
9984
10142
  OtlpFileTraceStore,
10143
+ POLICY_EDIT_AXES,
10144
+ POLICY_EDIT_TARGET_SURFACES,
9985
10145
  PairwiseSteeringOptimizer,
10146
+ PolicyEditValidationError,
9986
10147
  ProductClient,
9987
10148
  PromptRegistry,
9988
10149
  REDACTION_VERSION,
@@ -10021,12 +10182,14 @@ export {
10021
10182
  ValidationError,
10022
10183
  VerificationError,
10023
10184
  acquisitionPlansForKnowledgeGaps,
10185
+ admitPolicyEdit,
10024
10186
  adversarialJudge,
10025
10187
  agentProfileCellHashMaterial,
10026
10188
  agentProfileCellKey,
10027
10189
  agentProfileHash,
10028
10190
  agentProfileId,
10029
10191
  agentProfileModelId,
10192
+ agentVisibleFields,
10030
10193
  aggregateJudgeVerdicts,
10031
10194
  aggregateLlm,
10032
10195
  aggregatePrReviewScore,
@@ -10036,12 +10199,14 @@ export {
10036
10199
  analyzeSeries,
10037
10200
  analyzeTraces,
10038
10201
  appendScorecard,
10202
+ applyPolicyEditToSurface,
10039
10203
  argHash,
10040
10204
  asNumber,
10041
10205
  asString,
10042
10206
  assertCrossFamily,
10043
10207
  assertLlmRoute,
10044
10208
  assertModelsServed,
10209
+ assertNoHiddenLeak,
10045
10210
  assertRealBackend,
10046
10211
  assertRecordIntegrity,
10047
10212
  assertReleaseConfidence,
@@ -10058,6 +10223,7 @@ export {
10058
10223
  benchmarks_exports as benchmarks,
10059
10224
  benjaminiHochberg,
10060
10225
  bisect,
10226
+ blendHeldout,
10061
10227
  blockingKnowledgeEval,
10062
10228
  bonferroni,
10063
10229
  bootstrapCi,
@@ -10092,6 +10258,7 @@ export {
10092
10258
  clamp01,
10093
10259
  classifyEuAiRisk,
10094
10260
  classifyFailure,
10261
+ classifyTreatment,
10095
10262
  cliffsDelta,
10096
10263
  codeExecutionJudge,
10097
10264
  cohensD,
@@ -10107,6 +10274,7 @@ export {
10107
10274
  composeValidators,
10108
10275
  computeExperimentStats,
10109
10276
  computeFindingId,
10277
+ computePolicyEditId,
10110
10278
  computeToolUseMetrics,
10111
10279
  computeTraceMetrics,
10112
10280
  confidenceInterval,
@@ -10145,6 +10313,7 @@ export {
10145
10313
  decideNextUserTurn,
10146
10314
  decideReferenceReplayPromotion,
10147
10315
  decideReferenceReplayRunPromotion,
10316
+ defaultBlendWeights,
10148
10317
  defaultIsMaterial,
10149
10318
  defaultJudges,
10150
10319
  defaultParseStudentLabel,
@@ -10210,9 +10379,14 @@ export {
10210
10379
  formatScorecardDiff,
10211
10380
  gainHistogram,
10212
10381
  gatePerf,
10382
+ gateTreatmentApplied,
10383
+ gateTreatmentFromMetrics,
10384
+ gateTreatmentFromSpans,
10385
+ gateTreatmentFromToolSpans,
10213
10386
  ghCliClient,
10214
10387
  gitProvenanceReader,
10215
10388
  precision as goldenPrecision,
10389
+ gradeOnHidden,
10216
10390
  gradeSemanticStatus,
10217
10391
  groupBy,
10218
10392
  groupRunsByAgentProfileCell,
@@ -10220,6 +10394,7 @@ export {
10220
10394
  hashJson,
10221
10395
  hashScenarios,
10222
10396
  hashToUnit,
10397
+ hiddenGrade,
10223
10398
  htmlContainsElement,
10224
10399
  httpGithubClient,
10225
10400
  improvementVerdict,
@@ -10233,10 +10408,12 @@ export {
10233
10408
  interRaterReliability,
10234
10409
  interpretCliffs,
10235
10410
  iqr,
10411
+ isHiddenDestination,
10236
10412
  isJudgeSpan,
10237
10413
  isLlmSpan,
10238
10414
  isModelPriced,
10239
10415
  isOtelConfigured,
10416
+ isPolicyEdit,
10240
10417
  isRetrievalSpan,
10241
10418
  isRunRecord,
10242
10419
  isSandboxSpan,
@@ -10265,6 +10442,7 @@ export {
10265
10442
  lowercaseMutator,
10266
10443
  makeEvalTools,
10267
10444
  makeFinding,
10445
+ makePolicyEdit,
10268
10446
  mannWhitneyU,
10269
10447
  matchGoldens,
10270
10448
  matchSpan,
@@ -10309,6 +10487,8 @@ export {
10309
10487
  pearsonR,
10310
10488
  pixelDeltaRatio,
10311
10489
  planTraceInsightQuestions,
10490
+ policyEditFromFinding,
10491
+ policyEditsFromFindings,
10312
10492
  politenessPrefixMutator,
10313
10493
  positionalBias,
10314
10494
  preflightModels,
@@ -10351,6 +10531,7 @@ export {
10351
10531
  resolveModelPricing,
10352
10532
  resolveSeat,
10353
10533
  roundTripRunRecord,
10534
+ routeFields,
10354
10535
  rowCount,
10355
10536
  rowWhere,
10356
10537
  runAgentControlLoop,
@@ -10383,6 +10564,7 @@ export {
10383
10564
  scoreContinuity,
10384
10565
  scoreFromEvals,
10385
10566
  scoreKnowledgeReadiness,
10567
+ scorePolicyEditReadiness,
10386
10568
  scorePrReviewComments,
10387
10569
  scorePrReviewSource,
10388
10570
  scoreRedTeamOutput,
@@ -10432,6 +10614,7 @@ export {
10432
10614
  urlContains,
10433
10615
  userQuestionsForKnowledgeGaps,
10434
10616
  validateAgentProfileCell,
10617
+ validatePolicyEdit,
10435
10618
  validateRunRecord,
10436
10619
  verbosityBias,
10437
10620
  verifyAgentProfileCell,
@@ -10449,6 +10632,7 @@ export {
10449
10632
  wilcoxonSignedRank,
10450
10633
  wilson,
10451
10634
  withAssignedFeedbackSplit,
10635
+ withHeldoutBlend,
10452
10636
  withJudgeRetry,
10453
10637
  withOtelPipeline,
10454
10638
  wranglerDeployRunner