@tangle-network/agent-eval 0.185.0 → 0.186.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.
Files changed (87) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/adapters/http.d.ts +1 -1
  3. package/dist/analyst/index.d.ts +5 -5
  4. package/dist/analyst/index.js +1 -1
  5. package/dist/{analyze-runs-sTygaDyD.js → analyze-runs-DCY7LMt4.js} +2 -2
  6. package/dist/{analyze-runs-sTygaDyD.js.map → analyze-runs-DCY7LMt4.js.map} +1 -1
  7. package/dist/{analyze-runs-CrYhqXop.d.ts → analyze-runs-DapYZz02.d.ts} +3 -3
  8. package/dist/{analyze-runs-CrYhqXop.d.ts.map → analyze-runs-DapYZz02.d.ts.map} +1 -1
  9. package/dist/{benchmark-command-kvq7yFY4.js → benchmark-command-tBgs-_AM.js} +2 -2
  10. package/dist/{benchmark-command-kvq7yFY4.js.map → benchmark-command-tBgs-_AM.js.map} +1 -1
  11. package/dist/benchmarks/index.d.ts +1 -1
  12. package/dist/benchmarks/index.js +2 -2
  13. package/dist/campaign/index.d.ts +2 -2
  14. package/dist/campaign/index.js +7 -7
  15. package/dist/{campaign-eJgtRs-W.js → campaign-DlxdTOvw.js} +7 -7
  16. package/dist/{campaign-eJgtRs-W.js.map → campaign-DlxdTOvw.js.map} +1 -1
  17. package/dist/{campaign-evidence-BsrCmBSE.js → campaign-evidence-IF1p0oDa.js} +2 -2
  18. package/dist/{campaign-evidence-BsrCmBSE.js.map → campaign-evidence-IF1p0oDa.js.map} +1 -1
  19. package/dist/cli.js +1 -1
  20. package/dist/{client-Bc8LANCG.d.ts → client-DCc7a8ZC.d.ts} +2 -2
  21. package/dist/{client-Bc8LANCG.d.ts.map → client-DCc7a8ZC.d.ts.map} +1 -1
  22. package/dist/contract/index.d.ts +8 -8
  23. package/dist/contract/index.js +8 -8
  24. package/dist/{default-registry-CXv9kHMt.d.ts → default-registry-DMxeb4GD.d.ts} +3 -3
  25. package/dist/{default-registry-CXv9kHMt.d.ts.map → default-registry-DMxeb4GD.d.ts.map} +1 -1
  26. package/dist/{define-agent-eval-D4uumjl3.js → define-agent-eval-C0EqJ9Gz.js} +4 -4
  27. package/dist/{define-agent-eval-D4uumjl3.js.map → define-agent-eval-C0EqJ9Gz.js.map} +1 -1
  28. package/dist/{define-agent-eval-DE67ECH1.d.ts → define-agent-eval-CGBwPPaq.d.ts} +5 -5
  29. package/dist/{define-agent-eval-DE67ECH1.d.ts.map → define-agent-eval-CGBwPPaq.d.ts.map} +1 -1
  30. package/dist/diagnosis/index.d.ts +1 -1
  31. package/dist/diagnosis/index.js +1 -1
  32. package/dist/{engine-cXUK-WHS.d.ts → engine-DNlKhIm0.d.ts} +2 -2
  33. package/dist/{engine-cXUK-WHS.d.ts.map → engine-DNlKhIm0.d.ts.map} +1 -1
  34. package/dist/experiment/index.d.ts +2 -2
  35. package/dist/experiment/index.js +4 -4
  36. package/dist/hosted/index.d.ts +2 -2
  37. package/dist/{index-ww8736Am.d.ts → index-BRsrfSHT.d.ts} +4 -4
  38. package/dist/{index-ww8736Am.d.ts.map → index-BRsrfSHT.d.ts.map} +1 -1
  39. package/dist/{index-C8_iU8KL.d.ts → index-C8jCAOTT.d.ts} +3 -3
  40. package/dist/{index-C8_iU8KL.d.ts.map → index-C8jCAOTT.d.ts.map} +1 -1
  41. package/dist/{index-BQWfAFeH.d.ts → index-YZrbnBSV.d.ts} +8 -8
  42. package/dist/{index-BQWfAFeH.d.ts.map → index-YZrbnBSV.d.ts.map} +1 -1
  43. package/dist/index.d.ts +171 -14
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +291 -7
  46. package/dist/index.js.map +1 -1
  47. package/dist/{insight-report-C3Bfl762.d.ts → insight-report-DpOo-3iL.d.ts} +2 -2
  48. package/dist/{insight-report-C3Bfl762.d.ts.map → insight-report-DpOo-3iL.d.ts.map} +1 -1
  49. package/dist/{llm-judge-FWWhEb31.js → llm-judge-BVso5x-u.js} +4 -4
  50. package/dist/{llm-judge-FWWhEb31.js.map → llm-judge-BVso5x-u.js.map} +1 -1
  51. package/dist/openapi.json +1 -1
  52. package/dist/{paired-promotion-decision-ClJh_9nK.js → paired-promotion-decision-6cn3bLc3.js} +9 -3
  53. package/dist/paired-promotion-decision-6cn3bLc3.js.map +1 -0
  54. package/dist/{paired-promotion-decision-DPsMQm-0.d.ts → paired-promotion-decision-DPKz8ZnF.d.ts} +13 -1
  55. package/dist/{paired-promotion-decision-DPsMQm-0.d.ts.map → paired-promotion-decision-DPKz8ZnF.d.ts.map} +1 -1
  56. package/dist/{produced-state-CmB02tr2.js → produced-state-Cn9ECr4v.js} +3 -3
  57. package/dist/{produced-state-CmB02tr2.js.map → produced-state-Cn9ECr4v.js.map} +1 -1
  58. package/dist/{promotion-policy-DdrYWHDh.js → promotion-policy-CfMNUro2.js} +3 -3
  59. package/dist/{promotion-policy-DdrYWHDh.js.map → promotion-policy-CfMNUro2.js.map} +1 -1
  60. package/dist/{release-confidence-DsETiO4f.d.ts → release-confidence-CSp3MsU4.d.ts} +2 -2
  61. package/dist/{release-confidence-DsETiO4f.d.ts.map → release-confidence-CSp3MsU4.d.ts.map} +1 -1
  62. package/dist/reporting.d.ts +3 -3
  63. package/dist/{researcher-CJkH-6Ty.d.ts → researcher-D7E92STT.d.ts} +2 -2
  64. package/dist/{researcher-CJkH-6Ty.d.ts.map → researcher-D7E92STT.d.ts.map} +1 -1
  65. package/dist/rl.d.ts +2 -2
  66. package/dist/rl.js +1 -1
  67. package/dist/{sequential-PgLEqcTJ.js → sequential-lwJOTRON.js} +2 -2
  68. package/dist/{sequential-PgLEqcTJ.js.map → sequential-lwJOTRON.js.map} +1 -1
  69. package/dist/{skillopt-optimization-method-FSk8b5FQ.js → skillopt-optimization-method-Cc9SVLqi.js} +4 -4
  70. package/dist/{skillopt-optimization-method-FSk8b5FQ.js.map → skillopt-optimization-method-Cc9SVLqi.js.map} +1 -1
  71. package/dist/{statistical-heldout-Bu4oNOJh.d.ts → statistical-heldout-DTmhTW8P.d.ts} +2 -2
  72. package/dist/{statistical-heldout-Bu4oNOJh.d.ts.map → statistical-heldout-DTmhTW8P.d.ts.map} +1 -1
  73. package/dist/{statistical-heldout-CeWT_W7y.js → statistical-heldout-GcLIPxk4.js} +2 -2
  74. package/dist/{statistical-heldout-CeWT_W7y.js.map → statistical-heldout-GcLIPxk4.js.map} +1 -1
  75. package/dist/{store-tool-spans-BrdfPaVh.d.ts → store-tool-spans-B3bX9yqn.d.ts} +3 -3
  76. package/dist/{store-tool-spans-BrdfPaVh.d.ts.map → store-tool-spans-B3bX9yqn.d.ts.map} +1 -1
  77. package/dist/{summary-report-BzFS5UhZ.d.ts → summary-report-Iy6kXo8x.d.ts} +2 -2
  78. package/dist/{summary-report-BzFS5UhZ.d.ts.map → summary-report-Iy6kXo8x.d.ts.map} +1 -1
  79. package/dist/{tool-groups-eOOgYGaM.d.ts → tool-groups-veQYPiTy.d.ts} +2 -2
  80. package/dist/tool-groups-veQYPiTy.d.ts.map +1 -0
  81. package/dist/trace-repair/index.d.ts +1 -1
  82. package/dist/traces.d.ts +2 -2
  83. package/docs/design/statistics-decisions.md +6 -0
  84. package/docs/public-api.md +2 -0
  85. package/package.json +1 -1
  86. package/dist/paired-promotion-decision-ClJh_9nK.js.map +0 -1
  87. package/dist/tool-groups-eOOgYGaM.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { i as JudgeError, o as NotFoundError, r as ConfigError, s as ValidationError, t as AgentEvalError } from "./errors-Dngq5h35.js";
