@tangle-network/agent-eval 0.129.0 → 0.130.1
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 +21 -0
- package/README.md +2 -0
- package/dist/active-curriculum-C4mk67HP.js +214 -0
- package/dist/active-curriculum-C4mk67HP.js.map +1 -0
- package/dist/adversarial-smnADNFS.d.ts +21 -0
- package/dist/adversarial-smnADNFS.d.ts.map +1 -0
- package/dist/analyst/index.d.ts +81 -2872
- package/dist/analyst/index.d.ts.map +1 -0
- package/dist/analyst/index.js +319 -360
- package/dist/analyst/index.js.map +1 -1
- package/dist/analyst-BkTS3C58.d.ts +89 -0
- package/dist/analyst-BkTS3C58.d.ts.map +1 -0
- package/dist/analyst-LsnNpSkm.js +152 -0
- package/dist/analyst-LsnNpSkm.js.map +1 -0
- package/dist/analyze-runs-C1CavBMk.js +1067 -0
- package/dist/analyze-runs-C1CavBMk.js.map +1 -0
- package/dist/analyze-runs-FsgYCinh.d.ts +72 -0
- package/dist/analyze-runs-FsgYCinh.d.ts.map +1 -0
- package/dist/attribute-vocabulary-DLJ6303h.d.ts +54 -0
- package/dist/attribute-vocabulary-DLJ6303h.d.ts.map +1 -0
- package/dist/authenticity/index.d.ts +81 -79
- package/dist/authenticity/index.d.ts.map +1 -0
- package/dist/authenticity/index.js +209 -193
- package/dist/authenticity/index.js.map +1 -1
- package/dist/baseline-HsBvw_dk.js +550 -0
- package/dist/baseline-HsBvw_dk.js.map +1 -0
- package/dist/baseline-hG3K85h4.d.ts +125 -0
- package/dist/baseline-hG3K85h4.d.ts.map +1 -0
- package/dist/belief-state/index.d.ts +448 -1188
- package/dist/belief-state/index.d.ts.map +1 -0
- package/dist/belief-state/index.js +1617 -1709
- package/dist/belief-state/index.js.map +1 -1
- package/dist/benchmarks/index.d.ts +2 -891
- package/dist/benchmarks/index.js +2 -60
- package/dist/benchmarks-BJgDGkAD.js +754 -0
- package/dist/benchmarks-BJgDGkAD.js.map +1 -0
- package/dist/builder-eval/index.d.ts +150 -662
- package/dist/builder-eval/index.d.ts.map +1 -0
- package/dist/builder-eval/index.js +356 -345
- package/dist/builder-eval/index.js.map +1 -1
- package/dist/calibration-CNWWA6K8.js +94 -0
- package/dist/calibration-CNWWA6K8.js.map +1 -0
- package/dist/campaign/index.d.ts +5 -6381
- package/dist/campaign/index.js +3 -213
- package/dist/campaign-aKJt6emI.js +3886 -0
- package/dist/campaign-aKJt6emI.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +164 -175
- package/dist/cli.js.map +1 -1
- package/dist/client-C97NMzqi.d.ts +581 -0
- package/dist/client-C97NMzqi.d.ts.map +1 -0
- package/dist/client-CYzbdJOZ.js +637 -0
- package/dist/client-CYzbdJOZ.js.map +1 -0
- package/dist/code-agent-session-BjkMTQ7H.js +1390 -0
- package/dist/code-agent-session-BjkMTQ7H.js.map +1 -0
- package/dist/code-agent-session-DqqgOJaz.d.ts +143 -0
- package/dist/code-agent-session-DqqgOJaz.d.ts.map +1 -0
- package/dist/concurrency-DIxRZF_J.js +85 -0
- package/dist/concurrency-DIxRZF_J.js.map +1 -0
- package/dist/contract/index.d.ts +645 -5565
- package/dist/contract/index.d.ts.map +1 -0
- package/dist/contract/index.js +1730 -1938
- package/dist/contract/index.js.map +1 -1
- package/dist/control.d.ts +3 -1030
- package/dist/control.js +2 -33
- package/dist/cost-ledger-DIgQUFZZ.js +801 -0
- package/dist/cost-ledger-DIgQUFZZ.js.map +1 -0
- package/dist/cost-ledger-Dye6jCgg.d.ts +236 -0
- package/dist/cost-ledger-Dye6jCgg.d.ts.map +1 -0
- package/dist/dataset-BvtnC8Dc.d.ts +115 -0
- package/dist/dataset-BvtnC8Dc.d.ts.map +1 -0
- package/dist/default-registry-C-vFCSEc.js +2579 -0
- package/dist/default-registry-C-vFCSEc.js.map +1 -0
- package/dist/default-registry-CNPo-Vsb.d.ts +540 -0
- package/dist/default-registry-CNPo-Vsb.d.ts.map +1 -0
- package/dist/emitter-CPBAhxum.js +266 -0
- package/dist/emitter-CPBAhxum.js.map +1 -0
- package/dist/emitter-DGQGoLyj.d.ts +113 -0
- package/dist/emitter-DGQGoLyj.d.ts.map +1 -0
- package/dist/errors-8YnH8WlF.js +64 -0
- package/dist/errors-8YnH8WlF.js.map +1 -0
- package/dist/errors-CEk209JS.d.ts +76 -0
- package/dist/errors-CEk209JS.d.ts.map +1 -0
- package/dist/eval-campaign-DEm6c8ru.js +349 -0
- package/dist/eval-campaign-DEm6c8ru.js.map +1 -0
- package/dist/execution-tracks-CpgFPpS5.js +93 -0
- package/dist/execution-tracks-CpgFPpS5.js.map +1 -0
- package/dist/exporters-q9iL-2Jf.js +148 -0
- package/dist/exporters-q9iL-2Jf.js.map +1 -0
- package/dist/extract-usage-BrQ8mCLX.js +155 -0
- package/dist/extract-usage-BrQ8mCLX.js.map +1 -0
- package/dist/failure-cluster-CqcvCcdR.d.ts +59 -0
- package/dist/failure-cluster-CqcvCcdR.d.ts.map +1 -0
- package/dist/feedback-trajectory-CVaeREXV.d.ts +340 -0
- package/dist/feedback-trajectory-CVaeREXV.d.ts.map +1 -0
- package/dist/fuzz.d.ts +320 -646
- package/dist/fuzz.d.ts.map +1 -0
- package/dist/fuzz.js +670 -618
- package/dist/fuzz.js.map +1 -1
- package/dist/hf-dataset-DBJXXoY1.js +763 -0
- package/dist/hf-dataset-DBJXXoY1.js.map +1 -0
- package/dist/hosted/index.d.ts +11 -831
- package/dist/hosted/index.d.ts.map +1 -0
- package/dist/hosted/index.js +2 -37
- package/dist/index-2JJSA6-r2.d.ts +926 -0
- package/dist/index-2JJSA6-r2.d.ts.map +1 -0
- package/dist/index-6N0aYmpW.d.ts +217 -0
- package/dist/index-6N0aYmpW.d.ts.map +1 -0
- package/dist/index-BAvgST_9.d.ts +131 -0
- package/dist/index-BAvgST_9.d.ts.map +1 -0
- package/dist/index-BvnJuTGD.d.ts +68 -0
- package/dist/index-BvnJuTGD.d.ts.map +1 -0
- package/dist/index-C61Wi7yg.d.ts +547 -0
- package/dist/index-C61Wi7yg.d.ts.map +1 -0
- package/dist/index-CD_WZ_Xr.d.ts +2250 -0
- package/dist/index-CD_WZ_Xr.d.ts.map +1 -0
- package/dist/index-DSC51roc.d.ts +102 -0
- package/dist/index-DSC51roc.d.ts.map +1 -0
- package/dist/index-Em67JBjs.d.ts +335 -0
- package/dist/index-Em67JBjs.d.ts.map +1 -0
- package/dist/index.d.ts +3755 -15555
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11182 -11216
- package/dist/index.js.map +1 -1
- package/dist/integrity-BzRbCHzi.js +424 -0
- package/dist/integrity-BzRbCHzi.js.map +1 -0
- package/dist/integrity-rmVhXWA7.d.ts +61 -0
- package/dist/integrity-rmVhXWA7.d.ts.map +1 -0
- package/dist/judge-calibration-DFtEMlde.d.ts +146 -0
- package/dist/judge-calibration-DFtEMlde.d.ts.map +1 -0
- package/dist/ledger-core/index.d.ts +2 -0
- package/dist/ledger-core/index.js +2 -0
- package/dist/ledger-core-DtZz1RG0.js +388 -0
- package/dist/ledger-core-DtZz1RG0.js.map +1 -0
- package/dist/llm-client--GR4JbZE.js +687 -0
- package/dist/llm-client--GR4JbZE.js.map +1 -0
- package/dist/llm-client-B_nIBlYo.d.ts +290 -0
- package/dist/llm-client-B_nIBlYo.d.ts.map +1 -0
- package/dist/matrix/index.d.ts +3 -155
- package/dist/matrix/index.js +2 -8
- package/dist/matrix-BzQnu2S6.js +270 -0
- package/dist/matrix-BzQnu2S6.js.map +1 -0
- package/dist/meta-eval/index.d.ts +4 -1027
- package/dist/meta-eval/index.js +393 -390
- package/dist/meta-eval/index.js.map +1 -1
- package/dist/metrics-C9YY1OcL.js +239 -0
- package/dist/metrics-C9YY1OcL.js.map +1 -0
- package/dist/mint-yN2M2eh0.js +201 -0
- package/dist/mint-yN2M2eh0.js.map +1 -0
- package/dist/multi-layer-verifier-BHY1gWAc.d.ts +138 -0
- package/dist/multi-layer-verifier-BHY1gWAc.d.ts.map +1 -0
- package/dist/multishot/index.d.ts +273 -480
- package/dist/multishot/index.d.ts.map +1 -0
- package/dist/multishot/index.js +595 -548
- package/dist/multishot/index.js.map +1 -1
- package/dist/off-policy-DvgzvtIx.js +220 -0
- package/dist/off-policy-DvgzvtIx.js.map +1 -0
- package/dist/off-policy-mskQw8Mb.d.ts +153 -0
- package/dist/off-policy-mskQw8Mb.d.ts.map +1 -0
- package/dist/openapi.json +1 -1
- package/dist/opencode-sqlite-BGrHeDu3.js +318 -0
- package/dist/opencode-sqlite-BGrHeDu3.js.map +1 -0
- package/dist/outcome-store-BYHIuO0e.d.ts +65 -0
- package/dist/outcome-store-BYHIuO0e.d.ts.map +1 -0
- package/dist/outcome-store-ChBKlTd_.js +75 -0
- package/dist/outcome-store-ChBKlTd_.js.map +1 -0
- package/dist/paired-arms-D9D0wXj2.js +260 -0
- package/dist/paired-arms-D9D0wXj2.js.map +1 -0
- package/dist/pipelines/index.d.ts +95 -532
- package/dist/pipelines/index.d.ts.map +1 -0
- package/dist/pipelines/index.js +497 -478
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pre-registration-DakwTRXk.js +96 -0
- package/dist/pre-registration-DakwTRXk.js.map +1 -0
- package/dist/propose-review-control-LhIWGzHl.js +1458 -0
- package/dist/propose-review-control-LhIWGzHl.js.map +1 -0
- package/dist/query-CJ_DX8vl.d.ts +28 -0
- package/dist/query-CJ_DX8vl.d.ts.map +1 -0
- package/dist/query-Di7eEQ79.js +83 -0
- package/dist/query-Di7eEQ79.js.map +1 -0
- package/dist/raw-provider-sink-BQd7mzyT.js +201 -0
- package/dist/raw-provider-sink-BQd7mzyT.js.map +1 -0
- package/dist/raw-provider-sink-BU29Sh8h.d.ts +134 -0
- package/dist/raw-provider-sink-BU29Sh8h.d.ts.map +1 -0
- package/dist/redact-7Aq1ukl-.js +107 -0
- package/dist/redact-7Aq1ukl-.js.map +1 -0
- package/dist/release-report-Cz9NKH39.js +603 -0
- package/dist/release-report-Cz9NKH39.js.map +1 -0
- package/dist/release-report-mvB2G4_J.d.ts +244 -0
- package/dist/release-report-mvB2G4_J.d.ts.map +1 -0
- package/dist/replay-GnyotH0J.js +1741 -0
- package/dist/replay-GnyotH0J.js.map +1 -0
- package/dist/replay-OoidtG1E.d.ts +749 -0
- package/dist/replay-OoidtG1E.d.ts.map +1 -0
- package/dist/reporting.d.ts +6 -1312
- package/dist/reporting.js +6 -51
- package/dist/researcher-CwTdwXG1.d.ts +314 -0
- package/dist/researcher-CwTdwXG1.d.ts.map +1 -0
- package/dist/reward-hacking-eAnOsynk.d.ts +224 -0
- package/dist/reward-hacking-eAnOsynk.d.ts.map +1 -0
- package/dist/reward-hacking-qipEpKvY.js +596 -0
- package/dist/reward-hacking-qipEpKvY.js.map +1 -0
- package/dist/reward-nw2xZGZG.js +137 -0
- package/dist/reward-nw2xZGZG.js.map +1 -0
- package/dist/rl.d.ts +760 -4010
- package/dist/rl.d.ts.map +1 -0
- package/dist/rl.js +2325 -1958
- package/dist/rl.js.map +1 -1
- package/dist/rolldown-runtime-8H4AJuhK.js +14 -0
- package/dist/rollout/index.d.ts +3 -2087
- package/dist/rollout/index.js +8 -168
- package/dist/rollout-BOYjemfR.js +624 -0
- package/dist/rollout-BOYjemfR.js.map +1 -0
- package/dist/rubric-predictive-validity-B3xmbmS1.js +141 -0
- package/dist/rubric-predictive-validity-B3xmbmS1.js.map +1 -0
- package/dist/rubric-predictive-validity-Ku_clp_1.d.ts +74 -0
- package/dist/rubric-predictive-validity-Ku_clp_1.d.ts.map +1 -0
- package/dist/run-evidence-ClRX_8A9.d.ts +225 -0
- package/dist/run-evidence-ClRX_8A9.d.ts.map +1 -0
- package/dist/run-record-BuoE80Dq.js +467 -0
- package/dist/{chunk-56TAVBOK.js.map → run-record-BuoE80Dq.js.map} +1 -1
- package/dist/run-record-CnZu_gjl.d.ts +357 -0
- package/dist/run-record-CnZu_gjl.d.ts.map +1 -0
- package/dist/run-score-iEEAWiBY.js +41 -0
- package/dist/run-score-iEEAWiBY.js.map +1 -0
- package/dist/runtime-trajectory-1gyaTOoC.js +93 -0
- package/dist/runtime-trajectory-1gyaTOoC.js.map +1 -0
- package/dist/runtime-trajectory-BvSZcCHD.d.ts +50 -0
- package/dist/runtime-trajectory-BvSZcCHD.d.ts.map +1 -0
- package/dist/schema-BtVldJ3T.d.ts +206 -0
- package/dist/schema-BtVldJ3T.d.ts.map +1 -0
- package/dist/schema-C6DW4ZHR.js +821 -0
- package/dist/schema-C6DW4ZHR.js.map +1 -0
- package/dist/schema-CRhEY1SO.js +69 -0
- package/dist/schema-CRhEY1SO.js.map +1 -0
- package/dist/schema-Cef2cFmb.d.ts +408 -0
- package/dist/schema-Cef2cFmb.d.ts.map +1 -0
- package/dist/semantic-concept-judge-B6cWNJ2K.js +725 -0
- package/dist/semantic-concept-judge-B6cWNJ2K.js.map +1 -0
- package/dist/sequential-Br0mAPHA.js +148 -0
- package/dist/sequential-Br0mAPHA.js.map +1 -0
- package/dist/sequential-CYwq6Ff_.d.ts +141 -0
- package/dist/sequential-CYwq6Ff_.d.ts.map +1 -0
- package/dist/series-convergence-CjO2QdRW.js +43 -0
- package/dist/series-convergence-CjO2QdRW.js.map +1 -0
- package/dist/series-convergence-ofsqPWhs.d.ts +35 -0
- package/dist/series-convergence-ofsqPWhs.d.ts.map +1 -0
- package/dist/server-m5D9cvnG.js +1040 -0
- package/dist/server-m5D9cvnG.js.map +1 -0
- package/dist/skill-usage-C_pXm7lP.d.ts +534 -0
- package/dist/skill-usage-C_pXm7lP.d.ts.map +1 -0
- package/dist/skillopt-optimization-method-CUmHkGbI.js +7718 -0
- package/dist/skillopt-optimization-method-CUmHkGbI.js.map +1 -0
- package/dist/skillopt-optimization-method-CWKVTnks.d.ts +1740 -0
- package/dist/skillopt-optimization-method-CWKVTnks.d.ts.map +1 -0
- package/dist/statistics-Cmj6nynr.d.ts +514 -0
- package/dist/statistics-Cmj6nynr.d.ts.map +1 -0
- package/dist/statistics-CnnxdpOg.js +1437 -0
- package/dist/statistics-CnnxdpOg.js.map +1 -0
- package/dist/store-CT9YIIve.d.ts +117 -0
- package/dist/store-CT9YIIve.d.ts.map +1 -0
- package/dist/store-CxJry_cs.d.ts +229 -0
- package/dist/store-CxJry_cs.d.ts.map +1 -0
- package/dist/storyboard/index.d.ts +84 -203
- package/dist/storyboard/index.d.ts.map +1 -0
- package/dist/storyboard/index.js +609 -542
- package/dist/storyboard/index.js.map +1 -1
- package/dist/summary-report-BNs5nmXI.js +862 -0
- package/dist/summary-report-BNs5nmXI.js.map +1 -0
- package/dist/summary-report-Cj9gdw4i.d.ts +407 -0
- package/dist/summary-report-Cj9gdw4i.d.ts.map +1 -0
- package/dist/supervisor-run/index.d.ts +2 -959
- package/dist/supervisor-run/index.js +2 -65
- package/dist/supervisor-run-_lnTLM3z.js +1679 -0
- package/dist/supervisor-run-_lnTLM3z.js.map +1 -0
- package/dist/task-failure-attributes-CQZlB3et.js +311 -0
- package/dist/task-failure-attributes-CQZlB3et.js.map +1 -0
- package/dist/test-graded-scenario-BsqWLmPt.js +318 -0
- package/dist/test-graded-scenario-BsqWLmPt.js.map +1 -0
- package/dist/test-graded-scenario-D1TaI2va.d.ts +141 -0
- package/dist/test-graded-scenario-D1TaI2va.d.ts.map +1 -0
- package/dist/tools-BmuN627J.js +1085 -0
- package/dist/tools-BmuN627J.js.map +1 -0
- package/dist/trace-attributes.d.ts +2 -52
- package/dist/trace-attributes.js +131 -61
- package/dist/trace-attributes.js.map +1 -1
- package/dist/traces.d.ts +12 -2365
- package/dist/traces.js +12 -252
- package/dist/trajectory-D_7rLrvE.js +56 -0
- package/dist/trajectory-D_7rLrvE.js.map +1 -0
- package/dist/types-DGsxbAEd.d.ts +387 -0
- package/dist/types-DGsxbAEd.d.ts.map +1 -0
- package/dist/types-k9tZGKUg.d.ts +640 -0
- package/dist/types-k9tZGKUg.d.ts.map +1 -0
- package/dist/verdict-Dps8_okt.d.ts +37 -0
- package/dist/verdict-Dps8_okt.d.ts.map +1 -0
- package/dist/wire/index.d.ts +702 -1173
- package/dist/wire/index.d.ts.map +1 -0
- package/dist/wire/index.js +2 -81
- package/docs/campaign-proposers.md +1 -0
- package/package.json +17 -9
- package/dist/benchmarks/index.js.map +0 -1
- package/dist/campaign/index.js.map +0 -1
- package/dist/chunk-2QU3YOPR.js +0 -7374
- package/dist/chunk-2QU3YOPR.js.map +0 -1
- package/dist/chunk-3OCR4R5I.js +0 -728
- package/dist/chunk-3OCR4R5I.js.map +0 -1
- package/dist/chunk-3RF76KTD.js +0 -84
- package/dist/chunk-3RF76KTD.js.map +0 -1
- package/dist/chunk-56TAVBOK.js +0 -698
- package/dist/chunk-5DTSBUL2.js +0 -159
- package/dist/chunk-5DTSBUL2.js.map +0 -1
- package/dist/chunk-7FO3TNPI.js +0 -232
- package/dist/chunk-7FO3TNPI.js.map +0 -1
- package/dist/chunk-7ZZMD7UK.js +0 -386
- package/dist/chunk-7ZZMD7UK.js.map +0 -1
- package/dist/chunk-BOD4O7OF.js +0 -40
- package/dist/chunk-BOD4O7OF.js.map +0 -1
- package/dist/chunk-BSO5JDQH.js +0 -2335
- package/dist/chunk-BSO5JDQH.js.map +0 -1
- package/dist/chunk-C6LXANRU.js +0 -1550
- package/dist/chunk-C6LXANRU.js.map +0 -1
- package/dist/chunk-DODXQREJ.js +0 -752
- package/dist/chunk-DODXQREJ.js.map +0 -1
- package/dist/chunk-DRYIUNWY.js +0 -622
- package/dist/chunk-DRYIUNWY.js.map +0 -1
- package/dist/chunk-E7QXT7SX.js +0 -183
- package/dist/chunk-E7QXT7SX.js.map +0 -1
- package/dist/chunk-EG66UGL4.js +0 -341
- package/dist/chunk-EG66UGL4.js.map +0 -1
- package/dist/chunk-FXTVJPYD.js +0 -576
- package/dist/chunk-FXTVJPYD.js.map +0 -1
- package/dist/chunk-G7MGMCZD.js +0 -153
- package/dist/chunk-G7MGMCZD.js.map +0 -1
- package/dist/chunk-GGE4NNQT.js +0 -65
- package/dist/chunk-GGE4NNQT.js.map +0 -1
- package/dist/chunk-H23X7XKK.js +0 -181
- package/dist/chunk-H23X7XKK.js.map +0 -1
- package/dist/chunk-HHWE3POT.js +0 -94
- package/dist/chunk-HHWE3POT.js.map +0 -1
- package/dist/chunk-HPWUNB47.js +0 -289
- package/dist/chunk-HPWUNB47.js.map +0 -1
- package/dist/chunk-IYCLP2N2.js +0 -766
- package/dist/chunk-IYCLP2N2.js.map +0 -1
- package/dist/chunk-JHCHEVET.js +0 -274
- package/dist/chunk-JHCHEVET.js.map +0 -1
- package/dist/chunk-JQSF5DQT.js +0 -701
- package/dist/chunk-JQSF5DQT.js.map +0 -1
- package/dist/chunk-K4DBDHLK.js +0 -158
- package/dist/chunk-K4DBDHLK.js.map +0 -1
- package/dist/chunk-K6N6XJJX.js +0 -306
- package/dist/chunk-K6N6XJJX.js.map +0 -1
- package/dist/chunk-M4YBQKIJ.js +0 -1040
- package/dist/chunk-M4YBQKIJ.js.map +0 -1
- package/dist/chunk-MA6HLL3S.js +0 -65
- package/dist/chunk-MA6HLL3S.js.map +0 -1
- package/dist/chunk-MAZ26DC7.js +0 -99
- package/dist/chunk-MAZ26DC7.js.map +0 -1
- package/dist/chunk-NPCTHQIO.js +0 -91
- package/dist/chunk-NPCTHQIO.js.map +0 -1
- package/dist/chunk-NY44NC4A.js +0 -1056
- package/dist/chunk-NY44NC4A.js.map +0 -1
- package/dist/chunk-OIUOT4QD.js +0 -44
- package/dist/chunk-OIUOT4QD.js.map +0 -1
- package/dist/chunk-ONWEPEDO.js +0 -57
- package/dist/chunk-ONWEPEDO.js.map +0 -1
- package/dist/chunk-OWN5NPMC.js +0 -152
- package/dist/chunk-OWN5NPMC.js.map +0 -1
- package/dist/chunk-P6FYH6K4.js +0 -1161
- package/dist/chunk-P6FYH6K4.js.map +0 -1
- package/dist/chunk-PC4UYEBM.js +0 -166
- package/dist/chunk-PC4UYEBM.js.map +0 -1
- package/dist/chunk-PC5DOSM7.js +0 -579
- package/dist/chunk-PC5DOSM7.js.map +0 -1
- package/dist/chunk-PXE2VKMX.js +0 -140
- package/dist/chunk-PXE2VKMX.js.map +0 -1
- package/dist/chunk-PZ5AY32C.js +0 -10
- package/dist/chunk-PZ5AY32C.js.map +0 -1
- package/dist/chunk-QB6BDBP2.js +0 -4464
- package/dist/chunk-QB6BDBP2.js.map +0 -1
- package/dist/chunk-RXHCETDZ.js +0 -536
- package/dist/chunk-RXHCETDZ.js.map +0 -1
- package/dist/chunk-RZTMDUO7.js +0 -49
- package/dist/chunk-RZTMDUO7.js.map +0 -1
- package/dist/chunk-SFLLL76A.js +0 -669
- package/dist/chunk-SFLLL76A.js.map +0 -1
- package/dist/chunk-SZLVEKMJ.js +0 -1446
- package/dist/chunk-SZLVEKMJ.js.map +0 -1
- package/dist/chunk-T4SQEITX.js +0 -95
- package/dist/chunk-T4SQEITX.js.map +0 -1
- package/dist/chunk-T6RLYGAD.js +0 -158
- package/dist/chunk-T6RLYGAD.js.map +0 -1
- package/dist/chunk-TJVT4QFF.js +0 -911
- package/dist/chunk-TJVT4QFF.js.map +0 -1
- package/dist/chunk-TQ7LNKZ3.js +0 -136
- package/dist/chunk-TQ7LNKZ3.js.map +0 -1
- package/dist/chunk-U4L7JRPZ.js +0 -1706
- package/dist/chunk-U4L7JRPZ.js.map +0 -1
- package/dist/chunk-U4PHLT2N.js +0 -419
- package/dist/chunk-U4PHLT2N.js.map +0 -1
- package/dist/chunk-VCZ5FQYW.js +0 -928
- package/dist/chunk-VCZ5FQYW.js.map +0 -1
- package/dist/chunk-VI2UW6B6.js +0 -162
- package/dist/chunk-VI2UW6B6.js.map +0 -1
- package/dist/chunk-VQMK5FMP.js +0 -247
- package/dist/chunk-VQMK5FMP.js.map +0 -1
- package/dist/chunk-WGXIEX7P.js +0 -116
- package/dist/chunk-WGXIEX7P.js.map +0 -1
- package/dist/chunk-WVATSFCP.js +0 -1553
- package/dist/chunk-WVATSFCP.js.map +0 -1
- package/dist/chunk-X4YIBDER.js +0 -1662
- package/dist/chunk-X4YIBDER.js.map +0 -1
- package/dist/chunk-YQN4ICPP.js +0 -355
- package/dist/chunk-YQN4ICPP.js.map +0 -1
- package/dist/chunk-ZET2UAYW.js +0 -89
- package/dist/chunk-ZET2UAYW.js.map +0 -1
- package/dist/chunk-ZHTZ4EYI.js +0 -1212
- package/dist/chunk-ZHTZ4EYI.js.map +0 -1
- package/dist/control.js.map +0 -1
- package/dist/hosted/index.js.map +0 -1
- package/dist/matrix/index.js.map +0 -1
- package/dist/reporting.js.map +0 -1
- package/dist/rollout/index.js.map +0 -1
- package/dist/run-campaign-OJJ7CZF4.js +0 -18
- package/dist/run-campaign-OJJ7CZF4.js.map +0 -1
- package/dist/supervisor-run/index.js.map +0 -1
- package/dist/traces.js.map +0 -1
- package/dist/wire/index.js.map +0 -1
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
//#region src/rollout/schema.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* `tangle.rollout.v1` — THE canonical rollout serialization, owned by
|
|
4
|
+
* agent-eval. One JSONL line per agent invocation (a solo eval run, a
|
|
5
|
+
* supervisor episode, a worker session, a proposer shot, a judge call, an
|
|
6
|
+
* analyst pass), labeled with its task/split coordinates and a single
|
|
7
|
+
* scalar reward, carrying the FULL message transcript inline.
|
|
8
|
+
*
|
|
9
|
+
* This schema is the reconciliation of two prior producers:
|
|
10
|
+
* - agent-eval's RunRecord-joined rollout rows (PR #410): identity,
|
|
11
|
+
* provenance hashes, the realness gate travelling into the reward,
|
|
12
|
+
* trace-derived steps.
|
|
13
|
+
* - the bench rollout-ledger (agent-runtime PR #591): the wire shape —
|
|
14
|
+
* role, task.split/rep, parent_rollout_id, policy provenance, capture
|
|
15
|
+
* provenance, inline canonical chat-with-tools messages.
|
|
16
|
+
* Where the two conflicted, RunRecord-derived semantics won; the wire
|
|
17
|
+
* field names follow the ledger (snake_case). See `docs/rollout.md` for
|
|
18
|
+
* the field-by-field decision table.
|
|
19
|
+
*
|
|
20
|
+
* Messages are inlined — never referenced — because every harness store a
|
|
21
|
+
* rollout can be recovered from is mutable or garbage-collected. A line
|
|
22
|
+
* must stay a complete training/eval example on its own.
|
|
23
|
+
*
|
|
24
|
+
* `outcome.reward` is THE single scalar (null = no verdict exists — a
|
|
25
|
+
* labeled gap, never 0). `outcome.realness_gated` is the anti-Goodhart
|
|
26
|
+
* flag: a gated line must never export as a positive training example.
|
|
27
|
+
*
|
|
28
|
+
* That last sentence is enforced here, by `validateRolloutLine`, not merely
|
|
29
|
+
* documented. Validating `reward` and `realness_gated` independently — each a
|
|
30
|
+
* well-typed field, their COMBINATION unchecked — is what let a line claiming
|
|
31
|
+
* `{reward: 0.95, realness_gated: true}` validate clean and walk into every
|
|
32
|
+
* training export. The relationship between the two IS the invariant, so it is
|
|
33
|
+
* checked where every other structural claim about a line is checked.
|
|
34
|
+
*
|
|
35
|
+
* The invariant is about the OUTCOME, not about one field of it. Zeroing
|
|
36
|
+
* `reward` while `outcome.metrics` still carried the per-layer scores that
|
|
37
|
+
* reward was computed from exported the gamed signal anyway, in the dict the
|
|
38
|
+
* verifiers format reads as its per-rubric scores. So `gateGamedOutcome`
|
|
39
|
+
* transforms the whole outcome once, at `assertMinted` — the funnel every
|
|
40
|
+
* minted line passes — and the reward-bearing components are relocated to
|
|
41
|
+
* `provenance.gated_evidence`, which no exporter projects.
|
|
42
|
+
*
|
|
43
|
+
* WHICH checks each door applies is not decided in this file. `./gate-checks`
|
|
44
|
+
* owns the canonical list and the total per-entry-point policy; the three doors
|
|
45
|
+
* below (`validateRolloutLine`, `assertRewardGate`, `assertMinted`) each call
|
|
46
|
+
* `gateErrors` with their declared policy, so a check added to that list applies
|
|
47
|
+
* here without anyone editing this file, and a check deliberately skipped has to
|
|
48
|
+
* name itself there.
|
|
49
|
+
*/
|
|
50
|
+
declare const ROLLOUT_SCHEMA = "tangle.rollout.v1";
|
|
51
|
+
/** `agent` = a solo evaluation run (no multi-agent topology). */
|
|
52
|
+
type RolloutRole = 'agent' | 'supervisor' | 'worker' | 'proposer' | 'judge' | 'analyst';
|
|
53
|
+
declare const ROLLOUT_ROLES: readonly RolloutRole[];
|
|
54
|
+
/** Split vocabulary follows `RunRecord.splitTag`, extended with `canary`. */
|
|
55
|
+
type RolloutSplit = 'search' | 'dev' | 'holdout' | 'canary';
|
|
56
|
+
declare const ROLLOUT_SPLITS: readonly RolloutSplit[];
|
|
57
|
+
/** Splits that may ship in training exports. Everything else is fail-closed excluded. */
|
|
58
|
+
declare const TRAINABLE_SPLITS: readonly RolloutSplit[];
|
|
59
|
+
declare function isTrainableSplit(split: RolloutSplit): boolean;
|
|
60
|
+
/** 'mint' = joined live from RunRecord + trace by `mintRolloutRows`. */
|
|
61
|
+
type RolloutCapture = 'mint' | 'settle-time' | 'backfill';
|
|
62
|
+
declare const ROLLOUT_CAPTURES: readonly RolloutCapture[];
|
|
63
|
+
type ChatRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
64
|
+
declare const CHAT_ROLES: readonly ChatRole[];
|
|
65
|
+
interface ChatToolCall {
|
|
66
|
+
id: string;
|
|
67
|
+
type: 'function';
|
|
68
|
+
function: {
|
|
69
|
+
name: string;
|
|
70
|
+
/** JSON-encoded argument object, exactly as the model emitted it. */
|
|
71
|
+
arguments: string;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
interface ChatMessage {
|
|
75
|
+
role: ChatRole;
|
|
76
|
+
content: string | null;
|
|
77
|
+
/** Reasoning/thinking channel where the harness captured it (full fidelity). */
|
|
78
|
+
reasoning_content?: string;
|
|
79
|
+
tool_calls?: ChatToolCall[];
|
|
80
|
+
/** Required on role:"tool" — the ChatToolCall this result answers. */
|
|
81
|
+
tool_call_id?: string;
|
|
82
|
+
name?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Harbor ATIF `is_copied_context` (RFC 0001 rule 7): this turn was COPIED IN
|
|
85
|
+
* from another trajectory's context, not produced by the agent on this line.
|
|
86
|
+
* The RFC makes excluding it from SFT a MUST, and `toSftRows` does — training
|
|
87
|
+
* on it teaches the model to author text it never authored, and credits this
|
|
88
|
+
* run for another one's work. Absent = false (authored here).
|
|
89
|
+
*/
|
|
90
|
+
is_copied_context?: boolean;
|
|
91
|
+
}
|
|
92
|
+
interface ToolDef {
|
|
93
|
+
type: 'function';
|
|
94
|
+
function: {
|
|
95
|
+
name: string;
|
|
96
|
+
description?: string;
|
|
97
|
+
parameters?: Record<string, unknown>;
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Compact trace-span projection (llm/tool step) carried alongside the
|
|
102
|
+
* conversation when the line was minted from a trace. Optional: lines
|
|
103
|
+
* recovered from harness stores have no span structure.
|
|
104
|
+
*/
|
|
105
|
+
interface RolloutStep {
|
|
106
|
+
kind: string;
|
|
107
|
+
name: string;
|
|
108
|
+
/** llm: last-message summary · tool: stringified args. Scrubbed. */
|
|
109
|
+
input?: string;
|
|
110
|
+
/** llm: output text · tool: stringified result. Scrubbed. */
|
|
111
|
+
output?: string;
|
|
112
|
+
status?: 'ok' | 'error';
|
|
113
|
+
durationMs?: number;
|
|
114
|
+
/**
|
|
115
|
+
* LLM inferences this span represents. 0 = deterministic dispatch with no
|
|
116
|
+
* model call — distinct from absent, which means the producer did not track it.
|
|
117
|
+
*/
|
|
118
|
+
llm_call_count?: number;
|
|
119
|
+
/** Exact prompt tokenization. Removes the ambiguity of re-tokenizing text at train time. */
|
|
120
|
+
prompt_token_ids?: number[];
|
|
121
|
+
/** Exact completion tokenization; aligns index-wise with `logprobs`. */
|
|
122
|
+
completion_token_ids?: number[];
|
|
123
|
+
/**
|
|
124
|
+
* Per-completion-token log probabilities under the sampling policy. Required
|
|
125
|
+
* for off-policy correction (importance weighting) when the rollout was
|
|
126
|
+
* generated by a policy other than the one being trained.
|
|
127
|
+
*/
|
|
128
|
+
logprobs?: number[];
|
|
129
|
+
}
|
|
130
|
+
interface RolloutTask {
|
|
131
|
+
/** Benchmark/suite id (e.g. "swe-bench-verified") or the experiment id. */
|
|
132
|
+
suite: string;
|
|
133
|
+
instance_id: string;
|
|
134
|
+
split: RolloutSplit;
|
|
135
|
+
/** Sampling seed the campaign pinned; null = not recorded. */
|
|
136
|
+
seed: number | null;
|
|
137
|
+
/** Replicate index (0-based). */
|
|
138
|
+
rep: number;
|
|
139
|
+
}
|
|
140
|
+
interface RolloutPolicy {
|
|
141
|
+
/** Harness that drove the invocation (e.g. "opencode", "claude", "pi-loops"). */
|
|
142
|
+
harness: string | null;
|
|
143
|
+
harness_version: string | null;
|
|
144
|
+
model: string | null;
|
|
145
|
+
provider: string | null;
|
|
146
|
+
/** Commit of the agent profile / candidate under evaluation. */
|
|
147
|
+
profile_commit: string | null;
|
|
148
|
+
/** sha256 of the effective prompt (post-steering), when recorded. */
|
|
149
|
+
prompt_hash?: string | null;
|
|
150
|
+
/** sha256 of the effective run config, when recorded. */
|
|
151
|
+
config_hash?: string | null;
|
|
152
|
+
/** Canonical agent-profile cell identity, when the run carries one. */
|
|
153
|
+
agent_profile_cell_id?: string | null;
|
|
154
|
+
/** Sampling params (temperature, top_p, max_tokens…); null = not recorded. */
|
|
155
|
+
sampling: Record<string, unknown> | null;
|
|
156
|
+
}
|
|
157
|
+
interface RolloutOutcome {
|
|
158
|
+
/**
|
|
159
|
+
* THE single scalar training signal — the official verdict.
|
|
160
|
+
* null = no verdict exists for this invocation (a labeled gap, never 0).
|
|
161
|
+
*/
|
|
162
|
+
reward: number | null;
|
|
163
|
+
/** Where the reward came from (judge id; "/inherited" = parent episode's). */
|
|
164
|
+
reward_source: string | null;
|
|
165
|
+
/** Raw judge verdict record, verbatim. */
|
|
166
|
+
verdict: unknown;
|
|
167
|
+
/** Everything that is NOT the scalar reward. */
|
|
168
|
+
metrics: Record<string, unknown>;
|
|
169
|
+
is_completed: boolean;
|
|
170
|
+
is_truncated: boolean;
|
|
171
|
+
error: string | null;
|
|
172
|
+
/**
|
|
173
|
+
* Anti-Goodhart flag from `RunRecord.outcome.realness.gated`: the run faked
|
|
174
|
+
* its success signal. `true` requires `reward` to be 0 or null — the
|
|
175
|
+
* validator rejects the line otherwise — and the line never qualifies for
|
|
176
|
+
* SFT. Required on the wire: a line that does not state the flag does not
|
|
177
|
+
* validate, so no producer can dodge the gate by omitting it.
|
|
178
|
+
*
|
|
179
|
+
* `true` ALSO requires `metrics` to be empty and `verdict` to be null: the
|
|
180
|
+
* numbers the reward was computed from are relocated to
|
|
181
|
+
* `provenance.gated_evidence` by `gateGamedOutcome`. See that function for
|
|
182
|
+
* why zeroing the scalar alone was not enough.
|
|
183
|
+
*/
|
|
184
|
+
realness_gated: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Whether an authenticity SCREEN ever RAN on this reward — a different claim
|
|
187
|
+
* from `realness_gated`, which is the screen's VERDICT.
|
|
188
|
+
*
|
|
189
|
+
* `realness_gated: false` reads as "we looked and nothing fired". A producer
|
|
190
|
+
* with no screen at all was emitting exactly that, so a never-screened reward
|
|
191
|
+
* was indistinguishable on the wire from a screened-clean one, and the whole
|
|
192
|
+
* anti-Goodhart apparatus silently treated the first as the second. The two
|
|
193
|
+
* claims are now separable:
|
|
194
|
+
*
|
|
195
|
+
* - `true` — a screen ran; `realness_gated` is its verdict.
|
|
196
|
+
* - `false` — the producer declares it HAS no screen (`unscreenedRewardFields`).
|
|
197
|
+
* `assertMinted` REFUSES such a line when its reward is above
|
|
198
|
+
* zero: an unscreened positive reward is precisely the signal
|
|
199
|
+
* the gate exists to qualify, and nothing has qualified it.
|
|
200
|
+
* - absent — not stated. Pre-unification ledgers land here, as does a
|
|
201
|
+
* `RunRecord` carrying no `outcome.realness` at all. Absent is
|
|
202
|
+
* read as "unknown", never as `false` (which would refuse most
|
|
203
|
+
* of the existing corpus) and never as `true`.
|
|
204
|
+
*/
|
|
205
|
+
realness_screened?: boolean;
|
|
206
|
+
}
|
|
207
|
+
interface RolloutCostBlock {
|
|
208
|
+
usd: number | null;
|
|
209
|
+
tokens_in: number | null;
|
|
210
|
+
tokens_out: number | null;
|
|
211
|
+
tokens_reasoning: number | null;
|
|
212
|
+
cache_read: number | null;
|
|
213
|
+
cache_write: number | null;
|
|
214
|
+
wall_s: number | null;
|
|
215
|
+
/**
|
|
216
|
+
* Total LLM inferences across the invocation (ATIF `llm_call_count`,
|
|
217
|
+
* aggregated). Optional and additive: absent = not tracked, never 0.
|
|
218
|
+
*/
|
|
219
|
+
llm_call_count?: number | null;
|
|
220
|
+
}
|
|
221
|
+
interface RolloutArtifacts {
|
|
222
|
+
patch_path: string | null;
|
|
223
|
+
run_dir: string | null;
|
|
224
|
+
/** Source-of-truth transcript pointer (session id / jsonl path) for audit. */
|
|
225
|
+
transcript_ref: string | null;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* The reward-bearing half of a GATED line's outcome, moved off `outcome` and
|
|
229
|
+
* parked here verbatim. Diagnostics, never training input — see
|
|
230
|
+
* `gateGamedOutcome`.
|
|
231
|
+
*/
|
|
232
|
+
interface GatedEvidence {
|
|
233
|
+
/** `outcome.metrics` exactly as the producer measured it. */
|
|
234
|
+
metrics?: Record<string, unknown>;
|
|
235
|
+
/** `outcome.verdict` verbatim — the judge record that claimed the success. */
|
|
236
|
+
verdict?: unknown;
|
|
237
|
+
/**
|
|
238
|
+
* The per-step fields `tangle.rollout.v1` does not declare, parked here when
|
|
239
|
+
* the gate projected `steps[]` down to the schema's own key set.
|
|
240
|
+
*
|
|
241
|
+
* A per-step reward is training signal exactly like the scalar, and `steps`
|
|
242
|
+
* rides through `toRewardRows` verbatim — so a gated line was shipping its
|
|
243
|
+
* step-level credit assignment at full value beside a `reward` of 0.
|
|
244
|
+
*/
|
|
245
|
+
steps?: unknown;
|
|
246
|
+
}
|
|
247
|
+
interface RolloutProvenance {
|
|
248
|
+
captured_at: string;
|
|
249
|
+
capture: RolloutCapture;
|
|
250
|
+
/**
|
|
251
|
+
* Why this line is incomplete. Required when `messages` is empty (the
|
|
252
|
+
* transcript could not be recovered); also set by interchange importers to
|
|
253
|
+
* name a MISSING LABEL — an imported trajectory carries no verdict, so
|
|
254
|
+
* `outcome.reward` is null and this says why.
|
|
255
|
+
*/
|
|
256
|
+
gap?: string;
|
|
257
|
+
/**
|
|
258
|
+
* Present only on a realness-gated line: the outcome fields the gate
|
|
259
|
+
* relocated, kept so an auditor can still see WHY the run was gated and what
|
|
260
|
+
* it claimed. Deliberately OUTSIDE `outcome`, because every training exporter
|
|
261
|
+
* reads `outcome` and none reads `provenance`.
|
|
262
|
+
*/
|
|
263
|
+
gated_evidence?: GatedEvidence;
|
|
264
|
+
}
|
|
265
|
+
interface RolloutLine {
|
|
266
|
+
schema: typeof ROLLOUT_SCHEMA;
|
|
267
|
+
rollout_id: string;
|
|
268
|
+
/** Spawning invocation within the same episode (worker → supervisor). */
|
|
269
|
+
parent_rollout_id: string | null;
|
|
270
|
+
run_id: string;
|
|
271
|
+
/** Logical experiment grouping from `RunRecord.experimentId`; null = not recorded. */
|
|
272
|
+
experiment_id: string | null;
|
|
273
|
+
/** Stable candidate identity from `RunRecord.candidateId`; null = not recorded. */
|
|
274
|
+
candidate_id: string | null;
|
|
275
|
+
/** Improvement-loop generation (-1 = baseline); null = not an improvement loop. */
|
|
276
|
+
generation: number | null;
|
|
277
|
+
/** Improvement-loop candidate index (-1 = baseline); null = not an improvement loop. */
|
|
278
|
+
candidate_index: number | null;
|
|
279
|
+
role: RolloutRole;
|
|
280
|
+
task: RolloutTask;
|
|
281
|
+
policy: RolloutPolicy;
|
|
282
|
+
/** Full transcript, inline. [] = gap line (see provenance.gap). */
|
|
283
|
+
messages: ChatMessage[];
|
|
284
|
+
tool_defs: ToolDef[];
|
|
285
|
+
/** Trace-span projections, when minted from a trace. */
|
|
286
|
+
steps?: RolloutStep[];
|
|
287
|
+
outcome: RolloutOutcome;
|
|
288
|
+
cost: RolloutCostBlock;
|
|
289
|
+
artifacts: RolloutArtifacts;
|
|
290
|
+
provenance: RolloutProvenance;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* THE anti-Goodhart gate, applied to the WHOLE outcome as a TRANSFORMATION.
|
|
294
|
+
*
|
|
295
|
+
* Two prior rounds enforced the gate as a CHECK ON ONE FIELD at N call sites,
|
|
296
|
+
* and each round the next reward-bearing field leaked. The one that shipped:
|
|
297
|
+
* `mintRolloutRows` bulk-copied `RunRecord.outcome.raw` into `outcome.metrics`
|
|
298
|
+
* with no gate, so a gated run exported `reward: 0` (correct) while the
|
|
299
|
+
* deterministic per-layer scores that reward was COMPUTED FROM — the
|
|
300
|
+
* `layer.*` keys `rl/verifiable-reward.ts` calls the RL training signal —
|
|
301
|
+
* shipped at 1.0, in the top-level `metrics` dict of the Prime Intellect
|
|
302
|
+
* verifiers format, which IS that format's per-rubric score dict. `verdict`
|
|
303
|
+
* leaks the same way into `toRftItem`'s `reference.verdict`, where a grader
|
|
304
|
+
* author reads `resolved: true` off a run that faked it.
|
|
305
|
+
*
|
|
306
|
+
* So the rule is no longer "zero the field we remembered". It is: if the gate
|
|
307
|
+
* fired, the outcome that leaves here carries NOTHING positive that was derived
|
|
308
|
+
* from the reward, whichever field a present or future exporter decides to
|
|
309
|
+
* read. `reward` is already forced to 0 upstream (`trainingReward`) and
|
|
310
|
+
* REJECTED here if it is not; `metrics` and `verdict` are relocated.
|
|
311
|
+
*
|
|
312
|
+
* WHERE they go, and why relocation rather than deletion: zeroing destroys the
|
|
313
|
+
* audit trail that shows why the run was gated and what it claimed, which is
|
|
314
|
+
* the row an auditor most wants and the labeled example a gaming DETECTOR
|
|
315
|
+
* trains on. `provenance.gated_evidence` keeps every byte, at a path no
|
|
316
|
+
* training exporter reads — all four release configs and every `rl/exporters`
|
|
317
|
+
* shape project from `outcome`, `messages`, `cost` and `task`; none projects
|
|
318
|
+
* `provenance`. Auditability preserved, training signal removed, and a future
|
|
319
|
+
* exporter that reads a field nobody thought of is safe by construction because
|
|
320
|
+
* the field is empty rather than because the exporter remembered to check.
|
|
321
|
+
*
|
|
322
|
+
* Idempotent: a second application finds nothing left to move and returns the
|
|
323
|
+
* line unchanged, so re-minting a line read back off a ledger cannot clobber
|
|
324
|
+
* the evidence it already carries.
|
|
325
|
+
*/
|
|
326
|
+
declare function gateGamedOutcome(line: RolloutLine): RolloutLine;
|
|
327
|
+
declare function validateRolloutLine(value: unknown): string[];
|
|
328
|
+
declare function assertRolloutLine(value: unknown, context?: string): asserts value is RolloutLine;
|
|
329
|
+
declare function isRolloutLine(value: unknown): value is RolloutLine;
|
|
330
|
+
/**
|
|
331
|
+
* Phantom property. `declare const` means it exists only in the type system:
|
|
332
|
+
* nothing is written at runtime, so a branded line still serializes to exactly
|
|
333
|
+
* the same JSON as a plain one.
|
|
334
|
+
*/
|
|
335
|
+
declare const MINTED_ROLLOUT: unique symbol;
|
|
336
|
+
/**
|
|
337
|
+
* A minted outcome states the gate verdict — it is not allowed to stay silent —
|
|
338
|
+
* and, when that verdict is `true`, carries nothing else the reward was derived
|
|
339
|
+
* from (`gateGamedOutcome` has run).
|
|
340
|
+
*/
|
|
341
|
+
interface MintedRolloutOutcome extends RolloutOutcome {
|
|
342
|
+
realness_gated: boolean;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* A `RolloutLine` whose reward has been checked against the anti-Goodhart
|
|
346
|
+
* invariant. The type every training-data exporter takes.
|
|
347
|
+
*
|
|
348
|
+
* Why a brand and not just the interface: `RolloutLine` is structural, so any
|
|
349
|
+
* hand-built object literal of the right shape IS one — which is how a line
|
|
350
|
+
* declaring `{reward: 0.95, realness_gated: true}` reached the exporters
|
|
351
|
+
* despite them "only accepting a minted line". The phantom symbol makes the
|
|
352
|
+
* type nominal: it cannot be produced by writing an object literal, only by
|
|
353
|
+
* `mintRolloutRows` (which applies the gate), `readRolloutLedger` (which
|
|
354
|
+
* validates every line off disk), or an explicit, greppable `assertMinted`.
|
|
355
|
+
*
|
|
356
|
+
* Belt and braces on purpose. The brand closes first-party call sites at
|
|
357
|
+
* COMPILE time; `validateRolloutLine` closes data arriving at RUNTIME (ledger
|
|
358
|
+
* files, foreign imports, JSON from another process) where types are absent.
|
|
359
|
+
* Neither alone is enough.
|
|
360
|
+
*
|
|
361
|
+
* Assignable to `RolloutLine` in one direction only: readers, analysis, and
|
|
362
|
+
* the ledger writer keep taking the plain type.
|
|
363
|
+
*/
|
|
364
|
+
type MintedRolloutLine = Omit<RolloutLine, 'outcome'> & {
|
|
365
|
+
readonly [MINTED_ROLLOUT]: true;
|
|
366
|
+
outcome: MintedRolloutOutcome;
|
|
367
|
+
};
|
|
368
|
+
/**
|
|
369
|
+
* Promote a line to the type the training exporters accept, applying the
|
|
370
|
+
* anti-Goodhart gate to the WHOLE outcome on the way through. THE escape hatch
|
|
371
|
+
* — grep `assertMinted` to enumerate every place a line enters the training
|
|
372
|
+
* path without coming from mint or a ledger.
|
|
373
|
+
*
|
|
374
|
+
* The gate runs HERE, once, rather than at each producer, because this is the
|
|
375
|
+
* single funnel every minted line passes: `mintRolloutRows` calls it,
|
|
376
|
+
* `readRolloutLedger` calls it per line off disk, `scrubLines` calls it on the
|
|
377
|
+
* way out of a release, and a hand-built line has no other door. One
|
|
378
|
+
* transformation at the funnel means an already-published ledger holding a
|
|
379
|
+
* gated line with populated `metrics` is RE-GATED when it is read, instead of
|
|
380
|
+
* being rejected (which would make every such artifact unreadable) or trusted
|
|
381
|
+
* (which is the leak). Three steps, in this order:
|
|
382
|
+
*
|
|
383
|
+
* 1. VALIDATE the schema.
|
|
384
|
+
* 2. REFUSE every check `GATE_POLICIES.assertMinted` marks `enforce` — today
|
|
385
|
+
* the reward relationship (which stays a REJECTION: a caller claiming
|
|
386
|
+
* `{reward: 0.95, realness_gated: true}` is a producer defect and must fail
|
|
387
|
+
* loudly, since laundering it into `reward: 0` here would hide the
|
|
388
|
+
* producer) and a positive reward the producer declared it never screened.
|
|
389
|
+
* 3. TRANSFORM the one check that policy marks `repair` — relocate the
|
|
390
|
+
* reward's components off `outcome` (`gateGamedOutcome`), so no exporter
|
|
391
|
+
* can leak them whichever field it reads.
|
|
392
|
+
*
|
|
393
|
+
* Step 2 enumerates nothing by hand: a check added to `GATE_CHECKS` is enforced
|
|
394
|
+
* here the moment its disposition in that policy says so.
|
|
395
|
+
*
|
|
396
|
+
* Also normalizes the optional wire flag to an explicit boolean.
|
|
397
|
+
* `realness_gated` is absent on pre-unification ledgers and absent means "not
|
|
398
|
+
* flagged" per the schema, so filling it in states a claim the line was already
|
|
399
|
+
* making, and makes the flag readable on every published row instead of most of
|
|
400
|
+
* them. `realness_screened` is NOT filled in: absent means "unknown", and
|
|
401
|
+
* inventing either value there would be the same overclaim this round removed.
|
|
402
|
+
*/
|
|
403
|
+
declare function assertMinted(value: unknown, context?: string): MintedRolloutLine;
|
|
404
|
+
/** `assertMinted` over a batch, naming the offending index in the error. */
|
|
405
|
+
declare function assertMintedLines(values: readonly unknown[], context?: string): MintedRolloutLine[];
|
|
406
|
+
//#endregion
|
|
407
|
+
export { isTrainableSplit as A, TRAINABLE_SPLITS as C, assertRolloutLine as D, assertMintedLines as E, gateGamedOutcome as O, RolloutTask as S, assertMinted as T, RolloutPolicy as _, GatedEvidence as a, RolloutSplit as b, ROLLOUT_CAPTURES as c, ROLLOUT_SPLITS as d, RolloutArtifacts as f, RolloutOutcome as g, RolloutLine as h, ChatToolCall as i, validateRolloutLine as j, isRolloutLine as k, ROLLOUT_ROLES as l, RolloutCostBlock as m, ChatMessage as n, MintedRolloutLine as o, RolloutCapture as p, ChatRole as r, MintedRolloutOutcome as s, CHAT_ROLES as t, ROLLOUT_SCHEMA as u, RolloutProvenance as v, ToolDef as w, RolloutStep as x, RolloutRole as y };
|
|
408
|
+
//# sourceMappingURL=schema-Cef2cFmb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-Cef2cFmb.d.ts","names":[],"sources":["../src/rollout/schema.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmDa;;KAGD;cACC,wBAAwB;;KAUzB;cACC,yBAAyB;;cAEzB,2BAA2B;iBAExB,iBAAiB,OAAO;;KAK5B;cACC,2BAA2B;KAM5B;cACC,qBAAqB;UAEjB;EACf;EACA;EACA;IACE;;IAEA;;;UAIa;EACf,MAAM;EACN;;EAEA;EACA,aAAa;;EAEb;EACA;;;;;;;;EAQA;;UAGe;EACf;EACA;IACE;IACA;IACA,aAAa;;;;;;;;UASA;EACf;EACA;;EAEA;;EAEA;EACA;EACA;;;;;EAUA;;EAEA;;EAEA;;;;;;EAMA;;UAOe;;EAEf;EACA;EACA,OAAO;;EAEP;;EAEA;;UAGe;;EAEf;EACA;EACA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA,UAAU;;UAGK;;;;;EAKf;;EAEA;;EAEA;;EAEA,SAAS;EACT;EACA;EACA;;;;;;;;;;;;;EAaA;;;;;;;;;;;;;;;;;;;;;EAqBA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;;;;EAKA;;UAGe;EACf;EACA;;EAEA;;;;;;;UAQe;;EAEf,UAAU;;EAEV;;;;;;;;;EASA;;UAGe;EACf;EACA,SAAS;;;;;;;EAOT;;;;;;;EAOA,iBAAiB;;UAGF;EACf,eAAe;EACf;;EAEA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;EACA,MAAM;EACN,MAAM;EACN,QAAQ;;EAER,UAAU;EACV,WAAW;;EAEX,QAAQ;EACR,SAAS;EACT,MAAM;EACN,WAAW;EACX,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6GE,iBAAiB,MAAM,cAAc;iBAqDrC,oBAAoB;iBAiNpB,kBACd,gBACA,2BACS,SAAS;iBAOJ,cAAc,iBAAiB,SAAS;;;;;;cAa1C;;;;;;UAOG,6BAA6B;EAC5C;;;;;;;;;;;;;;;;;;;;;;KAuBU,oBAAoB,KAAK;YACzB;EACV,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsCK,aAAa,gBAAgB,mBAA2B;;iBAiBxD,kBACd,4BACA,mBACC"}
|