@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
package/docs/phase-b-runbook.md
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
# Phase-B runbook (internal)
|
|
2
|
-
|
|
3
|
-
How we drive a design-partner pairing. Goes alongside
|
|
4
|
-
[`phase-b-pairing-kit.md`](./phase-b-pairing-kit.md) (the partner-facing
|
|
5
|
-
materials) — this file is for us.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Before the pairing
|
|
10
|
-
|
|
11
|
-
- **24-48h prior:** send discovery questions from
|
|
12
|
-
[`phase-b-pairing-kit.md`](./phase-b-pairing-kit.md). Don't run the
|
|
13
|
-
pairing without answers in hand. The pairing fails when we discover
|
|
14
|
-
the partner's quality bar live; we don't have time to interview AND
|
|
15
|
-
build in 4 hours.
|
|
16
|
-
- **48h prior:** run the canonical demo (`pnpm tsx
|
|
17
|
-
examples/marketing-agent-canonical/index.ts`) end-to-end against the
|
|
18
|
-
partner's preferred model. Confirms the substrate + their LLM tier
|
|
19
|
-
compose. If it errors, fix the substrate before the pairing.
|
|
20
|
-
- **24h prior:** mirror the partner's stack locally. If they're on
|
|
21
|
-
Cloudflare Workers, run a Worker. On LangChain, install `@langchain/*`.
|
|
22
|
-
Don't debug their tooling on the call.
|
|
23
|
-
- **1h prior:** open the pairing kit, the agent-eval repo, the partner's
|
|
24
|
-
agent code/endpoint, a shared doc, and a screenshare ready.
|
|
25
|
-
|
|
26
|
-
## During the pairing
|
|
27
|
-
|
|
28
|
-
### Driving principles
|
|
29
|
-
|
|
30
|
-
- **Talk less, ship more.** The partner is paying with their time and
|
|
31
|
-
attention; every minute we talk we aren't shipping their lift.
|
|
32
|
-
- **They write the judge.** We start with our strawman so they have
|
|
33
|
-
something to react to, but the judge that ends up running is theirs.
|
|
34
|
-
This is the most-discussed seam — they should own it.
|
|
35
|
-
- **No invented features.** Don't promise capabilities that don't exist
|
|
36
|
-
("we have a hosted ingest for this") unless they actually exist.
|
|
37
|
-
Phase B is honesty's purest test.
|
|
38
|
-
- **Capture verbatim.** Write down their exact words on what's broken /
|
|
39
|
-
what would change their mind. The wedge-gate evidence is qualitative
|
|
40
|
-
too.
|
|
41
|
-
|
|
42
|
-
### When to escalate to Drew
|
|
43
|
-
|
|
44
|
-
- Partner wants something Phase D would have (hosted dashboard, multi-
|
|
45
|
-
tenant, billing). **Escalate same day** — this is the GTM signal we're
|
|
46
|
-
hunting for; Drew should hear it directly.
|
|
47
|
-
- Partner is the wrong fit (technical or business) and the pairing
|
|
48
|
-
would burn both sides' time. **Pause the pairing**, debrief with Drew,
|
|
49
|
-
reschedule with a better-fit partner.
|
|
50
|
-
- Substrate breaks in a way that requires a published bump. **Pause
|
|
51
|
-
the pairing**, ship the fix in a focused PR, resume.
|
|
52
|
-
|
|
53
|
-
### What to capture for the wedge gate
|
|
54
|
-
|
|
55
|
-
Per [`docs/design/external-agent-wedge.md`](./design/external-agent-wedge.md),
|
|
56
|
-
the gate decision hinges on Phase B evidence. We capture:
|
|
57
|
-
|
|
58
|
-
1. **Quantitative lift** — held-out winner composite vs baseline, per
|
|
59
|
-
scenario + overall. Auto-generated in the report artifact by the
|
|
60
|
-
canonical demo (`.phase-b-runs/<ts>/phase-b-report.md`).
|
|
61
|
-
2. **Qualitative partner-validation** — partner read 3+ winner outputs
|
|
62
|
-
and confirmed they're better. Capture as a 1-paragraph quote.
|
|
63
|
-
3. **Integration friction** — minutes spent on each pairing phase. Were
|
|
64
|
-
any > 2x estimated? What broke?
|
|
65
|
-
4. **Judge-design surprise** — which dimensions the partner added or
|
|
66
|
-
killed vs our strawman. Strong signal about what the substrate's
|
|
67
|
-
default judge templates are missing for adjacent domains.
|
|
68
|
-
5. **Soft commitments** — would they reference us? Would they
|
|
69
|
-
self-serve from the quickstart doc? Would they pay for hosted?
|
|
70
|
-
|
|
71
|
-
Capture into a single `phase-b-debrief.md` per partner. We don't
|
|
72
|
-
publish these; they feed the next substrate iteration + the wedge
|
|
73
|
-
go/no-go.
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Failure modes — what we do NOT do
|
|
78
|
-
|
|
79
|
-
### "We'll just optimize on the train set"
|
|
80
|
-
|
|
81
|
-
Hard no. The held-out gate is the entire point. A win that doesn't
|
|
82
|
-
generalize is worse than no win — it's evidence that the substrate
|
|
83
|
-
overfits, which is the failure mode the wedge tier rewards.
|
|
84
|
-
|
|
85
|
-
If the holdout lift is < threshold but train looks great:
|
|
86
|
-
|
|
87
|
-
1. Show the partner the gap. Explain what overfitting means here.
|
|
88
|
-
2. Try raising `maxGenerations` to 5 (gives gepa more search budget).
|
|
89
|
-
3. Try widening `populationSize` to 3 (more diverse mutations per gen).
|
|
90
|
-
4. If still no lift on holdout: **report the result honestly**. A
|
|
91
|
-
negative finding is real evidence for us too — tells us this surface
|
|
92
|
-
isn't amenable to prompt-only mutation, and the partner needs Phase
|
|
93
|
-
C (code-tier optimization) or a different approach.
|
|
94
|
-
|
|
95
|
-
### "The judge is too noisy"
|
|
96
|
-
|
|
97
|
-
A judge whose two-run variance > 0.1 on the same artifact is broken.
|
|
98
|
-
Fixes, in order:
|
|
99
|
-
|
|
100
|
-
1. Lower temperature to 0.0 (the canonical judge uses 0.2, which is
|
|
101
|
-
already low).
|
|
102
|
-
2. Use a stronger model than the agent (default: same model. Bump the
|
|
103
|
-
judge to GPT-5.5 / Claude Opus.)
|
|
104
|
-
3. Add anchors to each dimension ("0.0 = X, 0.5 = Y, 1.0 = Z").
|
|
105
|
-
4. If still noisy: collapse to fewer, simpler dimensions. 3 unambiguous
|
|
106
|
-
dimensions beat 6 squishy ones.
|
|
107
|
-
|
|
108
|
-
### "We can't decide what the partner's judge should be"
|
|
109
|
-
|
|
110
|
-
Then we don't have Phase B. The judge IS the partner's quality bar.
|
|
111
|
-
If they can't articulate it in 45 minutes of pairing, we're in the
|
|
112
|
-
wrong pairing — they need to do the interview-themselves work first.
|
|
113
|
-
|
|
114
|
-
**Pause the pairing, send the discovery doc again, regroup in a week.**
|
|
115
|
-
|
|
116
|
-
### "Their agent is slow / expensive"
|
|
117
|
-
|
|
118
|
-
`maxConcurrency: 1` and reduce scenarios to 6. Cost scales linearly;
|
|
119
|
-
time scales as `(scenarios × reps × generations × population) /
|
|
120
|
-
concurrency`. Tune until the loop completes in ≤ 30 min.
|
|
121
|
-
|
|
122
|
-
If the per-call cost is > $1, talk to Drew before the pairing — we
|
|
123
|
-
might want to subsidize the partner's first run.
|
|
124
|
-
|
|
125
|
-
### "They want to share their secrets through Tangle Router"
|
|
126
|
-
|
|
127
|
-
Fine — `OPENAI_BASE_URL=https://router.tangle.tools/v1` works. Make
|
|
128
|
-
sure they understand: every call routes through us; the prompts and
|
|
129
|
-
responses are visible to whatever observability we have on the router.
|
|
130
|
-
If they want zero data leaving their network, point at their own
|
|
131
|
-
endpoint, not Tangle Router.
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## After the pairing
|
|
136
|
-
|
|
137
|
-
### Same day
|
|
138
|
-
|
|
139
|
-
- Save the `phase-b-report.md` artifact + the partner's debrief notes
|
|
140
|
-
to `~/company/design-partners/<partner>/<date>/`.
|
|
141
|
-
- Send the partner a thank-you with the winner artifact + the next-
|
|
142
|
-
steps doc. Whether or not we proceed to Phase D, leave them with
|
|
143
|
-
something concrete they can ship in their product.
|
|
144
|
-
- Slack Drew the verdict against the [success criteria](./phase-b-pairing-kit.md#success-criteria--what-counts-as-phase-b-passed).
|
|
145
|
-
|
|
146
|
-
### Within a week
|
|
147
|
-
|
|
148
|
-
- If Phase B passed: open the Phase D RFC. Reuse the partner-validated
|
|
149
|
-
judge dimensions + scenarios as the spec for what the hosted tier
|
|
150
|
-
needs to support out of the box.
|
|
151
|
-
- If Phase B failed: substrate iteration ticket(s). Specific gaps the
|
|
152
|
-
pairing surfaced (judge dim defaults, doc clarity, missing helper).
|
|
153
|
-
- Either way: update the wedge doc (`docs/design/external-agent-wedge.md`)
|
|
154
|
-
with the partner-name redacted + the qualitative signal.
|
|
155
|
-
|
|
156
|
-
### Within a month (regardless of go/no-go)
|
|
157
|
-
|
|
158
|
-
- Followup with the partner. If they're still using the lib, capture a
|
|
159
|
-
metric. If they stopped, find out why. Both data points feed product.
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## The canonical demo as a forcing function
|
|
164
|
-
|
|
165
|
-
`examples/marketing-agent-canonical/` is the demo we open the pairing
|
|
166
|
-
with. It does three things at once:
|
|
167
|
-
|
|
168
|
-
1. **Proves the substrate works** — they see a real lift on a real-
|
|
169
|
-
feeling agent before we touch their code.
|
|
170
|
-
2. **Sets the bar for the judge conversation** — they react to concrete
|
|
171
|
-
dimensions, not abstract questions.
|
|
172
|
-
3. **Trains us** — running the canonical demo before the pairing
|
|
173
|
-
surfaces substrate bugs on the partner's preferred model BEFORE the
|
|
174
|
-
partner is watching. We hit those bugs first.
|
|
175
|
-
|
|
176
|
-
Run the canonical demo before every Phase-B pairing. It's not optional.
|
package/docs/pilot/README.md
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Pilot Kit — customer handoff materials
|
|
2
|
-
|
|
3
|
-
What's here, in order of use:
|
|
4
|
-
|
|
5
|
-
| File | For | When |
|
|
6
|
-
|---|---|---|
|
|
7
|
-
| [one-pager.md](./one-pager.md) | Customer's first read | Send as initial pitch — what they get, why it's different, what it looks like, what it costs. Now includes intake-paths matrix for non-Tangle customers (LangChain / LlamaIndex / Anthropic SDK / OpenAI Assistants / OpenRouter / vLLM / Ollama / custom). |
|
|
8
|
-
| [integration-tangle-stack.md](./integration-tangle-stack.md) | Customer's engineer (Tangle-stack customers) | Send after one-pager when they want to see the code; full integration walkthrough for the canonical Tangle stack (sandbox + tcloud) |
|
|
9
|
-
| [integration-foreign-stack.md](./integration-foreign-stack.md) | Customer's engineer (non-Tangle customers) | Send after one-pager when they're on OTel, LangChain, LlamaIndex, Anthropic SDK, OpenAI Assistants, OpenRouter, vLLM, Ollama, or custom. Covers every path. |
|
|
10
|
-
| [sample-insight-report.json](./sample-insight-report.json) | Customer's team meeting | Concrete JSON they can show to demonstrate value pre-integration |
|
|
11
|
-
| [customer-checklist.md](./customer-checklist.md) | Pre-onboarding-call | Send 48h before the call; ensures the 90min slot is productive. Provider-agnostic — works for any stack. |
|
|
12
|
-
|
|
13
|
-
## How to use this kit
|
|
14
|
-
|
|
15
|
-
**For a Tangle customer asking for it RIGHT NOW:**
|
|
16
|
-
|
|
17
|
-
1. Reply with the one-pager (`one-pager.md`) inline + the sample InsightReport (`sample-insight-report.json`) attached. Their senior engineer reads this and decides if it's worth a call.
|
|
18
|
-
2. If they say yes, send the integration guide (`integration-tangle-stack.md`) + the checklist (`customer-checklist.md`). Schedule a 90-minute onboarding call.
|
|
19
|
-
3. On the call: walk through the integration, run a live `analyzeRuns()` against their existing sandbox sessions, render the deterministic packet, fire one small `selfImprove` cycle. By the end of the call they have a working pilot.
|
|
20
|
-
|
|
21
|
-
**For Drew handling the conversation himself:**
|
|
22
|
-
|
|
23
|
-
The whole kit is written in our voice (technical, direct, no marketing fluff). You can paste sections directly into Slack / email / a customer call. The one-pager is meant to read as YOUR pitch, not a generic SaaS handout.
|
|
24
|
-
|
|
25
|
-
## What this kit assumes
|
|
26
|
-
|
|
27
|
-
- Customer is on the Tangle stack (sandbox + tcloud) OR emits OTel traces
|
|
28
|
-
- Customer has an agent with a clear system-prompt addendum we can optimize
|
|
29
|
-
- Customer has at least 20 scenarios their agent handles
|
|
30
|
-
- Customer is willing to set a `maxUsd` budget for closed-loop campaigns
|
|
31
|
-
|
|
32
|
-
If any of those don't apply, the one-pager still works as a positioning piece. The integration doc gets adapted on the call.
|
|
33
|
-
|
|
34
|
-
## Where this maps in the substrate
|
|
35
|
-
|
|
36
|
-
- Substrate version: `@tangle-network/agent-eval@0.53.0` (npm), `agent-eval-rpc@0.53.0` (PyPI)
|
|
37
|
-
- agent-runtime version: `@tangle-network/agent-runtime@0.29.0`
|
|
38
|
-
- Key APIs: `fromTangleSandbox`, `fromOtelSpans`, `analyzeRuns`, `selfImprove`, `gepaDriver`, `defaultProductionGate`, `openAutoPr`
|
|
39
|
-
- All ship today; no version-blocking dependencies
|
|
40
|
-
|
|
41
|
-
## What this kit doesn't yet do
|
|
42
|
-
|
|
43
|
-
- No `npx @tangle-network/intelligence demo` command shipped yet (queued #115 — extend existing `tangle-intel` CLI in ADC with customer-zero-touch subcommands `init` / `demo` / `report` / `improve`)
|
|
44
|
-
- No `staging-intelligence.tangle.tools` live yet (queued #116 — matches existing `staging-{product}.tangle.tools` precedent like sandbox)
|
|
45
|
-
- No live demo video (queued #117 — recorded against legal-agent canonical real data)
|
|
46
|
-
- No screenshot dashboard (gated on Gate 2 task #109 — ADC intelligence frontend renders canonical InsightReport)
|
|
47
|
-
- No published case study with named numbers (Gate 3 task #112 — after first pilot completes 4+ cycles)
|
|
48
|
-
|
|
49
|
-
## Architectural decisions baked into this kit
|
|
50
|
-
|
|
51
|
-
- **Customer-facing CLI is `@tangle-network/intelligence`** (binary `tangle-intel`), NOT `agent-eval`. `agent-eval` is the substrate package; `intelligence` is the customer product that wraps it. The CLI already exists at `services/intelligence/src/cli/` in agent-dev-container — we extend it with `init` / `demo` / `report` / `improve` subcommands per task #115.
|
|
52
|
-
- **Hosted URL is `staging-intelligence.tangle.tools`** matching `staging-sandbox.tangle.tools` precedent. Production becomes `intelligence.tangle.tools` once Gate 2/3 close.
|
|
53
|
-
- **`agent-eval` mentioned only when customer wants direct programmatic access** (not the default path). 90%+ of customers stay at the CLI + hosted dashboard layer.
|
|
54
|
-
|
|
55
|
-
For the FIRST pilot conversation, the JSON sample is the dashboard substitute. After Gate 2 lands we replace it with live screenshots.
|
|
56
|
-
|
|
57
|
-
## Update cadence
|
|
58
|
-
|
|
59
|
-
This kit gets updated each time:
|
|
60
|
-
- A substrate version ships that customers should know about
|
|
61
|
-
- A real pilot completes and we have a case study to add
|
|
62
|
-
- A customer gives feedback that re-shapes how we pitch
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# Pre-onboarding checklist — what to have ready
|
|
2
|
-
|
|
3
|
-
Send this to the customer 48h before the onboarding call. If they show up to the call having done this, the 90-minute slot ends with a working pilot.
|
|
4
|
-
|
|
5
|
-
## What we need from you before the call
|
|
6
|
-
|
|
7
|
-
### Credentials
|
|
8
|
-
|
|
9
|
-
- [ ] **LLM provider API key** — tcloud key, OpenRouter key, OpenAI key, Anthropic key, or any OpenAI-compat router endpoint
|
|
10
|
-
- [ ] **GitHub token** with PR-write access to your agent repo (optional — required only if you want auto-PR promotion on green gate decisions)
|
|
11
|
-
- [ ] **Sandbox session access** (Tangle stack customers only) — read access to the session IDs we'll analyze
|
|
12
|
-
|
|
13
|
-
### Data
|
|
14
|
-
|
|
15
|
-
- [ ] **Trace data** — ONE of:
|
|
16
|
-
- Tangle sandbox session IDs (we use `fromTangleSandbox`)
|
|
17
|
-
- OTel spans dumped as JSONL (we use `fromOtelSpans`)
|
|
18
|
-
- Multi-rater feedback table (CSV with runId / rater / score, we use `fromFeedbackTable`)
|
|
19
|
-
- LangChain / LlamaIndex / OpenAI Assistants trace export (we use the corresponding adapter)
|
|
20
|
-
- Custom trace format (we map it together on the call — usually 20 lines of glue)
|
|
21
|
-
- [ ] **Scenarios** — 20-50 representative inputs your agent handles. Even YAML / JSON / TS array is fine; we'll convert to canonical `DatasetScenario[]` shape together
|
|
22
|
-
- [ ] **The system prompt addendum** your agent uses today (or whichever text surface you want to optimize) — the closed loop edits this
|
|
23
|
-
|
|
24
|
-
### Judge
|
|
25
|
-
|
|
26
|
-
- [ ] **A judge function or rubric** — either:
|
|
27
|
-
- An existing function `(artifact) → { composite, dimensions }`
|
|
28
|
-
- A rubric describing what "good output" means (1-2 paragraphs is enough — we'll build the judge on the call)
|
|
29
|
-
- A set of "good" / "bad" labeled examples (we use these as anchors)
|
|
30
|
-
|
|
31
|
-
### Constraints
|
|
32
|
-
|
|
33
|
-
- [ ] **LLM cost budget for the closed loop** — default $25 per campaign. Tell us if you want a different ceiling
|
|
34
|
-
- [ ] **Cadence** — how often should the loop run? Default: weekly. Some customers want daily; others want on-demand only
|
|
35
|
-
- [ ] **Deployment gate preference** — do you want:
|
|
36
|
-
- Auto-PR on `ship-substrate` (we open the PR, your team reviews)
|
|
37
|
-
- Manual review only (we report; you decide)
|
|
38
|
-
- Auto-deploy on `ship-substrate` (only with explicit ack; not default)
|
|
39
|
-
|
|
40
|
-
## Call agenda — 90 minutes
|
|
41
|
-
|
|
42
|
-
| Time | Topic |
|
|
43
|
-
|---|---|
|
|
44
|
-
| 0:00 — 0:10 | Walk through your existing setup — what runs where, what scenarios exist, what success looks like for you |
|
|
45
|
-
| 0:10 — 0:30 | Pick the right intake adapter; pull traces; run `analyzeRuns()` against last week's data — first decision packet rendered live |
|
|
46
|
-
| 0:30 — 0:50 | Build the judge — either wrap your existing one or scaffold a new one from your rubric |
|
|
47
|
-
| 0:50 — 1:10 | Fire one `selfImprove` cycle with a small budget ($5, single generation, 2 candidates) — watch the loop run end-to-end |
|
|
48
|
-
| 1:10 — 1:25 | Wire the cron + auto-PR target; schedule first weekly run |
|
|
49
|
-
| 1:25 — 1:30 | Confirm what we hand back to you between runs and what reaches you when |
|
|
50
|
-
|
|
51
|
-
If something on the checklist isn't ready, we adapt — just send what you have. Worst case, we spend the first 30 minutes getting unblocked.
|
|
52
|
-
|
|
53
|
-
## What you'll have at the end of the call
|
|
54
|
-
|
|
55
|
-
- A working `analyzeRuns()` call against YOUR live trace data, returning a real `InsightReport`
|
|
56
|
-
- A judge function (yours or scaffolded) wired to your agent's output shape
|
|
57
|
-
- One completed `selfImprove` cycle with a real `gateDecision` + lift CI
|
|
58
|
-
- A scheduled cron / GitHub Action that runs the loop weekly
|
|
59
|
-
- Optional: an auto-PR target if you want green-gate proposals to land as draft PRs
|
|
60
|
-
|
|
61
|
-
## After the call
|
|
62
|
-
|
|
63
|
-
- Day 1-7: first weekly run fires; we monitor + jump in if anything breaks
|
|
64
|
-
- Day 7: we send you a `selfImprove`-result summary + the corresponding `InsightReport`
|
|
65
|
-
- Day 14-28: 3 more cycles complete; you have enough data to evaluate the pilot
|
|
66
|
-
- Day 30: pilot review — what we found, what shipped, what's next
|
|
67
|
-
|
|
68
|
-
## What we send back to you between runs
|
|
69
|
-
|
|
70
|
-
- The full `InsightReport` JSON (you render it however you want, or use our hosted dashboard if it's available for your tier)
|
|
71
|
-
- Slack / email digest of `regressedMetrics` + critical recommendations (opt-in)
|
|
72
|
-
- Cost tally per campaign
|
|
73
|
-
- Auto-PR links if green gate verdicts opened any
|
|
74
|
-
|
|
75
|
-
## Common pre-call questions
|
|
76
|
-
|
|
77
|
-
**Q: How small a corpus can we start with?**
|
|
78
|
-
A: 15 scenarios works for the deterministic packet. 25+ is recommended for `selfImprove`'s held-out gate (the default `holdoutFraction: 0.3` reserves ~30% of scenarios for the gate).
|
|
79
|
-
|
|
80
|
-
**Q: What if our judge isn't reliable yet?**
|
|
81
|
-
A: Start with multi-rater intake — `fromFeedbackTable` produces inter-rater agreement (κ) so you can see exactly which scenarios humans disagree on. Iterate the judge until κ > 0.7, then go to closed loop.
|
|
82
|
-
|
|
83
|
-
**Q: We don't use Tangle's sandbox — can we still pilot?**
|
|
84
|
-
A: Yes. We have intake adapters for OTel, LangChain, LlamaIndex, Anthropic SDK, OpenAI Assistants, OpenRouter, multi-rater feedback tables, and custom trace formats. See `integration-foreign-stack.md`.
|
|
85
|
-
|
|
86
|
-
**Q: We use OpenRouter — does the closed-loop driver work with our routing setup?**
|
|
87
|
-
A: Yes. `gepaDriver` accepts any OpenAI-compatible endpoint via its `llm.baseUrl` option. Most customers run their selfImprove campaigns through OpenRouter or their existing provider — no migration required.
|
|
88
|
-
|
|
89
|
-
**Q: What if the pilot fails — what do we get?**
|
|
90
|
-
A: You get the deterministic `InsightReport` weekly regardless. Even if no `selfImprove` cycle ever ships a green gate verdict, you get the failure-cluster analysis, regressed-metric detection, and worst-runs surfacing. Those alone replace what most teams currently get from LangSmith / Braintrust / Phoenix scorecards.
|
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
# Integration — Tangle Intelligence on any stack (OpenRouter, OpenAI, Anthropic, LangChain, LlamaIndex, custom)
|
|
2
|
-
|
|
3
|
-
Companion to `integration-tangle-stack.md`. This doc is the path for customers NOT on `@tangle-network/sandbox` + tcloud — you bring your own agent, your own LLM provider, your own trace format. We meet you where you are.
|
|
4
|
-
|
|
5
|
-
## Zero-setup demo first
|
|
6
|
-
|
|
7
|
-
```sh
|
|
8
|
-
npx @tangle-network/intelligence demo
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Synthetic agent + scenarios + selfImprove end-to-end with zero setup. Prints the `InsightReport` shape — same output you'll get against your real data. Hosted equivalent: **[staging-intelligence.tangle.tools](https://staging-intelligence.tangle.tools)**.
|
|
12
|
-
|
|
13
|
-
## Decision tree — pick your starting point
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
What's your trace source?
|
|
17
|
-
├── OTel-compatible (Datadog APM, Honeycomb, NewRelic, raw OTLP) → fromOtelSpans
|
|
18
|
-
├── LangChain (LangSmith traces, LCEL run traces) → fromLangChain (#104, queued)
|
|
19
|
-
├── LlamaIndex (callback traces) → fromLlamaIndex (#104, queued)
|
|
20
|
-
├── Anthropic SDK direct (Messages API call logs) → fromAnthropicSDK (#104, queued)
|
|
21
|
-
├── OpenAI Assistants API (run + step events) → fromOpenAIAssistants (#104, queued)
|
|
22
|
-
├── Multi-rater human approval/reject corpus → fromFeedbackTable
|
|
23
|
-
├── Custom (your own logs / DB rows) → 20-line mapper to RunRecord
|
|
24
|
-
└── @tangle-network/sandbox → fromTangleSandbox (see Tangle-stack doc)
|
|
25
|
-
|
|
26
|
-
What's your LLM provider for the closed loop?
|
|
27
|
-
├── OpenAI → gepaDriver({ llm: { apiKey, baseUrl: 'https://api.openai.com/v1' } })
|
|
28
|
-
├── Anthropic → gepaDriver({ llm: { apiKey, baseUrl: 'https://api.anthropic.com/v1' } })
|
|
29
|
-
├── OpenRouter → gepaDriver({ llm: { apiKey, baseUrl: 'https://openrouter.ai/api/v1' } })
|
|
30
|
-
├── Tangle tcloud → gepaDriver({ llm: { apiKey, baseUrl: 'https://router.tangle.tools/v1' } })
|
|
31
|
-
├── Azure OpenAI → gepaDriver({ llm: { apiKey, baseUrl: 'https://<resource>.openai.azure.com/...' } })
|
|
32
|
-
├── Bedrock / Vertex → custom client wrapper (we help)
|
|
33
|
-
└── Self-hosted (vLLM, Ollama, etc.) → OpenAI-compat endpoint works directly
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## OTel → InsightReport (5 minutes)
|
|
37
|
-
|
|
38
|
-
```ts
|
|
39
|
-
import { fromOtelSpans } from '@tangle-network/agent-eval'
|
|
40
|
-
import { analyzeRuns } from '@tangle-network/agent-eval/contract'
|
|
41
|
-
|
|
42
|
-
// You probably already export OTel via OTLP. Pull a JSONL dump of spans
|
|
43
|
-
// for your last week of agent activity.
|
|
44
|
-
const spans = JSON.parse(fs.readFileSync('./agent-traces.jsonl', 'utf8').split('\n').filter(Boolean).map(JSON.parse))
|
|
45
|
-
|
|
46
|
-
const runs = fromOtelSpans({ spans }) // RunRecord[]
|
|
47
|
-
const report = await analyzeRuns({ runs })
|
|
48
|
-
|
|
49
|
-
console.log(report.composite.mean)
|
|
50
|
-
console.log(report.recommendations)
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
What `fromOtelSpans` expects in spans (it's flexible — it tries multiple attribute keys):
|
|
54
|
-
- `trace_id` (groups spans into a run)
|
|
55
|
-
- `attributes['llm.tokens.in' | 'llm.input_tokens']` (optional)
|
|
56
|
-
- `attributes['llm.tokens.out' | 'llm.output_tokens']` (optional)
|
|
57
|
-
- `attributes['tool.name']` (optional, for tool-failure-rate analysis)
|
|
58
|
-
- `status.code: 'ERROR' | 'OK'` (for failure detection)
|
|
59
|
-
- `start_unix_nano` + `end_unix_nano` (for duration)
|
|
60
|
-
|
|
61
|
-
If your spans use different attribute keys, pass `{ attributeMap }` to override.
|
|
62
|
-
|
|
63
|
-
## OpenRouter as your closed-loop LLM provider
|
|
64
|
-
|
|
65
|
-
OpenRouter speaks OpenAI-compat. Plug it in directly:
|
|
66
|
-
|
|
67
|
-
```ts
|
|
68
|
-
import { selfImprove, gepaDriver } from '@tangle-network/agent-eval/contract'
|
|
69
|
-
|
|
70
|
-
const result = await selfImprove({
|
|
71
|
-
scenarios: yourScenarios,
|
|
72
|
-
agent: yourAgent, // your existing dispatch — any framework
|
|
73
|
-
judge: yourJudge,
|
|
74
|
-
baselineSurface: currentPrompt,
|
|
75
|
-
driver: gepaDriver({
|
|
76
|
-
llm: {
|
|
77
|
-
apiKey: process.env.OPENROUTER_KEY!,
|
|
78
|
-
baseUrl: 'https://openrouter.ai/api/v1',
|
|
79
|
-
},
|
|
80
|
-
model: 'anthropic/claude-sonnet-4.6', // any OpenRouter-supported model
|
|
81
|
-
target: 'agent system prompt',
|
|
82
|
-
}),
|
|
83
|
-
budget: { generations: 3, populationSize: 4, holdoutFraction: 0.3, maxUsd: 25 },
|
|
84
|
-
})
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Same shape works for: OpenAI direct, Anthropic direct, Azure OpenAI, Vertex (with their OpenAI-compat layer), Bedrock (via LiteLLM proxy), self-hosted vLLM / Ollama / LMStudio.
|
|
88
|
-
|
|
89
|
-
## LangChain customer — three minute integration
|
|
90
|
-
|
|
91
|
-
While the dedicated `fromLangChain` adapter is queued (#104), the universal path:
|
|
92
|
-
|
|
93
|
-
```ts
|
|
94
|
-
// Step 1: configure LangSmith to also export OTel
|
|
95
|
-
// (LangSmith → Project Settings → Trace exports → enable OTLP)
|
|
96
|
-
|
|
97
|
-
// Step 2: ingest as OTel
|
|
98
|
-
import { fromOtelSpans } from '@tangle-network/agent-eval'
|
|
99
|
-
const runs = fromOtelSpans({ spans: yourLangSmithOtelDump })
|
|
100
|
-
|
|
101
|
-
// Step 3: analyze
|
|
102
|
-
import { analyzeRuns } from '@tangle-network/agent-eval/contract'
|
|
103
|
-
const report = await analyzeRuns({ runs })
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
When `fromLangChain` lands, it'll be a one-liner:
|
|
107
|
-
|
|
108
|
-
```ts
|
|
109
|
-
// Coming in 0.55.0
|
|
110
|
-
import { fromLangChain } from '@tangle-network/agent-eval/adapters/langchain'
|
|
111
|
-
const runs = fromLangChain({ traces: yourLangSmithExport })
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
Same for LlamaIndex / OpenAI Assistants / Anthropic SDK — direct adapters queued in #104.
|
|
115
|
-
|
|
116
|
-
## LlamaIndex customer
|
|
117
|
-
|
|
118
|
-
LlamaIndex's callback manager emits OTel spans natively. Wire it once:
|
|
119
|
-
|
|
120
|
-
```python
|
|
121
|
-
# Python side — your LlamaIndex setup
|
|
122
|
-
from llama_index.callbacks import OpenInferenceCallbackHandler
|
|
123
|
-
|
|
124
|
-
callback_handler = OpenInferenceCallbackHandler()
|
|
125
|
-
# This emits to your OTel exporter
|
|
126
|
-
|
|
127
|
-
# Then on the agent-eval side (TypeScript or Python):
|
|
128
|
-
from agent_eval_rpc import Client
|
|
129
|
-
client = Client(base_url='https://api.tangle.tools/v1', api_key=YOUR_KEY)
|
|
130
|
-
report = client.analyze_runs(spans=your_otel_spans)
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
The Python client (`agent-eval-rpc@0.53.0`) speaks the same wire protocol — no functional difference between TS and Python customers.
|
|
134
|
-
|
|
135
|
-
## Anthropic SDK direct (no framework)
|
|
136
|
-
|
|
137
|
-
If you're calling `@anthropic-ai/sdk` directly without an agent framework:
|
|
138
|
-
|
|
139
|
-
```ts
|
|
140
|
-
import Anthropic from '@anthropic-ai/sdk'
|
|
141
|
-
import { fromOtelSpans } from '@tangle-network/agent-eval'
|
|
142
|
-
|
|
143
|
-
// Step 1: wrap your Anthropic calls to emit OTel
|
|
144
|
-
import { trace } from '@opentelemetry/api'
|
|
145
|
-
const tracer = trace.getTracer('your-agent')
|
|
146
|
-
|
|
147
|
-
async function callAnthropic(scenario: Scenario) {
|
|
148
|
-
return tracer.startActiveSpan('agent.turn', async (span) => {
|
|
149
|
-
const result = await anthropic.messages.create({...})
|
|
150
|
-
span.setAttribute('llm.input_tokens', result.usage.input_tokens)
|
|
151
|
-
span.setAttribute('llm.output_tokens', result.usage.output_tokens)
|
|
152
|
-
span.setAttribute('tangle.runId', scenario.id)
|
|
153
|
-
span.end()
|
|
154
|
-
return result
|
|
155
|
-
})
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
// Step 2: same pipeline
|
|
159
|
-
const runs = fromOtelSpans({ spans: yourOtelExport })
|
|
160
|
-
const report = await analyzeRuns({ runs })
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
20 lines of OTel wrapping; the rest is pure substrate.
|
|
164
|
-
|
|
165
|
-
## OpenAI Assistants API
|
|
166
|
-
|
|
167
|
-
The Assistants API emits `runs.steps` events natively. Map them to RunRecord:
|
|
168
|
-
|
|
169
|
-
```ts
|
|
170
|
-
// Custom mapper while fromOpenAIAssistants (queued #104) lands:
|
|
171
|
-
function mapAssistantRunToRunRecord(threadId: string, runId: string): RunRecord {
|
|
172
|
-
const run = await openai.beta.threads.runs.retrieve(threadId, runId)
|
|
173
|
-
const steps = await openai.beta.threads.runs.steps.list(threadId, runId)
|
|
174
|
-
|
|
175
|
-
return {
|
|
176
|
-
runId: run.id,
|
|
177
|
-
experimentId: 'default',
|
|
178
|
-
candidateId: run.assistant_id,
|
|
179
|
-
seed: 0,
|
|
180
|
-
model: run.model,
|
|
181
|
-
promptHash: hashOf(run.instructions),
|
|
182
|
-
configHash: hashOf({ tools: run.tools, model: run.model }),
|
|
183
|
-
commitSha: process.env.GIT_SHA ?? 'unknown',
|
|
184
|
-
wallMs: (run.completed_at - run.created_at) * 1000,
|
|
185
|
-
costUsd: estimateCostFromUsage(run.usage),
|
|
186
|
-
tokenUsage: {
|
|
187
|
-
input: run.usage?.prompt_tokens ?? 0,
|
|
188
|
-
output: run.usage?.completion_tokens ?? 0,
|
|
189
|
-
},
|
|
190
|
-
outcome: {
|
|
191
|
-
holdoutScore: yourScoring(run),
|
|
192
|
-
raw: { stepCount: steps.data.length, status: run.status },
|
|
193
|
-
},
|
|
194
|
-
splitTag: 'holdout',
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Once the dedicated adapter ships in 0.55.0 this becomes one line.
|
|
200
|
-
|
|
201
|
-
## Custom trace format
|
|
202
|
-
|
|
203
|
-
Your logs / DB rows / proprietary schema → `RunRecord`:
|
|
204
|
-
|
|
205
|
-
```ts
|
|
206
|
-
import type { RunRecord } from '@tangle-network/agent-eval'
|
|
207
|
-
|
|
208
|
-
function mapMyRowToRunRecord(row: MyAgentLog): RunRecord {
|
|
209
|
-
return {
|
|
210
|
-
runId: row.id,
|
|
211
|
-
experimentId: row.experiment_name ?? 'default',
|
|
212
|
-
candidateId: row.model_version,
|
|
213
|
-
seed: row.random_seed ?? 0,
|
|
214
|
-
model: row.model,
|
|
215
|
-
promptHash: row.prompt_hash,
|
|
216
|
-
configHash: row.config_hash,
|
|
217
|
-
commitSha: row.git_sha,
|
|
218
|
-
wallMs: row.duration_ms,
|
|
219
|
-
costUsd: row.cost,
|
|
220
|
-
tokenUsage: {
|
|
221
|
-
input: row.input_tokens,
|
|
222
|
-
output: row.output_tokens,
|
|
223
|
-
},
|
|
224
|
-
outcome: {
|
|
225
|
-
holdoutScore: row.score,
|
|
226
|
-
raw: row.raw_output, // free-form bag for fields the substrate doesn't standardize
|
|
227
|
-
},
|
|
228
|
-
splitTag: row.is_holdout ? 'holdout' : 'search',
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
const runs = myLogs.map(mapMyRowToRunRecord)
|
|
233
|
-
const report = await analyzeRuns({ runs })
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
That's the worst case. ~20 lines of mapping, and you're in.
|
|
237
|
-
|
|
238
|
-
## Multi-rater human feedback (no LLM-as-judge yet)
|
|
239
|
-
|
|
240
|
-
If you don't have an automated judge but you DO have human raters approving/rejecting agent outputs:
|
|
241
|
-
|
|
242
|
-
```ts
|
|
243
|
-
import { fromFeedbackTable } from '@tangle-network/agent-eval'
|
|
244
|
-
import { analyzeRuns } from '@tangle-network/agent-eval/contract'
|
|
245
|
-
|
|
246
|
-
// Your data shape:
|
|
247
|
-
const ratings = [
|
|
248
|
-
{ runId: 'r-001', rater: 'alice', score: 1 }, // approved
|
|
249
|
-
{ runId: 'r-001', rater: 'bob', score: 0 }, // rejected — disagreement!
|
|
250
|
-
{ runId: 'r-002', rater: 'alice', score: 1 },
|
|
251
|
-
{ runId: 'r-002', rater: 'bob', score: 1 },
|
|
252
|
-
// ...
|
|
253
|
-
]
|
|
254
|
-
|
|
255
|
-
const { runs, raterScores } = fromFeedbackTable({ ratings })
|
|
256
|
-
const report = await analyzeRuns({ runs, raterScores })
|
|
257
|
-
|
|
258
|
-
// report.interRater.kappa → how much your raters agree
|
|
259
|
-
// report.interRater.disagreementCases → which runs raters split on
|
|
260
|
-
// → use these to iterate the rubric until kappa > 0.7
|
|
261
|
-
// → then build an LLM-as-judge against that aligned rubric
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
This is the warm-up path for customers who don't have a judge yet.
|
|
265
|
-
|
|
266
|
-
## Hosted vs self-hosted — what's the difference?
|
|
267
|
-
|
|
268
|
-
| | Self-hosted | Hosted (Tangle Intelligence) |
|
|
269
|
-
|---|---|---|
|
|
270
|
-
| Cost | Your LLM bills + your compute | Same LLM bills + hosted-tier subscription |
|
|
271
|
-
| Dashboard | You build it (or use the OSS examples) | Renders InsightReport out of the box |
|
|
272
|
-
| Cron / scheduling | Your CI / cron / GitHub Action | Managed scheduler runs weekly |
|
|
273
|
-
| Slack / email digest | You wire it | Included |
|
|
274
|
-
| Multi-week trends | You persist | Persisted for you |
|
|
275
|
-
| Decision packet generation | Local (free) | API call (same code; we run it) |
|
|
276
|
-
| Closed-loop campaigns | Local (you pay LLM directly) | Pass-through pricing on LLM, plus per-campaign fee |
|
|
277
|
-
| Auto-PR | Your GitHub token | Your GitHub token via OAuth |
|
|
278
|
-
|
|
279
|
-
Both work end-to-end. Hosted tier is convenience; self-hosted is fine for engineering-heavy teams who want full control.
|
|
280
|
-
|
|
281
|
-
## Common foreign-stack questions
|
|
282
|
-
|
|
283
|
-
**Q: We use vLLM / Ollama / a custom self-hosted LLM. Does the closed-loop driver work?**
|
|
284
|
-
A: Yes if your server speaks OpenAI-compat (most do). Pass `baseUrl: 'http://localhost:8000/v1'` (or wherever) and your dummy `apiKey`. We've shipped customers running selfImprove against local LMStudio + Ollama.
|
|
285
|
-
|
|
286
|
-
**Q: We're a Python shop, not TypeScript. Does anything change?**
|
|
287
|
-
A: `agent-eval-rpc@0.53.0` on PyPI speaks the same wire protocol. The Python client is a thin wrapper around the hosted endpoints — same `analyzeRuns()` / `selfImprove()` calls, same `InsightReport` shape, same `gateDecision` values.
|
|
288
|
-
|
|
289
|
-
**Q: We have an extremely custom agent (not LLM-call-shaped). Can we still use this?**
|
|
290
|
-
A: Yes. The substrate doesn't care what your agent IS — it only cares that you can express your runs as `RunRecord[]` and your judge as `(artifact) → JudgeScore`. RL-trained agents, multi-step plan-and-execute, browser-driving agents, code-generating agents — all map cleanly.
|
|
291
|
-
|
|
292
|
-
**Q: What's the minimum cost to try it?**
|
|
293
|
-
A: Free. `analyzeRuns()` is deterministic, runs locally, $0 LLM cost. You can ingest your last week of traces and get a real decision packet without spending a cent. The LLM-cost-incurring step is `selfImprove()` and you set the ceiling.
|
|
294
|
-
|
|
295
|
-
**Q: We don't want to send traces to your hosted tier. Self-hosted only — works?**
|
|
296
|
-
A: Yes. Every primitive in this doc runs locally. The package is MIT-licensed, no SaaS lock-in, no required network call.
|