@tangle-network/agent-eval 0.93.0 → 0.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +44 -30
- package/dist/action-policy.d.ts +24 -0
- package/dist/action-policy.d.ts.map +1 -0
- package/dist/action-policy.test.d.ts +2 -0
- package/dist/action-policy.test.d.ts.map +1 -0
- package/dist/active-learning.d.ts +41 -0
- package/dist/active-learning.d.ts.map +1 -0
- package/dist/adapters/http.d.ts +15 -21
- package/dist/adapters/http.d.ts.map +1 -0
- package/dist/adapters/http.js.map +1 -1
- package/dist/adapters/langchain.d.ts +7 -13
- package/dist/adapters/langchain.d.ts.map +1 -0
- package/dist/adapters/otel.d.ts +13 -24
- package/dist/adapters/otel.d.ts.map +1 -0
- package/dist/agent-profile-cell.d.ts +101 -0
- package/dist/agent-profile-cell.d.ts.map +1 -0
- package/dist/agent-profile.d.ts +27 -0
- package/dist/agent-profile.d.ts.map +1 -0
- package/dist/agent-profile.test.d.ts +2 -0
- package/dist/agent-profile.test.d.ts.map +1 -0
- package/dist/analyst/adapters.d.ts +62 -0
- package/dist/analyst/adapters.d.ts.map +1 -0
- package/dist/analyst/analyst.test.d.ts +2 -0
- package/dist/analyst/analyst.test.d.ts.map +1 -0
- package/dist/analyst/ax-service.d.ts +27 -0
- package/dist/analyst/ax-service.d.ts.map +1 -0
- package/dist/analyst/behavioral-analyst.d.ts +28 -0
- package/dist/analyst/behavioral-analyst.d.ts.map +1 -0
- package/dist/analyst/chat-client.d.ts +91 -0
- package/dist/analyst/chat-client.d.ts.map +1 -0
- package/dist/analyst/default-registry.d.ts +27 -0
- package/dist/analyst/default-registry.d.ts.map +1 -0
- package/dist/analyst/default-registry.test.d.ts +2 -0
- package/dist/analyst/default-registry.test.d.ts.map +1 -0
- package/dist/analyst/finding-signature.d.ts +48 -0
- package/dist/analyst/finding-signature.d.ts.map +1 -0
- package/dist/analyst/finding-subject.d.ts +146 -0
- package/dist/analyst/finding-subject.d.ts.map +1 -0
- package/dist/analyst/finding-subject.test.d.ts +2 -0
- package/dist/analyst/finding-subject.test.d.ts.map +1 -0
- package/dist/analyst/findings-store.d.ts +75 -0
- package/dist/analyst/findings-store.d.ts.map +1 -0
- package/dist/analyst/index.d.ts +28 -256
- package/dist/analyst/index.d.ts.map +1 -0
- package/dist/analyst/index.js +6 -66
- package/dist/analyst/index.js.map +1 -1
- package/dist/{kind-factory-5b7xXXOr.d.ts → analyst/kind-factory.d.ts} +11 -63
- package/dist/analyst/kind-factory.d.ts.map +1 -0
- package/dist/analyst/kinds/failure-mode.d.ts +19 -0
- package/dist/analyst/kinds/failure-mode.d.ts.map +1 -0
- package/dist/analyst/kinds/improvement.d.ts +23 -0
- package/dist/analyst/kinds/improvement.d.ts.map +1 -0
- package/dist/analyst/kinds/index.d.ts +22 -0
- package/dist/analyst/kinds/index.d.ts.map +1 -0
- package/dist/analyst/kinds/kinds.test.d.ts +2 -0
- package/dist/analyst/kinds/kinds.test.d.ts.map +1 -0
- package/dist/analyst/kinds/knowledge-gap.d.ts +28 -0
- package/dist/analyst/kinds/knowledge-gap.d.ts.map +1 -0
- package/dist/analyst/kinds/knowledge-poisoning.d.ts +22 -0
- package/dist/analyst/kinds/knowledge-poisoning.d.ts.map +1 -0
- package/dist/analyst/kinds/skill-usage.d.ts +84 -0
- package/dist/analyst/kinds/skill-usage.d.ts.map +1 -0
- package/dist/analyst/kinds/skill-usage.test.d.ts +2 -0
- package/dist/analyst/kinds/skill-usage.test.d.ts.map +1 -0
- package/dist/analyst/parse-tolerant.d.ts +26 -0
- package/dist/analyst/parse-tolerant.d.ts.map +1 -0
- package/dist/analyst/parse-tolerant.test.d.ts +2 -0
- package/dist/analyst/parse-tolerant.test.d.ts.map +1 -0
- package/dist/analyst/registry.budget.test.d.ts +2 -0
- package/dist/analyst/registry.budget.test.d.ts.map +1 -0
- package/dist/{default-registry-zoGHUQEH.d.ts → analyst/registry.d.ts} +8 -37
- package/dist/analyst/registry.d.ts.map +1 -0
- package/dist/analyst/steer-firewall.d.ts +35 -0
- package/dist/analyst/steer-firewall.d.ts.map +1 -0
- package/dist/analyst/steer-firewall.test.d.ts +2 -0
- package/dist/analyst/steer-firewall.test.d.ts.map +1 -0
- package/dist/analyst/structure-findings.d.ts +37 -0
- package/dist/analyst/structure-findings.d.ts.map +1 -0
- package/dist/analyst/structure-findings.test.d.ts +2 -0
- package/dist/analyst/structure-findings.test.d.ts.map +1 -0
- package/dist/analyst/tool-groups.d.ts +34 -0
- package/dist/analyst/tool-groups.d.ts.map +1 -0
- package/dist/{types-2VVIL04s.d.ts → analyst/types.d.ts} +19 -112
- package/dist/analyst/types.d.ts.map +1 -0
- package/dist/anti-slop.d.ts +59 -0
- package/dist/anti-slop.d.ts.map +1 -0
- package/dist/artifact-validator.d.ts +74 -0
- package/dist/artifact-validator.d.ts.map +1 -0
- package/dist/attestation.d.ts +63 -0
- package/dist/attestation.d.ts.map +1 -0
- package/dist/attestation.test.d.ts +2 -0
- package/dist/attestation.test.d.ts.map +1 -0
- package/dist/authenticity/index.d.ts +15 -16
- package/dist/authenticity/index.d.ts.map +1 -0
- package/dist/authenticity/index.test.d.ts +2 -0
- package/dist/authenticity/index.test.d.ts.map +1 -0
- package/dist/auto-pr.d.ts +120 -0
- package/dist/auto-pr.d.ts.map +1 -0
- package/dist/{baseline-DE36-Np7.d.ts → baseline.d.ts} +8 -44
- package/dist/baseline.d.ts.map +1 -0
- package/dist/behavior-dsl.d.ts +73 -0
- package/dist/behavior-dsl.d.ts.map +1 -0
- package/dist/belief-state/calibration.d.ts +10 -0
- package/dist/belief-state/calibration.d.ts.map +1 -0
- package/dist/belief-state/calibration.test.d.ts +2 -0
- package/dist/belief-state/calibration.test.d.ts.map +1 -0
- package/dist/belief-state/code-agent-corpus.d.ts +66 -0
- package/dist/belief-state/code-agent-corpus.d.ts.map +1 -0
- package/dist/belief-state/code-agent-corpus.test.d.ts +2 -0
- package/dist/belief-state/code-agent-corpus.test.d.ts.map +1 -0
- package/dist/belief-state/code-agent-evidence.d.ts +22 -0
- package/dist/belief-state/code-agent-evidence.d.ts.map +1 -0
- package/dist/belief-state/code-agent-evidence.test.d.ts +2 -0
- package/dist/belief-state/code-agent-evidence.test.d.ts.map +1 -0
- package/dist/belief-state/extract.d.ts +7 -0
- package/dist/belief-state/extract.d.ts.map +1 -0
- package/dist/belief-state/extract.test.d.ts +2 -0
- package/dist/belief-state/extract.test.d.ts.map +1 -0
- package/dist/belief-state/index.d.ts +14 -604
- package/dist/belief-state/index.d.ts.map +1 -0
- package/dist/belief-state/index.js +1 -1
- package/dist/belief-state/ope.d.ts +17 -0
- package/dist/belief-state/ope.d.ts.map +1 -0
- package/dist/belief-state/ope.test.d.ts +2 -0
- package/dist/belief-state/ope.test.d.ts.map +1 -0
- package/dist/belief-state/phase0-measurement.d.ts +55 -0
- package/dist/belief-state/phase0-measurement.d.ts.map +1 -0
- package/dist/belief-state/report.d.ts +17 -0
- package/dist/belief-state/report.d.ts.map +1 -0
- package/dist/belief-state/report.test.d.ts +2 -0
- package/dist/belief-state/report.test.d.ts.map +1 -0
- package/dist/belief-state/research-evidence.d.ts +23 -0
- package/dist/belief-state/research-evidence.d.ts.map +1 -0
- package/dist/belief-state/research-evidence.test.d.ts +2 -0
- package/dist/belief-state/research-evidence.test.d.ts.map +1 -0
- package/dist/belief-state/runtime-benchmark-corpus.d.ts +32 -0
- package/dist/belief-state/runtime-benchmark-corpus.d.ts.map +1 -0
- package/dist/belief-state/runtime-hooks.d.ts +87 -0
- package/dist/belief-state/runtime-hooks.d.ts.map +1 -0
- package/dist/belief-state/runtime-hooks.test.d.ts +2 -0
- package/dist/belief-state/runtime-hooks.test.d.ts.map +1 -0
- package/dist/belief-state/selective.d.ts +15 -0
- package/dist/belief-state/selective.d.ts.map +1 -0
- package/dist/belief-state/selective.test.d.ts +2 -0
- package/dist/belief-state/selective.test.d.ts.map +1 -0
- package/dist/belief-state/shadow-probe.d.ts +80 -0
- package/dist/belief-state/shadow-probe.d.ts.map +1 -0
- package/dist/belief-state/shadow-probe.test.d.ts +2 -0
- package/dist/belief-state/shadow-probe.test.d.ts.map +1 -0
- package/dist/belief-state/types.d.ts +195 -0
- package/dist/belief-state/types.d.ts.map +1 -0
- package/dist/belief-state/types.test.d.ts +2 -0
- package/dist/belief-state/types.test.d.ts.map +1 -0
- package/dist/benchmark.d.ts +14 -0
- package/dist/benchmark.d.ts.map +1 -0
- package/dist/benchmarks/index.d.ts +23 -4
- package/dist/benchmarks/index.d.ts.map +1 -0
- package/dist/benchmarks/routing/dataset.d.ts +34 -0
- package/dist/benchmarks/routing/dataset.d.ts.map +1 -0
- package/dist/benchmarks/routing/index.d.ts +34 -0
- package/dist/benchmarks/routing/index.d.ts.map +1 -0
- package/dist/benchmarks/types.d.ts +49 -0
- package/dist/benchmarks/types.d.ts.map +1 -0
- package/dist/bisector.d.ts +81 -0
- package/dist/bisector.d.ts.map +1 -0
- package/dist/budget-guard.d.ts +31 -0
- package/dist/budget-guard.d.ts.map +1 -0
- package/dist/builder-eval/builder-session.d.ts +111 -0
- package/dist/builder-eval/builder-session.d.ts.map +1 -0
- package/dist/builder-eval/correlation.d.ts +32 -0
- package/dist/builder-eval/correlation.d.ts.map +1 -0
- package/dist/builder-eval/index.d.ts +5 -250
- package/dist/builder-eval/index.d.ts.map +1 -0
- package/dist/builder-eval/index.js +2 -2
- package/dist/builder-eval/project-registry.d.ts +51 -0
- package/dist/builder-eval/project-registry.d.ts.map +1 -0
- package/dist/builder-eval/three-layer-eval.d.ts +55 -0
- package/dist/builder-eval/three-layer-eval.d.ts.map +1 -0
- package/dist/campaign/analyst-surface.d.ts +108 -0
- package/dist/campaign/analyst-surface.d.ts.map +1 -0
- package/dist/campaign/analyst-surface.test.d.ts +2 -0
- package/dist/campaign/analyst-surface.test.d.ts.map +1 -0
- package/dist/campaign/auto-pr.d.ts +46 -0
- package/dist/campaign/auto-pr.d.ts.map +1 -0
- package/dist/campaign/distillation/agreement-judge.d.ts +69 -0
- package/dist/campaign/distillation/agreement-judge.d.ts.map +1 -0
- package/dist/campaign/distillation/cli.d.ts +35 -0
- package/dist/campaign/distillation/cli.d.ts.map +1 -0
- package/dist/campaign/distillation/distillation.test.d.ts +2 -0
- package/dist/campaign/distillation/distillation.test.d.ts.map +1 -0
- package/dist/campaign/distillation/gold-scenarios.d.ts +54 -0
- package/dist/campaign/distillation/gold-scenarios.d.ts.map +1 -0
- package/dist/campaign/distillation/run-distillation.d.ts +119 -0
- package/dist/campaign/distillation/run-distillation.d.ts.map +1 -0
- package/dist/campaign/gates/compose.d.ts +12 -0
- package/dist/campaign/gates/compose.d.ts.map +1 -0
- package/dist/campaign/gates/default-production-gate.d.ts +58 -0
- package/dist/campaign/gates/default-production-gate.d.ts.map +1 -0
- package/dist/campaign/gates/heldout-gate.d.ts +12 -0
- package/dist/campaign/gates/heldout-gate.d.ts.map +1 -0
- package/dist/campaign/gates/promotion-policy.d.ts +125 -0
- package/dist/campaign/gates/promotion-policy.d.ts.map +1 -0
- package/dist/campaign/gates/promotion-policy.test.d.ts +2 -0
- package/dist/campaign/gates/promotion-policy.test.d.ts.map +1 -0
- package/dist/campaign/gates/sequential.d.ts +146 -0
- package/dist/campaign/gates/sequential.d.ts.map +1 -0
- package/dist/campaign/gates/sequential.test.d.ts +2 -0
- package/dist/campaign/gates/sequential.test.d.ts.map +1 -0
- package/dist/campaign/gates/statistical-heldout.d.ts +99 -0
- package/dist/campaign/gates/statistical-heldout.d.ts.map +1 -0
- package/dist/campaign/gates/statistical-heldout.test.d.ts +2 -0
- package/dist/campaign/gates/statistical-heldout.test.d.ts.map +1 -0
- package/dist/campaign/index.d.ts +38 -1341
- package/dist/campaign/index.d.ts.map +1 -0
- package/dist/campaign/index.js +1865 -1318
- package/dist/campaign/index.js.map +1 -1
- package/dist/campaign/labeled-store/fs-adapter.d.ts +59 -0
- package/dist/campaign/labeled-store/fs-adapter.d.ts.map +1 -0
- package/dist/campaign/presets/compare-proposers.d.ts +146 -0
- package/dist/campaign/presets/compare-proposers.d.ts.map +1 -0
- package/dist/campaign/presets/playback.d.ts +120 -0
- package/dist/campaign/presets/playback.d.ts.map +1 -0
- package/dist/campaign/presets/playback.test.d.ts +2 -0
- package/dist/campaign/presets/playback.test.d.ts.map +1 -0
- package/dist/campaign/presets/run-eval.d.ts +14 -0
- package/dist/campaign/presets/run-eval.d.ts.map +1 -0
- package/dist/campaign/presets/run-improvement-loop.d.ts +63 -0
- package/dist/campaign/presets/run-improvement-loop.d.ts.map +1 -0
- package/dist/campaign/presets/run-improvement-loop.test.d.ts +2 -0
- package/dist/campaign/presets/run-improvement-loop.test.d.ts.map +1 -0
- package/dist/campaign/presets/run-optimization.d.ts +92 -0
- package/dist/campaign/presets/run-optimization.d.ts.map +1 -0
- package/dist/campaign/presets/run-profile-matrix.d.ts +151 -0
- package/dist/campaign/presets/run-profile-matrix.d.ts.map +1 -0
- package/dist/campaign/presets/run-skill-opt.d.ts +96 -0
- package/dist/campaign/presets/run-skill-opt.d.ts.map +1 -0
- package/dist/campaign/proposers/_findings-text.d.ts +22 -0
- package/dist/campaign/proposers/_findings-text.d.ts.map +1 -0
- package/dist/campaign/proposers/ace.d.ts +33 -0
- package/dist/campaign/proposers/ace.d.ts.map +1 -0
- package/dist/campaign/proposers/ace.test.d.ts +2 -0
- package/dist/campaign/proposers/ace.test.d.ts.map +1 -0
- package/dist/campaign/proposers/analysis-edit.d.ts +32 -0
- package/dist/campaign/proposers/analysis-edit.d.ts.map +1 -0
- package/dist/campaign/proposers/evolutionary.d.ts +20 -0
- package/dist/campaign/proposers/evolutionary.d.ts.map +1 -0
- package/dist/campaign/proposers/fapo.d.ts +120 -0
- package/dist/campaign/proposers/fapo.d.ts.map +1 -0
- package/dist/campaign/proposers/gepa.d.ts +86 -0
- package/dist/campaign/proposers/gepa.d.ts.map +1 -0
- package/dist/campaign/proposers/halo.d.ts +44 -0
- package/dist/campaign/proposers/halo.d.ts.map +1 -0
- package/dist/campaign/proposers/halo.test.d.ts +2 -0
- package/dist/campaign/proposers/halo.test.d.ts.map +1 -0
- package/dist/campaign/proposers/memory.d.ts +47 -0
- package/dist/campaign/proposers/memory.d.ts.map +1 -0
- package/dist/campaign/proposers/memory.test.d.ts +2 -0
- package/dist/campaign/proposers/memory.test.d.ts.map +1 -0
- package/dist/campaign/proposers/skill-opt.d.ts +88 -0
- package/dist/campaign/proposers/skill-opt.d.ts.map +1 -0
- package/dist/campaign/proposers/trace-analyst.d.ts +48 -0
- package/dist/campaign/proposers/trace-analyst.d.ts.map +1 -0
- package/dist/campaign/proposers/trace-analyst.test.d.ts +2 -0
- package/dist/campaign/proposers/trace-analyst.test.d.ts.map +1 -0
- package/dist/campaign/provenance.d.ts +185 -0
- package/dist/campaign/provenance.d.ts.map +1 -0
- package/dist/campaign/run-campaign.d.ts +90 -0
- package/dist/campaign/run-campaign.d.ts.map +1 -0
- package/dist/campaign/score-utils.d.ts +26 -0
- package/dist/campaign/score-utils.d.ts.map +1 -0
- package/dist/campaign/skill-patch.d.ts +62 -0
- package/dist/campaign/skill-patch.d.ts.map +1 -0
- package/dist/campaign/storage.d.ts +38 -0
- package/dist/campaign/storage.d.ts.map +1 -0
- package/dist/{types-BU-7W85F.d.ts → campaign/types.d.ts} +98 -99
- package/dist/campaign/types.d.ts.map +1 -0
- package/dist/campaign/worktree/index.d.ts +53 -0
- package/dist/campaign/worktree/index.d.ts.map +1 -0
- package/dist/canary.d.ts +101 -0
- package/dist/canary.d.ts.map +1 -0
- package/dist/causal-attribution.d.ts +45 -0
- package/dist/causal-attribution.d.ts.map +1 -0
- package/dist/{chunk-TWS7AZEY.js → chunk-2T4EZACH.js} +2 -2
- package/dist/chunk-2T4EZACH.js.map +1 -0
- package/dist/{chunk-LMZQ2Z4U.js → chunk-56GC6VYO.js} +126 -1
- package/dist/chunk-56GC6VYO.js.map +1 -0
- package/dist/{chunk-QG2OVF2D.js → chunk-77T4STFI.js} +154 -112
- package/dist/chunk-77T4STFI.js.map +1 -0
- package/dist/{chunk-ZFIBGEOL.js → chunk-7QTQKIDD.js} +179 -178
- package/dist/chunk-7QTQKIDD.js.map +1 -0
- package/dist/{chunk-UMMZHCPB.js → chunk-AQ5WQAIV.js} +26 -9
- package/dist/chunk-AQ5WQAIV.js.map +1 -0
- package/dist/{chunk-CVVHBFGN.js → chunk-CWNP4DV4.js} +53 -5
- package/dist/chunk-CWNP4DV4.js.map +1 -0
- package/dist/{chunk-QS3RBQPI.js → chunk-D5KBVULY.js} +2 -2
- package/dist/chunk-DJWX3GVS.js +81 -0
- package/dist/chunk-DJWX3GVS.js.map +1 -0
- package/dist/{chunk-S6OZEZQK.js → chunk-HMA63UEO.js} +37 -9
- package/dist/{chunk-S6OZEZQK.js.map → chunk-HMA63UEO.js.map} +1 -1
- package/dist/{chunk-UHMJT4T7.js → chunk-IZCEK2HR.js} +2 -2
- package/dist/{chunk-6SOJM3VR.js → chunk-KKWJD5E6.js} +21 -21
- package/dist/chunk-KKWJD5E6.js.map +1 -0
- package/dist/{chunk-KWRRMR3J.js → chunk-LO6IOIJ2.js} +10 -10
- package/dist/chunk-LO6IOIJ2.js.map +1 -0
- package/dist/{chunk-L3JOU6XM.js → chunk-NACM5RS7.js} +3 -3
- package/dist/{chunk-E4GH6USR.js → chunk-NZEQVRH5.js} +2 -2
- package/dist/chunk-NZEQVRH5.js.map +1 -0
- package/dist/{chunk-XY4DDNEG.js → chunk-PSWWQXHF.js} +14 -89
- package/dist/chunk-PSWWQXHF.js.map +1 -0
- package/dist/{chunk-4FBZZIYD.js → chunk-QTMYW64F.js} +2 -2
- package/dist/{chunk-D3V5B42D.js → chunk-S4SYLDFX.js} +7 -4
- package/dist/chunk-S4SYLDFX.js.map +1 -0
- package/dist/{chunk-47X6LRCE.js → chunk-UFSG7ACU.js} +10 -7
- package/dist/chunk-UFSG7ACU.js.map +1 -0
- package/dist/{chunk-CY6U5S3X.js → chunk-URWVKRCS.js} +2 -2
- package/dist/{chunk-GSH6QNNS.js → chunk-X74V6ESX.js} +102 -79
- package/dist/chunk-X74V6ESX.js.map +1 -0
- package/dist/{chunk-QAY5UIJO.js → chunk-YBIGNSCZ.js} +178 -59
- package/dist/chunk-YBIGNSCZ.js.map +1 -0
- package/dist/{chunk-Y47J2LJ3.js → chunk-Z6L6YSU6.js} +5 -5
- package/dist/{chunk-T375SUOZ.js → chunk-ZOPLCJSY.js} +86 -31
- package/dist/chunk-ZOPLCJSY.js.map +1 -0
- package/dist/ci-gate.d.ts +44 -0
- package/dist/ci-gate.d.ts.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/client.d.ts +77 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.test.d.ts +2 -0
- package/dist/client.test.d.ts.map +1 -0
- package/dist/command-runner.d.ts +74 -0
- package/dist/command-runner.d.ts.map +1 -0
- package/dist/command-runner.test.d.ts +2 -0
- package/dist/command-runner.test.d.ts.map +1 -0
- package/dist/completion-verifier.d.ts +147 -0
- package/dist/completion-verifier.d.ts.map +1 -0
- package/dist/completion-verifier.test.d.ts +9 -0
- package/dist/completion-verifier.test.d.ts.map +1 -0
- package/dist/concurrency.d.ts +23 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/contamination-guard.d.ts +81 -0
- package/dist/contamination-guard.d.ts.map +1 -0
- package/dist/{analyze-runs-DwCEkpO_.d.ts → contract/analyze-runs.d.ts} +9 -10
- package/dist/contract/analyze-runs.d.ts.map +1 -0
- package/dist/contract/define-agent-eval.d.ts +52 -0
- package/dist/contract/define-agent-eval.d.ts.map +1 -0
- package/dist/contract/diff.d.ts +114 -0
- package/dist/contract/diff.d.ts.map +1 -0
- package/dist/contract/index.d.ts +106 -640
- package/dist/contract/index.d.ts.map +1 -0
- package/dist/contract/index.js +131 -21
- package/dist/contract/index.js.map +1 -1
- package/dist/{insight-report-BBwvOh6x.d.ts → contract/insight-report.d.ts} +16 -19
- package/dist/contract/insight-report.d.ts.map +1 -0
- package/dist/contract/insight-types-fwd.d.ts +7 -0
- package/dist/contract/insight-types-fwd.d.ts.map +1 -0
- package/dist/contract/intake/agent-trace.d.ts +97 -0
- package/dist/contract/intake/agent-trace.d.ts.map +1 -0
- package/dist/{code-agent-session-BO8nCnv3.d.ts → contract/intake/code-agent-session.d.ts} +15 -17
- package/dist/contract/intake/code-agent-session.d.ts.map +1 -0
- package/dist/contract/intake/feedback-table.d.ts +87 -0
- package/dist/contract/intake/feedback-table.d.ts.map +1 -0
- package/dist/contract/intake/index.d.ts +22 -0
- package/dist/contract/intake/index.d.ts.map +1 -0
- package/dist/contract/intake/otel-spans.d.ts +33 -0
- package/dist/contract/intake/otel-spans.d.ts.map +1 -0
- package/dist/contract/self-improve.d.ts +284 -0
- package/dist/contract/self-improve.d.ts.map +1 -0
- package/dist/{control-runtime-DuFBYg7A.d.ts → control-runtime.d.ts} +23 -26
- package/dist/control-runtime.d.ts.map +1 -0
- package/dist/control-runtime.test.d.ts +2 -0
- package/dist/control-runtime.test.d.ts.map +1 -0
- package/dist/control.d.ts +11 -9
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +2 -2
- package/dist/convergence.d.ts +29 -0
- package/dist/convergence.d.ts.map +1 -0
- package/dist/{cost-ledger-DuSqlw5B.d.ts → cost-ledger.d.ts} +10 -11
- package/dist/cost-ledger.d.ts.map +1 -0
- package/dist/cost-ledger.test.d.ts +2 -0
- package/dist/cost-ledger.test.d.ts.map +1 -0
- package/dist/cost-report.d.ts +43 -0
- package/dist/cost-report.d.ts.map +1 -0
- package/dist/cost-report.test.d.ts +2 -0
- package/dist/cost-report.test.d.ts.map +1 -0
- package/dist/cost-tracker.d.ts +76 -0
- package/dist/cost-tracker.d.ts.map +1 -0
- package/dist/{counterfactual-Dwibr5IW.d.ts → counterfactual.d.ts} +12 -13
- package/dist/counterfactual.d.ts.map +1 -0
- package/dist/cross-trace-diff.d.ts +56 -0
- package/dist/cross-trace-diff.d.ts.map +1 -0
- package/dist/{dataset-BbGkaN2I.d.ts → dataset.d.ts} +11 -14
- package/dist/dataset.d.ts.map +1 -0
- package/dist/deploy-gate-layer.d.ts +125 -0
- package/dist/deploy-gate-layer.d.ts.map +1 -0
- package/dist/deploy-gate-layer.test.d.ts +2 -0
- package/dist/deploy-gate-layer.test.d.ts.map +1 -0
- package/dist/description-length-gate.d.ts +119 -0
- package/dist/description-length-gate.d.ts.map +1 -0
- package/dist/detectors/edge.test.d.ts +2 -0
- package/dist/detectors/edge.test.d.ts.map +1 -0
- package/dist/detectors/index.d.ts +81 -0
- package/dist/detectors/index.d.ts.map +1 -0
- package/dist/detectors/index.test.d.ts +2 -0
- package/dist/detectors/index.test.d.ts.map +1 -0
- package/dist/diagnose/causal-sweep.d.ts +100 -0
- package/dist/diagnose/causal-sweep.d.ts.map +1 -0
- package/dist/diagnose/index.d.ts +36 -0
- package/dist/diagnose/index.d.ts.map +1 -0
- package/dist/diagnose/remediation.d.ts +68 -0
- package/dist/diagnose/remediation.d.ts.map +1 -0
- package/dist/diagnose/repair.d.ts +77 -0
- package/dist/diagnose/repair.d.ts.map +1 -0
- package/dist/diagnose.d.ts +1 -251
- package/dist/diagnose.js +2 -2
- package/dist/discover-personas.d.ts +35 -0
- package/dist/discover-personas.d.ts.map +1 -0
- package/dist/driver.d.ts +95 -0
- package/dist/driver.d.ts.map +1 -0
- package/dist/driver.test.d.ts +8 -0
- package/dist/driver.test.d.ts.map +1 -0
- package/dist/dual-agent-bench.d.ts +81 -0
- package/dist/dual-agent-bench.d.ts.map +1 -0
- package/dist/error-count-extractor.d.ts +47 -0
- package/dist/error-count-extractor.d.ts.map +1 -0
- package/dist/error-count-extractor.test.d.ts +2 -0
- package/dist/error-count-extractor.test.d.ts.map +1 -0
- package/dist/{errors-CzMUYo7b.d.ts → errors.d.ts} +10 -11
- package/dist/errors.d.ts.map +1 -0
- package/dist/{researcher-DE6Gpnb4.d.ts → eval-campaign.d.ts} +34 -156
- package/dist/eval-campaign.d.ts.map +1 -0
- package/dist/eval-campaign.test.d.ts +2 -0
- package/dist/eval-campaign.test.d.ts.map +1 -0
- package/dist/eval-tools.d.ts +55 -0
- package/dist/eval-tools.d.ts.map +1 -0
- package/dist/eval-trace-store.d.ts +107 -0
- package/dist/eval-trace-store.d.ts.map +1 -0
- package/dist/eval-trace-store.test.d.ts +2 -0
- package/dist/eval-trace-store.test.d.ts.map +1 -0
- package/dist/executor.d.ts +38 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.test.d.ts +10 -0
- package/dist/executor.test.d.ts.map +1 -0
- package/dist/experiment-tracker.d.ts +178 -0
- package/dist/experiment-tracker.d.ts.map +1 -0
- package/dist/experiment-tracker.test.d.ts +2 -0
- package/dist/experiment-tracker.test.d.ts.map +1 -0
- package/dist/failure-taxonomy.d.ts +38 -0
- package/dist/failure-taxonomy.d.ts.map +1 -0
- package/dist/{feedback-trajectory-D9OVLrg9.d.ts → feedback-trajectory.d.ts} +36 -38
- package/dist/feedback-trajectory.d.ts.map +1 -0
- package/dist/feedback-trajectory.test.d.ts +2 -0
- package/dist/feedback-trajectory.test.d.ts.map +1 -0
- package/dist/flow-layer.d.ts +90 -0
- package/dist/flow-layer.d.ts.map +1 -0
- package/dist/flow-layer.test.d.ts +2 -0
- package/dist/flow-layer.test.d.ts.map +1 -0
- package/dist/fuzz/capsule.d.ts +46 -0
- package/dist/fuzz/capsule.d.ts.map +1 -0
- package/dist/fuzz/cube.d.ts +36 -0
- package/dist/fuzz/cube.d.ts.map +1 -0
- package/dist/fuzz/explorer-cost.test.d.ts +2 -0
- package/dist/fuzz/explorer-cost.test.d.ts.map +1 -0
- package/dist/fuzz/explorer.d.ts +64 -0
- package/dist/fuzz/explorer.d.ts.map +1 -0
- package/dist/fuzz/fuzz-agent.d.ts +16 -0
- package/dist/fuzz/fuzz-agent.d.ts.map +1 -0
- package/dist/fuzz/fuzz-agent.test.d.ts +2 -0
- package/dist/fuzz/fuzz-agent.test.d.ts.map +1 -0
- package/dist/fuzz/gates.d.ts +33 -0
- package/dist/fuzz/gates.d.ts.map +1 -0
- package/dist/fuzz/index.d.ts +26 -0
- package/dist/fuzz/index.d.ts.map +1 -0
- package/dist/fuzz/policies.d.ts +28 -0
- package/dist/fuzz/policies.d.ts.map +1 -0
- package/dist/fuzz/tools.d.ts +20 -0
- package/dist/fuzz/tools.d.ts.map +1 -0
- package/dist/fuzz/types.d.ts +307 -0
- package/dist/fuzz/types.d.ts.map +1 -0
- package/dist/fuzz.d.ts +1 -547
- package/dist/golden-matcher.d.ts +71 -0
- package/dist/golden-matcher.d.ts.map +1 -0
- package/dist/governance/eu-ai-act.d.ts +37 -0
- package/dist/governance/eu-ai-act.d.ts.map +1 -0
- package/dist/governance/index.d.ts +5 -135
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/nist-ai-rmf.d.ts +15 -0
- package/dist/governance/nist-ai-rmf.d.ts.map +1 -0
- package/dist/governance/soc2.d.ts +12 -0
- package/dist/governance/soc2.d.ts.map +1 -0
- package/dist/governance/types.d.ts +66 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/harness-optimizer.d.ts +82 -0
- package/dist/harness-optimizer.d.ts.map +1 -0
- package/dist/held-out-gate.d.ts +135 -0
- package/dist/held-out-gate.d.ts.map +1 -0
- package/dist/hosted/client.d.ts +73 -0
- package/dist/hosted/client.d.ts.map +1 -0
- package/dist/hosted/from-env.test.d.ts +8 -0
- package/dist/hosted/from-env.test.d.ts.map +1 -0
- package/dist/hosted/index.d.ts +10 -238
- package/dist/hosted/index.d.ts.map +1 -0
- package/dist/hosted/types.d.ts +159 -0
- package/dist/hosted/types.d.ts.map +1 -0
- package/dist/index.d.ts +277 -5643
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +317 -108
- package/dist/index.js.map +1 -1
- package/dist/integrity/backend-integrity.d.ts +71 -0
- package/dist/integrity/backend-integrity.d.ts.map +1 -0
- package/dist/integrity/preflight.d.ts +72 -0
- package/dist/integrity/preflight.d.ts.map +1 -0
- package/dist/integrity/preflight.test.d.ts +2 -0
- package/dist/integrity/preflight.test.d.ts.map +1 -0
- package/dist/integrity/single-backend.d.ts +67 -0
- package/dist/integrity/single-backend.d.ts.map +1 -0
- package/dist/intent-match-judge.d.ts +69 -0
- package/dist/intent-match-judge.d.ts.map +1 -0
- package/dist/intent-match-judge.test.d.ts +2 -0
- package/dist/intent-match-judge.test.d.ts.map +1 -0
- package/dist/{judge-calibration-0p2QcWNE.d.ts → judge-calibration.d.ts} +16 -17
- package/dist/judge-calibration.d.ts.map +1 -0
- package/dist/judge-ensemble.d.ts +66 -0
- package/dist/judge-ensemble.d.ts.map +1 -0
- package/dist/judge-ensemble.test.d.ts +8 -0
- package/dist/judge-ensemble.test.d.ts.map +1 -0
- package/dist/judge-families.d.ts +38 -0
- package/dist/judge-families.d.ts.map +1 -0
- package/dist/judge-panel.d.ts +65 -0
- package/dist/judge-panel.d.ts.map +1 -0
- package/dist/judge-retry.d.ts +70 -0
- package/dist/judge-retry.d.ts.map +1 -0
- package/dist/judge-runner.d.ts +36 -0
- package/dist/judge-runner.d.ts.map +1 -0
- package/dist/judge-runner.test.d.ts +2 -0
- package/dist/judge-runner.test.d.ts.map +1 -0
- package/dist/judges.d.ts +74 -0
- package/dist/judges.d.ts.map +1 -0
- package/dist/keyword-coverage-judge.d.ts +89 -0
- package/dist/keyword-coverage-judge.d.ts.map +1 -0
- package/dist/keyword-coverage-judge.test.d.ts +2 -0
- package/dist/keyword-coverage-judge.test.d.ts.map +1 -0
- package/dist/knowledge/index.d.ts +3 -103
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/readiness.d.ts +26 -0
- package/dist/knowledge/readiness.d.ts.map +1 -0
- package/dist/knowledge/types.d.ts +75 -0
- package/dist/knowledge/types.d.ts.map +1 -0
- package/dist/live-proof.d.ts +62 -0
- package/dist/live-proof.d.ts.map +1 -0
- package/dist/{llm-client-BeEcAokY.d.ts → llm-client.d.ts} +52 -23
- package/dist/llm-client.d.ts.map +1 -0
- package/dist/llm-client.test.d.ts +2 -0
- package/dist/llm-client.test.d.ts.map +1 -0
- package/dist/locked-jsonl-appender.d.ts +19 -0
- package/dist/locked-jsonl-appender.d.ts.map +1 -0
- package/dist/matrix/aggregation.d.ts +16 -0
- package/dist/matrix/aggregation.d.ts.map +1 -0
- package/dist/matrix/index.d.ts +12 -30
- package/dist/matrix/index.d.ts.map +1 -0
- package/dist/matrix/runner.d.ts +15 -0
- package/dist/matrix/runner.d.ts.map +1 -0
- package/dist/{types-mn5Aqk7x.d.ts → matrix/types.d.ts} +11 -15
- package/dist/matrix/types.d.ts.map +1 -0
- package/dist/meta-eval/calibration.d.ts +47 -0
- package/dist/meta-eval/calibration.d.ts.map +1 -0
- package/dist/meta-eval/correlation-study.d.ts +53 -0
- package/dist/meta-eval/correlation-study.d.ts.map +1 -0
- package/dist/meta-eval/index.d.ts +6 -181
- package/dist/meta-eval/index.d.ts.map +1 -0
- package/dist/meta-eval/index.js +1 -1
- package/dist/{outcome-store-rnXLEqSn.d.ts → meta-eval/outcome-store.d.ts} +7 -8
- package/dist/meta-eval/outcome-store.d.ts.map +1 -0
- package/dist/{rubric-predictive-validity-Cy_W-hWZ.d.ts → meta-eval/rubric-predictive-validity.d.ts} +8 -11
- package/dist/meta-eval/rubric-predictive-validity.d.ts.map +1 -0
- package/dist/meta-eval/sentinel.d.ts +169 -0
- package/dist/meta-eval/sentinel.d.ts.map +1 -0
- package/dist/metrics.d.ts +63 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/model-seats.d.ts +71 -0
- package/dist/model-seats.d.ts.map +1 -0
- package/dist/model-seats.test.d.ts +2 -0
- package/dist/model-seats.test.d.ts.map +1 -0
- package/dist/muffled-gate-scanner.d.ts +102 -0
- package/dist/muffled-gate-scanner.d.ts.map +1 -0
- package/dist/{multi-layer-verifier-DUZXrPDA.d.ts → multi-layer-verifier.d.ts} +12 -15
- package/dist/multi-layer-verifier.d.ts.map +1 -0
- package/dist/multi-layer-verifier.test.d.ts +2 -0
- package/dist/multi-layer-verifier.test.d.ts.map +1 -0
- package/dist/multi-toolchain-layer.d.ts +80 -0
- package/dist/multi-toolchain-layer.d.ts.map +1 -0
- package/dist/multi-toolchain-layer.test.d.ts +2 -0
- package/dist/multi-toolchain-layer.test.d.ts.map +1 -0
- package/dist/multishot/default-tools.d.ts +34 -0
- package/dist/multishot/default-tools.d.ts.map +1 -0
- package/dist/multishot/index.d.ts +7 -290
- package/dist/multishot/index.d.ts.map +1 -0
- package/dist/multishot/index.js.map +1 -1
- package/dist/multishot/judges.d.ts +32 -0
- package/dist/multishot/judges.d.ts.map +1 -0
- package/dist/multishot/matrix.d.ts +107 -0
- package/dist/multishot/matrix.d.ts.map +1 -0
- package/dist/multishot/multishot.d.ts +23 -0
- package/dist/multishot/multishot.d.ts.map +1 -0
- package/dist/multishot/router.d.ts +37 -0
- package/dist/multishot/router.d.ts.map +1 -0
- package/dist/multishot/types.d.ts +60 -0
- package/dist/multishot/types.d.ts.map +1 -0
- package/dist/observability.d.ts +71 -0
- package/dist/observability.d.ts.map +1 -0
- package/dist/openapi.json +1 -1
- package/dist/oracle.d.ts +55 -0
- package/dist/oracle.d.ts.map +1 -0
- package/dist/orthogonality.d.ts +35 -0
- package/dist/orthogonality.d.ts.map +1 -0
- package/dist/otel-pipeline.d.ts +31 -0
- package/dist/otel-pipeline.d.ts.map +1 -0
- package/dist/paraphrase.d.ts +107 -0
- package/dist/paraphrase.d.ts.map +1 -0
- package/dist/{pareto-E-pembql.d.ts → pareto.d.ts} +9 -10
- package/dist/pareto.d.ts.map +1 -0
- package/dist/partition-held-out.d.ts +70 -0
- package/dist/partition-held-out.d.ts.map +1 -0
- package/dist/partition-held-out.test.d.ts +2 -0
- package/dist/partition-held-out.test.d.ts.map +1 -0
- package/dist/perf/index.d.ts +13 -119
- package/dist/perf/index.d.ts.map +1 -0
- package/dist/perf/integrity.d.ts +30 -0
- package/dist/perf/integrity.d.ts.map +1 -0
- package/dist/perf/journey.d.ts +45 -0
- package/dist/perf/journey.d.ts.map +1 -0
- package/dist/perf/ratchet.d.ts +47 -0
- package/dist/perf/ratchet.d.ts.map +1 -0
- package/dist/pipelines/budget-breach.d.ts +31 -0
- package/dist/pipelines/budget-breach.d.ts.map +1 -0
- package/dist/pipelines/budget-breach.test.d.ts +2 -0
- package/dist/pipelines/budget-breach.test.d.ts.map +1 -0
- package/dist/pipelines/failure-cluster.d.ts +38 -0
- package/dist/pipelines/failure-cluster.d.ts.map +1 -0
- package/dist/pipelines/failure-cluster.test.d.ts +2 -0
- package/dist/pipelines/failure-cluster.test.d.ts.map +1 -0
- package/dist/pipelines/first-divergence.d.ts +26 -0
- package/dist/pipelines/first-divergence.d.ts.map +1 -0
- package/dist/pipelines/first-divergence.test.d.ts +2 -0
- package/dist/pipelines/first-divergence.test.d.ts.map +1 -0
- package/dist/pipelines/index.d.ts +8 -173
- package/dist/pipelines/index.d.ts.map +1 -0
- package/dist/pipelines/index.js +40 -15
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/judge-agreement.d.ts +26 -0
- package/dist/pipelines/judge-agreement.d.ts.map +1 -0
- package/dist/pipelines/judge-agreement.test.d.ts +2 -0
- package/dist/pipelines/judge-agreement.test.d.ts.map +1 -0
- package/dist/pipelines/regression.d.ts +23 -0
- package/dist/pipelines/regression.d.ts.map +1 -0
- package/dist/pipelines/regression.test.d.ts +2 -0
- package/dist/pipelines/regression.test.d.ts.map +1 -0
- package/dist/pipelines/stuck-loop.d.ts +32 -0
- package/dist/pipelines/stuck-loop.d.ts.map +1 -0
- package/dist/pipelines/stuck-loop.test.d.ts +2 -0
- package/dist/pipelines/stuck-loop.test.d.ts.map +1 -0
- package/dist/pipelines/tool-waste.d.ts +34 -0
- package/dist/pipelines/tool-waste.d.ts.map +1 -0
- package/dist/pipelines/tool-waste.test.d.ts +2 -0
- package/dist/pipelines/tool-waste.test.d.ts.map +1 -0
- package/dist/playbook.d.ts +16 -0
- package/dist/playbook.d.ts.map +1 -0
- package/dist/pr-review-benchmark.d.ts +88 -0
- package/dist/pr-review-benchmark.d.ts.map +1 -0
- package/dist/pr-review-benchmark.test.d.ts +2 -0
- package/dist/pr-review-benchmark.test.d.ts.map +1 -0
- package/dist/pre-registration.d.ts +125 -0
- package/dist/pre-registration.d.ts.map +1 -0
- package/dist/prm/builtin-rubrics.d.ts +33 -0
- package/dist/prm/builtin-rubrics.d.ts.map +1 -0
- package/dist/prm/index.d.ts +5 -100
- package/dist/prm/index.d.ts.map +1 -0
- package/dist/prm/index.js +55 -12
- package/dist/prm/index.js.map +1 -1
- package/dist/prm/inference.d.ts +29 -0
- package/dist/prm/inference.d.ts.map +1 -0
- package/dist/prm/inference.test.d.ts +2 -0
- package/dist/prm/inference.test.d.ts.map +1 -0
- package/dist/{rubric-BOfxn4ja.d.ts → prm/rubric.d.ts} +10 -13
- package/dist/prm/rubric.d.ts.map +1 -0
- package/dist/prm/training-export.d.ts +38 -0
- package/dist/prm/training-export.d.ts.map +1 -0
- package/dist/produced-state.d.ts +63 -0
- package/dist/produced-state.d.ts.map +1 -0
- package/dist/produced-state.test.d.ts +8 -0
- package/dist/produced-state.test.d.ts.map +1 -0
- package/dist/profile/baselines.d.ts +37 -0
- package/dist/profile/baselines.d.ts.map +1 -0
- package/dist/profile/index.d.ts +105 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/promotion-gate.d.ts +93 -0
- package/dist/promotion-gate.d.ts.map +1 -0
- package/dist/prompt-registry.d.ts +41 -0
- package/dist/prompt-registry.d.ts.map +1 -0
- package/dist/propose-review-control.d.ts +49 -0
- package/dist/propose-review-control.d.ts.map +1 -0
- package/dist/propose-review-control.test.d.ts +2 -0
- package/dist/propose-review-control.test.d.ts.map +1 -0
- package/dist/propose-review.d.ts +155 -0
- package/dist/propose-review.d.ts.map +1 -0
- package/dist/{red-team-BXHil6c8.d.ts → red-team.d.ts} +14 -16
- package/dist/red-team.d.ts.map +1 -0
- package/dist/reference-replay-steering.d.ts +11 -0
- package/dist/reference-replay-steering.d.ts.map +1 -0
- package/dist/reference-replay.d.ts +176 -0
- package/dist/reference-replay.d.ts.map +1 -0
- package/dist/reflective-mutation.d.ts +79 -0
- package/dist/reflective-mutation.d.ts.map +1 -0
- package/dist/registry.d.ts +31 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/release-confidence.d.ts +128 -0
- package/dist/release-confidence.d.ts.map +1 -0
- package/dist/release-report.d.ts +11 -0
- package/dist/release-report.d.ts.map +1 -0
- package/dist/replay.d.ts +120 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/reporter.d.ts +14 -0
- package/dist/reporter.d.ts.map +1 -0
- package/dist/reporting.d.ts +15 -15
- package/dist/reporting.d.ts.map +1 -0
- package/dist/reporting.js +3 -3
- package/dist/researcher.d.ts +140 -0
- package/dist/researcher.d.ts.map +1 -0
- package/dist/reviewer.d.ts +118 -0
- package/dist/reviewer.d.ts.map +1 -0
- package/dist/reviewer.test.d.ts +2 -0
- package/dist/reviewer.test.d.ts.map +1 -0
- package/dist/reward-model-export.d.ts +60 -0
- package/dist/reward-model-export.d.ts.map +1 -0
- package/dist/rl/active-curriculum.d.ts +110 -0
- package/dist/rl/active-curriculum.d.ts.map +1 -0
- package/dist/rl/adaptation-eval.d.ts +109 -0
- package/dist/rl/adaptation-eval.d.ts.map +1 -0
- package/dist/{adversarial-DIVcDoI_.d.ts → rl/adversarial.d.ts} +6 -7
- package/dist/rl/adversarial.d.ts.map +1 -0
- package/dist/rl/compute-curves.d.ts +127 -0
- package/dist/rl/compute-curves.d.ts.map +1 -0
- package/dist/rl/contamination.d.ts +117 -0
- package/dist/rl/contamination.d.ts.map +1 -0
- package/dist/rl/corpus.d.ts +55 -0
- package/dist/rl/corpus.d.ts.map +1 -0
- package/dist/rl/corpus.test.d.ts +2 -0
- package/dist/rl/corpus.test.d.ts.map +1 -0
- package/dist/rl/dataset.d.ts +102 -0
- package/dist/rl/dataset.d.ts.map +1 -0
- package/dist/rl/dataset.test.d.ts +2 -0
- package/dist/rl/dataset.test.d.ts.map +1 -0
- package/dist/rl/exporters.d.ts +141 -0
- package/dist/rl/exporters.d.ts.map +1 -0
- package/dist/rl/index.d.ts +49 -0
- package/dist/rl/index.d.ts.map +1 -0
- package/dist/{off-policy-DiwuKKg7.d.ts → rl/off-policy.d.ts} +8 -9
- package/dist/rl/off-policy.d.ts.map +1 -0
- package/dist/rl/predictive-validity-researcher.d.ts +69 -0
- package/dist/rl/predictive-validity-researcher.d.ts.map +1 -0
- package/dist/rl/preferences.d.ts +141 -0
- package/dist/rl/preferences.d.ts.map +1 -0
- package/dist/rl/process-reward.d.ts +122 -0
- package/dist/rl/process-reward.d.ts.map +1 -0
- package/dist/rl/reward-hacking.d.ts +104 -0
- package/dist/rl/reward-hacking.d.ts.map +1 -0
- package/dist/rl/rl-campaign.d.ts +85 -0
- package/dist/rl/rl-campaign.d.ts.map +1 -0
- package/dist/rl/run-record-adapters.d.ts +56 -0
- package/dist/rl/run-record-adapters.d.ts.map +1 -0
- package/dist/rl/sim-fidelity.d.ts +166 -0
- package/dist/rl/sim-fidelity.d.ts.map +1 -0
- package/dist/rl/sim-fidelity.test.d.ts +2 -0
- package/dist/rl/sim-fidelity.test.d.ts.map +1 -0
- package/dist/rl/tournament.d.ts +115 -0
- package/dist/rl/tournament.d.ts.map +1 -0
- package/dist/rl/verifiable-reward.d.ts +124 -0
- package/dist/rl/verifiable-reward.d.ts.map +1 -0
- package/dist/rl.d.ts +1 -1192
- package/dist/rl.js +615 -615
- package/dist/rl.js.map +1 -1
- package/dist/{run-campaign-RDGAM5KJ.js → run-campaign-WXY7KI67.js} +3 -3
- package/dist/run-critic.d.ts +23 -0
- package/dist/run-critic.d.ts.map +1 -0
- package/dist/run-evidence.d.ts +32 -0
- package/dist/run-evidence.d.ts.map +1 -0
- package/dist/{run-record-e7vj1uZQ.d.ts → run-record.d.ts} +16 -122
- package/dist/run-record.d.ts.map +1 -0
- package/dist/run-record.test.d.ts +2 -0
- package/dist/run-record.test.d.ts.map +1 -0
- package/dist/run-score.d.ts +31 -0
- package/dist/run-score.d.ts.map +1 -0
- package/dist/runtime-trajectory.d.ts +47 -0
- package/dist/runtime-trajectory.d.ts.map +1 -0
- package/dist/{test-graded-scenario-BdVaPyHT.d.ts → sandbox-harness.d.ts} +34 -60
- package/dist/sandbox-harness.d.ts.map +1 -0
- package/dist/sandbox-harness.test.d.ts +2 -0
- package/dist/sandbox-harness.test.d.ts.map +1 -0
- package/dist/sandbox-pool.d.ts +74 -0
- package/dist/sandbox-pool.d.ts.map +1 -0
- package/dist/sandbox-pool.test.d.ts +2 -0
- package/dist/sandbox-pool.test.d.ts.map +1 -0
- package/dist/scorecard.d.ts +133 -0
- package/dist/scorecard.d.ts.map +1 -0
- package/dist/scorecard.test.d.ts +2 -0
- package/dist/scorecard.test.d.ts.map +1 -0
- package/dist/self-play.d.ts +69 -0
- package/dist/self-play.d.ts.map +1 -0
- package/dist/semantic-concept-judge.d.ts +135 -0
- package/dist/semantic-concept-judge.d.ts.map +1 -0
- package/dist/semantic-concept-judge.test.d.ts +2 -0
- package/dist/semantic-concept-judge.test.d.ts.map +1 -0
- package/dist/{sequential-5iSVfzl2.d.ts → sequential.d.ts} +9 -10
- package/dist/sequential.d.ts.map +1 -0
- package/dist/{series-convergence-D5OWMBg6.d.ts → series-convergence.d.ts} +4 -5
- package/dist/series-convergence.d.ts.map +1 -0
- package/dist/slo.d.ts +48 -0
- package/dist/slo.d.ts.map +1 -0
- package/dist/state-continuity.d.ts +47 -0
- package/dist/state-continuity.d.ts.map +1 -0
- package/dist/{statistics-C7PozGrZ.d.ts → statistics.d.ts} +152 -39
- package/dist/statistics.d.ts.map +1 -0
- package/dist/statistics.test.d.ts +2 -0
- package/dist/statistics.test.d.ts.map +1 -0
- package/dist/steering-optimizer.d.ts +58 -0
- package/dist/steering-optimizer.d.ts.map +1 -0
- package/dist/steering.d.ts +24 -0
- package/dist/steering.d.ts.map +1 -0
- package/dist/storyboard/code-edit.d.ts +64 -0
- package/dist/storyboard/code-edit.d.ts.map +1 -0
- package/dist/storyboard/code-edit.test.d.ts +2 -0
- package/dist/storyboard/code-edit.test.d.ts.map +1 -0
- package/dist/storyboard/index.d.ts +16 -81
- package/dist/storyboard/index.d.ts.map +1 -0
- package/dist/storyboard/index.test.d.ts +2 -0
- package/dist/storyboard/index.test.d.ts.map +1 -0
- package/dist/{summary-report-DGmUucwQ.d.ts → summary-report.d.ts} +23 -160
- package/dist/summary-report.d.ts.map +1 -0
- package/dist/telemetry/client.d.ts +35 -0
- package/dist/telemetry/client.d.ts.map +1 -0
- package/dist/telemetry/index.d.ts +17 -35
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/schema.d.ts +61 -0
- package/dist/telemetry/schema.d.ts.map +1 -0
- package/dist/telemetry/sink-fetch.d.ts +39 -0
- package/dist/telemetry/sink-fetch.d.ts.map +1 -0
- package/dist/telemetry/{file.d.ts → sink-file.d.ts} +5 -7
- package/dist/telemetry/sink-file.d.ts.map +1 -0
- package/dist/test-graded-scenario.d.ts +42 -0
- package/dist/test-graded-scenario.d.ts.map +1 -0
- package/dist/testing.d.ts +5 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +8 -0
- package/dist/testing.js.map +1 -0
- package/dist/tool-use-metrics.d.ts +35 -0
- package/dist/tool-use-metrics.d.ts.map +1 -0
- package/dist/trace/capture-fetch.d.ts +48 -0
- package/dist/trace/capture-fetch.d.ts.map +1 -0
- package/dist/trace/capture-fetch.test.d.ts +2 -0
- package/dist/trace/capture-fetch.test.d.ts.map +1 -0
- package/dist/{emitter-DEZwY14K.d.ts → trace/emitter.d.ts} +9 -12
- package/dist/trace/emitter.d.ts.map +1 -0
- package/dist/trace/extract-usage.d.ts +46 -0
- package/dist/trace/extract-usage.d.ts.map +1 -0
- package/dist/trace/extract-usage.test.d.ts +2 -0
- package/dist/trace/extract-usage.test.d.ts.map +1 -0
- package/dist/trace/index.d.ts +15 -0
- package/dist/trace/index.d.ts.map +1 -0
- package/dist/{integrity-VJ9A7aST.d.ts → trace/integrity.d.ts} +11 -14
- package/dist/trace/integrity.d.ts.map +1 -0
- package/dist/trace/otel-bridge.d.ts +29 -0
- package/dist/trace/otel-bridge.d.ts.map +1 -0
- package/dist/trace/otel-export.d.ts +52 -0
- package/dist/trace/otel-export.d.ts.map +1 -0
- package/dist/trace/otel.d.ts +57 -0
- package/dist/trace/otel.d.ts.map +1 -0
- package/dist/trace/otlp-attributes.d.ts +17 -0
- package/dist/trace/otlp-attributes.d.ts.map +1 -0
- package/dist/trace/query.d.ts +29 -0
- package/dist/trace/query.d.ts.map +1 -0
- package/dist/trace/query.test.d.ts +2 -0
- package/dist/trace/query.test.d.ts.map +1 -0
- package/dist/{raw-provider-sink-C46HDghv.d.ts → trace/raw-provider-sink.d.ts} +13 -14
- package/dist/trace/raw-provider-sink.d.ts.map +1 -0
- package/dist/{redact-B40YG2M_.d.ts → trace/redact.d.ts} +7 -8
- package/dist/trace/redact.d.ts.map +1 -0
- package/dist/{schema-m0gsnbt3.d.ts → trace/schema.d.ts} +29 -30
- package/dist/trace/schema.d.ts.map +1 -0
- package/dist/trace/store-to-otlp.d.ts +72 -0
- package/dist/trace/store-to-otlp.d.ts.map +1 -0
- package/dist/trace/store-to-otlp.test.d.ts +2 -0
- package/dist/trace/store-to-otlp.test.d.ts.map +1 -0
- package/dist/{store-CKUAgsJz.d.ts → trace/store.d.ts} +37 -13
- package/dist/trace/store.d.ts.map +1 -0
- package/dist/trace/store.test.d.ts +2 -0
- package/dist/trace/store.test.d.ts.map +1 -0
- package/dist/{analyst-C8HHvfJp.d.ts → trace-analyst/analyst.d.ts} +12 -14
- package/dist/trace-analyst/analyst.d.ts.map +1 -0
- package/dist/trace-analyst/analyst.test.d.ts +2 -0
- package/dist/trace-analyst/analyst.test.d.ts.map +1 -0
- package/dist/trace-analyst/behavioral-metrics.d.ts +40 -0
- package/dist/trace-analyst/behavioral-metrics.d.ts.map +1 -0
- package/dist/trace-analyst/behavioral-metrics.test.d.ts +2 -0
- package/dist/trace-analyst/behavioral-metrics.test.d.ts.map +1 -0
- package/dist/trace-analyst/hook.d.ts +55 -0
- package/dist/trace-analyst/hook.d.ts.map +1 -0
- package/dist/trace-analyst/index.d.ts +18 -0
- package/dist/trace-analyst/index.d.ts.map +1 -0
- package/dist/trace-analyst/insights.d.ts +71 -0
- package/dist/trace-analyst/insights.d.ts.map +1 -0
- package/dist/trace-analyst/insights.test.d.ts +2 -0
- package/dist/trace-analyst/insights.test.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-flatten.d.ts +42 -0
- package/dist/trace-analyst/otlp-flatten.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-span.d.ts +85 -0
- package/dist/trace-analyst/otlp-span.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-span.test.d.ts +2 -0
- package/dist/trace-analyst/otlp-span.test.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-to-run-records.d.ts +115 -0
- package/dist/trace-analyst/otlp-to-run-records.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-to-run-records.test.d.ts +2 -0
- package/dist/trace-analyst/otlp-to-run-records.test.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-to-run-records.timestamps.test.d.ts +2 -0
- package/dist/trace-analyst/otlp-to-run-records.timestamps.test.d.ts.map +1 -0
- package/dist/trace-analyst/prompts.d.ts +6 -0
- package/dist/trace-analyst/prompts.d.ts.map +1 -0
- package/dist/trace-analyst/store-otlp.d.ts +126 -0
- package/dist/trace-analyst/store-otlp.d.ts.map +1 -0
- package/dist/trace-analyst/store-otlp.test.d.ts +8 -0
- package/dist/trace-analyst/store-otlp.test.d.ts.map +1 -0
- package/dist/trace-analyst/store-otlp.timestamps.test.d.ts +2 -0
- package/dist/trace-analyst/store-otlp.timestamps.test.d.ts.map +1 -0
- package/dist/trace-analyst/store.d.ts +63 -0
- package/dist/trace-analyst/store.d.ts.map +1 -0
- package/dist/trace-analyst/tools.d.ts +44 -0
- package/dist/trace-analyst/tools.d.ts.map +1 -0
- package/dist/trace-analyst/tools.test.d.ts +10 -0
- package/dist/trace-analyst/tools.test.d.ts.map +1 -0
- package/dist/{store-C1YxJDEK.d.ts → trace-analyst/types.d.ts} +18 -74
- package/dist/trace-analyst/types.d.ts.map +1 -0
- package/dist/trace-contracts.d.ts +180 -0
- package/dist/trace-contracts.d.ts.map +1 -0
- package/dist/traced-analyst.d.ts +26 -0
- package/dist/traced-analyst.d.ts.map +1 -0
- package/dist/traced-judges.d.ts +27 -0
- package/dist/traced-judges.d.ts.map +1 -0
- package/dist/traces.d.ts +4 -947
- package/dist/traces.d.ts.map +1 -0
- package/dist/traces.js +42 -12
- package/dist/{trajectory-GEdXJCL5.d.ts → trajectory.d.ts} +8 -9
- package/dist/trajectory.d.ts.map +1 -0
- package/dist/{types-Croy5h7V.d.ts → types.d.ts} +33 -33
- package/dist/types.d.ts.map +1 -0
- package/dist/ui-finding.d.ts +104 -0
- package/dist/ui-finding.d.ts.map +1 -0
- package/dist/verdict-cache.d.ts +78 -0
- package/dist/verdict-cache.d.ts.map +1 -0
- package/dist/verdict-cache.test.d.ts +2 -0
- package/dist/verdict-cache.test.d.ts.map +1 -0
- package/dist/{verdict-C9MlYujm.d.ts → verdict.d.ts} +2 -3
- package/dist/verdict.d.ts.map +1 -0
- package/dist/visual-diff.d.ts +32 -0
- package/dist/visual-diff.d.ts.map +1 -0
- package/dist/wire/handlers.d.ts +54 -0
- package/dist/wire/handlers.d.ts.map +1 -0
- package/dist/wire/index.d.ts +13 -570
- package/dist/wire/index.d.ts.map +1 -0
- package/dist/wire/index.js +2 -2
- package/dist/wire/openapi.d.ts +3 -0
- package/dist/wire/openapi.d.ts.map +1 -0
- package/dist/wire/rpc.d.ts +21 -0
- package/dist/wire/rpc.d.ts.map +1 -0
- package/dist/wire/rubrics.d.ts +34 -0
- package/dist/wire/rubrics.d.ts.map +1 -0
- package/dist/wire/schemas.d.ts +410 -0
- package/dist/wire/schemas.d.ts.map +1 -0
- package/dist/wire/server.d.ts +60 -0
- package/dist/wire/server.d.ts.map +1 -0
- package/dist/workflow/event-schema.d.ts +5 -0
- package/dist/workflow/event-schema.d.ts.map +1 -0
- package/dist/workflow/feedback-pack.d.ts +99 -0
- package/dist/workflow/feedback-pack.d.ts.map +1 -0
- package/dist/workflow/index.d.ts +22 -495
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +2 -2
- package/dist/workflow/intelligence-export.d.ts +62 -0
- package/dist/workflow/intelligence-export.d.ts.map +1 -0
- package/dist/workflow/partner-report.d.ts +49 -0
- package/dist/workflow/partner-report.d.ts.map +1 -0
- package/dist/workflow/phase-graph.d.ts +43 -0
- package/dist/workflow/phase-graph.d.ts.map +1 -0
- package/dist/workflow/promotion-gate.d.ts +61 -0
- package/dist/workflow/promotion-gate.d.ts.map +1 -0
- package/dist/workflow/run-record.d.ts +12 -0
- package/dist/workflow/run-record.d.ts.map +1 -0
- package/dist/workflow/runtime-adapter.d.ts +20 -0
- package/dist/workflow/runtime-adapter.d.ts.map +1 -0
- package/dist/workflow/sanitize.d.ts +21 -0
- package/dist/workflow/sanitize.d.ts.map +1 -0
- package/dist/workflow/schema.d.ts +5 -0
- package/dist/workflow/schema.d.ts.map +1 -0
- package/dist/workflow/summary.d.ts +43 -0
- package/dist/workflow/summary.d.ts.map +1 -0
- package/dist/workflow/trace-event-fields.d.ts +6 -0
- package/dist/workflow/trace-event-fields.d.ts.map +1 -0
- package/dist/workflow/trajectory.d.ts +15 -0
- package/dist/workflow/trajectory.d.ts.map +1 -0
- package/dist/workflow/types.d.ts +68 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workspace-inspector.d.ts +67 -0
- package/dist/workspace-inspector.d.ts.map +1 -0
- package/dist/wrangler-deploy-runner.test.d.ts +2 -0
- package/dist/wrangler-deploy-runner.test.d.ts.map +1 -0
- package/docs/campaign-proposers.md +170 -0
- package/docs/concepts.md +8 -4
- package/docs/customer-journeys.md +15 -13
- package/docs/design/loop-taxonomy.md +34 -66
- package/docs/distributed-driver.md +14 -14
- package/docs/feature-guide.md +1 -1
- package/docs/hosted-ingest-spec.md +2 -3
- package/docs/multi-shot-optimization.md +8 -8
- package/docs/product-eval-adoption.md +1 -1
- package/docs/self-improvement-map.md +33 -29
- package/package.json +9 -15
- package/dist/calibration-Cpr3WaX3.d.ts +0 -101
- package/dist/chunk-47X6LRCE.js.map +0 -1
- package/dist/chunk-6SOJM3VR.js.map +0 -1
- package/dist/chunk-CVVHBFGN.js.map +0 -1
- package/dist/chunk-D3V5B42D.js.map +0 -1
- package/dist/chunk-E4GH6USR.js.map +0 -1
- package/dist/chunk-GSH6QNNS.js.map +0 -1
- package/dist/chunk-KWRRMR3J.js.map +0 -1
- package/dist/chunk-LMZQ2Z4U.js.map +0 -1
- package/dist/chunk-QAY5UIJO.js.map +0 -1
- package/dist/chunk-QG2OVF2D.js.map +0 -1
- package/dist/chunk-T375SUOZ.js.map +0 -1
- package/dist/chunk-TWS7AZEY.js.map +0 -1
- package/dist/chunk-UMMZHCPB.js.map +0 -1
- package/dist/chunk-XY4DDNEG.js.map +0 -1
- package/dist/chunk-ZFIBGEOL.js.map +0 -1
- package/dist/control-_Qb7skHX.d.ts +0 -259
- package/dist/corpus-BoR-041R.d.ts +0 -560
- package/dist/failure-cluster-CL7IVgkJ.d.ts +0 -76
- package/dist/harness-optimizer-EnEnQPsr.d.ts +0 -106
- package/dist/index-Bx3gZ8xl.d.ts +0 -159
- package/dist/pre-registration-mAnCugl9.d.ts +0 -523
- package/dist/provenance-LnqRT0sS.d.ts +0 -441
- package/dist/query-CqTxMwDw.d.ts +0 -31
- package/dist/release-report-euXIV_Sk.d.ts +0 -233
- package/dist/run-critic-BAIjX99r.d.ts +0 -56
- package/dist/run-improvement-loop-5z_l5zDz.d.ts +0 -427
- package/dist/runtime-trajectory-BDgfGZSr.d.ts +0 -49
- package/dist/semantic-concept-judge-Dn8Z6KEG.d.ts +0 -624
- package/dist/sink-fetch-B1Yg4Til.d.ts +0 -101
- package/docs/design/external-agent-wedge.md +0 -89
- package/docs/design/phase-d-rfc.md +0 -125
- package/docs/design/phase4-consumer-migration.md +0 -70
- package/docs/design/primitives-integration-spec.md +0 -393
- package/docs/design/product-self-improvement-loop.md +0 -146
- package/docs/design/self-improvement-engine.md +0 -140
- package/docs/design/self-improvement-protocol.md +0 -223
- package/docs/design/self-improvement-roadmap.md +0 -106
- package/docs/design/substrate-gaps.md +0 -118
- package/docs/phase-b-pairing-kit.md +0 -188
- package/docs/phase-b-runbook.md +0 -176
- package/docs/pilot/README.md +0 -62
- package/docs/pilot/customer-checklist.md +0 -90
- package/docs/pilot/integration-foreign-stack.md +0 -296
- package/docs/pilot/integration-tangle-stack.md +0 -248
- package/docs/pilot/one-pager.md +0 -161
- package/docs/pilot/sample-insight-report.json +0 -172
- package/docs/quickstart-external.md +0 -229
- package/docs/research/belief-state-agent-eval-roadmap.md +0 -593
- package/docs/research/research-roadmap.md +0 -205
- package/docs/specs/driver-honest-spec.md +0 -251
- package/docs/specs/hermes-self-improvement-audit.md +0 -93
- package/docs/specs/profile-versioning.md +0 -291
- package/docs/three-package-architecture.md +0 -168
- /package/dist/{chunk-QS3RBQPI.js.map → chunk-D5KBVULY.js.map} +0 -0
- /package/dist/{chunk-UHMJT4T7.js.map → chunk-IZCEK2HR.js.map} +0 -0
- /package/dist/{chunk-L3JOU6XM.js.map → chunk-NACM5RS7.js.map} +0 -0
- /package/dist/{chunk-4FBZZIYD.js.map → chunk-QTMYW64F.js.map} +0 -0
- /package/dist/{chunk-CY6U5S3X.js.map → chunk-URWVKRCS.js.map} +0 -0
- /package/dist/{chunk-Y47J2LJ3.js.map → chunk-Z6L6YSU6.js.map} +0 -0
- /package/dist/{run-campaign-RDGAM5KJ.js.map → run-campaign-WXY7KI67.js.map} +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend-integrity guard: distinguish "agent failed" from "eval ran against
|
|
3
|
+
* a stub / unconfigured backend." Without this guard a canonical eval can
|
|
4
|
+
* silently report `0/N passed` and look like an agent-quality problem when
|
|
5
|
+
* the LLM was never actually called — the failure mode we just hit running
|
|
6
|
+
* the 4-vertical parallel eval (legal-sandbox-stub returned hard-coded 33-104
|
|
7
|
+
* char strings; gtm/creative defaulted to a cli-bridge that wasn't running).
|
|
8
|
+
*
|
|
9
|
+
* The shape:
|
|
10
|
+
*
|
|
11
|
+
* const report = summarizeBackendIntegrity(records)
|
|
12
|
+
* assertRealBackend(records) // throws BackendIntegrityError if 100% stub
|
|
13
|
+
*
|
|
14
|
+
* A record is "stub-mode" if its `tokenUsage.input === 0 && tokenUsage.output === 0`.
|
|
15
|
+
* (`costUsd` alone is unreliable — some backends successfully call LLMs but
|
|
16
|
+
* don't propagate pricing, producing real tokens with $0 cost.)
|
|
17
|
+
*
|
|
18
|
+
* Verdicts:
|
|
19
|
+
* - `real` — at least one record has nonzero token usage
|
|
20
|
+
* - `stub` — every record is stub-mode (eval ran blind)
|
|
21
|
+
* - `mixed` — some records real, some stub (partial backend failure;
|
|
22
|
+
* often the 429-cascade or auth-half-failed case)
|
|
23
|
+
*/
|
|
24
|
+
import { AgentEvalError } from '../errors';
|
|
25
|
+
import type { RunRecord } from '../run-record';
|
|
26
|
+
export interface BackendIntegrityReport {
|
|
27
|
+
/** Total records inspected. */
|
|
28
|
+
totalRecords: number;
|
|
29
|
+
/** Records with input=0 AND output=0 (a stub fingerprint). */
|
|
30
|
+
stubRecords: number;
|
|
31
|
+
/** Records with nonzero token usage (real LLM activity). */
|
|
32
|
+
realRecords: number;
|
|
33
|
+
/** Records where output>0 but costUsd=0 (real LLM, broken cost ledger). */
|
|
34
|
+
uncostedRecords: number;
|
|
35
|
+
/** Sum of input tokens across all records. */
|
|
36
|
+
totalInputTokens: number;
|
|
37
|
+
/** Sum of output tokens across all records. */
|
|
38
|
+
totalOutputTokens: number;
|
|
39
|
+
/** Sum of costUsd across all records. */
|
|
40
|
+
totalCostUsd: number;
|
|
41
|
+
/** Worst-case integrity verdict. */
|
|
42
|
+
verdict: 'real' | 'mixed' | 'stub';
|
|
43
|
+
/** Human-readable diagnosis suitable for terminal output. */
|
|
44
|
+
diagnosis: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Error thrown when an integrity assertion fails. Caller can pattern-match
|
|
48
|
+
* by `code === 'AGENT_EVAL_BACKEND_STUB'` to differentiate from other
|
|
49
|
+
* errors.
|
|
50
|
+
*/
|
|
51
|
+
export declare class BackendIntegrityError extends AgentEvalError {
|
|
52
|
+
readonly report: BackendIntegrityReport;
|
|
53
|
+
constructor(message: string, report: BackendIntegrityReport);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Inspect a batch of RunRecords and return an integrity report. Pure
|
|
57
|
+
* function — no I/O, no logging. The caller decides what to do with the
|
|
58
|
+
* verdict (print warning, throw, gate CI, etc.).
|
|
59
|
+
*/
|
|
60
|
+
export declare function summarizeBackendIntegrity(records: ReadonlyArray<RunRecord>): BackendIntegrityReport;
|
|
61
|
+
/**
|
|
62
|
+
* Throw BackendIntegrityError if the verdict is 'stub' — i.e. every record
|
|
63
|
+
* shows zero LLM activity. Non-strict callers can pass `{ allowMixed: false }`
|
|
64
|
+
* to also reject mixed verdicts (recommended for CI gates).
|
|
65
|
+
*
|
|
66
|
+
* Real backends pass through silently.
|
|
67
|
+
*/
|
|
68
|
+
export declare function assertRealBackend(records: ReadonlyArray<RunRecord>, opts?: {
|
|
69
|
+
allowMixed?: boolean;
|
|
70
|
+
}): BackendIntegrityReport;
|
|
71
|
+
//# sourceMappingURL=backend-integrity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-integrity.d.ts","sourceRoot":"","sources":["../../src/integrity/backend-integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,WAAW,sBAAsB;IACrC,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAA;IACvB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAA;IACxB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAClC,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;aAGrC,MAAM,EAAE,sBAAsB;gBAD9C,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,sBAAsB;CAIjD;AAUD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,sBAAsB,CA6CxB;AAoCD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,sBAAsB,CAgBxB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend preflight: verify the models a campaign is about to spend tokens
|
|
3
|
+
* against are actually served by the router BEFORE the run starts. The PRE-hoc
|
|
4
|
+
* complement to `assertRealBackend` (which inspects RunRecords AFTER the run to
|
|
5
|
+
* catch a stub/unconfigured backend).
|
|
6
|
+
*
|
|
7
|
+
* Two checks, increasing in cost:
|
|
8
|
+
* - membership (free): GET `{baseUrl}/models` once; a model is `listed` when
|
|
9
|
+
* its id is in the served set.
|
|
10
|
+
* - probe (spends a tiny number of tokens): POST `{baseUrl}/chat/completions`
|
|
11
|
+
* per model with a 1-message, 5-token request; `served` is whether the
|
|
12
|
+
* router returns 2xx, with the HTTP `status` and the body's `error.message`
|
|
13
|
+
* captured in `detail`.
|
|
14
|
+
*
|
|
15
|
+
* A default model the router cannot serve is a config bug. Gate a campaign on
|
|
16
|
+
* `assertModelsServed` and it surfaces every dead id with its status + detail
|
|
17
|
+
* instead of silently producing a stub run.
|
|
18
|
+
*/
|
|
19
|
+
import { AgentEvalError } from '../errors';
|
|
20
|
+
export interface ModelPreflight {
|
|
21
|
+
/** The model id as supplied by the caller. */
|
|
22
|
+
model: string;
|
|
23
|
+
/** Membership in the `{baseUrl}/models` served set. */
|
|
24
|
+
listed: boolean;
|
|
25
|
+
/** 2xx on a 1-token chat probe. `null` when `probe` was not requested. */
|
|
26
|
+
served: boolean | null;
|
|
27
|
+
/** HTTP status of the probe. `null` when not probed. */
|
|
28
|
+
status: number | null;
|
|
29
|
+
/** Probe body's `error.message` when present, else `null`. */
|
|
30
|
+
detail: string | null;
|
|
31
|
+
}
|
|
32
|
+
export interface PreflightModelsOptions {
|
|
33
|
+
/** Router base URL, e.g. `https://router.tangle.tools/v1`. Trailing slash tolerated. */
|
|
34
|
+
baseUrl: string;
|
|
35
|
+
/** Bearer token sent as `Authorization: Bearer <apiKey>`. */
|
|
36
|
+
apiKey: string;
|
|
37
|
+
/** Model ids to check. */
|
|
38
|
+
models: string[];
|
|
39
|
+
/** When true, additionally spend a 1-token chat probe per model. Default false. */
|
|
40
|
+
probe?: boolean;
|
|
41
|
+
/** Injectable fetch for tests; defaults to the global. */
|
|
42
|
+
fetchImpl?: typeof fetch;
|
|
43
|
+
}
|
|
44
|
+
export interface PreflightOutcome {
|
|
45
|
+
succeeded: boolean;
|
|
46
|
+
value: ModelPreflight[] | null;
|
|
47
|
+
error: string | null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check that `models` are reachable on the router. Returns a typed outcome —
|
|
51
|
+
* a network failure yields `{ succeeded: false, error }`, never a throw and
|
|
52
|
+
* never a partial result silently reported as success. No retries, no
|
|
53
|
+
* fallbacks.
|
|
54
|
+
*
|
|
55
|
+
* The membership check (one GET) always runs. When `probe` is true, each model
|
|
56
|
+
* additionally gets a 1-token chat probe so a model that is listed but
|
|
57
|
+
* unconfigured (a 401 `model_not_found` from the router) is caught.
|
|
58
|
+
*/
|
|
59
|
+
export declare function preflightModels(opts: PreflightModelsOptions): Promise<PreflightOutcome>;
|
|
60
|
+
export declare class ModelsUnreachableError extends AgentEvalError {
|
|
61
|
+
readonly results: ReadonlyArray<ModelPreflight>;
|
|
62
|
+
constructor(message: string, results: ReadonlyArray<ModelPreflight>);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Throw `ModelsUnreachableError` naming EVERY model that is unlisted or (when
|
|
66
|
+
* probed) failed its probe — with status + detail per model. A model is dead
|
|
67
|
+
* if it is unlisted, or if `served === false`. Callers gate a campaign on this
|
|
68
|
+
* before spending tokens. When the network call itself fails the underlying
|
|
69
|
+
* outcome error is rethrown — there is no partial silent pass.
|
|
70
|
+
*/
|
|
71
|
+
export declare function assertModelsServed(opts: PreflightModelsOptions): Promise<ModelPreflight[]>;
|
|
72
|
+
//# sourceMappingURL=preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/integrity/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,cAAc,EAAe,MAAM,WAAW,CAAA;AAEvD,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAA;IACf,0EAA0E;IAC1E,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACtB,wDAAwD;IACxD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAA;IACd,0BAA0B;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAwBD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4D7F;AAED,qBAAa,sBAAuB,SAAQ,cAAc;aAGtC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC;gBADtD,OAAO,EAAE,MAAM,EACC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC;CAKzD;AAYD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAiBhG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.test.d.ts","sourceRoot":"","sources":["../../src/integrity/preflight.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single-backend guard: assert the agent and the rubric judge run through the
|
|
3
|
+
* SAME backend config, so the judge can't silently re-route through a
|
|
4
|
+
* different (often paid) backend than the agent.
|
|
5
|
+
*
|
|
6
|
+
* The bug class: `--backend cli-bridge` rewires the agent, but the judge still
|
|
7
|
+
* reads `process.env.TANGLE_API_KEY` → router. Cost is billed against the
|
|
8
|
+
* router, the eval reports the cli-bridge model, and the data is unusable.
|
|
9
|
+
* Four consumers hand-roll this comparison (legal at `canonical.ts:702-795`);
|
|
10
|
+
* this is the one substrate copy.
|
|
11
|
+
*
|
|
12
|
+
* Complements `assertRealBackend` (records → stub vs real) and
|
|
13
|
+
* `assertCrossFamily` (judge-ensemble family diversity): this one compares two
|
|
14
|
+
* backend *configs* before the run.
|
|
15
|
+
*/
|
|
16
|
+
import { AgentEvalError } from '../errors';
|
|
17
|
+
/**
|
|
18
|
+
* Minimal backend-config shape the assertion reads. Consumers may pass richer
|
|
19
|
+
* types — only these five fields are inspected.
|
|
20
|
+
*/
|
|
21
|
+
export interface BackendDescriptor {
|
|
22
|
+
/** Backend route — e.g. `'tcloud' | 'cli-bridge' | 'sandbox' | 'direct-provider'`;
|
|
23
|
+
* free-form for consumer extensibility. */
|
|
24
|
+
kind: string;
|
|
25
|
+
/** Resolved base URL. Compared lexically (trailing slash stripped). */
|
|
26
|
+
baseUrl: string;
|
|
27
|
+
/** Model id (with snapshot suffix). Compared lexically. */
|
|
28
|
+
model: string;
|
|
29
|
+
/** Optional provider override. Compared when both set; flagged when only
|
|
30
|
+
* one side sets it. */
|
|
31
|
+
provider?: string;
|
|
32
|
+
/** Bearer token. Values are NEVER compared (security) — only that EITHER
|
|
33
|
+
* both are set OR both are empty. Mismatched presence is a divergence. */
|
|
34
|
+
apiKey?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface AssertSingleBackendOptions {
|
|
37
|
+
/** When true, ANY field divergence fails. When false (default), only
|
|
38
|
+
* `kind` / `baseUrl` / `provider` / `apiKeyPresence` divergence throws —
|
|
39
|
+
* a different judge `model` on the same route is allowed (the legal
|
|
40
|
+
* pattern: a cheaper judge model). */
|
|
41
|
+
strict?: boolean;
|
|
42
|
+
agentLabel?: string;
|
|
43
|
+
judgeLabel?: string;
|
|
44
|
+
}
|
|
45
|
+
export type SingleBackendField = 'kind' | 'baseUrl' | 'model' | 'provider' | 'apiKeyPresence';
|
|
46
|
+
export interface SingleBackendDivergence {
|
|
47
|
+
field: SingleBackendField;
|
|
48
|
+
agent: string | undefined;
|
|
49
|
+
judge: string | undefined;
|
|
50
|
+
}
|
|
51
|
+
export interface SingleBackendReport {
|
|
52
|
+
/** True when agent + judge agree per the configured strictness. */
|
|
53
|
+
ok: boolean;
|
|
54
|
+
/** Every divergence detected (includes `model` even when non-blocking). */
|
|
55
|
+
divergences: ReadonlyArray<SingleBackendDivergence>;
|
|
56
|
+
}
|
|
57
|
+
export declare class SingleBackendError extends AgentEvalError {
|
|
58
|
+
readonly report: SingleBackendReport;
|
|
59
|
+
constructor(message: string, report: SingleBackendReport);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Throw `SingleBackendError` when the agent and judge backends diverge in a
|
|
63
|
+
* way that would re-route the judge through a different backend than the
|
|
64
|
+
* agent. Returns the report so callers can log it in either case.
|
|
65
|
+
*/
|
|
66
|
+
export declare function assertSingleBackend(agent: BackendDescriptor, judge: BackendDescriptor, opts?: AssertSingleBackendOptions): SingleBackendReport;
|
|
67
|
+
//# sourceMappingURL=single-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"single-backend.d.ts","sourceRoot":"","sources":["../../src/integrity/single-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;gDAC4C;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAA;IACf,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAA;IACb;4BACwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;+EAC2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC;;;2CAGuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAE7F,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,kBAAkB,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,EAAE,EAAE,OAAO,CAAA;IACX,2EAA2E;IAC3E,WAAW,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;CACpD;AAED,qBAAa,kBAAmB,SAAQ,cAAc;aAGlC,MAAM,EAAE,mBAAmB;gBAD3C,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,mBAAmB;CAK9C;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,iBAAiB,EACxB,IAAI,GAAE,0BAA+B,GACpC,mBAAmB,CA6CrB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent-match judge — "did the agent build the right APP, ignoring
|
|
3
|
+
* whether every feature is wired up?"
|
|
4
|
+
*
|
|
5
|
+
* Distinct from {@link runSemanticConceptJudge} which scores per-concept
|
|
6
|
+
* presence. The semantic judge can return 0/4 concepts present even
|
|
7
|
+
* when the agent built a thoughtful, polished, on-brief app that just
|
|
8
|
+
* lacks one or two features. The semantic judge can also return 4/4
|
|
9
|
+
* present even when the agent shipped the wrong project (keyword-rich
|
|
10
|
+
* stub).
|
|
11
|
+
*
|
|
12
|
+
* Intent-match asks ONE question:
|
|
13
|
+
* "Looking at the agent's work as a whole — independent of feature
|
|
14
|
+
* coverage — is this an honest attempt at the user's request?"
|
|
15
|
+
*
|
|
16
|
+
* Returns a 0–1 score and a 1-sentence evidence string. Use as a sanity
|
|
17
|
+
* check on `completenessScore`-style metrics: if intent-match is high
|
|
18
|
+
* and concept count is low, the agent built the right thing but is
|
|
19
|
+
* missing features (ship and iterate). If intent-match is low, the
|
|
20
|
+
* agent built the wrong thing (reject regardless of concept count).
|
|
21
|
+
*
|
|
22
|
+
* Soft-fails on LLM/JSON error (`available: false`) so callers can
|
|
23
|
+
* treat failure as "judge skipped."
|
|
24
|
+
*/
|
|
25
|
+
import { type LlmClientOptions } from './llm-client';
|
|
26
|
+
export declare const INTENT_MATCH_JUDGE_VERSION = "intent-match-judge-v1-2026-04-24";
|
|
27
|
+
export interface IntentMatchInput {
|
|
28
|
+
/** The full natural-language prompt the agent was handed. */
|
|
29
|
+
userRequest: string;
|
|
30
|
+
/** Top-level source files from the agent's workdir. */
|
|
31
|
+
sourceFiles: Array<{
|
|
32
|
+
path: string;
|
|
33
|
+
content: string;
|
|
34
|
+
}>;
|
|
35
|
+
/** Rendered HTML the preview returned, when available. */
|
|
36
|
+
servedHtml?: string;
|
|
37
|
+
/** Optional metadata to inject (id, vertical, difficulty). */
|
|
38
|
+
artifactLabel?: string;
|
|
39
|
+
artifactDescription?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface IntentMatchResult {
|
|
42
|
+
kind: 'intent-match';
|
|
43
|
+
version: string;
|
|
44
|
+
/** 0..1 — 1 = unmistakably the right app, 0 = unrelated to the brief. */
|
|
45
|
+
score: number;
|
|
46
|
+
/** One-sentence rationale citing concrete evidence (file or HTML). */
|
|
47
|
+
evidence: string;
|
|
48
|
+
durationMs: number;
|
|
49
|
+
costUsd: number | null;
|
|
50
|
+
available: boolean;
|
|
51
|
+
error?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface IntentMatchOptions {
|
|
54
|
+
model?: string;
|
|
55
|
+
timeoutMs?: number;
|
|
56
|
+
maxSourceChars?: number;
|
|
57
|
+
maxPerFileChars?: number;
|
|
58
|
+
maxHtmlChars?: number;
|
|
59
|
+
llm?: LlmClientOptions;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Run the intent-match judge. Soft-fails to available=false on error.
|
|
63
|
+
*/
|
|
64
|
+
export declare function runIntentMatchJudge(input: IntentMatchInput, options?: IntentMatchOptions): Promise<IntentMatchResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Factory: pin LLM options once, return a closure.
|
|
67
|
+
*/
|
|
68
|
+
export declare function createIntentMatchJudge(options?: IntentMatchOptions): (input: IntentMatchInput) => Promise<IntentMatchResult>;
|
|
69
|
+
//# sourceMappingURL=intent-match-judge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-match-judge.d.ts","sourceRoot":"","sources":["../src/intent-match-judge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEjE,eAAO,MAAM,0BAA0B,qCAAqC,CAAA;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAA;IACnB,uDAAuD;IACvD,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACrD,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE,gBAAgB,CAAA;CACvB;AAmED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAiE5B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,kBAAuB,GAC/B,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAEzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-match-judge.test.d.ts","sourceRoot":"","sources":["../src/intent-match-judge.test.ts"],"names":[],"mappings":""}
|
|
@@ -18,19 +18,19 @@
|
|
|
18
18
|
* Returns actionable diagnostics, not a single number. Consumers then
|
|
19
19
|
* decide whether to trust the judge, retrain it, or add a tie-breaker.
|
|
20
20
|
*/
|
|
21
|
-
interface GoldenItem {
|
|
21
|
+
export interface GoldenItem {
|
|
22
22
|
itemId: string;
|
|
23
23
|
humanScore: number;
|
|
24
24
|
/** Optional group used for per-group bias audits (e.g. model-of-output family). */
|
|
25
25
|
group?: string;
|
|
26
26
|
}
|
|
27
|
-
interface CandidateScore {
|
|
27
|
+
export interface CandidateScore {
|
|
28
28
|
itemId: string;
|
|
29
29
|
score: number;
|
|
30
30
|
/** Optional — enables positional-bias analysis (did order matter?). */
|
|
31
31
|
positionOfAInput?: 'first' | 'second';
|
|
32
32
|
}
|
|
33
|
-
interface CalibrationResult {
|
|
33
|
+
export interface CalibrationResult {
|
|
34
34
|
n: number;
|
|
35
35
|
pearson: number;
|
|
36
36
|
/** Cohen's κ with quadratic weights over integer-rounded scores. */
|
|
@@ -45,8 +45,8 @@ interface CalibrationResult {
|
|
|
45
45
|
delta: number;
|
|
46
46
|
}>;
|
|
47
47
|
}
|
|
48
|
-
declare function calibrateJudge(golden: GoldenItem[], candidate: CandidateScore[]): CalibrationResult;
|
|
49
|
-
interface PositionalBiasResult {
|
|
48
|
+
export declare function calibrateJudge(golden: GoldenItem[], candidate: CandidateScore[]): CalibrationResult;
|
|
49
|
+
export interface PositionalBiasResult {
|
|
50
50
|
/**
|
|
51
51
|
* Score delta (first-position - second-position) averaged across items
|
|
52
52
|
* presented in both positions. Non-zero = positional bias.
|
|
@@ -58,17 +58,17 @@ interface PositionalBiasResult {
|
|
|
58
58
|
* Feed the same items to the judge twice with A/B swapped and pass all
|
|
59
59
|
* results here. Items that don't appear in both positions are ignored.
|
|
60
60
|
*/
|
|
61
|
-
declare function positionalBias(scores: CandidateScore[]): PositionalBiasResult;
|
|
62
|
-
interface VerbosityBiasResult {
|
|
61
|
+
export declare function positionalBias(scores: CandidateScore[]): PositionalBiasResult;
|
|
62
|
+
export interface VerbosityBiasResult {
|
|
63
63
|
/** Pearson correlation between output length and score. Strong positive = verbosity bias. */
|
|
64
64
|
pearson: number;
|
|
65
65
|
n: number;
|
|
66
66
|
}
|
|
67
|
-
declare function verbosityBias(samples: Array<{
|
|
67
|
+
export declare function verbosityBias(samples: Array<{
|
|
68
68
|
outputLen: number;
|
|
69
69
|
score: number;
|
|
70
70
|
}>): VerbosityBiasResult;
|
|
71
|
-
interface SelfPreferenceResult {
|
|
71
|
+
export interface SelfPreferenceResult {
|
|
72
72
|
/** Mean judge score when judge's family matches output's family. */
|
|
73
73
|
inFamilyMean: number;
|
|
74
74
|
outOfFamilyMean: number;
|
|
@@ -80,11 +80,11 @@ interface SelfPreferenceResult {
|
|
|
80
80
|
* model X (in-family) and model Y (out-of-family). Non-zero delta
|
|
81
81
|
* indicates self-preference.
|
|
82
82
|
*/
|
|
83
|
-
declare function selfPreference(samples: Array<{
|
|
83
|
+
export declare function selfPreference(samples: Array<{
|
|
84
84
|
score: number;
|
|
85
85
|
inFamily: boolean;
|
|
86
86
|
}>): SelfPreferenceResult;
|
|
87
|
-
interface ContinuousAgreement {
|
|
87
|
+
export interface ContinuousAgreement {
|
|
88
88
|
/** Cohen's κ_w with quadratic weights, computed on raw [0,1] scores. */
|
|
89
89
|
weightedKappa: number;
|
|
90
90
|
/** ICC(2,1): two-way random effects, absolute agreement, single rater. */
|
|
@@ -103,7 +103,7 @@ interface ContinuousAgreement {
|
|
|
103
103
|
/** Number of raters. */
|
|
104
104
|
raters: number;
|
|
105
105
|
}
|
|
106
|
-
interface ContinuousAgreementOptions {
|
|
106
|
+
export interface ContinuousAgreementOptions {
|
|
107
107
|
/** Bootstrap iterations. Default 1000. Set to 0 to skip CIs (CI = [NaN, NaN]). */
|
|
108
108
|
bootstrap?: number;
|
|
109
109
|
/** κ weighting scheme. Default 'quadratic'. */
|
|
@@ -120,8 +120,8 @@ interface ContinuousAgreementOptions {
|
|
|
120
120
|
* are dropped. Returns NaN metrics if fewer than 2 raters or 2 complete
|
|
121
121
|
* items remain.
|
|
122
122
|
*/
|
|
123
|
-
declare function continuousAgreement(scores: number[][], opts?: ContinuousAgreementOptions): ContinuousAgreement;
|
|
124
|
-
interface ContinuousCalibrationResult extends CalibrationResult {
|
|
123
|
+
export declare function continuousAgreement(scores: number[][], opts?: ContinuousAgreementOptions): ContinuousAgreement;
|
|
124
|
+
export interface ContinuousCalibrationResult extends CalibrationResult {
|
|
125
125
|
/** Cohen's κ_w computed on raw (un-rounded) scores. */
|
|
126
126
|
weightedKappaContinuous: number;
|
|
127
127
|
/** ICC(2,1) treating golden + candidate as two raters. */
|
|
@@ -137,6 +137,5 @@ interface ContinuousCalibrationResult extends CalibrationResult {
|
|
|
137
137
|
* agreement metrics. The old fields (n, pearson, kappa, mae, worstItems)
|
|
138
138
|
* are preserved unchanged so existing callers continue to work.
|
|
139
139
|
*/
|
|
140
|
-
declare function calibrateJudgeContinuous(golden: GoldenItem[], candidate: CandidateScore[], opts?: ContinuousAgreementOptions): ContinuousCalibrationResult;
|
|
141
|
-
|
|
142
|
-
export { type ContinuousAgreement as C, type GoldenItem as G, type PositionalBiasResult as P, type SelfPreferenceResult as S, type VerbosityBiasResult as V, type CalibrationResult as a, type ContinuousCalibrationResult as b, type CandidateScore as c, type ContinuousAgreementOptions as d, calibrateJudge as e, calibrateJudgeContinuous as f, continuousAgreement as g, positionalBias as p, selfPreference as s, verbosityBias as v };
|
|
140
|
+
export declare function calibrateJudgeContinuous(golden: GoldenItem[], candidate: CandidateScore[], opts?: ContinuousAgreementOptions): ContinuousCalibrationResult;
|
|
141
|
+
//# sourceMappingURL=judge-calibration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judge-calibration.d.ts","sourceRoot":"","sources":["../src/judge-calibration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,MAAM,CAAA;IACT,OAAO,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,yDAAyD;IACzD,UAAU,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACnF;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAAE,EACpB,SAAS,EAAE,cAAc,EAAE,GAC1B,iBAAiB,CAwBnB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAc7E;AAED,MAAM,WAAW,mBAAmB;IAClC,6FAA6F;IAC7F,OAAO,EAAE,MAAM,CAAA;IACf,CAAC,EAAE,MAAM,CAAA;CACV;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,mBAAmB,CAUrB;AAED,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,GACnD,oBAAoB,CAatB;AAmFD,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAA;IACrB,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAA;IACX,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,EAAE,EAAE;QACF,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACrB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAChC,CAAA;IACD,uDAAuD;IACvD,CAAC,EAAE,MAAM,CAAA;IACT,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;IAChC,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,IAAI,GAAE,0BAA+B,GACpC,mBAAmB,CAmErB;AAED,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,uDAAuD;IACvD,uBAAuB,EAAE,MAAM,CAAA;IAC/B,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE;QACF,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACrB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAChC,CAAA;CACF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,EAAE,EACpB,SAAS,EAAE,cAAc,EAAE,EAC3B,IAAI,GAAE,0BAA+B,GACpC,2BAA2B,CAoB7B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Judge-ensemble reducer — folds N independent judge verdicts on the same
|
|
3
|
+
* artifact into one aggregate score.
|
|
4
|
+
*
|
|
5
|
+
* The pattern every multi-model judge re-implements: run K uncorrelated judges
|
|
6
|
+
* (different model families remove within-family bias), then reduce their
|
|
7
|
+
* per-dimension verdicts to a single composite + an inter-rater disagreement
|
|
8
|
+
* signal. This is the pure reduction — no LLM, no I/O — so a lift it produces
|
|
9
|
+
* is attributable to the scores, not to where they came from.
|
|
10
|
+
*
|
|
11
|
+
* Fail-loud: a judge that errored or returned malformed output is recorded in
|
|
12
|
+
* `failedJudges` with `perDimension: null`, never folded into a zero. If EVERY
|
|
13
|
+
* judge failed the reducer throws — a silent zero here would corrupt the gate's
|
|
14
|
+
* number. A failed judge still burned tokens, so its `costUsd` is still summed.
|
|
15
|
+
*/
|
|
16
|
+
/** One judge's verdict. `perDimension: null` ⇒ that judge call failed (threw or
|
|
17
|
+
* returned malformed output) — recorded, never folded into a zero. */
|
|
18
|
+
export interface JudgeVerdict<D extends string = string> {
|
|
19
|
+
/** Judge identity (typically the model id) — the `perJudge` / `failedJudges` key. */
|
|
20
|
+
model: string;
|
|
21
|
+
/** Per-dimension scores, or `null` when the judge failed. */
|
|
22
|
+
perDimension: Record<D, number> | null;
|
|
23
|
+
/** Optional one-line rationale; the first non-empty one becomes the aggregate's. */
|
|
24
|
+
rationale?: string;
|
|
25
|
+
/** Optional reported cost — summed across ALL verdicts (failed included). */
|
|
26
|
+
costUsd?: number;
|
|
27
|
+
/** Optional per-dimension reasoning/evidence. Carried through to
|
|
28
|
+
* `EnsembleAggregate.verdicts` verbatim — never folded into the math. */
|
|
29
|
+
detail?: Partial<Record<D, {
|
|
30
|
+
reasoning?: string;
|
|
31
|
+
evidence?: string;
|
|
32
|
+
}>>;
|
|
33
|
+
}
|
|
34
|
+
/** The aggregated ensemble result. */
|
|
35
|
+
export interface EnsembleAggregate<D extends string = string> {
|
|
36
|
+
/** Mean over SURVIVING judges, per dimension (absent-everywhere ⇒ 0). */
|
|
37
|
+
perDimension: Record<D, number>;
|
|
38
|
+
/** Weighted mean of `perDimension` (uniform unless `weights` given). */
|
|
39
|
+
composite: number;
|
|
40
|
+
/** Each surviving judge's clamped per-dimension scores, for trace drill-down. */
|
|
41
|
+
perJudge: Record<string, Record<D, number>>;
|
|
42
|
+
/** Max over dimensions of (max − min) across survivors — the inter-rater signal. */
|
|
43
|
+
maxDisagreement: number;
|
|
44
|
+
/** Models whose verdict was null (failed). */
|
|
45
|
+
failedJudges: string[];
|
|
46
|
+
/** Sum of `costUsd` over ALL verdicts, failed included. */
|
|
47
|
+
costUsd: number;
|
|
48
|
+
/** First non-empty survivor rationale, or `'llm-judge'`. */
|
|
49
|
+
rationale: string;
|
|
50
|
+
/** The input verdicts, verbatim — drill-down to raw scores, `detail`
|
|
51
|
+
* reasoning/evidence, and per-verdict cost without re-running judges. */
|
|
52
|
+
verdicts: JudgeVerdict<D>[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Reduce per-judge verdicts to one aggregate. Generic over the rubric: pass the
|
|
56
|
+
* stable-ordered `dimensionKeys` the judges scored.
|
|
57
|
+
*
|
|
58
|
+
* - Per-dimension score = mean over surviving judges (out-of-range clamped to [0,1]).
|
|
59
|
+
* - `composite` = `weightedComposite` of `perDimension`. No `weights` ⇒ uniform
|
|
60
|
+
* over every dimension. A partial `weights` map selects AND weights exactly the
|
|
61
|
+
* named dimensions (others excluded from the composite) — the substrate's
|
|
62
|
+
* sum-normalized weighting, not re-implemented here.
|
|
63
|
+
* - Throws if `verdicts` or `dimensionKeys` is empty, or if every judge failed.
|
|
64
|
+
*/
|
|
65
|
+
export declare function aggregateJudgeVerdicts<D extends string>(verdicts: readonly JudgeVerdict<D>[], dimensionKeys: readonly D[], weights?: Partial<Record<D, number>>): EnsembleAggregate<D>;
|
|
66
|
+
//# sourceMappingURL=judge-ensemble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judge-ensemble.d.ts","sourceRoot":"","sources":["../src/judge-ensemble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH;uEACuE;AACvE,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACrD,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IACtC,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;8EAC0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;CACvE;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC1D,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAC/B,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IAC3C,oFAAoF;IACpF,eAAe,EAAE,MAAM,CAAA;IACvB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAA;IACjB;8EAC0E;IAC1E,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,QAAQ,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,EACpC,aAAa,EAAE,SAAS,CAAC,EAAE,EAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GACnC,iBAAiB,CAAC,CAAC,CAAC,CA6EtB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ensemble reducer's job is to fold N judge verdicts into one trustworthy
|
|
3
|
+
* number. These tests pin the invariants a silent zero would break: a failed
|
|
4
|
+
* judge never counts as zero, all-failed throws, cost includes failures, and
|
|
5
|
+
* the composite/disagreement signals match the per-dimension survivors.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=judge-ensemble.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judge-ensemble.test.d.ts","sourceRoot":"","sources":["../src/judge-ensemble.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Judge model-family classification + cross-family enforcement.
|
|
3
|
+
*
|
|
4
|
+
* A judge ensemble built entirely from one provider family shares that
|
|
5
|
+
* family's blind spots and self-preference — its "agreement" is correlated
|
|
6
|
+
* bias, not independent signal. `assertCrossFamily` makes the consumer prove
|
|
7
|
+
* the ensemble spans ≥2 families; `judgeFamily` is the single regex map that
|
|
8
|
+
* replaces the per-consumer copies (tax/legal/creative/gtm each ship one).
|
|
9
|
+
*/
|
|
10
|
+
/** Provider family a model belongs to. `unknown` when no rule matches. */
|
|
11
|
+
export type JudgeFamily = 'anthropic' | 'openai' | 'google' | 'meta' | 'mistral' | 'deepseek' | 'xai' | 'qwen' | 'cohere' | 'amazon' | 'moonshot' | 'zhipu' | 'unknown';
|
|
12
|
+
/**
|
|
13
|
+
* Classify a model id into its provider family. Strips a `@snapshot` suffix
|
|
14
|
+
* and prefers an explicit `provider/...` prefix; otherwise matches the model
|
|
15
|
+
* name. Returns `unknown` when nothing matches (callers decide whether that's
|
|
16
|
+
* acceptable — `assertCrossFamily` counts it as its own family).
|
|
17
|
+
*/
|
|
18
|
+
export declare function judgeFamily(modelId: string): JudgeFamily;
|
|
19
|
+
export interface AssertCrossFamilyOptions {
|
|
20
|
+
/** Minimum number of distinct families the ensemble must span. Default 2. */
|
|
21
|
+
minFamilies?: number;
|
|
22
|
+
/** When false (default), `unknown`-family models do NOT count toward the
|
|
23
|
+
* family total — an ensemble of all-unclassifiable models is not provably
|
|
24
|
+
* cross-family. Set true to count `unknown` as one shared family. */
|
|
25
|
+
allowUnknown?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare class CrossFamilyError extends Error {
|
|
28
|
+
readonly families: JudgeFamily[];
|
|
29
|
+
readonly models: string[];
|
|
30
|
+
constructor(message: string, families: JudgeFamily[], models: string[]);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Throw unless the judge models span at least `minFamilies` distinct provider
|
|
34
|
+
* families. Pass the model ids backing your judge ensemble. Fail-loud by
|
|
35
|
+
* design — a correlated single-family ensemble silently inflates agreement.
|
|
36
|
+
*/
|
|
37
|
+
export declare function assertCrossFamily(models: string[], opts?: AssertCrossFamilyOptions): JudgeFamily[];
|
|
38
|
+
//# sourceMappingURL=judge-families.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judge-families.d.ts","sourceRoot":"","sources":["../src/judge-families.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,KAAK,GACL,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,SAAS,CAAA;AA+Cb;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAYxD;AAED,MAAM,WAAW,wBAAwB;IACvC,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;0EAEsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,QAAQ,EAAE,WAAW,EAAE;aACvB,MAAM,EAAE,MAAM,EAAE;gBAFhC,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,WAAW,EAAE,EACvB,MAAM,EAAE,MAAM,EAAE;CAKnC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,GAAE,wBAA6B,GAClC,WAAW,EAAE,CAmBf"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-model judge panel — `ensembleJudge` builds a campaign `JudgeConfig`
|
|
3
|
+
* that fans one artifact out to K judge models and reduces their verdicts
|
|
4
|
+
* through `aggregateJudgeVerdicts` (src/judge-ensemble.ts).
|
|
5
|
+
*
|
|
6
|
+
* The panel is the fail-loud composition of the substrate's existing judge
|
|
7
|
+
* primitives:
|
|
8
|
+
* - `assertCrossFamily` (construction-time) — a single-family panel is
|
|
9
|
+
* correlated bias, not independent signal.
|
|
10
|
+
* - `withJudgeRetry` (per model, opt-in) — transient-fault retry with a
|
|
11
|
+
* typed outcome; a judge that exhausts retries is recorded as failed,
|
|
12
|
+
* never folded into a zero.
|
|
13
|
+
* - `aggregateJudgeVerdicts` — the pure reducer; throws when EVERY judge
|
|
14
|
+
* failed so a silent zero can't reach the gate.
|
|
15
|
+
*
|
|
16
|
+
* The returned `JudgeScore` is on the campaign [0,1] scale and carries the
|
|
17
|
+
* ensemble extras (`maxDisagreement`, `failedJudges`, `perJudge`) declared
|
|
18
|
+
* on the canonical `JudgeScore` in src/campaign/types.ts.
|
|
19
|
+
*/
|
|
20
|
+
import type { JudgeConfig } from './campaign/types';
|
|
21
|
+
import { type JudgeVerdict } from './judge-ensemble';
|
|
22
|
+
import { type JudgeRetryPolicy } from './judge-retry';
|
|
23
|
+
export interface EnsembleJudgeOptions<D extends string> {
|
|
24
|
+
/** Judge name — becomes the returned `JudgeConfig.name`. */
|
|
25
|
+
name: string;
|
|
26
|
+
/** Rubric dimensions every model scores. Keys of the verdict's `perDimension`. */
|
|
27
|
+
dimensions: D[];
|
|
28
|
+
/** Judge model ids — one `scoreWith` call per entry. List a model twice to
|
|
29
|
+
* sample it twice (votes are suffix-keyed `model#2` so none overwrite). */
|
|
30
|
+
models: string[];
|
|
31
|
+
/**
|
|
32
|
+
* Score the artifact with one model. Throw (or reject) on failure — the
|
|
33
|
+
* panel records that model as a failed judge; it is never folded into a
|
|
34
|
+
* zero. Verdict scores are clamped to [0,1] by the reducer.
|
|
35
|
+
*/
|
|
36
|
+
scoreWith: (model: string, input: {
|
|
37
|
+
artifact: unknown;
|
|
38
|
+
scenario?: unknown;
|
|
39
|
+
}) => Promise<JudgeVerdict<D>>;
|
|
40
|
+
/**
|
|
41
|
+
* Per-model retry policy, applied via `withJudgeRetry`. The panel's
|
|
42
|
+
* `models` list drives the fan-out, so `retry.models` (the fallback
|
|
43
|
+
* rotation) is overridden to each panel model in turn.
|
|
44
|
+
*/
|
|
45
|
+
retry?: JudgeRetryPolicy;
|
|
46
|
+
/** Enforce `assertCrossFamily` over `models` at construction. Default true.
|
|
47
|
+
* Opt out only for deliberate single-family panels (e.g. self-consistency
|
|
48
|
+
* sampling of one model). */
|
|
49
|
+
crossFamily?: boolean;
|
|
50
|
+
/** Composite weights forwarded to `aggregateJudgeVerdicts`: a partial map
|
|
51
|
+
* selects AND weights exactly the named dimensions. Omit for uniform. */
|
|
52
|
+
weights?: Partial<Record<D, number>>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Build a campaign-shaped `JudgeConfig` whose `score()` runs every panel
|
|
56
|
+
* model in parallel and reduces the surviving verdicts to one canonical
|
|
57
|
+
* `JudgeScore` in [0,1].
|
|
58
|
+
*
|
|
59
|
+
* Failure semantics: a model whose `scoreWith` throws (or exhausts `retry`)
|
|
60
|
+
* lands in `failedJudges` and is excluded from the means. When EVERY model
|
|
61
|
+
* fails, `aggregateJudgeVerdicts` throws — the campaign engine records a
|
|
62
|
+
* failed cell instead of averaging a fabricated zero.
|
|
63
|
+
*/
|
|
64
|
+
export declare function ensembleJudge<D extends string>(opts: EnsembleJudgeOptions<D>): JudgeConfig<unknown>;
|
|
65
|
+
//# sourceMappingURL=judge-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judge-panel.d.ts","sourceRoot":"","sources":["../src/judge-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5E,OAAO,EAAE,KAAK,gBAAgB,EAAkB,MAAM,eAAe,CAAA;AAErE,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM;IACpD,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,UAAU,EAAE,CAAC,EAAE,CAAA;IACf;gFAC4E;IAC5E,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB;;;;OAIG;IACH,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAC7C,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB;;kCAE8B;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;8EAC0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;CACrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC5B,WAAW,CAAC,OAAO,CAAC,CA2DtB"}
|