@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
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
* complement with `replayCampaign` (exact replay where the request hashes
|
|
37
37
|
* match) for high-confidence answers and OPE for the gap.
|
|
38
38
|
*/
|
|
39
|
-
interface OffPolicyTrajectory {
|
|
39
|
+
export interface OffPolicyTrajectory {
|
|
40
40
|
/** Stable id, for traceability through the dataset. */
|
|
41
41
|
runId: string;
|
|
42
42
|
/** Reward observed under the behavior policy (the realized outcome). */
|
|
@@ -59,7 +59,7 @@ interface OffPolicyTrajectory {
|
|
|
59
59
|
*/
|
|
60
60
|
qHat?: number | null;
|
|
61
61
|
}
|
|
62
|
-
interface OffPolicyEstimate {
|
|
62
|
+
export interface OffPolicyEstimate {
|
|
63
63
|
/** Estimated value of the target policy. */
|
|
64
64
|
value: number;
|
|
65
65
|
/** Standard error of the estimate. */
|
|
@@ -74,7 +74,7 @@ interface OffPolicyEstimate {
|
|
|
74
74
|
*/
|
|
75
75
|
maxImportanceWeight: number;
|
|
76
76
|
}
|
|
77
|
-
interface OffPolicyOptions {
|
|
77
|
+
export interface OffPolicyOptions {
|
|
78
78
|
/**
|
|
79
79
|
* Cap importance weights at this value (Ionides 2008 truncated IS) to
|
|
80
80
|
* trade unbiasedness for variance reduction. Default `Infinity` (no cap).
|
|
@@ -92,13 +92,13 @@ interface OffPolicyOptions {
|
|
|
92
92
|
* of E[reward under target policy]. Variance scales with the spread of
|
|
93
93
|
* target/behavior ratios.
|
|
94
94
|
*/
|
|
95
|
-
declare function inverseProbabilityWeighting(trajectories: OffPolicyTrajectory[], opts?: OffPolicyOptions): OffPolicyEstimate;
|
|
95
|
+
export declare function inverseProbabilityWeighting(trajectories: OffPolicyTrajectory[], opts?: OffPolicyOptions): OffPolicyEstimate;
|
|
96
96
|
/**
|
|
97
97
|
* Self-Normalized Importance Sampling. Lower variance than vanilla IPS at
|
|
98
98
|
* the cost of small bias (vanishing as N grows). The right default for
|
|
99
99
|
* LLM-agent evaluation where overlap is often poor.
|
|
100
100
|
*/
|
|
101
|
-
declare function selfNormalizedImportanceWeighting(trajectories: OffPolicyTrajectory[], opts?: OffPolicyOptions): OffPolicyEstimate;
|
|
101
|
+
export declare function selfNormalizedImportanceWeighting(trajectories: OffPolicyTrajectory[], opts?: OffPolicyOptions): OffPolicyEstimate;
|
|
102
102
|
/**
|
|
103
103
|
* Doubly-robust off-policy estimator (Dudík, Langford, Li 2011).
|
|
104
104
|
*
|
|
@@ -117,16 +117,15 @@ declare function selfNormalizedImportanceWeighting(trajectories: OffPolicyTrajec
|
|
|
117
117
|
* report's `n` reflects the full set but `effectiveSampleSize` accounts
|
|
118
118
|
* for the lost variance reduction).
|
|
119
119
|
*/
|
|
120
|
-
declare function doublyRobust(trajectories: OffPolicyTrajectory[], opts?: OffPolicyOptions): OffPolicyEstimate;
|
|
120
|
+
export declare function doublyRobust(trajectories: OffPolicyTrajectory[], opts?: OffPolicyOptions): OffPolicyEstimate;
|
|
121
121
|
/**
|
|
122
122
|
* Convenience: run all three estimators and return them side-by-side.
|
|
123
123
|
* The recommended diagnostic — agreement across estimators is a much
|
|
124
124
|
* stronger signal than any single one.
|
|
125
125
|
*/
|
|
126
|
-
declare function offPolicyEstimateAll(trajectories: OffPolicyTrajectory[], opts?: OffPolicyOptions): {
|
|
126
|
+
export declare function offPolicyEstimateAll(trajectories: OffPolicyTrajectory[], opts?: OffPolicyOptions): {
|
|
127
127
|
ips: OffPolicyEstimate;
|
|
128
128
|
snips: OffPolicyEstimate;
|
|
129
129
|
dr: OffPolicyEstimate;
|
|
130
130
|
};
|
|
131
|
-
|
|
132
|
-
export { type OffPolicyEstimate as O, type OffPolicyOptions as a, type OffPolicyTrajectory as b, doublyRobust as d, inverseProbabilityWeighting as i, offPolicyEstimateAll as o, selfNormalizedImportanceWeighting as s };
|
|
131
|
+
//# sourceMappingURL=off-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"off-policy.d.ts","sourceRoot":"","sources":["../../src/rl/off-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAA;IACb,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAA;IACrB,6FAA6F;IAC7F,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mCAAmC;IACnC,CAAC,EAAE,MAAM,CAAA;IACT;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,mBAAmB,EAAE,EACnC,IAAI,GAAE,gBAAqB,GAC1B,iBAAiB,CAqCnB;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,mBAAmB,EAAE,EACnC,IAAI,GAAE,gBAAqB,GAC1B,iBAAiB,CAkCnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,mBAAmB,EAAE,EACnC,IAAI,GAAE,gBAAqB,GAC1B,iBAAiB,CAuCnB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,mBAAmB,EAAE,EACnC,IAAI,GAAE,gBAAqB,GAC1B;IAAE,GAAG,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAC;IAAC,EAAE,EAAE,iBAAiB,CAAA;CAAE,CAM7E"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `PredictiveValidityResearcher` — concrete `Researcher` implementation
|
|
3
|
+
* that drives selection from outcome-anchored predictive validity.
|
|
4
|
+
*
|
|
5
|
+
* Each method:
|
|
6
|
+
*
|
|
7
|
+
* - `inspectFailures(runs)` — synthesizes failure modes from the
|
|
8
|
+
* bottom-quartile of `RunRecord`s on the configured proxy reward.
|
|
9
|
+
* - `proposeChange(failures)` — proposes steering changes that target
|
|
10
|
+
* the rubrics with the lowest predictive validity (decorative ones).
|
|
11
|
+
* Either reduce their weight in the composite, or recalibrate them.
|
|
12
|
+
* - `applyChange(changes, baseline)` — merges the proposed steering
|
|
13
|
+
* into the experiment plan.
|
|
14
|
+
* - `evaluateChange(plan)` — re-runs the predictive-validity check on
|
|
15
|
+
* the post-change runs and reports the delta.
|
|
16
|
+
*
|
|
17
|
+
* The result is a closed loop: the rubric weights drift toward the ones
|
|
18
|
+
* that actually predict deployment outcomes, automatically. Pair with
|
|
19
|
+
* `runRLCampaign` for the full auto-research story.
|
|
20
|
+
*/
|
|
21
|
+
import type { OutcomeStore } from '../meta-eval/outcome-store';
|
|
22
|
+
import { type RubricPredictiveValidityReport } from '../meta-eval/rubric-predictive-validity';
|
|
23
|
+
import type { ExperimentPlan, ExperimentResult, FailureMode, Researcher, SteeringChange } from '../researcher';
|
|
24
|
+
import type { RunRecord } from '../run-record';
|
|
25
|
+
export interface PredictiveValidityResearcherOptions {
|
|
26
|
+
outcomes: OutcomeStore;
|
|
27
|
+
outcomeMetrics: string[];
|
|
28
|
+
/** Score threshold below which a run counts as a "failure." Default 0.5. */
|
|
29
|
+
failureThreshold?: number;
|
|
30
|
+
/** Spearman bucket below which a rubric is "decorative." Default 0.4. */
|
|
31
|
+
decorativeThreshold?: number;
|
|
32
|
+
/** Optional steering-namespace prefix for proposed changes. Default `'rubric_weight'`. */
|
|
33
|
+
steeringNamespace?: string;
|
|
34
|
+
/** Override the rubric set the researcher inspects. Default: every numeric `outcome.raw` key seen. */
|
|
35
|
+
rubrics?: string[];
|
|
36
|
+
/**
|
|
37
|
+
* Snapshot stash hook — called with the most recent predictive-validity
|
|
38
|
+
* report. Useful when a downstream system wants to log rubric drift over
|
|
39
|
+
* time. Default no-op.
|
|
40
|
+
*/
|
|
41
|
+
onReport?: (report: RubricPredictiveValidityReport) => void | Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Concrete `Researcher` driven by `rubricPredictiveValidity`. The brain:
|
|
45
|
+
* rubrics that don't predict deployment outcomes don't earn weight.
|
|
46
|
+
*/
|
|
47
|
+
export declare class PredictiveValidityResearcher implements Researcher {
|
|
48
|
+
private opts;
|
|
49
|
+
private lastReport;
|
|
50
|
+
constructor(opts: PredictiveValidityResearcherOptions);
|
|
51
|
+
inspectFailures(runs: RunRecord[]): Promise<FailureMode[]>;
|
|
52
|
+
proposeChange(failures: FailureMode[]): Promise<SteeringChange[]>;
|
|
53
|
+
applyChange(changes: SteeringChange[], baseline: ExperimentPlan): Promise<ExperimentPlan>;
|
|
54
|
+
evaluateChange(plan: ExperimentPlan): Promise<ExperimentResult>;
|
|
55
|
+
/**
|
|
56
|
+
* Run the predictive-validity check explicitly against a fresh RunRecord
|
|
57
|
+
* set. Updates the researcher's cached report so subsequent
|
|
58
|
+
* `proposeChange` calls have evidence to draw from.
|
|
59
|
+
*/
|
|
60
|
+
runValidityCheck(runs: RunRecord[]): Promise<RubricPredictiveValidityReport>;
|
|
61
|
+
/**
|
|
62
|
+
* Force-feed a predictive-validity report into the researcher state —
|
|
63
|
+
* useful when the consumer ran the report out-of-band and wants the
|
|
64
|
+
* researcher's later proposals informed by it.
|
|
65
|
+
*/
|
|
66
|
+
setReport(report: RubricPredictiveValidityReport): void;
|
|
67
|
+
getLastReport(): RubricPredictiveValidityReport | null;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=predictive-validity-researcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"predictive-validity-researcher.d.ts","sourceRoot":"","sources":["../../src/rl/predictive-validity-researcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EACL,KAAK,8BAA8B,EAEpC,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACf,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,WAAW,mCAAmC;IAClD,QAAQ,EAAE,YAAY,CAAA;IACtB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,sGAAsG;IACtG,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,8BAA8B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5E;AAED;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,UAAU;IAC7D,OAAO,CAAC,IAAI,CAAqC;IACjD,OAAO,CAAC,UAAU,CAA8C;gBAEpD,IAAI,EAAE,mCAAmC;IAI/C,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAoC1D,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAmDjE,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IASzF,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgCrE;;;;OAIG;IACG,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAYlF;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,8BAA8B,GAAG,IAAI;IAIvD,aAAa,IAAI,8BAA8B,GAAG,IAAI;CAGvD"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preference dataset extraction — bridge from `RunRecord[]` to RL training.
|
|
3
|
+
*
|
|
4
|
+
* Production RLHF / DPO / KTO / SimPO pipelines need preference triples:
|
|
5
|
+
* `(prompt, chosen, rejected)`. The campaign artifact already contains the
|
|
6
|
+
* ingredients — every (variantId, scenarioId, seed) cell is a candidate
|
|
7
|
+
* that ran the same prompt against the same scenario, scored by the same
|
|
8
|
+
* judge — but turning that into a clean preference dataset requires
|
|
9
|
+
* deciding *what counts as a preference*.
|
|
10
|
+
*
|
|
11
|
+
* This module ships three preference-extraction strategies with explicit
|
|
12
|
+
* tradeoffs, plus a unified output type compatible with HuggingFace TRL,
|
|
13
|
+
* Anthropic finetuning JSONL, and OpenAI fine-tuning APIs. The strategies
|
|
14
|
+
* are deliberately not auto-magical — picking the wrong one corrupts the
|
|
15
|
+
* gradient.
|
|
16
|
+
*
|
|
17
|
+
* Strategies:
|
|
18
|
+
*
|
|
19
|
+
* 1. **`paired-by-scenario-and-seed`** — exact-match comparisons. For
|
|
20
|
+
* each scenario × seed pair, compare every (variantA, variantB) on
|
|
21
|
+
* that exact (scenario, seed). Matches scenarios so the comparison
|
|
22
|
+
* isolates variant effects. Highest signal-to-noise; smallest
|
|
23
|
+
* dataset (only matched pairs count).
|
|
24
|
+
*
|
|
25
|
+
* 2. **`paired-by-scenario`** — looser matching. For each scenario,
|
|
26
|
+
* compare every (variantA, variantB) where both have ≥ 1 run on the
|
|
27
|
+
* same scenario. Aggregates across seeds to compute mean scores per
|
|
28
|
+
* (variant, scenario), then forms preferences from the means. More
|
|
29
|
+
* data, lower per-pair signal.
|
|
30
|
+
*
|
|
31
|
+
* 3. **`top-vs-bottom`** — coarsest. Within each scenario, the highest-
|
|
32
|
+
* scoring run is `chosen`, the lowest is `rejected`. Smallest dataset
|
|
33
|
+
* per scenario but biggest score gap per pair. Useful for early
|
|
34
|
+
* bootstrapping when you have few variants.
|
|
35
|
+
*
|
|
36
|
+
* The output `PreferenceTriple` is *agent-eval-canonical* but trivially
|
|
37
|
+
* mappable to TRL's `DPODataset` shape (`prompt`, `chosen`, `rejected`)
|
|
38
|
+
* via the `toTRLFormat` helper.
|
|
39
|
+
*/
|
|
40
|
+
import type { RunRecord } from '../run-record';
|
|
41
|
+
export type PreferenceStrategy = 'paired-by-scenario-and-seed' | 'paired-by-scenario' | 'top-vs-bottom';
|
|
42
|
+
export interface PreferenceTriple {
|
|
43
|
+
/** The scenario (input) the variants were run against. */
|
|
44
|
+
scenarioId: string;
|
|
45
|
+
/** RunRecord ids on each side, for traceability. */
|
|
46
|
+
chosenRunId: string;
|
|
47
|
+
rejectedRunId: string;
|
|
48
|
+
/** Variant ids — load-bearing for the RL update. */
|
|
49
|
+
chosenVariantId: string;
|
|
50
|
+
rejectedVariantId: string;
|
|
51
|
+
/** The score gap between chosen and rejected. Larger = stronger signal. */
|
|
52
|
+
marginScore: number;
|
|
53
|
+
/**
|
|
54
|
+
* Optional `(chosen_score, rejected_score)` pair for soft-margin DPO
|
|
55
|
+
* variants. Omitted for `top-vs-bottom` runs that don't carry meaningful
|
|
56
|
+
* scalar gaps.
|
|
57
|
+
*/
|
|
58
|
+
scores?: {
|
|
59
|
+
chosen: number;
|
|
60
|
+
rejected: number;
|
|
61
|
+
};
|
|
62
|
+
/** Tie-breaker — when multiple seeds match this scenario, the one used. */
|
|
63
|
+
seed?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Free-form metadata propagated from the run records — e.g. original
|
|
66
|
+
* prompt-hash, model, etc. Lets the RL trainer reconstruct the prompt.
|
|
67
|
+
*/
|
|
68
|
+
meta: {
|
|
69
|
+
chosenPromptHash: string;
|
|
70
|
+
rejectedPromptHash: string;
|
|
71
|
+
chosenConfigHash: string;
|
|
72
|
+
rejectedConfigHash: string;
|
|
73
|
+
chosenModel: string;
|
|
74
|
+
rejectedModel: string;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export interface ExtractPreferencesOptions {
|
|
78
|
+
strategy?: PreferenceStrategy;
|
|
79
|
+
/**
|
|
80
|
+
* Minimum score gap required to admit a pair. Pairs below this are
|
|
81
|
+
* dropped — they're noise, not signal. Default 0.05 (5% of [0,1]).
|
|
82
|
+
*/
|
|
83
|
+
minMargin?: number;
|
|
84
|
+
/**
|
|
85
|
+
* Optional split tag filter — restrict to runs from one split. Default
|
|
86
|
+
* `'holdout'` (the canonical "real" signal).
|
|
87
|
+
*/
|
|
88
|
+
splitTag?: RunRecord['splitTag'];
|
|
89
|
+
/**
|
|
90
|
+
* Optional reward extractor that overrides `outcome.holdoutScore` /
|
|
91
|
+
* `outcome.searchScore`. Use to drive preferences off a verifiable
|
|
92
|
+
* reward instead of the headline score.
|
|
93
|
+
*/
|
|
94
|
+
rewardOf?: (run: RunRecord) => number | null;
|
|
95
|
+
}
|
|
96
|
+
export interface PreferenceExtractionReport {
|
|
97
|
+
pairs: PreferenceTriple[];
|
|
98
|
+
/** Number of (scenario, seed) cells inspected. */
|
|
99
|
+
cellsInspected: number;
|
|
100
|
+
/** Number of pairs filtered by `minMargin`. */
|
|
101
|
+
pairsBelowMargin: number;
|
|
102
|
+
/** Number of cells with only one variant (no comparison possible). */
|
|
103
|
+
cellsSingleton: number;
|
|
104
|
+
/** Strategy used. */
|
|
105
|
+
strategy: PreferenceStrategy;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Convert `RunRecord[]` to preference triples for RL training.
|
|
109
|
+
*
|
|
110
|
+
* Returns a structured report so callers can see how much data was
|
|
111
|
+
* dropped and why (low-margin pairs, singleton cells). For production
|
|
112
|
+
* pipelines, you usually want to:
|
|
113
|
+
*
|
|
114
|
+
* 1. Run a campaign producing 5–10 variants × 50–200 scenarios × 3 seeds
|
|
115
|
+
* 2. Call this with `strategy: 'paired-by-scenario-and-seed'` and a
|
|
116
|
+
* verifiable-reward extractor as `rewardOf`
|
|
117
|
+
* 3. Pass `report.pairs` to `toTRLFormat` and pipe to your DPO trainer
|
|
118
|
+
*/
|
|
119
|
+
export declare function extractPreferences(runs: RunRecord[], opts?: ExtractPreferencesOptions): PreferenceExtractionReport;
|
|
120
|
+
/**
|
|
121
|
+
* TRL-compatible export. TRL's `DPODataset` is `{ prompt, chosen, rejected }`
|
|
122
|
+
* but the prompt isn't stored on the RunRecord — only its hash. The caller
|
|
123
|
+
* passes a `promptOf(promptHash)` lookup that the TRL trainer can use.
|
|
124
|
+
*/
|
|
125
|
+
export declare function toTRLFormat(triples: PreferenceTriple[], promptOf: (hash: string) => string): Array<{
|
|
126
|
+
prompt: string;
|
|
127
|
+
chosen: string;
|
|
128
|
+
rejected: string;
|
|
129
|
+
}>;
|
|
130
|
+
/**
|
|
131
|
+
* Anthropic finetuning JSONL export — `{ system, user, assistant_chosen, assistant_rejected }`
|
|
132
|
+
* shape. Same caveat as TRL: prompt + outputs are content the caller has
|
|
133
|
+
* to map back from the run record / raw event log.
|
|
134
|
+
*/
|
|
135
|
+
export declare function toAnthropicFormat(triples: PreferenceTriple[]): Array<{
|
|
136
|
+
scenarioId: string;
|
|
137
|
+
chosenRunId: string;
|
|
138
|
+
rejectedRunId: string;
|
|
139
|
+
margin: number;
|
|
140
|
+
}>;
|
|
141
|
+
//# sourceMappingURL=preferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../src/rl/preferences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,MAAM,kBAAkB,GAC1B,6BAA6B,GAC7B,oBAAoB,GACpB,eAAe,CAAA;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,IAAI,EAAE;QACJ,gBAAgB,EAAE,MAAM,CAAA;QACxB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,gBAAgB,EAAE,MAAM,CAAA;QACxB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,WAAW,EAAE,MAAM,CAAA;QACnB,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,CAAA;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAA;IACtB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,CAAA;IACxB,sEAAsE;IACtE,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB;IACrB,QAAQ,EAAE,kBAAkB,CAAA;CAC7B;AASD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,EAAE,EACjB,IAAI,GAAE,yBAA8B,GACnC,0BAA0B,CAoH5B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GACjC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAM7D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EAAE,GAC1B,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3F"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process reward extraction — step-level credit assignment from trace spans.
|
|
3
|
+
*
|
|
4
|
+
* RL on long-horizon agents needs *step-level* rewards, not run-level
|
|
5
|
+
* ones. The classic credit-assignment problem (Sutton & Barto) requires
|
|
6
|
+
* knowing which sub-decisions in a trajectory contributed to the
|
|
7
|
+
* outcome. Modern systems (DeepSeek-R1, OpenAI o-series, Lightman et al.
|
|
8
|
+
* "Let's Verify Step by Step" 2023) train *process reward models* (PRMs)
|
|
9
|
+
* that score every step, then do RL with the PRM as the reward signal.
|
|
10
|
+
*
|
|
11
|
+
* This module extracts `StepReward[]` from trace spans — one per
|
|
12
|
+
* meaningful step — and ships:
|
|
13
|
+
*
|
|
14
|
+
* 1. `extractStepRewards(store, runId, opts)` — span → step-reward
|
|
15
|
+
* conversion using configurable per-span scorers (LLM judge over the
|
|
16
|
+
* span output, deterministic checkers, or a learned PRM).
|
|
17
|
+
* 2. `runwiseStepRewardSummary(stepRewards)` — aggregate the per-step
|
|
18
|
+
* signal into a credit-assignment-aware run-level score.
|
|
19
|
+
* 3. `prmTrainingPairs(stepRewards, options)` — produce the
|
|
20
|
+
* `(prefix, suffix_chosen, suffix_rejected)` triples that PRM
|
|
21
|
+
* training pipelines consume.
|
|
22
|
+
*
|
|
23
|
+
* What we ship: the *extraction* and *aggregation* infrastructure plus
|
|
24
|
+
* the data shape PRM training expects. We do NOT ship the actual PRM
|
|
25
|
+
* training (gradient descent over a transformer is out of scope for a
|
|
26
|
+
* TS package). The interface is the contract; downstream consumers wire
|
|
27
|
+
* their preferred trainer.
|
|
28
|
+
*
|
|
29
|
+
* Caveat the panel will land: this is descriptive credit assignment
|
|
30
|
+
* (which steps correlate with outcome), not causal credit assignment
|
|
31
|
+
* (which steps caused outcome). For causal claims you need
|
|
32
|
+
* counterfactual rollouts or a learned dynamics model. Future work; the
|
|
33
|
+
* descriptive version is what production PRM training actually uses.
|
|
34
|
+
*/
|
|
35
|
+
import type { Span } from '../trace/schema';
|
|
36
|
+
import type { TraceStore } from '../trace/store';
|
|
37
|
+
export interface StepReward {
|
|
38
|
+
/** Trace span this reward attaches to. */
|
|
39
|
+
spanId: string;
|
|
40
|
+
runId: string;
|
|
41
|
+
/** Index in the trajectory (0-based, in started-at order). */
|
|
42
|
+
stepIndex: number;
|
|
43
|
+
/** Span kind (typically 'tool', 'llm', 'judge'). */
|
|
44
|
+
kind: Span['kind'];
|
|
45
|
+
/** Span name — for the consumer's downstream filtering. */
|
|
46
|
+
name: string;
|
|
47
|
+
/** Step-level reward in [0, 1]. */
|
|
48
|
+
reward: number;
|
|
49
|
+
/**
|
|
50
|
+
* Determinism class. Mirrors the verifiable-reward distinction:
|
|
51
|
+
* deterministic = test/compile/schema check; probabilistic = LLM judge.
|
|
52
|
+
*/
|
|
53
|
+
determinism: 'deterministic' | 'probabilistic';
|
|
54
|
+
/** Optional rationale / evidence — the trainer typically discards. */
|
|
55
|
+
rationale?: string;
|
|
56
|
+
/** Optional weight — how much this step contributes to credit assignment. */
|
|
57
|
+
weight?: number;
|
|
58
|
+
}
|
|
59
|
+
export interface StepScorer {
|
|
60
|
+
/** Span kinds this scorer applies to. */
|
|
61
|
+
appliesTo: Span['kind'][];
|
|
62
|
+
/** Returns null to skip the span; returns a `StepReward` shape (without index/runId/spanId, which are filled in). */
|
|
63
|
+
score(span: Span): Promise<Omit<StepReward, 'spanId' | 'runId' | 'stepIndex'>> | null | undefined;
|
|
64
|
+
}
|
|
65
|
+
export interface ExtractStepRewardsOptions {
|
|
66
|
+
/**
|
|
67
|
+
* Ordered list of scorers. Each span runs through scorers in order;
|
|
68
|
+
* the first non-null result wins. If no scorer applies, the span is
|
|
69
|
+
* skipped (not all spans are training-worthy).
|
|
70
|
+
*/
|
|
71
|
+
scorers: StepScorer[];
|
|
72
|
+
/** Optional filter — return null to drop the span entirely before scoring. */
|
|
73
|
+
preFilter?: (span: Span) => boolean;
|
|
74
|
+
}
|
|
75
|
+
export declare function extractStepRewards(store: TraceStore, runId: string, opts: ExtractStepRewardsOptions): Promise<StepReward[]>;
|
|
76
|
+
export interface RunwiseStepSummary {
|
|
77
|
+
runId: string;
|
|
78
|
+
totalSteps: number;
|
|
79
|
+
meanReward: number;
|
|
80
|
+
/** Sum-of-rewards (weighted by `weight ?? 1`). Use as the run-level proxy. */
|
|
81
|
+
sumWeightedReward: number;
|
|
82
|
+
/** Fraction of steps where reward < 0.5 — proxy for "where the policy was wrong." */
|
|
83
|
+
failureFraction: number;
|
|
84
|
+
/** Maximum drop in reward between consecutive steps — diagnoses a step where things went sideways. */
|
|
85
|
+
worstStepDelta: number;
|
|
86
|
+
worstStepIndex: number | null;
|
|
87
|
+
}
|
|
88
|
+
export declare function runwiseStepRewardSummary(stepRewards: StepReward[]): RunwiseStepSummary;
|
|
89
|
+
export interface PrmTrainingTriple {
|
|
90
|
+
/** Prefix run-id (or composite key) — the trajectory up to step k-1. */
|
|
91
|
+
prefixRunId: string;
|
|
92
|
+
prefixStepIndex: number;
|
|
93
|
+
/** The step that came next on a high-reward trajectory. */
|
|
94
|
+
chosenSpanId: string;
|
|
95
|
+
chosenReward: number;
|
|
96
|
+
/** A step from a divergent low-reward trajectory at the same prefix length. */
|
|
97
|
+
rejectedSpanId: string;
|
|
98
|
+
rejectedReward: number;
|
|
99
|
+
/** The prefix run came from this run; the rejected step came from `rejectedRunId`. */
|
|
100
|
+
rejectedRunId: string;
|
|
101
|
+
marginScore: number;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Build PRM training triples. The shape: pair runs that share an early
|
|
105
|
+
* prefix (same scenario, same first N steps) and diverge later — at the
|
|
106
|
+
* point of divergence, the high-reward run's next step is `chosen`, the
|
|
107
|
+
* low-reward run's next step is `rejected`. This is the canonical PRM
|
|
108
|
+
* training data shape from Lightman et al. and DeepSeek-R1 process
|
|
109
|
+
* supervision.
|
|
110
|
+
*
|
|
111
|
+
* Implementation note: we don't have a way to detect "same prefix" in
|
|
112
|
+
* the general agent setting (token-level prefixes require hashing model
|
|
113
|
+
* outputs). The current heuristic groups by `(scenarioId, prefixSpanName
|
|
114
|
+
* sequence)` — runs are paired when their first K span names match. For
|
|
115
|
+
* production use this should be replaced with a proper trajectory-prefix
|
|
116
|
+
* hash; the heuristic is good enough for early-stage scaffolding.
|
|
117
|
+
*/
|
|
118
|
+
export declare function prmTrainingPairs(stepRewardsByRun: Map<string, StepReward[]>, opts?: {
|
|
119
|
+
minMargin?: number;
|
|
120
|
+
minPrefixLength?: number;
|
|
121
|
+
}): PrmTrainingTriple[];
|
|
122
|
+
//# sourceMappingURL=process-reward.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-reward.d.ts","sourceRoot":"","sources":["../../src/rl/process-reward.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAClB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,WAAW,EAAE,eAAe,GAAG,eAAe,CAAA;IAC9C,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;IACzB,qHAAqH;IACrH,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAA;CAClG;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;CACpC;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,UAAU,EAAE,CAAC,CA8BvB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAA;IACzB,qFAAqF;IACrF,eAAe,EAAE,MAAM,CAAA;IACvB,sGAAsG;IACtG,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CA6CtF;AAED,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,sFAAsF;IACtF,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAC3C,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1D,iBAAiB,EAAE,CAsDrB"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reward hacking / Goodhart detection.
|
|
3
|
+
*
|
|
4
|
+
* Goodhart's Law says: when a measure becomes a target, it ceases to be
|
|
5
|
+
* a good measure. In RLHF and agentic-RL settings this is the dominant
|
|
6
|
+
* failure mode — the policy learns to produce outputs that score well on
|
|
7
|
+
* the proxy reward (judge, rubric, test pass-rate) without producing
|
|
8
|
+
* the underlying capability the proxy was meant to track.
|
|
9
|
+
*
|
|
10
|
+
* Krakovna et al. (2020, "Specification Gaming Examples in AI") and the
|
|
11
|
+
* subsequent RLHF reward-hacking literature (Skalse et al. 2022, Kim et al.
|
|
12
|
+
* 2023) converge on a few diagnostic signatures:
|
|
13
|
+
*
|
|
14
|
+
* 1. **Reward divergence:** the proxy reward grows while the held-out
|
|
15
|
+
* ground-truth signal stagnates or drops. Predictive validity over
|
|
16
|
+
* time captures this.
|
|
17
|
+
* 2. **Distributional shift in outputs:** after RL, the policy produces
|
|
18
|
+
* outputs that no longer match the reference distribution — usually
|
|
19
|
+
* because it found a high-reward attractor that's degenerate (e.g.
|
|
20
|
+
* one-token responses, repetition, formatting tricks).
|
|
21
|
+
* 3. **Disagreement between independent rewards:** if you train on
|
|
22
|
+
* reward A and a held-out independent reward B drops sharply, you're
|
|
23
|
+
* probably hacking A.
|
|
24
|
+
* 4. **Calibration drift:** the verifiable / deterministic component of
|
|
25
|
+
* the reward is stable; the probabilistic / judge component drifts up
|
|
26
|
+
* while the deterministic component doesn't. The judge is being
|
|
27
|
+
* gamed.
|
|
28
|
+
*
|
|
29
|
+
* This module ships explicit detectors for all four signatures, plus a
|
|
30
|
+
* combined verdict. The output is diagnostic — actionable signals,
|
|
31
|
+
* not autoreject — because each signature has known false positives
|
|
32
|
+
* (e.g., a policy that genuinely improves can show distributional shift).
|
|
33
|
+
*
|
|
34
|
+
* Differs from `rubricPredictiveValidity` (which is a *standing* check on
|
|
35
|
+
* whether rubrics correlate with deployment outcomes) — this is a
|
|
36
|
+
* *temporal* check on whether the reward-vs-truth gap is *widening over
|
|
37
|
+
* time during a training run*.
|
|
38
|
+
*/
|
|
39
|
+
import type { RunRecord } from '../run-record';
|
|
40
|
+
import { type VerifiableRewardExtractionOptions } from './verifiable-reward';
|
|
41
|
+
export type RewardHackingSignal = 'reward_divergence' | 'distribution_shift' | 'reward_disagreement' | 'judge_drift';
|
|
42
|
+
export interface RewardHackingFinding {
|
|
43
|
+
signal: RewardHackingSignal;
|
|
44
|
+
/** Severity in [0, 1]. >0.5 = strong signal. */
|
|
45
|
+
severity: number;
|
|
46
|
+
message: string;
|
|
47
|
+
/** Numeric evidence the consumer can render. */
|
|
48
|
+
detail: Record<string, number>;
|
|
49
|
+
}
|
|
50
|
+
export interface RewardHackingReport {
|
|
51
|
+
findings: RewardHackingFinding[];
|
|
52
|
+
/**
|
|
53
|
+
* Composite verdict. `'clean'` if every signal severity < 0.3;
|
|
54
|
+
* `'suspect'` if at least one ≥ 0.3 but none ≥ 0.6; `'gaming'` if any ≥ 0.6.
|
|
55
|
+
*/
|
|
56
|
+
verdict: 'clean' | 'suspect' | 'gaming';
|
|
57
|
+
/** Rationale for the verdict, ready to paste into an audit log. */
|
|
58
|
+
rationale: string[];
|
|
59
|
+
/** Number of paired (proxy, truth) data points the report saw. */
|
|
60
|
+
n: number;
|
|
61
|
+
}
|
|
62
|
+
export interface DetectRewardHackingInput {
|
|
63
|
+
/**
|
|
64
|
+
* Run records ordered by recency (oldest first). The detector segments
|
|
65
|
+
* them into prefix/suffix windows to compute "did the gap widen."
|
|
66
|
+
*/
|
|
67
|
+
runs: RunRecord[];
|
|
68
|
+
/**
|
|
69
|
+
* The metric the policy was trained to optimize. Should be present on
|
|
70
|
+
* `outcome.raw` or `outcome.holdoutScore`. Default reads `outcome.holdoutScore`.
|
|
71
|
+
*/
|
|
72
|
+
proxyOf?: (run: RunRecord) => number | null;
|
|
73
|
+
/**
|
|
74
|
+
* The held-out ground-truth metric. For RL on coding, this is typically
|
|
75
|
+
* test pass-rate. For RLHF, it's downstream task performance or human
|
|
76
|
+
* preference. For knowledge tasks, it's an independently-graded score.
|
|
77
|
+
*/
|
|
78
|
+
truthOf?: (run: RunRecord) => number | null;
|
|
79
|
+
/**
|
|
80
|
+
* Independent secondary reward. Used for the `reward_disagreement`
|
|
81
|
+
* signal. Default uses the verifiable reward extractor (deterministic
|
|
82
|
+
* sources only).
|
|
83
|
+
*/
|
|
84
|
+
secondaryRewardOf?: (run: RunRecord) => number | null;
|
|
85
|
+
/**
|
|
86
|
+
* Window size — how many of the most recent runs count as the "after"
|
|
87
|
+
* cohort. Default min(50, half the runs).
|
|
88
|
+
*/
|
|
89
|
+
windowSize?: number;
|
|
90
|
+
/**
|
|
91
|
+
* Severity threshold to flag a signal. Default 0.3 (suspect) and 0.6
|
|
92
|
+
* (gaming).
|
|
93
|
+
*/
|
|
94
|
+
thresholds?: {
|
|
95
|
+
suspect?: number;
|
|
96
|
+
gaming?: number;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Verifiable-reward options used for the secondary-reward fallback.
|
|
100
|
+
*/
|
|
101
|
+
verifiableRewardOptions?: VerifiableRewardExtractionOptions;
|
|
102
|
+
}
|
|
103
|
+
export declare function detectRewardHacking(input: DetectRewardHackingInput): RewardHackingReport;
|
|
104
|
+
//# sourceMappingURL=reward-hacking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reward-hacking.d.ts","sourceRoot":"","sources":["../../src/rl/reward-hacking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,qBAAqB,CAAA;AAE5B,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,oBAAoB,GACpB,qBAAqB,GACrB,aAAa,CAAA;AAEjB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAA;IAC3B,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,oBAAoB,EAAE,CAAA;IAChC;;;OAGG;IACH,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;IACvC,mEAAmE;IACnE,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,kEAAkE;IAClE,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,IAAI,EAAE,SAAS,EAAE,CAAA;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,CAAA;IAC3C;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,CAAA;IAC3C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,CAAA;IACrD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD;;OAEG;IACH,uBAAuB,CAAC,EAAE,iCAAiC,CAAA;CAC5D;AAOD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,mBAAmB,CA6IxF"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `runRLCampaign` — top-level orchestrator that runs the matrix and
|
|
3
|
+
* produces every RL-ready artifact in one call.
|
|
4
|
+
*
|
|
5
|
+
* Wires:
|
|
6
|
+
* 1. `runEvalCampaign` for the matrix run (capture, integrity, hooks)
|
|
7
|
+
* 2. `extractVerifiableReward` over each run, separating deterministic
|
|
8
|
+
* from probabilistic reward sources for the trainer
|
|
9
|
+
* 3. `extractPreferences` to produce DPO/PPO/KTO triples
|
|
10
|
+
* 4. `evaluateInterimReleaseConfidence` over paired deltas (anytime-valid)
|
|
11
|
+
* 5. `rubricPredictiveValidity` against an outcome store, when provided
|
|
12
|
+
* 6. `detectRewardHacking` as a standing hygiene check
|
|
13
|
+
* 7. Trainer-format export rows ready for prime-rl / TRL / verl
|
|
14
|
+
*
|
|
15
|
+
* The output `RLCampaignResult` is a single, audit-ready artifact: every
|
|
16
|
+
* stage's output is in there. The consumer's downstream fits in a single
|
|
17
|
+
* line: pass `result.preferences` to their DPO trainer, `result.grpoRows`
|
|
18
|
+
* to GRPO, `result.runs` plus `result.rewardSignals` to a custom RL loop.
|
|
19
|
+
*/
|
|
20
|
+
import { type EvalCampaignOptions, type EvalCampaignResult } from '../eval-campaign';
|
|
21
|
+
import type { OutcomeStore } from '../meta-eval/outcome-store';
|
|
22
|
+
import { type RubricPredictiveValidityReport } from '../meta-eval/rubric-predictive-validity';
|
|
23
|
+
import { type InterimReleaseConfidence } from '../sequential';
|
|
24
|
+
import { type DpoExportRow, type DpoLookups, type GrpoExportRow, type GrpoLookups, type SftExportRow, type SftLookups } from './exporters';
|
|
25
|
+
import { type ExtractPreferencesOptions, type PreferenceExtractionReport } from './preferences';
|
|
26
|
+
import { type RewardHackingReport } from './reward-hacking';
|
|
27
|
+
import { type VerifiableReward, type VerifiableRewardExtractionOptions } from './verifiable-reward';
|
|
28
|
+
export interface RunRLCampaignOptions<V> extends EvalCampaignOptions<V> {
|
|
29
|
+
/** Preference-extraction options. Default uses paired-by-scenario-and-seed with min-margin 0.05. */
|
|
30
|
+
preferences?: ExtractPreferencesOptions;
|
|
31
|
+
/** Verifiable-reward extraction options. */
|
|
32
|
+
verifiableReward?: VerifiableRewardExtractionOptions;
|
|
33
|
+
/** Outcome store + metric names — when supplied, runs `rubricPredictiveValidity` post-campaign. */
|
|
34
|
+
outcomeStore?: OutcomeStore;
|
|
35
|
+
outcomeMetrics?: string[];
|
|
36
|
+
/** Anytime-valid sequential evaluation options. */
|
|
37
|
+
sequential?: {
|
|
38
|
+
alpha?: number;
|
|
39
|
+
bound?: number;
|
|
40
|
+
rope?: {
|
|
41
|
+
low: number;
|
|
42
|
+
high: number;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
/** Trainer-format export lookups. When provided, the orchestrator builds the corresponding rows. */
|
|
46
|
+
trainerExport?: {
|
|
47
|
+
dpo?: DpoLookups;
|
|
48
|
+
grpo?: GrpoLookups;
|
|
49
|
+
sft?: SftLookups;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export interface RLCampaignResult<V> {
|
|
53
|
+
campaign: EvalCampaignResult;
|
|
54
|
+
/** Per-run verifiable reward (deterministic when available, probabilistic fallback otherwise). */
|
|
55
|
+
rewardSignals: Array<{
|
|
56
|
+
runId: string;
|
|
57
|
+
reward: VerifiableReward | null;
|
|
58
|
+
}>;
|
|
59
|
+
/** Preference extraction report. */
|
|
60
|
+
preferences: PreferenceExtractionReport;
|
|
61
|
+
/** Anytime-valid interim verdict over the paired deltas (vs comparator). */
|
|
62
|
+
interimConfidence: InterimReleaseConfidence | null;
|
|
63
|
+
/** Standing reward-hacking hygiene check. */
|
|
64
|
+
rewardHacking: RewardHackingReport;
|
|
65
|
+
/** Predictive validity, when an outcome store was supplied. */
|
|
66
|
+
predictiveValidity: RubricPredictiveValidityReport | null;
|
|
67
|
+
/** Trainer-export rows, populated only for the formats the caller requested via `trainerExport`. */
|
|
68
|
+
trainerRows: {
|
|
69
|
+
dpo?: DpoExportRow[];
|
|
70
|
+
grpo?: GrpoExportRow[];
|
|
71
|
+
sft?: SftExportRow[];
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* One-line top-level summary the consumer can log.
|
|
75
|
+
*/
|
|
76
|
+
summary: string;
|
|
77
|
+
/**
|
|
78
|
+
* Convenience type-tag — consumers can branch on `result.kind`.
|
|
79
|
+
*/
|
|
80
|
+
kind: 'agent-eval-rl-campaign';
|
|
81
|
+
unusedVariant?: V;
|
|
82
|
+
}
|
|
83
|
+
export declare function runRLCampaign<V>(opts: RunRLCampaignOptions<V>): Promise<RLCampaignResult<V>>;
|
|
84
|
+
export { runEvalCampaign } from '../eval-campaign';
|
|
85
|
+
//# sourceMappingURL=rl-campaign.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rl-campaign.d.ts","sourceRoot":"","sources":["../../src/rl/rl-campaign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EACL,KAAK,8BAA8B,EAEpC,MAAM,yCAAyC,CAAA;AAEhD,OAAO,EAAoC,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC/F,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EAIhB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,yBAAyB,EAE9B,KAAK,0BAA0B,EAChC,MAAM,eAAe,CAAA;AACtB,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iCAAiC,EACvC,MAAM,qBAAqB,CAAA;AAE5B,MAAM,WAAW,oBAAoB,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IACrE,oGAAoG;IACpG,WAAW,CAAC,EAAE,yBAAyB,CAAA;IACvC,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,iCAAiC,CAAA;IACpD,mGAAmG;IACnG,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,mDAAmD;IACnD,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IACrF,oGAAoG;IACpG,aAAa,CAAC,EAAE;QACd,GAAG,CAAC,EAAE,UAAU,CAAA;QAChB,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,GAAG,CAAC,EAAE,UAAU,CAAA;KACjB,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,kGAAkG;IAClG,aAAa,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;IACxE,oCAAoC;IACpC,WAAW,EAAE,0BAA0B,CAAA;IACvC,4EAA4E;IAC5E,iBAAiB,EAAE,wBAAwB,GAAG,IAAI,CAAA;IAClD,6CAA6C;IAC7C,aAAa,EAAE,mBAAmB,CAAA;IAClC,+DAA+D;IAC/D,kBAAkB,EAAE,8BAA8B,GAAG,IAAI,CAAA;IACzD,oGAAoG;IACpG,WAAW,EAAE;QACX,GAAG,CAAC,EAAE,YAAY,EAAE,CAAA;QACpB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAA;QACtB,GAAG,CAAC,EAAE,YAAY,EAAE,CAAA;KACrB,CAAA;IACD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,IAAI,EAAE,wBAAwB,CAAA;IAC9B,aAAa,CAAC,EAAE,CAAC,CAAA;CAClB;AAED,wBAAsB,aAAa,CAAC,CAAC,EACnC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAgF9B;AAmED,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA"}
|