3
3
  import { a as hashCanonical, r as canonicalString } from "./canonical-BsZVgBhW.js";
4
- import { a as CODING_HARNESSES, c as agentProfileId, d as harnessAxisOf, i as verifyCompletion, l as agentProfileModelId, n as completionVerdict, o as HARNESS_NATIVE_MODEL, r as createLlmCorrectnessChecker, s as agentProfileHash, t as extractProducedState, u as expandProfileAxes } from "./produced-state-CmB02tr2.js";
4
+ import { a as CODING_HARNESSES, c as agentProfileId, d as harnessAxisOf, i as verifyCompletion, l as agentProfileModelId, n as completionVerdict, o as HARNESS_NATIVE_MODEL, r as createLlmCorrectnessChecker, s as agentProfileHash, t as extractProducedState, u as expandProfileAxes } from "./produced-state-Cn9ECr4v.js";
5
5
  import { c as groupRunsByAgentProfileCell, d as validateAgentProfileCell, f as verifyAgentProfileCell, h as manifestContentDigest, i as agentProfileCellKey, m as hashJson, r as agentProfileCellHashMaterial, s as buildAgentProfileCell, t as AGENT_PROFILE_KINDS, u as toAgentProfileJson } from "./agent-profile-cell-DcFW4vOc.js";
6
6
  import { t as mulberry32 } from "./random-Dn5fPWkt.js";
7
7
  import { a as spearmanR, c as weightedMean, i as ranks, n as partialCredit, o as summarizeNumberSeries, r as pearsonR, s as weightedComposite, t as confidenceInterval } from "./descriptive-1V17A-qa.js";
