@tangle-network/agent-eval 0.100.0 → 0.100.2

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 (88) 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 +35 -27
  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/hosted/index.d.ts +4 -4
  47. package/dist/{index-_Y4oNOOb.d.ts → index-W96macmS.d.ts} +1 -1
  48. package/dist/index.d.ts +68 -22
  49. package/dist/index.js +113 -43
  50. package/dist/index.js.map +1 -1
  51. package/dist/{insight-report-BnRjTibG.d.ts → insight-report-C02J3q4T.d.ts} +1 -1
  52. package/dist/{kind-factory-X3eDYbKn.d.ts → kind-factory-OgqQSvLi.d.ts} +1 -1
  53. package/dist/meta-eval/index.d.ts +2 -2
  54. package/dist/multishot/index.d.ts +2 -2
  55. package/dist/openapi.json +1 -1
  56. package/dist/policy-edit-Dccm9tyA.d.ts +103 -0
  57. package/dist/{pre-registration-CMm8cvrh.d.ts → pre-registration-DB8oDqZJ.d.ts} +3 -3
  58. package/dist/{provenance-Bg_RttR8.d.ts → provenance-B0SZw1z2.d.ts} +3 -3
  59. package/dist/{release-report-pidWUMZ2.d.ts → release-report-B1tA6pKu.d.ts} +2 -2
  60. package/dist/reporting.d.ts +4 -4
  61. package/dist/{researcher-Jr8ME1dZ.d.ts → researcher-Ba2y1Foi.d.ts} +2 -2
  62. package/dist/rl.d.ts +8 -8
  63. package/dist/rl.js +3 -2
  64. package/dist/rl.js.map +1 -1
  65. package/dist/{rubric-predictive-validity-C2hDKM8Z.d.ts → rubric-predictive-validity-w7tun-q3.d.ts} +1 -1
  66. package/dist/{run-record-CP2ObebC.d.ts → run-record-DEwidcqn.d.ts} +1 -1
  67. package/dist/{runtime-trajectory-BOUUjI0y.d.ts → runtime-trajectory-OJDaTYHN.d.ts} +1 -1
  68. package/dist/{semantic-concept-judge-DSBB2Cfp.d.ts → semantic-concept-judge-J8xvjdc3.d.ts} +2 -2
  69. package/dist/{summary-report-CInXwsza.d.ts → summary-report-C4uzRWh8.d.ts} +1 -1
  70. package/dist/traces.d.ts +1 -1
  71. package/dist/traces.js +4 -3
  72. package/dist/{types-B5x54y6n.d.ts → types-BEzCBMQD.d.ts} +2 -2
  73. package/dist/{types-BTI16iFl.d.ts → types-Cv1bo4_a.d.ts} +1 -1
  74. package/dist/workflow/index.d.ts +4 -4
  75. package/dist/workflow/index.js +2 -1
  76. package/dist/workflow/index.js.map +1 -1
  77. package/package.json +1 -1
  78. package/dist/chunk-BUTW4RGG.js +0 -32
  79. package/dist/chunk-BUTW4RGG.js.map +0 -1
  80. package/dist/chunk-LO6IOIJ2.js.map +0 -1
  81. package/dist/chunk-S4SYLDFX.js.map +0 -1
  82. package/dist/chunk-WMBLMTUE.js.map +0 -1
  83. /package/dist/{chunk-NZEQVRH5.js.map → chunk-BOETF6BU.js.map} +0 -0
  84. /package/dist/{chunk-GMGRBNVT.js.map → chunk-G7IB3GJ5.js.map} +0 -0
  85. /package/dist/{chunk-SJISCGWD.js.map → chunk-JU6ZX3CX.js.map} +0 -0
  86. /package/dist/{chunk-3NHEO6ZC.js.map → chunk-L5TVEZFT.js.map} +0 -0
  87. /package/dist/{chunk-77T4STFI.js.map → chunk-PMF5WIBX.js.map} +0 -0
  88. /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,7 +133,7 @@ import {
133
133
  defaultIsMaterial,
134
134
  diffFindings,
135
135
  runSemanticConceptJudge
136
- } from "./chunk-SJISCGWD.js";
136
+ } from "./chunk-JU6ZX3CX.js";
137
137
  import {
138
138
  LockedJsonlAppender,
139
139
  Mutex
@@ -141,12 +141,24 @@ import {
141
141
  import {
142
142
  buildDefaultAnalystRegistry,
143
143
  computeTraceMetrics
144
- } from "./chunk-3NHEO6ZC.js";
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,
@@ -4477,9 +4491,9 @@ function median(sorted) {
4477
4491
  const mid = Math.floor(n / 2);
4478
4492
  return n % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid];
4479
4493
  }
4480
- function stddev(values, mean5) {
4494
+ function stddev(values, mean6) {
4481
4495
  if (values.length < 2) return 0;
4482
- const variance = values.reduce((acc, v) => acc + (v - mean5) ** 2, 0) / values.length;
4496
+ const variance = values.reduce((acc, v) => acc + (v - mean6) ** 2, 0) / values.length;
4483
4497
  return Math.sqrt(variance);
4484
4498
  }
4485
4499
  function computeExperimentStats(reps, thresholds) {
@@ -4505,15 +4519,15 @@ function computeExperimentStats(reps, thresholds) {
4505
4519
  return r.score;
4506
4520
  });
4507
4521
  const sorted = [...scores2].sort((a, b) => a - b);
4508
- const mean5 = scores2.reduce((s, v) => s + v, 0) / n;
4509
- const sd = stddev(scores2, mean5);
4522
+ const mean6 = scores2.reduce((s, v) => s + v, 0) / n;
4523
+ const sd = stddev(scores2, mean6);
4510
4524
  const spread = iqr(scores2);
4511
4525
  const rated = reps.filter((r) => typeof r.passed === "boolean");
4512
4526
  const passRate = rated.length === 0 ? null : rated.filter((r) => r.passed).length / rated.length;
4513
4527
  const stable = spread < t.iqrUnstableAbove && sd < t.stddevUnstableAbove;
4514
4528
  return {
4515
4529
  median: median(sorted),
4516
- mean: mean5,
4530
+ mean: mean6,
4517
4531
  min: sorted[0],
4518
4532
  max: sorted[n - 1],
4519
4533
  iqr: spread,
@@ -4683,6 +4697,49 @@ var ExperimentTracker = class {
4683
4697
  }
4684
4698
  };
4685
4699
 
4700
+ // src/leaderboard.ts
4701
+ function mean3(xs) {
4702
+ return xs.length ? xs.reduce((a, b) => a + b, 0) / xs.length : null;
4703
+ }
4704
+ function leaderboard(records, opts) {
4705
+ const keyOf = opts.groupBy ?? ((r) => r.agentProfile?.cellId ?? "ungrouped");
4706
+ const groups = /* @__PURE__ */ new Map();
4707
+ for (const r of records) {
4708
+ const k = keyOf(r);
4709
+ const g = groups.get(k);
4710
+ if (g) g.push(r);
4711
+ else groups.set(k, [r]);
4712
+ }
4713
+ const rows = [...groups.entries()].map(([key, rs]) => {
4714
+ const passes = rs.filter((r) => opts.passed(r)).length;
4715
+ const ci = wilson(passes, rs.length);
4716
+ const profile = rs[0].agentProfile;
4717
+ const harness = profile?.harness?.id;
4718
+ const model = profile?.model;
4719
+ return {
4720
+ key,
4721
+ label: harness && model ? `${harness} \xB7 ${model}` : key,
4722
+ ...harness ? { harness } : {},
4723
+ ...model ? { model } : {},
4724
+ rank: 0,
4725
+ n: rs.length,
4726
+ passRate: ci.estimate,
4727
+ passRateCi95: [ci.lower, ci.upper],
4728
+ meanCostUsd: mean3(rs.map((r) => r.costUsd)),
4729
+ meanTokensIn: mean3(rs.map((r) => r.tokenUsage.input)),
4730
+ meanTokensOut: mean3(rs.map((r) => r.tokenUsage.output)),
4731
+ meanWallMs: mean3(rs.map((r) => r.wallMs))
4732
+ };
4733
+ });
4734
+ rows.sort(
4735
+ (a, b) => b.passRate - a.passRate || (a.meanCostUsd ?? Infinity) - (b.meanCostUsd ?? Infinity)
4736
+ );
4737
+ rows.forEach((row, i) => {
4738
+ row.rank = i + 1;
4739
+ });
4740
+ return rows;
4741
+ }
4742
+
4686
4743
  // src/muffled-gate-scanner.ts
4687
4744
  import { existsSync, readdirSync, readFileSync, statSync } from "fs";
4688
4745
  import { join } from "path";
@@ -6228,12 +6285,12 @@ async function paraphraseRobustness(prompt, mutators, scoreFn, options = {}) {
6228
6285
  variantScores.push({ mutator: id, score, mutated });
6229
6286
  all.push(score);
6230
6287
  }
6231
- const mean5 = all.reduce((a, b) => a + b, 0) / all.length;
6232
- const variance = all.reduce((a, v) => a + (v - mean5) ** 2, 0) / all.length;
6288
+ const mean6 = all.reduce((a, b) => a + b, 0) / all.length;
6289
+ const variance = all.reduce((a, v) => a + (v - mean6) ** 2, 0) / all.length;
6233
6290
  const stdDev = Math.sqrt(variance);
6234
- const ref = Math.abs(mean5) > 1e-9 ? Math.abs(mean5) : 1;
6291
+ const ref = Math.abs(mean6) > 1e-9 ? Math.abs(mean6) : 1;
6235
6292
  const robustness = Math.max(0, 1 - stdDev / ref);
6236
- return { originalScore, variantScores, meanScore: mean5, stdDev, robustness };
6293
+ return { originalScore, variantScores, meanScore: mean6, stdDev, robustness };
6237
6294
  }
6238
6295
  var lowercaseMutator = (p) => p.toLowerCase();
6239
6296
  var sentenceReorderMutator = (p, seed) => {
@@ -6299,8 +6356,8 @@ async function paraphraseRobustnessScenarios(args) {
6299
6356
  });
6300
6357
  scores2.push(out.score);
6301
6358
  }
