@tangle-network/agent-eval 0.204.0 → 0.205.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 (107) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/analyst/index.d.ts +1 -1
  3. package/dist/analyst/index.d.ts.map +1 -1
  4. package/dist/analyst/index.js +1 -1
  5. package/dist/{analyze-runs-BrIibNd0.js → analyze-runs-d5dcMlxi.js} +9 -9
  6. package/dist/{analyze-runs-BrIibNd0.js.map → analyze-runs-d5dcMlxi.js.map} +1 -1
  7. package/dist/baseline-Dm8966du.js +259 -0
  8. package/dist/baseline-Dm8966du.js.map +1 -0
  9. package/dist/{benchmark-command-Jv_puUGM.js → benchmark-command-BQhi_BVO.js} +6 -3
  10. package/dist/benchmark-command-BQhi_BVO.js.map +1 -0
  11. package/dist/benchmarks/index.js +2 -2
  12. package/dist/builder-eval/index.js +1 -1
  13. package/dist/campaign/index.js +9 -9
  14. package/dist/{campaign-DYhg4SjN.js → campaign-0lmkAMpE.js} +11 -11
  15. package/dist/{campaign-DYhg4SjN.js.map → campaign-0lmkAMpE.js.map} +1 -1
  16. package/dist/{campaign-evidence-Dt_rWPk2.js → campaign-evidence-C__cUpCt.js} +2 -2
  17. package/dist/{campaign-evidence-Dt_rWPk2.js.map → campaign-evidence-C__cUpCt.js.map} +1 -1
  18. package/dist/cli.js +5 -5
  19. package/dist/contract/index.js +9 -9
  20. package/dist/{define-agent-eval-B25Cc3ki.js → define-agent-eval-CeYrXpl7.js} +4 -4
  21. package/dist/{define-agent-eval-B25Cc3ki.js.map → define-agent-eval-CeYrXpl7.js.map} +1 -1
  22. package/dist/{descriptive-D9LUFk1-.js → descriptive-CnU8Yq29.js} +2 -2
  23. package/dist/{descriptive-D9LUFk1-.js.map → descriptive-CnU8Yq29.js.map} +1 -1
  24. package/dist/diagnosis/index.js +1 -1
  25. package/dist/{eval-campaign-ha_aWtk7.js → eval-campaign-DsRmYsQI.js} +2 -2
  26. package/dist/{eval-campaign-ha_aWtk7.js.map → eval-campaign-DsRmYsQI.js.map} +1 -1
  27. package/dist/experiment/index.js +9 -9
  28. package/dist/index.d.ts +60 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +96 -19
  31. package/dist/index.js.map +1 -1
  32. package/dist/{internal-BOe3zmjQ.js → internal-CRHwS9iz.js} +3 -3
  33. package/dist/internal-CRHwS9iz.js.map +1 -0
  34. package/dist/jev.js +1 -1
  35. package/dist/judge-calibration-DFtEMlde.d.ts.map +1 -1
  36. package/dist/{judge-calibration-C5zgtiJT.js → judge-calibration-N44V04Se.js} +7 -17
  37. package/dist/judge-calibration-N44V04Se.js.map +1 -0
  38. package/dist/{llm-judge-DyZdrp6I.js → llm-judge-Bka5q-ds.js} +8 -8
  39. package/dist/{llm-judge-DyZdrp6I.js.map → llm-judge-Bka5q-ds.js.map} +1 -1
  40. package/dist/matrix/index.js +1 -1
  41. package/dist/{matrix-DnlHn5x1.js → matrix-_BV9-Lk5.js} +12 -9
  42. package/dist/matrix-_BV9-Lk5.js.map +1 -0
  43. package/dist/meta-eval/index.js +2 -2
  44. package/dist/multishot/golden/index.js +1 -1
  45. package/dist/multishot/index.js +1 -1
  46. package/dist/normal-DsJZtrJc.js +25 -0
  47. package/dist/normal-DsJZtrJc.js.map +1 -0
  48. package/dist/openapi.json +1 -1
  49. package/dist/{paired-arms-DpS_h8ON.js → paired-arms-Dsu-r6xd.js} +6 -27
  50. package/dist/paired-arms-Dsu-r6xd.js.map +1 -0
  51. package/dist/{paired-binary-OMBVRtc-.js → paired-binary-DpwwK1fU.js} +2 -2
  52. package/dist/{paired-binary-OMBVRtc-.js.map → paired-binary-DpwwK1fU.js.map} +1 -1
  53. package/dist/{paired-promotion-decision-DhrmjdV8.js → paired-promotion-decision-CO0kA0bq.js} +3 -3
  54. package/dist/{paired-promotion-decision-DhrmjdV8.js.map → paired-promotion-decision-CO0kA0bq.js.map} +1 -1
  55. package/dist/{paired-tests-Ccr16gcW.js → paired-tests-jbwPdSz5.js} +3 -3
  56. package/dist/{paired-tests-Ccr16gcW.js.map → paired-tests-jbwPdSz5.js.map} +1 -1
  57. package/dist/pipelines/index.d.ts +1 -1
  58. package/dist/pipelines/index.js +2 -2
  59. package/dist/{power-and-mde-bie6i965.js → power-and-mde-fK5Qocwo.js} +3 -3
  60. package/dist/{power-and-mde-bie6i965.js.map → power-and-mde-fK5Qocwo.js.map} +1 -1
  61. package/dist/{produced-state-DLToUXrD.js → produced-state-FdbE-88t.js} +3 -3
  62. package/dist/{produced-state-DLToUXrD.js.map → produced-state-FdbE-88t.js.map} +1 -1
  63. package/dist/{promotion-policy-BI1RxzwD.js → promotion-policy-BSbTAMtE.js} +4 -4
  64. package/dist/{promotion-policy-BI1RxzwD.js.map → promotion-policy-BSbTAMtE.js.map} +1 -1
  65. package/dist/quantile--0yb07pD.js +15 -0
  66. package/dist/quantile--0yb07pD.js.map +1 -0
  67. package/dist/{report-command-D0XL2Cvi.js → report-command-JrjiWReS.js} +2 -2
  68. package/dist/{report-command-D0XL2Cvi.js.map → report-command-JrjiWReS.js.map} +1 -1
  69. package/dist/reporting.js +4 -4
  70. package/dist/{reward-hacking-C-a__ShZ.js → reward-hacking-BFcQgkux.js} +2 -2
  71. package/dist/{reward-hacking-C-a__ShZ.js.map → reward-hacking-BFcQgkux.js.map} +1 -1
  72. package/dist/rl.js +7 -7
  73. package/dist/{rubric-predictive-validity-B0Pg-3I5.js → rubric-predictive-validity-BsgkBfT0.js} +3 -3
  74. package/dist/{rubric-predictive-validity-B0Pg-3I5.js.map → rubric-predictive-validity-BsgkBfT0.js.map} +1 -1
  75. package/dist/search/index.js +2 -2
  76. package/dist/{search-kernel-Dpniloks.js → search-kernel-CsISc5t8.js} +5 -5
  77. package/dist/{search-kernel-Dpniloks.js.map → search-kernel-CsISc5t8.js.map} +1 -1
  78. package/dist/{search-summary-C1nAHgkB.js → search-summary-BZkoLwbB.js} +4 -4
  79. package/dist/{search-summary-C1nAHgkB.js.map → search-summary-BZkoLwbB.js.map} +1 -1
  80. package/dist/{sequential-DWn_np6P.js → sequential-7uxpO0Vm.js} +2 -2
  81. package/dist/{sequential-DWn_np6P.js.map → sequential-7uxpO0Vm.js.map} +1 -1
  82. package/dist/{skillopt-optimization-method-Dz5CGZb8.js → skillopt-optimization-method-bEm4jYV4.js} +4 -4
  83. package/dist/{skillopt-optimization-method-Dz5CGZb8.js.map → skillopt-optimization-method-bEm4jYV4.js.map} +1 -1
  84. package/dist/{statistical-heldout-CNLOvRq_.js → statistical-heldout-C26hOFWD.js} +3 -3
  85. package/dist/{statistical-heldout-CNLOvRq_.js.map → statistical-heldout-C26hOFWD.js.map} +1 -1
  86. package/dist/{student-t-BBZYka0E.js → student-t-BQeKJx2N.js} +2 -2
  87. package/dist/{student-t-BBZYka0E.js.map → student-t-BQeKJx2N.js.map} +1 -1
  88. package/dist/{summary-report-DLzptLSA.js → summary-report-BG6-hOkm.js} +6 -6
  89. package/dist/{summary-report-DLzptLSA.js.map → summary-report-BG6-hOkm.js.map} +1 -1
  90. package/dist/supervisor-run/index.js +1 -1
  91. package/dist/{tool-waste-CP5DO383.d.ts → tool-waste-DxlebQkx.d.ts} +42 -2
  92. package/dist/tool-waste-DxlebQkx.d.ts.map +1 -0
  93. package/dist/{tool-waste-B-u3rzCz.js → tool-waste-x_E8h9Ih.js} +3 -3
  94. package/dist/{tool-waste-B-u3rzCz.js.map → tool-waste-x_E8h9Ih.js.map} +1 -1
  95. package/dist/trace-repair/index.js +1 -1
  96. package/dist/{tree-D48IJUK0.js → tree-CAQflhLR.js} +5 -5
  97. package/dist/{tree-D48IJUK0.js.map → tree-CAQflhLR.js.map} +1 -1
  98. package/docs/concepts.md +21 -0
  99. package/package.json +1 -1
  100. package/dist/baseline-CVKsfWTg.js +0 -150
  101. package/dist/baseline-CVKsfWTg.js.map +0 -1
  102. package/dist/benchmark-command-Jv_puUGM.js.map +0 -1
  103. package/dist/internal-BOe3zmjQ.js.map +0 -1
  104. package/dist/judge-calibration-C5zgtiJT.js.map +0 -1
  105. package/dist/matrix-DnlHn5x1.js.map +0 -1
  106. package/dist/paired-arms-DpS_h8ON.js.map +0 -1
  107. package/dist/tool-waste-CP5DO383.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -1,36 +1,38 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { i as JudgeError, n as CaptureIntegrityError, 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-DLToUXrD.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-FdbE-88t.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
- import { t as mulberry32 } from "./random-Dn5fPWkt.js";
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-D9LUFk1-.js";
8
- import { n as calibrateJudgeContinuous, o as verbosityBias, r as continuousAgreement, t as calibrateJudge } from "./judge-calibration-C5zgtiJT.js";
9
- import { a as budgetBreachView, c as interRaterReliability, i as failureClusterView, n as computeToolUseMetrics, o as corpusInterRaterAgreement, r as judgeAgreementView, s as corpusInterRaterAgreementFromJudgeScores, t as toolWasteView } from "./tool-waste-B-u3rzCz.js";
6
+ import { t as interpolatedQuantile } from "./quantile--0yb07pD.js";
7
+ import { a as medianInPlace, i as makeRng, t as assertFiniteSample } from "./internal-CRHwS9iz.js";
10
8
  import { i as pairedCohensDz, n as cohensD, r as interpretCliffs, t as cliffsDelta } from "./effect-sizes-DiH8MGOH.js";
9
+ import { t as mulberry32 } from "./random-Dn5fPWkt.js";
10
+ import { a as chiSquaredPValue, c as normalTwoSidedPValue, i as chiSquared, l as studentTTwoSidedPValue, n as iqr, o as fisherExactTwoSided, r as welchsTTest, s as linearRegressionSlope, u as twoByTwoPValue } from "./baseline-Dm8966du.js";
11
+ 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-CnU8Yq29.js";
12
+ import { n as calibrateJudgeContinuous, o as verbosityBias, r as continuousAgreement, t as calibrateJudge } from "./judge-calibration-N44V04Se.js";
13
+ import { a as budgetBreachView, c as interRaterReliability, i as failureClusterView, n as computeToolUseMetrics, o as corpusInterRaterAgreement, r as judgeAgreementView, s as corpusInterRaterAgreementFromJudgeScores, t as toolWasteView } from "./tool-waste-x_E8h9Ih.js";
11
14
  import { n as bonferroni, r as holm, t as benjaminiHochberg } from "./multiplicity-D9cjmStq.js";
12
- import { a as pairedRiskDifferenceExact, c as wilson, i as pairedRiskDifference, n as mcnemar, o as pairedRiskDifferenceScore, r as pairedBinaryScale, s as passAtK, t as isBinaryOutcomeVector } from "./paired-binary-OMBVRtc-.js";
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-Ccr16gcW.js";
14
- import { a as MANN_WHITNEY_EXACT_MAX_STATES, c as mannWhitneyU, i as DEFAULT_PERMUTATIONS, l as wilcoxonSignedRank, n as pairArms, o as MANN_WHITNEY_EXACT_MAX_WORK, r as pairRunRecords, s as WILCOXON_EXACT_MAX_N, t as comparePairedArms } from "./paired-arms-DpS_h8ON.js";
15
- import { a as requiredSampleSize, i as requiredPairedSampleSize, n as mcnemarRequiredN, r as pairedMde, t as mcnemarPower } from "./power-and-mde-bie6i965.js";
15
+ import { a as pairedRiskDifferenceExact, c as wilson, i as pairedRiskDifference, n as mcnemar, o as pairedRiskDifferenceScore, r as pairedBinaryScale, s as passAtK, t as isBinaryOutcomeVector } from "./paired-binary-DpwwK1fU.js";
16
+ 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-jbwPdSz5.js";
17
+ import { a as requiredSampleSize, i as requiredPairedSampleSize, n as mcnemarRequiredN, r as pairedMde, t as mcnemarPower } from "./power-and-mde-fK5Qocwo.js";
18
+ import { a as MANN_WHITNEY_EXACT_MAX_STATES, c as mannWhitneyU, i as DEFAULT_PERMUTATIONS, l as wilcoxonSignedRank, n as pairArms, o as MANN_WHITNEY_EXACT_MAX_WORK, r as pairRunRecords, s as WILCOXON_EXACT_MAX_N, t as comparePairedArms } from "./paired-arms-Dsu-r6xd.js";
16
19
  import { t as eProcess } from "./sequential-eprocess-D1jKoihe.js";
17
- import { n as iqr, r as welchsTTest } from "./baseline-CVKsfWTg.js";
18
- import { i as pairedDeltaTest, n as pairedDecisionShape, r as minimumPairsForPairedDeltaTest, t as decidePairedPromotion } from "./paired-promotion-decision-DhrmjdV8.js";
20
+ import { i as pairedDeltaTest, n as pairedDecisionShape, r as minimumPairsForPairedDeltaTest, t as decidePairedPromotion } from "./paired-promotion-decision-CO0kA0bq.js";
19
21
  import { a as isToolSpan, i as isLlmSpan, r as isJudgeSpan, t as FAILURE_CLASSES } from "./schema-CSf6qWgZ.js";
20
22
  import { d as runsForScenario, r as argHash, s as judgeSpans } from "./query-DlV0pdx4.js";
21
- import { r as checkCanaries, t as analyzeRuns } from "./analyze-runs-BrIibNd0.js";
23
+ import { r as checkCanaries, t as analyzeRuns } from "./analyze-runs-d5dcMlxi.js";
22
24
  import { r as observedSplitScore, t as isRealnessGated } from "./reward-nw2xZGZG.js";
23
25
  import { a as parseRunRecordSafe, c as runTaskScore, i as modelHasSnapshot, l as searchCellRunId, n as UNKNOWN_MODEL, o as roundTripRunRecord, r as isRunRecord, s as runCostFloorUsd, t as RunRecordValidationError, u as validateRunRecord } from "./run-record-BRlM99rX.js";
24
- import { a as summaryTable, n as gainHistogram, r as paretoChart } from "./summary-report-DLzptLSA.js";
26
+ import { a as summaryTable, n as gainHistogram, r as paretoChart } from "./summary-report-BG6-hOkm.js";
25
27
  import { n as contentHash, r as fileVerdictCache, t as canonicalJson } from "./verdict-cache-BQEsVy9n.js";
26
- import { J as redTeamDataset, X as scoreRedTeamOutput, Y as redTeamReport, Z as runCanaries, a as transientDispatchFailure, i as quotaExhaustedUntil, o as aggregateRunScore, q as DEFAULT_RED_TEAM_CORPUS, rt as runCampaign, s as clamp01, t as llmJudge } from "./llm-judge-DyZdrp6I.js";
28
+ import { J as redTeamDataset, X as scoreRedTeamOutput, Y as redTeamReport, Z as runCanaries, a as transientDispatchFailure, i as quotaExhaustedUntil, o as aggregateRunScore, q as DEFAULT_RED_TEAM_CORPUS, rt as runCampaign, s as clamp01, t as llmJudge } from "./llm-judge-Bka5q-ds.js";
27
29
  import { a as resolveModelPricing, i as isModelPriced, n as estimateCost, r as estimateTokens, t as MODEL_PRICING } from "./metrics-DOMpkoeb.js";
28
30
  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";
29
- import { B as assertRealBackend, F as surfaceContentHash, T as parseReflectionResponse, V as summarizeBackendIntegrity, c as ATTESTATION_ALGORITHM, l as attest, u as verifyAttestation, w as buildReflectionPrompt, z as BackendIntegrityError } from "./campaign-evidence-Dt_rWPk2.js";
31
+ import { B as assertRealBackend, F as surfaceContentHash, T as parseReflectionResponse, V as summarizeBackendIntegrity, c as ATTESTATION_ALGORITHM, l as attest, u as verifyAttestation, w as buildReflectionPrompt, z as BackendIntegrityError } from "./campaign-evidence-C__cUpCt.js";
30
32
  import { d as redactForShare, f as redactText, n as REDACTION_VERSION, p as shareAllowed, r as assessShareSafety, u as redact } from "./redact-Dk1ZdJEm.js";
31
- import { D as paretoFrontier, E as dominates, d as pairedPromotionPower, f as requiredPairsForPairedPromotion } from "./search-kernel-Dpniloks.js";
33
+ import { D as paretoFrontier, E as dominates, d as pairedPromotionPower, f as requiredPairsForPairedPromotion } from "./search-kernel-CsISc5t8.js";
32
34
  import { S as judgeFamily, _ as assertServedModels, b as CrossFamilyError, d as stripFencedJson, f as ModelSubstitutionError, h as assertServedModel, i as backoffMs, l as isTransientLlmError, m as assertCrossFamilyServed, o as costReceiptFromLlm, p as ServedCrossFamilyError, r as LlmResponseError, s as costReceiptFromLlmError, t as LlmCallError, u as maximumChargeForLlmRequest, v as checkServedModel, x as assertCrossFamily, y as servedModelAcceptable } from "./llm-client-DmCNzrc9.js";
33
- import { r as selfImprove, t as defineAgentEval } from "./define-agent-eval-B25Cc3ki.js";
35
+ import { r as selfImprove, t as defineAgentEval } from "./define-agent-eval-CeYrXpl7.js";
34
36
  import { n as equivalenceVerdict, t as certificationEvidenceDigest } from "./verdict-DhPoXApk.js";
35
37
  import { t as TraceEmitter } from "./emitter-DbMXUIVP.js";
36
38
  import { t as buildTrajectory } from "./trajectory-D_7rLrvE.js";
@@ -46,7 +48,7 @@ import { n as InMemoryTraceStore, t as FileSystemTraceStore } from "./store-BhNu
46
48
  import { t as packageVersion$1 } from "./package-version-D7lQHt_-.js";
47
49
  import { a as classifyFailure, i as INFRA_FAILURE_BLAMES, o as classifyFailureReason, r as FAILURE_BLAME, s as failureBlame, t as DEFAULT_FAILURE_REASON_RULES } from "./failure-taxonomy-CjabTATj.js";
48
50
  import { n as runBoundedProcess, t as DEFAULT_BOUNDED_PROCESS_TIMEOUT_MS } from "./bounded-process-Cj9YjXbE.js";
49
- import { t as runEvalCampaign } from "./eval-campaign-ha_aWtk7.js";
51
+ import { t as runEvalCampaign } from "./eval-campaign-DsRmYsQI.js";
50
52
  import "./rollout-BdCoWV9n.js";
51
53
  import { t as mintRolloutRows } from "./mint-CWG-s2mI.js";
52
54
  import { n as pairedEvalueSequence, t as evaluateInterimReleaseConfidence } from "./sequential-CzK5DarL.js";
@@ -63,6 +65,81 @@ import { accessSync, appendFileSync, constants, cpSync, existsSync, mkdirSync, p
63
65
  import { basename, delimiter, dirname, extname, isAbsolute, join, relative, resolve } from "node:path";
64
66
  import { spawnSync } from "node:child_process";
65
67
  import { INPUT_TOKEN_ATTR_KEYS, MODEL_ATTR_KEYS, OUTPUT_TOKEN_ATTR_KEYS, SPAN_KINDS, TOOL_NAME_ATTR_KEYS, firstNumberAttr, firstStringAttr, resolveSpanKind } from "@tangle-network/agent-trace-contract";
68
+ //#region src/statistics/samples.ts
69
+ /** Interpolated sample median; an empty population has no measured median. */
70
+ function sampleMedian(values) {
71
+ assertFiniteSample("sampleMedian", "values", values);
72
+ return values.length ? medianInPlace([...values]) : null;
73
+ }
74
+ /** Descriptive facts, not stability policy or a significance test. */
75
+ function summarizeSample(values, options = {}) {
76
+ assertFiniteSample("summarizeSample", "values", values);
77
+ const confidence = options.confidence ?? .95;
78
+ const resamples = options.resamples ?? 1e3;
79
+ if (!Number.isFinite(confidence) || confidence <= 0 || confidence >= 1) throw new ValidationError("summarizeSample: confidence must be between zero and one");
80
+ if (!Number.isSafeInteger(resamples) || resamples < 1) throw new ValidationError("summarizeSample: resamples must be a positive safe integer");
81
+ const rng = makeRng(options.seed, [...values]);
82
+ if (!values.length) return null;
83
+ const sorted = [...values].sort((a, b) => a - b);
84
+ const n = sorted.length;
85
+ const mean = sorted.reduce((sum, value) => sum + value / n, 0);
86
+ const centered = sorted.map((value) => value - mean);
87
+ const sumSquares = centered.reduce((sum, value) => sum + value ** 2, 0);
88
+ const stddev = n > 1 ? Math.sqrt(sumSquares / (n - 1)) : 0;
89
+ const median = interpolatedQuantile(sorted, .5);
90
+ const q1 = interpolatedQuantile(sorted, .25);
91
+ const q3 = interpolatedQuantile(sorted, .75);
92
+ const iqr = q3 - q1;
93
+ const deviations = sorted.map((value) => Math.abs(value - median)).sort((a, b) => a - b);
94
+ const skewness = n >= 3 && stddev > 0 ? n * centered.reduce((sum, value) => sum + (value / stddev) ** 3, 0) / ((n - 1) * (n - 2)) : null;
95
+ const kurtosis = n >= 4 && stddev > 0 ? n * (n + 1) * centered.reduce((sum, value) => sum + (value / stddev) ** 4, 0) / ((n - 1) * (n - 2) * (n - 3)) - 3 * (n - 1) ** 2 / ((n - 2) * (n - 3)) : null;
96
+ const bootstrap = [];
97
+ if (n >= 3) {
98
+ for (let i = 0; i < resamples; i++) {
99
+ const sample = Array.from({ length: n }, () => sorted[Math.floor(rng() * n)]);
100
+ bootstrap.push(medianInPlace(sample));
101
+ }
102
+ bootstrap.sort((a, b) => a - b);
103
+ }
104
+ const alpha = (1 - confidence) / 2;
105
+ const summary = {
106
+ n,
107
+ median,
108
+ mean,
109
+ stddev,
110
+ q1,
111
+ q3,
112
+ iqr,
113
+ min: sorted[0],
114
+ max: sorted[n - 1],
115
+ range: sorted[n - 1] - sorted[0],
116
+ cv: mean === 0 ? null : stddev / Math.abs(mean),
117
+ skewness,
118
+ kurtosis,
119
+ mad: interpolatedQuantile(deviations, .5),
120
+ outliers: sorted.filter((value) => value < q1 - 1.5 * iqr || value > q3 + 1.5 * iqr),
121
+ medianInterval: n < 3 ? null : {
122
+ low: interpolatedQuantile(bootstrap, alpha),
123
+ high: interpolatedQuantile(bootstrap, 1 - alpha),
124
+ confidence,
125
+ resamples
126
+ }
127
+ };
128
+ if ([
129
+ mean,
130
+ stddev,
131
+ iqr,
132
+ summary.range,
133
+ summary.mad,
134
+ summary.cv,
135
+ skewness,
136
+ kurtosis,
137
+ summary.medianInterval?.low ?? null,
138
+ summary.medianInterval?.high ?? null
139
+ ].some((value) => value !== null && !Number.isFinite(value))) throw new ValidationError("summarizeSample: sample arithmetic exceeded finite range");
140
+ return summary;
141
+ }
142
+ //#endregion
66
143
  //#region src/profile/baselines.ts
67
144
  /**
68
145
  * Strong, generically-useful baseline ROLES — the top zone of an `AgentProfile`
@@ -9694,6 +9771,6 @@ function rankRows(rows, weights) {
9694
9771
  })).sort((a, b) => b.mean - a.mean);
9695
9772
  }
9696
9773
  //#endregion
9697
- 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_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, assessShareSafety, 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, compileTraceContractSpec, 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, evaluateTraceContract, expandProfileAxes, explainTraceContract, 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, lintTraceContractSpec, 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, partitionTrainSelectionTest, passAtK, pearsonR, policyEditFromFinding, policyEditsFromFindings, preflightModels, productBenchmarkRepoIdentity, profile_exports as profile, projectRuntimeTrajectoryEvidence, proposeSynthesisTargets, quotaExhaustedUntil, ranks, readProductBenchmarkManifest, recordRuns, recordRunsToScorecard, redTeamDataset, redTeamReport, redact, redactForShare, redactText, regexMatches, renderPreferenceMemoryMarkdown, repeatedActionDetector, requiredPairedSampleSize, requiredPairsForPairedPromotion, requiredSampleSize, resolveModelPricing, resolveSeat, roundTripRunRecord, routeFields, runAgentControlLoop, runBoundedProcess, runCampaign, runCanaries, runCostFloorUsd, runCounterfactual, runEquivalenceCheck, runEvalCampaign, runIntentMatchJudge, runKeywordCoverageJudge, runKeywordCoverageJudgeUrl, runProposeReview, runProposeReviewAsControlLoop, runSemanticConceptJudge, runTaskScore, runsForScenario, scoreKnowledgeReadiness, scorePolicyEditReadiness, scoreRedTeamOutput, scoreTraceInsightReadiness, searchCellRunId, seatPresets, selfImprove, servedModelAcceptable, shareAllowed, spanRecordsToTraceAnalysisStore, 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 };
9774
+ 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_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, assessShareSafety, assignFeedbackSplit, attest, benjaminiHochberg, blendHeldout, blockingKnowledgeEval, bonferroni, bootstrapCi, budgetBreachView, buildAgentProfileCell, buildDefaultAnalystRegistry, buildEquivalenceRecord, buildReflectionPrompt, buildTraceInsightContext, buildTraceInsightPrompt, buildTrajectory, calibrateJudge, calibrateJudgeContinuous, canonicalJson, capabilityHeadroom, captureFetchToRawSink, certificationEvidenceDigest, checkCanaries, checkServedModel, checkTraceContracts, chiSquared, chiSquaredPValue, clamp01, classifyFailure, classifyFailureReason, cliffsDelta, cohensD, comparePairedArms, compileTraceContractSpec, 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, evaluateTraceContract, expandProfileAxes, explainTraceContract, exportProductBenchmark, exportProductBenchmarkRuns, exportRunAsOtlp, extractErrorCount, extractProducedState, extractUsage, extractUsageFromSse, failureBlame, failureClusterView, feedbackTrajectoriesToDatasetScenarios, feedbackTrajectoriesToOptimizerRows, feedbackTrajectoryToOptimizerRow, fileVerdictCache, fisherExactTwoSided, 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, linearRegressionSlope, lintTraceContractSpec, llmJudge, loadScorecard, localCommandRunner, makeFinding, makePolicyEdit, makePolicyEditCandidateRecord, makeProposalFinding, manifestContentDigest, mannWhitneyU, maximumChargeForLlmRequest, mcnemar, mcnemarPower, mcnemarRequiredN, minimumPairsForPairedDeltaTest, mintRolloutRows, modelHasSnapshot, modelPriceKey, mulberry32, normalTwoSidedPValue, 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, partitionTrainSelectionTest, passAtK, pearsonR, policyEditFromFinding, policyEditsFromFindings, preflightModels, productBenchmarkRepoIdentity, profile_exports as profile, projectRuntimeTrajectoryEvidence, proposeSynthesisTargets, quotaExhaustedUntil, ranks, readProductBenchmarkManifest, recordRuns, recordRunsToScorecard, redTeamDataset, redTeamReport, redact, redactForShare, redactText, regexMatches, renderPreferenceMemoryMarkdown, repeatedActionDetector, requiredPairedSampleSize, requiredPairsForPairedPromotion, requiredSampleSize, resolveModelPricing, resolveSeat, roundTripRunRecord, routeFields, runAgentControlLoop, runBoundedProcess, runCampaign, runCanaries, runCostFloorUsd, runCounterfactual, runEquivalenceCheck, runEvalCampaign, runIntentMatchJudge, runKeywordCoverageJudge, runKeywordCoverageJudgeUrl, runProposeReview, runProposeReviewAsControlLoop, runSemanticConceptJudge, runTaskScore, runsForScenario, sampleMedian, scoreKnowledgeReadiness, scorePolicyEditReadiness, scoreRedTeamOutput, scoreTraceInsightReadiness, searchCellRunId, seatPresets, selfImprove, servedModelAcceptable, shareAllowed, spanRecordsToTraceAnalysisStore, spearmanR, stripFencedJson, studentTTwoSidedPValue, subjectiveEval, summarizeBackendIntegrity, summarizeNumberSeries, summarizePreferenceMemory, summarizeSample, summaryTable, textInSnapshot, toAgentProfileJson, tokenizeDomainWords, toolSpansToTraceAnalysisStore, toolWasteView, traceContract, transientDispatchFailure, twoByTwoPValue, urlContains, userQuestionsForKnowledgeGaps, validatePolicyEdit, validatePolicyEditCandidateRecord, validateRunRecord, verbosityBias, verifyAgentProfileCell, verifyAttestation, verifyCompletion, viteDeployRunner, weightedComposite, weightedMean, welchsTTest, wilcoxonSignedRank, wilson, withAssignedFeedbackSplit, withHeldoutBlend, withJudgeRetry, wranglerDeployRunner };
9698
9775
 
9699
9776
  //# sourceMappingURL=index.js.map