@@ -13,21 +13,21 @@ import { _ as passAtK, a as MANN_WHITNEY_EXACT_MAX_STATES, c as mannWhitneyU, d
13
13
  import { a as pairedSignTest, i as pairedDeltaTieFraction, n as DECISION_PAIRED_DELTA_STATISTIC, o as pairedTTest, r as pairedBootstrap, t as BOOTSTRAP_GATE_MIN_N } from "./paired-tests-C8iCsioC.js";
14
14
  import { t as eProcess } from "./sequential-eprocess-D1jKoihe.js";
15
15
  import { n as iqr, r as welchsTTest } from "./baseline-BC-eBZ7U.js";
16
- import { i as pairedDeltaTest, n as pairedDecisionShape, r as minimumPairsForPairedDeltaTest, t as decidePairedPromotion } from "./paired-promotion-decision-ClJh_9nK.js";
16
+ import { i as pairedDeltaTest, n as pairedDecisionShape, r as minimumPairsForPairedDeltaTest, t as decidePairedPromotion } from "./paired-promotion-decision-6cn3bLc3.js";
17
17
  import { a as isToolSpan, i as isLlmSpan, r as isJudgeSpan, t as FAILURE_CLASSES } from "./schema-CSf6qWgZ.js";
18
18
  import { d as runsForScenario, r as argHash, s as judgeSpans } from "./query-DlV0pdx4.js";
19
- import { r as checkCanaries, t as analyzeRuns } from "./analyze-runs-sTygaDyD.js";
19
+ import { r as checkCanaries, t as analyzeRuns } from "./analyze-runs-DCY7LMt4.js";
20
20
  import { r as observedSplitScore, t as isRealnessGated } from "./reward-nw2xZGZG.js";
21
21
  import { a as parseRunRecordSafe, c as validateRunRecord, i as modelHasSnapshot, n as UNKNOWN_MODEL, o as roundTripRunRecord, r as isRunRecord, s as runTaskScore, t as RunRecordValidationError } from "./run-record-tg_5H2IK.js";
22
22
  import { a as summaryTable, n as gainHistogram, r as paretoChart } from "./summary-report-BMvou2oZ.js";
23
23
  import { n as contentHash, r as fileVerdictCache, t as canonicalJson } from "./verdict-cache-BQEsVy9n.js";
24
- import { B as DEFAULT_RED_TEAM_CORPUS, H as redTeamReport, N as dominates, P as paretoFrontier, U as scoreRedTeamOutput, V as redTeamDataset, W as runCanaries, X as runCampaign, a as transientDispatchFailure, i as quotaExhaustedUntil, o as aggregateRunScore, s as clamp01, t as llmJudge } from "./llm-judge-FWWhEb31.js";
24
+ import { B as DEFAULT_RED_TEAM_CORPUS, H as redTeamReport, N as dominates, P as paretoFrontier, U as scoreRedTeamOutput, V as redTeamDataset, W as runCanaries, X as runCampaign, a as transientDispatchFailure, i as quotaExhaustedUntil, o as aggregateRunScore, s as clamp01, t as llmJudge } from "./llm-judge-BVso5x-u.js";
25
25
  import { a as resolveModelPricing, i as isModelPriced, n as estimateCost, r as estimateTokens, t as MODEL_PRICING } from "./metrics-DOMpkoeb.js";
26
26
  import { a as CostLedgerPersistenceError, c as costForTokenPricing, i as CostLedger, l as costForUsage, n as CostCallConflictError, o as CostReceiptCaptureError, r as CostCeilingReachedError, s as CostReservationExceededError, t as CostAccountingIncompleteError, u as modelPriceKey } from "./cost-ledger-_IbkejCF.js";
27
- import { D as parseReflectionResponse, E as buildReflectionPrompt, G as summarizeBackendIntegrity, U as BackendIntegrityError, W as assertRealBackend, c as ATTESTATION_ALGORITHM, l as attest, u as verifyAttestation, z as surfaceContentHash } from "./campaign-evidence-BsrCmBSE.js";
27
+ import { D as parseReflectionResponse, E as buildReflectionPrompt, G as summarizeBackendIntegrity, U as BackendIntegrityError, W as assertRealBackend, c as ATTESTATION_ALGORITHM, l as attest, u as verifyAttestation, z as surfaceContentHash } from "./campaign-evidence-IF1p0oDa.js";
28
28
  import { n as REDACTION_VERSION, r as redactString, t as DEFAULT_REDACTION_RULES } from "./redact-7Aq1ukl-.js";
29
29
  import { i as makeProposalFinding, n as computeFindingId, r as makeFinding } from "./types-C8VBbiw6.js";
30
- import { r as selfImprove, t as defineAgentEval } from "./define-agent-eval-D4uumjl3.js";
30
+ import { r as selfImprove, t as defineAgentEval } from "./define-agent-eval-C0EqJ9Gz.js";
31
31
  import { n as equivalenceVerdict, t as certificationEvidenceDigest } from "./verdict-DhPoXApk.js";
32
32
  import { t as TraceEmitter } from "./emitter-DeQHiDMm.js";
33
33
  import { t as buildTrajectory } from "./trajectory-D_7rLrvE.js";
@@ -7406,6 +7406,290 @@ function isObject(v) {
7406
7406
  return typeof v === "object" && v !== null && !Array.isArray(v);
7407
7407
  }
7408
7408
  //#endregion
7409
+ //#region src/paired-promotion-power.ts
7410
+ /**
7411
+ * @module
7412
+ * Joint power of a configured {@link decidePairedPromotion} call, computed by
7413
+ * running that call on data drawn from a registered alternative.
7414
+ *
7415
+ * Why a simulation and not a formula: `decidePairedPromotion` is not one test.
7416
+ * It routes by sample size (exact sign test below `BOOTSTRAP_GATE_MIN_N`,
7417
+ * paired bootstrap at or above it) and by shape (Tango's score interval on a
7418
+ * two-point outcome), and on top of the deciding interval it applies a
7419
+ * sufficiency floor, a zero-width refusal and McNemar's exact veto. A
7420
+ * preregistration usually seals two such calls, a continuous primary and a
7421
+ * pass/fail veto drawn from the same episodes, and promotes only when both
7422
+ * promote. The sample size at which THAT procedure reaches a target power is
7423
+ * not the power of any one channel: the sign-test power at n can be 0.8 while
7424
+ * the promotion probability is well below it because the veto binds
7425
+ * (agent-eval#785). Closed forms exist for single channels only, and each one
7426
+ * shipped here under-sized the call it stood in for (`mcnemarRequiredN` is
7427
+ * Lachin's normal approximation, 0.65 exact power where it promised 0.8 at 14
7428
+ * pairs; `requiredPairedSampleSize` sizes a paired t the procedure never runs).
7429
+ * So the only faithful power is the procedure's own promotion rate under the
7430
+ * alternative, and that is what this module computes: draw n pairs from the
7431
+ * registered law, run every configured call on them exactly as the caller
7432
+ * will, repeat, count.
7433
+ *
7434
+ * The alternative is DECLARATIVE and serializable, never a sampler function,
7435
+ * so a preregistration can seal it as bytes: a mixture of cells, each with a
7436
+ * probability, an optional pass/fail outcome per arm for the binary calls,
7437
+ * and a law for the candidate-minus-baseline delta on the continuous scale.
7438
+ * Drawing the cell first and the delta given the cell is what makes the two
7439
+ * channels one joint law rather than two marginals.
7440
+ *
7441
+ * Everything is seeded (`mulberry32`), so a sizing is reproducible from its
7442
+ * inputs, and every estimate carries its Monte Carlo standard error and a
7443
+ * Wilson interval: a power read at 0.80 from 1,000 simulations is 0.80 ± 0.013.
7444
+ */
7445
+ /**
7446
+ * Joint power of the configured calls at `n` under the registered alternative:
7447
+ * the fraction of simulated data sets on which every call promotes.
7448
+ */
7449
+ function pairedPromotionPower(options) {
7450
+ const n = options.n;
7451
+ if (!Number.isInteger(n) || n < 1) throw new Error(`pairedPromotionPower: n must be a positive integer, got ${n}`);
7452
+ const simulations = options.simulations ?? 1e3;
7453
+ if (!Number.isInteger(simulations) || simulations < 1) throw new Error(`pairedPromotionPower: simulations must be a positive integer, got ${simulations}`);
7454
+ const seed = options.seed ?? 1;
7455
+ if (!Number.isFinite(seed)) throw new Error(`pairedPromotionPower: seed must be finite, got ${seed}`);
7456
+ const calls = validateCalls(options.calls);
7457
+ const alternative = validateAlternative(options.alternative, calls);
7458
+ const rng = mulberry32(seed);
7459
+ let promotions = 0;
7460
+ let refusals = 0;
7461
+ const perCall = calls.map(() => ({
7462
+ promote: 0,
7463
+ insufficient: 0,
7464
+ indeterminate: 0,
7465
+ exactTestVetoes: 0,
7466
+ hold: 0,
7467
+ methods: /* @__PURE__ */ new Map()
7468
+ }));
7469
+ for (let s = 0; s < simulations; s++) {
7470
+ const pairs = drawPairs(alternative, n, rng);
7471
+ let all = true;
7472
+ let anyRefusal = false;
7473
+ for (let c = 0; c < calls.length; c++) {
7474
+ const call = calls[c];
7475
+ const decision = runCall(call, pairs, n);
7476
+ const tally = perCall[c];
7477
+ tally.methods.set(decision.method, (tally.methods.get(decision.method) ?? 0) + 1);
7478
+ if (decision.promote) tally.promote++;
7479
+ else {
7480
+ if (!decision.sufficient) tally.insufficient++;
7481
+ if (decision.indeterminate) tally.indeterminate++;
7482
+ if (decision.exactTestVetoes) tally.exactTestVetoes++;
7483
+ if (decision.sufficient && !decision.indeterminate && !decision.exactTestVetoes) tally.hold++;
7484
+ }
7485
+ if (!decision.promote) all = false;
7486
+ if (!decision.sufficient || decision.indeterminate || decision.exactTestVetoes) anyRefusal = true;
7487
+ }
7488
+ if (all) promotions++;
7489
+ else if (anyRefusal) refusals++;
7490
+ }
7491
+ const power = promotions / simulations;
7492
+ const interval = wilson(promotions, simulations, .95);
7493
+ return {
7494
+ n,
7495
+ simulations,
7496
+ seed,
7497
+ power,
7498
+ standardError: Math.sqrt(power * (1 - power) / simulations),
7499
+ low: interval.lower,
7500
+ high: interval.upper,
7501
+ refuse: refusals / simulations,
7502
+ hold: (simulations - promotions - refusals) / simulations,
7503
+ calls: perCall.map((tally, c) => ({
7504
+ outcome: calls[c].outcome,
7505
+ promote: tally.promote / simulations,
7506
+ insufficient: tally.insufficient / simulations,
7507
+ indeterminate: tally.indeterminate / simulations,
7508
+ exactTestVetoes: tally.exactTestVetoes / simulations,
7509
+ hold: tally.hold / simulations,
7510
+ methods: Object.fromEntries([...tally.methods.entries()].map(([method, count]) => [method, count / simulations]))
7511
+ }))
7512
+ };
7513
+ }
7514
+ /**
7515
+ * First n at which {@link pairedPromotionPower} reaches the target, scanning
7516
+ * every n from `minPairs` upward. Both the point-estimate answer and the
7517
+ * confirmed lower-bound answer are returned; the scan runs until the latter is
7518
+ * reached (so the curve past `n` is retained) or `maxPairs` is exhausted. A
7519
+ * candidate selected by the scan's bound is certified only by an independent
7520
+ * simulation at that n on a different seed; a candidate that fails it is
7521
+ * recorded and the scan continues.
7522
+ */
7523
+ function requiredPairsForPairedPromotion(options) {
7524
+ const target = options.target ?? .8;
7525
+ if (!Number.isFinite(target) || target <= 0 || target >= 1) throw new Error(`requiredPairsForPairedPromotion: target must be in (0,1), got ${target}`);
7526
+ const minPairs = options.minPairs ?? 1;
7527
+ const maxPairs = options.maxPairs ?? 200;
7528
+ if (!Number.isInteger(minPairs) || minPairs < 1) throw new Error(`requiredPairsForPairedPromotion: minPairs must be a positive integer, got ${minPairs}`);
7529
+ if (!Number.isInteger(maxPairs) || maxPairs < minPairs) throw new Error(`requiredPairsForPairedPromotion: maxPairs must be an integer >= minPairs, got ${maxPairs}`);
7530
+ const seed = options.seed ?? 1;
7531
+ const curve = [];
7532
+ const rejected = [];
7533
+ let n = null;
7534
+ let nAtLowerBound = null;
7535
+ let confirmation = null;
7536
+ for (let candidate = minPairs; candidate <= maxPairs; candidate++) {
7537
+ const result = pairedPromotionPower({
7538
+ n: candidate,
7539
+ alternative: options.alternative,
7540
+ calls: options.calls,
7541
+ simulations: options.simulations,
7542
+ seed
7543
+ });
7544
+ curve.push(result);
7545
+ if (n === null && result.power >= target) n = candidate;
7546
+ if (result.low >= target) {
7547
+ const check = pairedPromotionPower({
7548
+ n: candidate,
7549
+ alternative: options.alternative,
7550
+ calls: options.calls,
7551
+ simulations: options.simulations,
7552
+ seed: confirmationSeed(seed, candidate)
7553
+ });
7554
+ if (check.low >= target) {
7555
+ nAtLowerBound = candidate;
7556
+ confirmation = check;
7557
+ break;
7558
+ }
7559
+ rejected.push(check);
7560
+ }
7561
+ }
7562
+ return {
7563
+ target,
7564
+ n,
7565
+ nAtLowerBound,
7566
+ confirmation,
7567
+ curve,
7568
+ rejected
7569
+ };
7570
+ }
7571
+ /** A seed for the confirmation at `n` that never equals the scan seed. */
7572
+ function confirmationSeed(seed, n) {
7573
+ return (Math.imul((seed | 0) ^ 2654435769, 2246822507) + Math.imul(n, 3266489909) | 1) >>> 0;
7574
+ }
7575
+ function drawPairs(alternative, n, rng) {
7576
+ const baseline = alternative.baseline ?? {
7577
+ kind: "point",
7578
+ value: 0
7579
+ };
7580
+ const control = new Array(n);
7581
+ const candidate = new Array(n);
7582
+ const controlPass = new Array(n);
7583
+ const candidatePass = new Array(n);
7584
+ for (let i = 0; i < n; i++) {
7585
+ const cell = drawCell(alternative.cells, rng);
7586
+ const base = drawValue(baseline, rng);
7587
+ control[i] = base;
7588
+ candidate[i] = base + drawValue(cell.delta, rng);
7589
+ controlPass[i] = cell.pass?.control ?? false;
7590
+ candidatePass[i] = cell.pass?.treatment ?? false;
7591
+ }
7592
+ return {
7593
+ control,
7594
+ candidate,
7595
+ controlPass,
7596
+ candidatePass
7597
+ };
7598
+ }
7599
+ function drawCell(cells, rng) {
7600
+ const u = rng();
7601
+ let cumulative = 0;
7602
+ for (const cell of cells) {
7603
+ cumulative += cell.probability;
7604
+ if (u < cumulative) return cell;
7605
+ }
7606
+ return cells[cells.length - 1];
7607
+ }
7608
+ function drawValue(law, rng) {
7609
+ switch (law.kind) {
7610
+ case "point": return law.value;
7611
+ case "atoms": {
7612
+ const u = rng();
7613
+ let cumulative = 0;
7614
+ for (const atom of law.atoms) {
7615
+ cumulative += atom.probability;
7616
+ if (u < cumulative) return atom.value;
7617
+ }
7618
+ return law.atoms[law.atoms.length - 1].value;
7619
+ }
7620
+ case "normal": {
7621
+ const u1 = 1 - rng();
7622
+ const u2 = rng();
7623
+ return law.mean + law.sd * Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);
7624
+ }
7625
+ }
7626
+ }
7627
+ function runCall(call, pairs, n) {
7628
+ const options = {
7629
+ minPairs: n,
7630
+ ...call.options
7631
+ };
7632
+ if (call.outcome === "pass") {
7633
+ const scale = call.options.binaryScale;
7634
+ return decidePairedPromotion(pairs.controlPass.map((p) => p ? scale : 0), pairs.candidatePass.map((p) => p ? scale : 0), options);
7635
+ }
7636
+ return decidePairedPromotion(pairs.control, pairs.candidate, options);
7637
+ }
7638
+ function validateCalls(calls) {
7639
+ if (!Array.isArray(calls) || calls.length === 0) throw new Error("pairedPromotionPower: at least one call is required");
7640
+ calls.forEach((call, i) => {
7641
+ if (call.outcome !== "delta" && call.outcome !== "pass") throw new Error(`pairedPromotionPower: calls[${i}].outcome must be 'delta' or 'pass'`);
7642
+ if (call.options === null || typeof call.options !== "object") throw new Error(`pairedPromotionPower: calls[${i}].options must be an object`);
7643
+ if (call.options.minPairs !== void 0 && (!Number.isInteger(call.options.minPairs) || call.options.minPairs < 1)) throw new Error(`pairedPromotionPower: calls[${i}].options.minPairs must be a positive integer`);
7644
+ if (call.outcome === "pass") {
7645
+ const scale = call.options.binaryScale;
7646
+ if (scale === void 0 || !Number.isFinite(scale) || scale <= 0) throw new Error(`pairedPromotionPower: calls[${i}] is a 'pass' call and must declare a finite positive options.binaryScale`);
7647
+ if (call.options.continuous) throw new Error(`pairedPromotionPower: calls[${i}] is a 'pass' call; continuous cannot accompany it`);
7648
+ if (call.options.statistic === "median") throw new Error(`pairedPromotionPower: calls[${i}] is a 'pass' call; binaryScale requires the mean statistic, not median`);
7649
+ } else if (call.options.binaryScale !== void 0) throw new Error(`pairedPromotionPower: calls[${i}] is a 'delta' call and cannot declare binaryScale; use a 'pass' call for a two-point outcome`);
7650
+ });
7651
+ return calls;
7652
+ }
7653
+ function validateAlternative(alternative, calls) {
7654
+ if (!alternative || !Array.isArray(alternative.cells) || alternative.cells.length === 0) throw new Error("pairedPromotionPower: alternative.cells must be a non-empty array");
7655
+ const needsPass = calls.some((call) => call.outcome === "pass");
7656
+ let total = 0;
7657
+ alternative.cells.forEach((cell, i) => {
7658
+ if (!Number.isFinite(cell.probability) || cell.probability < 0) throw new Error(`pairedPromotionPower: cells[${i}].probability must be a finite number >= 0`);
7659
+ total += cell.probability;
7660
+ if (needsPass) {
7661
+ if (!cell.pass || typeof cell.pass.control !== "boolean" || typeof cell.pass.treatment !== "boolean") throw new Error(`pairedPromotionPower: cells[${i}].pass must give control and treatment booleans when a 'pass' call is configured`);
7662
+ }
7663
+ validateLaw(cell.delta, `cells[${i}].delta`);
7664
+ });
7665
+ if (Math.abs(total - 1) > 1e-9) throw new Error(`pairedPromotionPower: cell probabilities must sum to 1, got ${total}`);
7666
+ if (alternative.baseline !== void 0) validateLaw(alternative.baseline, "baseline");
7667
+ return alternative;
7668
+ }
7669
+ function validateLaw(law, where) {
7670
+ if (!law || typeof law !== "object") throw new Error(`pairedPromotionPower: ${where} must be a law object`);
7671
+ switch (law.kind) {
7672
+ case "point":
7673
+ if (!Number.isFinite(law.value)) throw new Error(`pairedPromotionPower: ${where}.value must be finite`);
7674
+ return;
7675
+ case "atoms": {
7676
+ if (!Array.isArray(law.atoms) || law.atoms.length === 0) throw new Error(`pairedPromotionPower: ${where}.atoms must be a non-empty array`);
7677
+ let total = 0;
7678
+ law.atoms.forEach((atom, i) => {
7679
+ if (!Number.isFinite(atom.value)) throw new Error(`pairedPromotionPower: ${where}.atoms[${i}].value must be finite`);
7680
+ if (!Number.isFinite(atom.probability) || atom.probability < 0) throw new Error(`pairedPromotionPower: ${where}.atoms[${i}].probability must be a finite number >= 0`);
7681
+ total += atom.probability;
7682
+ });
7683
+ if (Math.abs(total - 1) > 1e-9) throw new Error(`pairedPromotionPower: ${where}.atoms probabilities must sum to 1, got ${total}`);
7684
+ return;
7685
+ }
7686
+ case "normal":
7687
+ if (!Number.isFinite(law.mean) || !Number.isFinite(law.sd) || law.sd < 0) throw new Error(`pairedPromotionPower: ${where} needs a finite mean and a finite sd >= 0`);
7688
+ return;
7689
+ default: throw new Error(`pairedPromotionPower: ${where}.kind must be 'point', 'atoms' or 'normal'`);
7690
+ }
7691
+ }
7692
+ //#endregion
7409
7693
  //#region src/treatment-gate.ts