6302
- const mean5 = scores2.reduce((a, b) => a + b, 0) / scores2.length;
6303
- deltas[m.name] = mean5 - originalScore;
6359
+ const mean6 = scores2.reduce((a, b) => a + b, 0) / scores2.length;
6360
+ deltas[m.name] = mean6 - originalScore;
6304
6361
  paraphrasedAll.push(...scores2);
6305
6362
  }
6306
6363
  const paraphrasedMean = paraphrasedAll.length === 0 ? originalScore : paraphrasedAll.reduce((a, b) => a + b, 0) / paraphrasedAll.length;
@@ -6634,8 +6691,8 @@ async function proposeSynthesisTargets(dataset, traceStore, options = {}) {
6634
6691
  const sRuns = runs.filter((r) => r.scenarioId === s.id);
6635
6692
  const scores2 = sRuns.map((r) => r.outcome?.score).filter((x) => typeof x === "number");
6636
6693
  if (scores2.length < 3) continue;
6637
- const mean5 = scores2.reduce((a, b) => a + b, 0) / scores2.length;
6638
- const variance = scores2.reduce((a, b) => a + (b - mean5) ** 2, 0) / scores2.length;
6694
+ const mean6 = scores2.reduce((a, b) => a + b, 0) / scores2.length;
6695
+ const variance = scores2.reduce((a, b) => a + (b - mean6) ** 2, 0) / scores2.length;
6639
6696
  if (variance > varianceThreshold) {
6640
6697
  targets.push({
6641
6698
  reason: "high-variance",
@@ -8090,7 +8147,7 @@ function decideReferenceReplayPromotion(baseline, candidate, policy = {}) {
8090
8147
  regressions
8091
8148
  };
8092
8149
  }
8093
- const requiredMeanDelta = mean3(compared.map((item) => item.f1Delta));
8150
+ const requiredMeanDelta = mean4(compared.map((item) => item.f1Delta));
8094
8151
  if (requiredMeanDelta < minF1Delta) {
8095
8152
  return {
8096
8153
  promote: false,
@@ -8326,7 +8383,7 @@ function clamp012(value) {
8326
8383
  function sum2(values) {
8327
8384
  return values.reduce((acc, value) => acc + value, 0);
8328
8385
  }
8329
- function mean3(values) {
8386
+ function mean4(values) {
8330
8387
  return values.length ? sum2(values) / values.length : 0;
8331
8388
  }
8332
8389
  function formatPct(value) {
@@ -8780,10 +8837,10 @@ var HeldOutGate = class {
8780
8837
  afterHoldout.push(run.outcome.holdoutScore);
8781
8838
  }
8782
8839
  const productiveRuns = beforeHoldout.length;
8783
- const candidateSearchMean = mean4(scores(candidate, "searchScore", "search"));
8784
- const candidateHoldoutMean = mean4(scores(candidate, "holdoutScore", "holdout"));
8785
- const baselineSearchMean = mean4(scores(baseline, "searchScore", "search"));
8786
- const baselineHoldoutMean = mean4(scores(baseline, "holdoutScore", "holdout"));
8840
+ const candidateSearchMean = mean5(scores(candidate, "searchScore", "search"));
8841
+ const candidateHoldoutMean = mean5(scores(candidate, "holdoutScore", "holdout"));
8842
+ const baselineSearchMean = mean5(scores(baseline, "searchScore", "search"));
8843
+ const baselineHoldoutMean = mean5(scores(baseline, "holdoutScore", "holdout"));
8787
8844
  const overfitGap = safeDiff(candidateSearchMean, candidateHoldoutMean);
8788
8845
  const baselineOverfitGap = safeDiff(baselineSearchMean, baselineHoldoutMean);
8789
8846
  const medianCandidateCost = medianFinite(candidate.map((r) => r.costUsd));
@@ -8895,7 +8952,7 @@ function scores(runs, field, splitFilter) {
8895
8952
  }
8896
8953
  return out;
8897
8954
  }
8898
- function mean4(xs) {
8955
+ function mean5(xs) {
8899
8956
  if (xs.length === 0) return Number.NaN;
8900
8957
  return xs.reduce((s, x) => s + x, 0) / xs.length;
8901
8958
  }
@@ -8935,9 +8992,9 @@ function passOrthogonality(input) {
8935
8992
  sims.push(cosineSimilarity(vectors[i], vectors[j]));
8936
8993
  }
8937
8994
  }
8938
- const mean5 = sims.length === 0 ? 0 : sims.reduce((a, b) => a + b, 0) / sims.length;
8995
+ const mean6 = sims.length === 0 ? 0 : sims.reduce((a, b) => a + b, 0) / sims.length;
8939
8996
  return {
8940
- orthogonality: Math.max(0, Math.min(1, 1 - mean5)),
8997
+ orthogonality: Math.max(0, Math.min(1, 1 - mean6)),
8941
8998
  passCount: passes.length,
8942
8999
  similarities: sims
8943
9000
  };
@@ -10126,7 +10183,10 @@ export {
10126
10183
  OPENINFERENCE_SPAN_KIND,
10127
10184
  OTEL_AGENT_EVAL_SCOPE,
10128
10185
  OtlpFileTraceStore,
10186
+ POLICY_EDIT_AXES,
10187
+ POLICY_EDIT_TARGET_SURFACES,
10129
10188
  PairwiseSteeringOptimizer,
10189
+ PolicyEditValidationError,
10130
10190
  ProductClient,
10131
10191
  PromptRegistry,
10132
10192
  REDACTION_VERSION,
@@ -10165,6 +10225,7 @@ export {
10165
10225
  ValidationError,
10166
10226
  VerificationError,
10167
10227
  acquisitionPlansForKnowledgeGaps,
10228
+ admitPolicyEdit,
10168
10229
  adversarialJudge,
10169
10230
  agentProfileCellHashMaterial,
10170
10231
  agentProfileCellKey,
@@ -10181,6 +10242,7 @@ export {
10181
10242
  analyzeSeries,
10182
10243
  analyzeTraces,
10183
10244
  appendScorecard,
10245
+ applyPolicyEditToSurface,
10184
10246
  argHash,
10185
10247
  asNumber,
10186
10248
  asString,
@@ -10255,6 +10317,7 @@ export {
10255
10317
  composeValidators,
10256
10318
  computeExperimentStats,
10257
10319
  computeFindingId,
10320
+ computePolicyEditId,
10258
10321
  computeToolUseMetrics,
10259
10322
  computeTraceMetrics,
10260
10323
  confidenceInterval,
@@ -10393,6 +10456,7 @@ export {
10393
10456
  isLlmSpan,
10394
10457
  isModelPriced,
10395
10458
  isOtelConfigured,
10459
+ isPolicyEdit,
10396
10460
  isRetrievalSpan,
10397
10461
  isRunRecord,
10398
10462
  isSandboxSpan,
@@ -10410,6 +10474,7 @@ export {
10410
10474
  judgeSpans,
10411
10475
  keyPreserved,
10412
10476
  knowledgeReadinessTracePayload,
10477
+ leaderboard,
10413
10478
  linterJudge,
10414
10479
  llmJudge,
10415
10480
  llmSpanFromProvider,
@@ -10421,6 +10486,7 @@ export {
10421
10486
  lowercaseMutator,
10422
10487
  makeEvalTools,
10423
10488
  makeFinding,
10489
+ makePolicyEdit,
10424
10490
  mannWhitneyU,
10425
10491
  matchGoldens,
10426
10492
  matchSpan,
@@ -10465,6 +10531,8 @@ export {
10465
10531
  pearsonR,
10466
10532
  pixelDeltaRatio,
10467
10533
  planTraceInsightQuestions,
10534
+ policyEditFromFinding,
10535
+ policyEditsFromFindings,
10468
10536
  politenessPrefixMutator,
10469
10537
  positionalBias,
10470
10538
  preflightModels,
@@ -10540,6 +10608,7 @@ export {
10540
10608
  scoreContinuity,
10541
10609
  scoreFromEvals,
10542
10610
  scoreKnowledgeReadiness,
10611
+ scorePolicyEditReadiness,
10543
10612
  scorePrReviewComments,
10544
10613
  scorePrReviewSource,
10545
10614
  scoreRedTeamOutput,
@@ -10589,6 +10658,7 @@ export {
10589
10658
  urlContains,
10590
10659
  userQuestionsForKnowledgeGaps,
10591
10660
  validateAgentProfileCell,
10661
+ validatePolicyEdit,
10592
10662
  validateRunRecord,
10593
10663
  verbosityBias,
10594
10664
  verifyAgentProfileCell,