7410
7694
  /**
7411
7695
  * Core predicate. Gated (treatment-not-applied) ONLY when telemetry was
@@ -7975,6 +8259,6 @@ function rankRows(rows, weights) {
7975
8259
  })).sort((a, b) => b.mean - a.mean);
7976
8260
  }
7977
8261
  //#endregion
7978
- export { AGENT_PROFILE_KINDS, ATTESTATION_ALGORITHM, AgentEvalError, AnalystRegistry, BOOTSTRAP_GATE_MIN_N, BackendIntegrityError, BudgetBreachError, BudgetGuard, CODING_HARNESSES, ConfigError, CostAccountingIncompleteError, CostCallConflictError, CostCeilingReachedError, CostLedger, CostLedgerPersistenceError, CostReceiptCaptureError, CostReservationExceededError, CostTracker, CrossFamilyError, DECISION_PAIRED_DELTA_STATISTIC, DEFAULT_BOUNDED_PROCESS_TIMEOUT_MS, DEFAULT_FAILURE_REASON_RULES, DEFAULT_PERMUTATIONS, DEFAULT_REDACTION_RULES, DEFAULT_RED_TEAM_CORPUS, DEFAULT_TRACE_ANALYST_BUDGETS, DEFAULT_TRACE_ANALYST_KINDS, DEFAULT_TRACE_ANALYST_OUTPUT_TOKENS, ERROR_COUNT_PATTERNS, EquivalenceProtocolError, FAILURE_BLAME, FAILURE_CLASSES, FAILURE_MODE_KIND_SPEC, FileSystemFeedbackTrajectoryStore, FileSystemRawProviderSink, FileSystemTraceStore, FindingsStore, HARNESS_NATIVE_MODEL, HeldOutGate, INFRA_FAILURE_BLAMES, InMemoryFeedbackTrajectoryStore, InMemoryRawProviderSink, InMemoryTraceStore, JudgeError, LOCAL_COMMAND_RUNNER_DEFAULT_CAP_MS, LlmCallError, LlmResponseError, MANN_WHITNEY_EXACT_MAX_STATES, MANN_WHITNEY_EXACT_MAX_WORK, MODEL_PRICING, ModelSubstitutionError, MultiLayerVerifier, NoopRawProviderSink, NotFoundError, OUTPUT_VALUE, OtlpFileTraceStore, POLICY_EDIT_AXES, POLICY_EDIT_CANDIDATE_RECORD_SCHEMA, POLICY_EDIT_TARGET_SURFACES, PairwiseSteeringOptimizer, PolicyEditValidationError, ProductClient, PromptRegistry, REDACTION_VERSION, RunIntegrityError, RunRecordValidationError, SEMANTIC_CONCEPT_JUDGE_VERSION, ServedCrossFamilyError, TRACE_ANALYST_TRUNCATION_MARKER_PREFIX, TraceEmitter, UNKNOWN_MODEL, VERIFICATION_STRATEGIES, VERIFICATION_STRATEGY_SOURCES, ValidationError, WILCOXON_EXACT_MAX_N, acquisitionPlansForKnowledgeGaps, admitPolicyEdit, agentProfileCellHashMaterial, agentProfileCellKey, agentProfileHash, agentProfileId, aggregateJudgeVerdicts, aggregateRunScore, analystFindingDigest, analystRunDigest, analystRunToFeedbackTrajectory, analystRunToReviewRequests, analyzeAntiSlop, analyzeRuns, analyzeSeries, analyzeTraces, applyPolicyEditToSurface, argHash, assertCapabilityHeadroom, assertCrossFamily, assertCrossFamilyServed, assertNoHiddenLeak, assertNoJudgeVerdict, assertProductBenchmarkRun, assertRealBackend, assertRunCaptured, assertServedModel, assertServedModels, assertSingleBackend, assignFeedbackSplit, attest, benjaminiHochberg, blendHeldout, blockingKnowledgeEval, bonferroni, bootstrapCi, budgetBreachView, buildAgentProfileCell, buildDefaultAnalystRegistry, buildEquivalenceRecord, buildReflectionPrompt, buildTraceInsightContext, buildTraceInsightPrompt, buildTrajectory, calibrateJudge, calibrateJudgeContinuous, canonicalJson, capabilityHeadroom, captureFetchToRawSink, certificationEvidenceDigest, checkCanaries, checkServedModel, checkTraceContracts, clamp01, classifyFailure, classifyFailureReason, cliffsDelta, cohensD, comparePairedArms, completionVerdict, computeExperimentStats, computeFindingId, computePolicyEditId, computeToolUseMetrics, confidenceInterval, contentHash, continuousAgreement, controlRunToFeedbackTrajectory, corpusInterRaterAgreement, corpusInterRaterAgreementFromJudgeScores, costForTokenPricing, costForUsage, costReceiptFromLlm, costReceiptFromLlmError, createAntiSlopJudge, createBoundedTraceAnalysisStore, createChatClient, createChatTraceEngine, createDspyRlmTraceEngine, createFeedbackTrajectory, createLlmCorrectnessChecker, createLlmReviewer, createTraceAnalyst, decidePairedPromotion, defaultBlendWeights, defineAgentEval, defineEquivalenceCheck, deployGateLayer, describeTraceInsightScope, diffFindings, diffScorecard, discoverPersonas, domainEvidencePattern, dominates, eProcess, ensembleJudge, equivalenceVerdict, errorStreakDetector, estimateCost, estimateTokens, evaluateActionPolicy, evaluateInterimReleaseConfidence, evaluateOracles, evaluateReleaseConfidence, expandProfileAxes, exportProductBenchmark, exportProductBenchmarkRuns, exportRunAsOtlp, extractErrorCount, extractProducedState, extractUsage, extractUsageFromSse, failureBlame, failureClusterView, feedbackTrajectoriesToDatasetScenarios, feedbackTrajectoriesToOptimizerRows, feedbackTrajectoryToOptimizerRow, fileVerdictCache, formatScorecardDiff, gainHistogram, gateTreatmentApplied, gradeOnHidden, gradeSemanticStatus, groupRunsByAgentProfileCell, harnessAxisOf, hashContent, hashJson, hiddenGrade, holm, improvementVerdict, inMemoryReviewStore, inferDomainKeywords, interRaterReliability, interpretCliffs, iqr, isBinaryOutcomeVector, isJudgeSpan, isLlmSpan, isModelPriced, isPolicyEdit, isRunRecord, isToolSpan, isTransientLlmError, jsonShape, jsonlReviewStore, jsonlRunRecordBackend, judgeAgreementView, judgeFamily, judgeSpans, knowledgeReadinessTracePayload, leaderboard, llmJudge, loadScorecard, localCommandRunner, makeFinding, makePolicyEdit, makePolicyEditCandidateRecord, makeProposalFinding, manifestContentDigest, mannWhitneyU, maximumChargeForLlmRequest, mcnemar, mcnemarPower, mcnemarRequiredN, minimumPairsForPairedDeltaTest, mintRolloutRows, modelHasSnapshot, modelPriceKey, mulberry32, notBlocked, objectiveEval, observeAll, otlpTextToTraceAnalysisStore, pairArms, pairRunRecords, pairedBinaryScale, pairedBootstrap, pairedCohensDz, pairedDeltaTest, pairedDeltaTieFraction, pairedEvalueSequence, pairedMde, pairedRiskDifference, pairedRiskDifferenceExact, pairedRiskDifferenceScore, pairedSignTest, pairedTTest, paretoChart, paretoFrontier, parseReflectionResponse, parseRunRecordSafe, partialCredit, partitionHeldOut, passAtK, pearsonR, policyEditFromFinding, policyEditsFromFindings, preflightModels, productBenchmarkRepoIdentity, profile_exports as profile, projectRuntimeTrajectoryEvidence, proposeSynthesisTargets, quotaExhaustedUntil, ranks, readProductBenchmarkManifest, recordRuns, recordRunsToScorecard, redTeamDataset, redTeamReport, redactString, regexMatches, renderPreferenceMemoryMarkdown, repeatedActionDetector, requiredPairedSampleSize, requiredSampleSize, resolveModelPricing, resolveSeat, roundTripRunRecord, routeFields, runAgentControlLoop, runBoundedProcess, runCampaign, runCanaries, runCounterfactual, runEquivalenceCheck, runEvalCampaign, runIntentMatchJudge, runKeywordCoverageJudge, runKeywordCoverageJudgeUrl, runProposeReview, runProposeReviewAsControlLoop, runSemanticConceptJudge, runTaskScore, runsForScenario, scoreKnowledgeReadiness, scorePolicyEditReadiness, scoreRedTeamOutput, scoreTraceInsightReadiness, seatPresets, selfImprove, servedModelAcceptable, spearmanR, stripFencedJson, subjectiveEval, summarizeBackendIntegrity, summarizeNumberSeries, summarizePreferenceMemory, summaryTable, textInSnapshot, toAgentProfileJson, tokenizeDomainWords, toolSpansToTraceAnalysisStore, toolWasteView, traceContract, transientDispatchFailure, urlContains, userQuestionsForKnowledgeGaps, validatePolicyEdit, validatePolicyEditCandidateRecord, validateRunRecord, verbosityBias, verifyAgentProfileCell, verifyAttestation, verifyCompletion, viteDeployRunner, weightedComposite, weightedMean, wilcoxonSignedRank, wilson, withAssignedFeedbackSplit, withHeldoutBlend, withJudgeRetry, wranglerDeployRunner };
8262
+ export { AGENT_PROFILE_KINDS, ATTESTATION_ALGORITHM, AgentEvalError, AnalystRegistry, BOOTSTRAP_GATE_MIN_N, BackendIntegrityError, BudgetBreachError, BudgetGuard, CODING_HARNESSES, ConfigError, CostAccountingIncompleteError, CostCallConflictError, CostCeilingReachedError, CostLedger, CostLedgerPersistenceError, CostReceiptCaptureError, CostReservationExceededError, CostTracker, CrossFamilyError, DECISION_PAIRED_DELTA_STATISTIC, DEFAULT_BOUNDED_PROCESS_TIMEOUT_MS, DEFAULT_FAILURE_REASON_RULES, DEFAULT_PERMUTATIONS, DEFAULT_REDACTION_RULES, DEFAULT_RED_TEAM_CORPUS, DEFAULT_TRACE_ANALYST_BUDGETS, DEFAULT_TRACE_ANALYST_KINDS, DEFAULT_TRACE_ANALYST_OUTPUT_TOKENS, ERROR_COUNT_PATTERNS, EquivalenceProtocolError, FAILURE_BLAME, FAILURE_CLASSES, FAILURE_MODE_KIND_SPEC, FileSystemFeedbackTrajectoryStore, FileSystemRawProviderSink, FileSystemTraceStore, FindingsStore, HARNESS_NATIVE_MODEL, HeldOutGate, INFRA_FAILURE_BLAMES, InMemoryFeedbackTrajectoryStore, InMemoryRawProviderSink, InMemoryTraceStore, JudgeError, LOCAL_COMMAND_RUNNER_DEFAULT_CAP_MS, LlmCallError, LlmResponseError, MANN_WHITNEY_EXACT_MAX_STATES, MANN_WHITNEY_EXACT_MAX_WORK, MODEL_PRICING, ModelSubstitutionError, MultiLayerVerifier, NoopRawProviderSink, NotFoundError, OUTPUT_VALUE, OtlpFileTraceStore, POLICY_EDIT_AXES, POLICY_EDIT_CANDIDATE_RECORD_SCHEMA, POLICY_EDIT_TARGET_SURFACES, PairwiseSteeringOptimizer, PolicyEditValidationError, ProductClient, PromptRegistry, REDACTION_VERSION, RunIntegrityError, RunRecordValidationError, SEMANTIC_CONCEPT_JUDGE_VERSION, ServedCrossFamilyError, TRACE_ANALYST_TRUNCATION_MARKER_PREFIX, TraceEmitter, UNKNOWN_MODEL, VERIFICATION_STRATEGIES, VERIFICATION_STRATEGY_SOURCES, ValidationError, WILCOXON_EXACT_MAX_N, acquisitionPlansForKnowledgeGaps, admitPolicyEdit, agentProfileCellHashMaterial, agentProfileCellKey, agentProfileHash, agentProfileId, aggregateJudgeVerdicts, aggregateRunScore, analystFindingDigest, analystRunDigest, analystRunToFeedbackTrajectory, analystRunToReviewRequests, analyzeAntiSlop, analyzeRuns, analyzeSeries, analyzeTraces, applyPolicyEditToSurface, argHash, assertCapabilityHeadroom, assertCrossFamily, assertCrossFamilyServed, assertNoHiddenLeak, assertNoJudgeVerdict, assertProductBenchmarkRun, assertRealBackend, assertRunCaptured, assertServedModel, assertServedModels, assertSingleBackend, assignFeedbackSplit, attest, benjaminiHochberg, blendHeldout, blockingKnowledgeEval, bonferroni, bootstrapCi, budgetBreachView, buildAgentProfileCell, buildDefaultAnalystRegistry, buildEquivalenceRecord, buildReflectionPrompt, buildTraceInsightContext, buildTraceInsightPrompt, buildTrajectory, calibrateJudge, calibrateJudgeContinuous, canonicalJson, capabilityHeadroom, captureFetchToRawSink, certificationEvidenceDigest, checkCanaries, checkServedModel, checkTraceContracts, clamp01, classifyFailure, classifyFailureReason, cliffsDelta, cohensD, comparePairedArms, completionVerdict, computeExperimentStats, computeFindingId, computePolicyEditId, computeToolUseMetrics, confidenceInterval, contentHash, continuousAgreement, controlRunToFeedbackTrajectory, corpusInterRaterAgreement, corpusInterRaterAgreementFromJudgeScores, costForTokenPricing, costForUsage, costReceiptFromLlm, costReceiptFromLlmError, createAntiSlopJudge, createBoundedTraceAnalysisStore, createChatClient, createChatTraceEngine, createDspyRlmTraceEngine, createFeedbackTrajectory, createLlmCorrectnessChecker, createLlmReviewer, createTraceAnalyst, decidePairedPromotion, defaultBlendWeights, defineAgentEval, defineEquivalenceCheck, deployGateLayer, describeTraceInsightScope, diffFindings, diffScorecard, discoverPersonas, domainEvidencePattern, dominates, eProcess, ensembleJudge, equivalenceVerdict, errorStreakDetector, estimateCost, estimateTokens, evaluateActionPolicy, evaluateInterimReleaseConfidence, evaluateOracles, evaluateReleaseConfidence, expandProfileAxes, exportProductBenchmark, exportProductBenchmarkRuns, exportRunAsOtlp, extractErrorCount, extractProducedState, extractUsage, extractUsageFromSse, failureBlame, failureClusterView, feedbackTrajectoriesToDatasetScenarios, feedbackTrajectoriesToOptimizerRows, feedbackTrajectoryToOptimizerRow, fileVerdictCache, formatScorecardDiff, gainHistogram, gateTreatmentApplied, gradeOnHidden, gradeSemanticStatus, groupRunsByAgentProfileCell, harnessAxisOf, hashContent, hashJson, hiddenGrade, holm, improvementVerdict, inMemoryReviewStore, inferDomainKeywords, interRaterReliability, interpretCliffs, iqr, isBinaryOutcomeVector, isJudgeSpan, isLlmSpan, isModelPriced, isPolicyEdit, isRunRecord, isToolSpan, isTransientLlmError, jsonShape, jsonlReviewStore, jsonlRunRecordBackend, judgeAgreementView, judgeFamily, judgeSpans, knowledgeReadinessTracePayload, leaderboard, llmJudge, loadScorecard, localCommandRunner, makeFinding, makePolicyEdit, makePolicyEditCandidateRecord, makeProposalFinding, manifestContentDigest, mannWhitneyU, maximumChargeForLlmRequest, mcnemar, mcnemarPower, mcnemarRequiredN, minimumPairsForPairedDeltaTest, mintRolloutRows, modelHasSnapshot, modelPriceKey, mulberry32, notBlocked, objectiveEval, observeAll, otlpTextToTraceAnalysisStore, pairArms, pairRunRecords, pairedBinaryScale, pairedBootstrap, pairedCohensDz, pairedDeltaTest, pairedDeltaTieFraction, pairedEvalueSequence, pairedMde, pairedPromotionPower, pairedRiskDifference, pairedRiskDifferenceExact, pairedRiskDifferenceScore, pairedSignTest, pairedTTest, paretoChart, paretoFrontier, parseReflectionResponse, parseRunRecordSafe, partialCredit, partitionHeldOut, passAtK, pearsonR, policyEditFromFinding, policyEditsFromFindings, preflightModels, productBenchmarkRepoIdentity, profile_exports as profile, projectRuntimeTrajectoryEvidence, proposeSynthesisTargets, quotaExhaustedUntil, ranks, readProductBenchmarkManifest, recordRuns, recordRunsToScorecard, redTeamDataset, redTeamReport, redactString, regexMatches, renderPreferenceMemoryMarkdown, repeatedActionDetector, requiredPairedSampleSize, requiredPairsForPairedPromotion, requiredSampleSize, resolveModelPricing, resolveSeat, roundTripRunRecord, routeFields, runAgentControlLoop, runBoundedProcess, runCampaign, runCanaries, runCounterfactual, runEquivalenceCheck, runEvalCampaign, runIntentMatchJudge, runKeywordCoverageJudge, runKeywordCoverageJudgeUrl, runProposeReview, runProposeReviewAsControlLoop, runSemanticConceptJudge, runTaskScore, runsForScenario, scoreKnowledgeReadiness, scorePolicyEditReadiness, scoreRedTeamOutput, scoreTraceInsightReadiness, seatPresets, selfImprove, servedModelAcceptable, spearmanR, stripFencedJson, subjectiveEval, summarizeBackendIntegrity, summarizeNumberSeries, summarizePreferenceMemory, summaryTable, textInSnapshot, toAgentProfileJson, tokenizeDomainWords, toolSpansToTraceAnalysisStore, toolWasteView, traceContract, transientDispatchFailure, urlContains, userQuestionsForKnowledgeGaps, validatePolicyEdit, validatePolicyEditCandidateRecord, validateRunRecord, verbosityBias, verifyAgentProfileCell, verifyAttestation, verifyCompletion, viteDeployRunner, weightedComposite, weightedMean, wilcoxonSignedRank, wilson, withAssignedFeedbackSplit, withHeldoutBlend, withJudgeRetry, wranglerDeployRunner };
7979
8263
 
7980
8264
  //# sourceMappingURL=index.js.map