@tangle-network/agent-eval 0.221.8 → 0.222.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 +168 -0
- package/dist/adapters/http.d.ts +3 -5
- package/dist/adapters/http.d.ts.map +1 -1
- package/dist/adapters/http.js +1 -2
- package/dist/{adversarial-smnADNFS.d.ts → adversarial-DnQQFqTR.d.ts} +1 -3
- package/dist/adversarial-DnQQFqTR.d.ts.map +1 -0
- package/dist/{agent-profile-CNmwfaqq.d.ts → agent-profile-CSEQRC9l.d.ts} +4 -10
- package/dist/agent-profile-CSEQRC9l.d.ts.map +1 -0
- package/dist/agent-profile-Dngk3LZ0.js +153 -0
- package/dist/agent-profile-Dngk3LZ0.js.map +1 -0
- package/dist/{agent-profile-cell-BcpFbNd5.d.ts → agent-profile-cell-3kYxUsK2.d.ts} +3 -5
- package/dist/agent-profile-cell-3kYxUsK2.d.ts.map +1 -0
- package/dist/{agent-profile-cell-B1V1gUZs.js → agent-profile-cell-CT5JYueM.js} +5 -7
- package/dist/{agent-profile-cell-B1V1gUZs.js.map → agent-profile-cell-CT5JYueM.js.map} +1 -1
- package/dist/{agreement-irr-BhAqjluA.js → agreement-irr-BTjDN0i6.js} +4 -5
- package/dist/{agreement-irr-BhAqjluA.js.map → agreement-irr-BTjDN0i6.js.map} +1 -1
- package/dist/analyst/index.d.ts +95 -159
- package/dist/analyst/index.d.ts.map +1 -1
- package/dist/analyst/index.js +28 -39
- package/dist/analyst/index.js.map +1 -1
- package/dist/{analyze-runs-DfX6dHP0.d.ts → analyze-runs-CGLRgZGd.d.ts} +7 -13
- package/dist/analyze-runs-CGLRgZGd.d.ts.map +1 -0
- package/dist/{analyze-runs-CHmsykNJ.js → analyze-runs-CTheASYV.js} +23 -32
- package/dist/{analyze-runs-CHmsykNJ.js.map → analyze-runs-CTheASYV.js.map} +1 -1
- package/dist/{attribute-vocabulary-CcXqHODT.d.ts → attribute-vocabulary-5oo8ykIx.d.ts} +2 -4
- package/dist/attribute-vocabulary-5oo8ykIx.d.ts.map +1 -0
- package/dist/authenticity/index.d.ts +0 -2
- package/dist/authenticity/index.d.ts.map +1 -1
- package/dist/authenticity/index.js +1 -2
- package/dist/{benchmark-command-Cnjfo0Zh.js → benchmark-command-Cr7i7YSX.js} +61 -94
- package/dist/benchmark-command-Cr7i7YSX.js.map +1 -0
- package/dist/benchmarks/index.d.ts +5 -15
- package/dist/benchmarks/index.d.ts.map +1 -1
- package/dist/benchmarks/index.js +27 -38
- package/dist/benchmarks/index.js.map +1 -1
- package/dist/{bounded-process-Cj9YjXbE.js → bounded-process-BZrWXIKW.js} +2 -3
- package/dist/{bounded-process-Cj9YjXbE.js.map → bounded-process-BZrWXIKW.js.map} +1 -1
- package/dist/builder-eval/index.d.ts +5 -14
- package/dist/builder-eval/index.d.ts.map +1 -1
- package/dist/builder-eval/index.js +11 -17
- package/dist/builder-eval/index.js.map +1 -1
- package/dist/{calibration-CTwxpJ-t.js → calibration-6usfVYYo.js} +4 -5
- package/dist/{calibration-CTwxpJ-t.js.map → calibration-6usfVYYo.js.map} +1 -1
- package/dist/campaign/index.d.ts +9 -9
- package/dist/campaign/index.js +15 -14
- package/dist/{campaign-uddTlFg5.js → campaign-ddr1N3yD.js} +61 -58
- package/dist/campaign-ddr1N3yD.js.map +1 -0
- package/dist/{campaign-evidence-DunzcJGv.js → campaign-evidence-DN8rWuBj.js} +20 -322
- package/dist/campaign-evidence-DN8rWuBj.js.map +1 -0
- package/dist/{canonical-Dq2hOQ8L.js → canonical-CicJlINA.js} +3 -4
- package/dist/{canonical-Dq2hOQ8L.js.map → canonical-CicJlINA.js.map} +1 -1
- package/dist/{canonical-CFpojCN5.d.ts → canonical-gLeHiqzd.d.ts} +2 -4
- package/dist/canonical-gLeHiqzd.d.ts.map +1 -0
- package/dist/{cell-spend-DEWR3nj-.js → cell-spend-zxmzg4GH.js} +3 -4
- package/dist/{cell-spend-DEWR3nj-.js.map → cell-spend-zxmzg4GH.js.map} +1 -1
- package/dist/{chat-client-BNATB3rJ.js → chat-client-CO3uB33i.js} +3 -4
- package/dist/{chat-client-BNATB3rJ.js.map → chat-client-CO3uB33i.js.map} +1 -1
- package/dist/{chat-json-call-BzWYp18J.js → chat-json-call-8yUv4LFO.js} +4 -5
- package/dist/{chat-json-call-BzWYp18J.js.map → chat-json-call-8yUv4LFO.js.map} +1 -1
- package/dist/{claim-BPVuyHuy.js → claim-Dod_mjk3.js} +5 -6
- package/dist/{claim-BPVuyHuy.js.map → claim-Dod_mjk3.js.map} +1 -1
- package/dist/cli.js +179 -23
- package/dist/cli.js.map +1 -1
- package/dist/{client-hwo3cJjR.d.ts → client-BIFwUg7I.d.ts} +6 -12
- package/dist/client-BIFwUg7I.d.ts.map +1 -0
- package/dist/{cluster-bootstrap-DEwwhl0C.js → cluster-bootstrap-SbaeM44s.js} +4 -5
- package/dist/{cluster-bootstrap-DEwwhl0C.js.map → cluster-bootstrap-SbaeM44s.js.map} +1 -1
- package/dist/completion-verifier-7KEfroqx.d.ts +168 -0
- package/dist/completion-verifier-7KEfroqx.d.ts.map +1 -0
- package/dist/{completion-verifier-asaV1nSj.js → completion-verifier-rqbMh5-4.js} +9 -160
- package/dist/completion-verifier-rqbMh5-4.js.map +1 -0
- package/dist/contract/index.d.ts +13 -13
- package/dist/contract/index.js +41 -60
- package/dist/contract/index.js.map +1 -1
- package/dist/{cost-ledger-BGZB6yY2.js → cost-ledger-CS8R3IZj.js} +10 -17
- package/dist/{cost-ledger-BGZB6yY2.js.map → cost-ledger-CS8R3IZj.js.map} +1 -1
- package/dist/{cost-ledger-C1W3ICmP.d.ts → cost-ledger-Czro9wmo.d.ts} +1 -5
- package/dist/cost-ledger-Czro9wmo.d.ts.map +1 -0
- package/dist/{dataset-DQqhOCPt.d.ts → dataset-DThC1S6G.d.ts} +1 -3
- package/dist/dataset-DThC1S6G.d.ts.map +1 -0
- package/dist/{decision-point-0nJubuoM.js → decision-point-lhMgODOR.js} +14 -18
- package/dist/{decision-point-0nJubuoM.js.map → decision-point-lhMgODOR.js.map} +1 -1
- package/dist/{deep-freeze-CurcOQg3.js → deep-freeze-CK8-2W7p.js} +2 -3
- package/dist/{deep-freeze-CurcOQg3.js.map → deep-freeze-CK8-2W7p.js.map} +1 -1
- package/dist/{default-registry-CLG5YqGS.d.ts → default-registry-1f4ukAIX.d.ts} +53 -61
- package/dist/default-registry-1f4ukAIX.d.ts.map +1 -0
- package/dist/{default-registry-BBTDgkDM.js → default-registry-C1tPEjZ4.js} +29 -45
- package/dist/{default-registry-BBTDgkDM.js.map → default-registry-C1tPEjZ4.js.map} +1 -1
- package/dist/{define-agent-eval-CCbT7Kfr.js → define-agent-eval-BLoP4Lf9.js} +15 -18
- package/dist/{define-agent-eval-CCbT7Kfr.js.map → define-agent-eval-BLoP4Lf9.js.map} +1 -1
- package/dist/{define-agent-eval-JKt3gMQr.d.ts → define-agent-eval-sUYh9BFA.d.ts} +19 -27
- package/dist/define-agent-eval-sUYh9BFA.d.ts.map +1 -0
- package/dist/{descriptive-CVNy48rR.js → descriptive-cPwITVfy.js} +30 -8
- package/dist/descriptive-cPwITVfy.js.map +1 -0
- package/dist/diagnosis/index.d.ts +5 -15
- package/dist/diagnosis/index.d.ts.map +1 -1
- package/dist/diagnosis/index.js +13 -19
- package/dist/diagnosis/index.js.map +1 -1
- package/dist/{dspy-rlm-engine-DN1p_5jx.js → dspy-rlm-engine-jDiWkul6.js} +7 -10
- package/dist/{dspy-rlm-engine-DN1p_5jx.js.map → dspy-rlm-engine-jDiWkul6.js.map} +1 -1
- package/dist/{emitter-DbMXUIVP.js → emitter-DhQ65mza.js} +3 -4
- package/dist/{emitter-DbMXUIVP.js.map → emitter-DhQ65mza.js.map} +1 -1
- package/dist/{emitter-DABYYTcH.d.ts → emitter-mAXC5PSN.d.ts} +3 -5
- package/dist/emitter-mAXC5PSN.d.ts.map +1 -0
- package/dist/{engine-dtRVeuQs.d.ts → engine-BITiErg-.d.ts} +10 -18
- package/dist/engine-BITiErg-.d.ts.map +1 -0
- package/dist/{equal-terms-DbPGcVtI.js → equal-terms-K11VHmR3.js} +3 -4
- package/dist/{equal-terms-DbPGcVtI.js.map → equal-terms-K11VHmR3.js.map} +1 -1
- package/dist/{errors-BcOs5MKW.js → errors-DeEEV9Vx.js} +2 -3
- package/dist/{errors-BcOs5MKW.js.map → errors-DeEEV9Vx.js.map} +1 -1
- package/dist/{errors-DEE6u6ot.d.ts → errors-E9I2hldP.d.ts} +1 -3
- package/dist/errors-E9I2hldP.d.ts.map +1 -0
- package/dist/{eval-campaign-DoX5vz3E.js → eval-campaign-Cgixrvf7.js} +8 -9
- package/dist/{eval-campaign-DoX5vz3E.js.map → eval-campaign-Cgixrvf7.js.map} +1 -1
- package/dist/{evaluation-wdGyZ7jV.js → evaluation-B8H3GYej.js} +4 -6
- package/dist/{evaluation-wdGyZ7jV.js.map → evaluation-B8H3GYej.js.map} +1 -1
- package/dist/{evaluation-DblGquCB.d.ts → evaluation-Djq7-Ybj.d.ts} +4 -6
- package/dist/evaluation-Djq7-Ybj.d.ts.map +1 -0
- package/dist/evaluation.d.ts +1 -1
- package/dist/evaluation.js +1 -2
- package/dist/{exact-types-Do63KoKn.d.ts → exact-types-CndDT_h7.d.ts} +8 -10
- package/dist/exact-types-CndDT_h7.d.ts.map +1 -0
- package/dist/{exec-CpbtOXVt.js → exec-C0_AkLUv.js} +3 -5
- package/dist/{exec-CpbtOXVt.js.map → exec-C0_AkLUv.js.map} +1 -1
- package/dist/{execution-tracks-CpgFPpS5.js → execution-tracks-DaDXYwAq.js} +2 -3
- package/dist/{execution-tracks-CpgFPpS5.js.map → execution-tracks-DaDXYwAq.js.map} +1 -1
- package/dist/experiment/index.d.ts +9 -37
- package/dist/experiment/index.d.ts.map +1 -1
- package/dist/experiment/index.js +29 -40
- package/dist/experiment/index.js.map +1 -1
- package/dist/{exporters-Dk3oEbK_.d.ts → exporters-B5Ze_RKh.d.ts} +4 -4
- package/dist/exporters-B5Ze_RKh.d.ts.map +1 -0
- package/dist/{exporters-DWvM16LE.js → exporters-ByLcILYU.js} +23 -5
- package/dist/exporters-ByLcILYU.js.map +1 -0
- package/dist/{external-optimizer-process-DEzJ2CGX.js → external-optimizer-process-BRVmaDFe.js} +5 -6
- package/dist/{external-optimizer-process-DEzJ2CGX.js.map → external-optimizer-process-BRVmaDFe.js.map} +1 -1
- package/dist/{external-optimizer-subprocess-B_ukPtRD.js → external-optimizer-subprocess-U616hV_l.js} +24 -37
- package/dist/{external-optimizer-subprocess-B_ukPtRD.js.map → external-optimizer-subprocess-U616hV_l.js.map} +1 -1
- package/dist/{extract-usage-BZLU01kR.js → extract-usage-ISFqhfDz.js} +2 -3
- package/dist/{extract-usage-BZLU01kR.js.map → extract-usage-ISFqhfDz.js.map} +1 -1
- package/dist/{failure-cluster-DN0t63Z0.d.ts → failure-cluster-DOoa7CBg.d.ts} +3 -7
- package/dist/failure-cluster-DOoa7CBg.d.ts.map +1 -0
- package/dist/{failure-taxonomy-Bx5oWqaW.js → failure-taxonomy-9eQfXKoW.js} +2 -3
- package/dist/{failure-taxonomy-Bx5oWqaW.js.map → failure-taxonomy-9eQfXKoW.js.map} +1 -1
- package/dist/{feedback-trajectory-CYVJXolG.d.ts → feedback-trajectory-DsHR9krG.d.ts} +7 -13
- package/dist/feedback-trajectory-DsHR9krG.d.ts.map +1 -0
- package/dist/{finding-composition-8n0fFgVI.js → finding-composition-DlvE1Qul.js} +4 -6
- package/dist/{finding-composition-8n0fFgVI.js.map → finding-composition-DlvE1Qul.js.map} +1 -1
- package/dist/{findings-store-Bg4sdS-e.js → findings-store-B75Dspaq.js} +11 -14
- package/dist/{findings-store-Bg4sdS-e.js.map → findings-store-B75Dspaq.js.map} +1 -1
- package/dist/fuzz.d.ts +3 -17
- package/dist/fuzz.d.ts.map +1 -1
- package/dist/fuzz.js +30 -29
- package/dist/fuzz.js.map +1 -1
- package/dist/{hf-dataset-CKxIJQba.js → hf-dataset-DPVQXW5n.js} +362 -21
- package/dist/hf-dataset-DPVQXW5n.js.map +1 -0
- package/dist/hosted/index.d.ts +2 -6
- package/dist/hosted/index.d.ts.map +1 -1
- package/dist/hosted/index.js +1 -2
- package/dist/{index-CalAsXMR.d.ts → index-B1Bm9oJA.d.ts} +3 -15
- package/dist/index-B1Bm9oJA.d.ts.map +1 -0
- package/dist/{index-D7fmC-1K.d.ts → index-BdKzYYkC.d.ts} +183 -36
- package/dist/index-BdKzYYkC.d.ts.map +1 -0
- package/dist/{index-CdEVr8-O.d.ts → index-Bdcpx2s8.d.ts} +24 -299
- package/dist/index-Bdcpx2s8.d.ts.map +1 -0
- package/dist/{index-jnuFLxOs.d.ts → index-Cu12qxJb.d.ts} +11 -39
- package/dist/index-Cu12qxJb.d.ts.map +1 -0
- package/dist/{index-CfJULcW5.d.ts → index-DAk2quYu.d.ts} +18 -38
- package/dist/index-DAk2quYu.d.ts.map +1 -0
- package/dist/{index-CHxwfW5g.d.ts → index-DwUGehqX.d.ts} +3 -9
- package/dist/index-DwUGehqX.d.ts.map +1 -0
- package/dist/{index-CTIRz-AB.d.ts → index-IzWTz5EP.d.ts} +14 -36
- package/dist/index-IzWTz5EP.d.ts.map +1 -0
- package/dist/index.d.ts +55 -188
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -195
- package/dist/index.js.map +1 -1
- package/dist/{integrity-D-s2iHiT.js → integrity-B1V6klyO.js} +12 -363
- package/dist/integrity-B1V6klyO.js.map +1 -0
- package/dist/{integrity-D9lBnv_K.d.ts → integrity-BAdVzT8u.d.ts} +4 -6
- package/dist/integrity-BAdVzT8u.d.ts.map +1 -0
- package/dist/{integrity-W4CADcFc.js → integrity-DOHt1mwU.js} +3 -4
- package/dist/{integrity-W4CADcFc.js.map → integrity-DOHt1mwU.js.map} +1 -1
- package/dist/{internal-BTK91Bqt.js → internal-v6XfOeJW.js} +6 -8
- package/dist/{internal-BTK91Bqt.js.map → internal-v6XfOeJW.js.map} +1 -1
- package/dist/{interval-Dq9gt7jx.js → interval-Bd2f4CRT.js} +6 -8
- package/dist/{interval-Dq9gt7jx.js.map → interval-Bd2f4CRT.js.map} +1 -1
- package/dist/{interval-ohuOJurX.d.ts → interval-CWyxqDpE.d.ts} +1 -5
- package/dist/interval-CWyxqDpE.d.ts.map +1 -0
- package/dist/{journal-C7om8Gum.js → journal-C1uLJi0w.js} +115 -121
- package/dist/{journal-C7om8Gum.js.map → journal-C1uLJi0w.js.map} +1 -1
- package/dist/{json-BhdsJaOQ.js → json-DtvZNAU9.js} +4 -6
- package/dist/{json-BhdsJaOQ.js.map → json-DtvZNAU9.js.map} +1 -1
- package/dist/json-recovery-DK4MDm5r.js +296 -0
- package/dist/json-recovery-DK4MDm5r.js.map +1 -0
- package/dist/{judge-calibration-BkXMIWA4.js → judge-calibration-DGqlfWW8.js} +5 -6
- package/dist/{judge-calibration-BkXMIWA4.js.map → judge-calibration-DGqlfWW8.js.map} +1 -1
- package/dist/{judge-calibration-DFtEMlde.d.ts → judge-calibration-DnrbQaXI.d.ts} +1 -3
- package/dist/judge-calibration-DnrbQaXI.d.ts.map +1 -0
- package/dist/{judge-gate-BVvmP00P.js → judge-gate-C2BCOt-M.js} +8 -12
- package/dist/{judge-gate-BVvmP00P.js.map → judge-gate-C2BCOt-M.js.map} +1 -1
- package/dist/judges-BLxg5p8E.js +20 -0
- package/dist/judges-BLxg5p8E.js.map +1 -0
- package/dist/{kind-factory-Dl0PmNQL.js → kind-factory-VKysp1ds.js} +23 -39
- package/dist/{kind-factory-Dl0PmNQL.js.map → kind-factory-VKysp1ds.js.map} +1 -1
- package/dist/ledger-core/index.d.ts +2 -2
- package/dist/ledger-core/index.js +3 -3
- package/dist/ledger-core/lock-holder.d.ts +1 -1
- package/dist/ledger-core/lock-holder.js +1 -2
- package/dist/{ledger-core-CAxUdDk0.js → ledger-core-CfT-FzPf.js} +5 -6
- package/dist/{ledger-core-CAxUdDk0.js.map → ledger-core-CfT-FzPf.js.map} +1 -1
- package/dist/{llm-client-b1ysZVIU.js → llm-client-kJ9EOqjt.js} +22 -30
- package/dist/{llm-client-b1ysZVIU.js.map → llm-client-kJ9EOqjt.js.map} +1 -1
- package/dist/{llm-judge-Cybq29bL.js → llm-judge-cgbhTKQp.js} +108 -164
- package/dist/llm-judge-cgbhTKQp.js.map +1 -0
- package/dist/{lock-holder-DaJbfpci.d.ts → lock-holder-DoxlZFkQ.d.ts} +1 -3
- package/dist/lock-holder-DoxlZFkQ.d.ts.map +1 -0
- package/dist/matrix/index.d.ts +3 -3
- package/dist/matrix/index.js +2 -2
- package/dist/{matrix-DtkZLD_3.d.ts → matrix-8X6i5kJ6.d.ts} +4 -12
- package/dist/matrix-8X6i5kJ6.d.ts.map +1 -0
- package/dist/{matrix-B8l-Nsxd.js → matrix-CgpX8wdm.js} +8 -13
- package/dist/matrix-CgpX8wdm.js.map +1 -0
- package/dist/{mean-BbA_JCzW.js → mean-CdDYG-us.js} +6 -9
- package/dist/{mean-BbA_JCzW.js.map → mean-CdDYG-us.js.map} +1 -1
- package/dist/meta-eval/index.d.ts +3 -3
- package/dist/meta-eval/index.js +17 -21
- package/dist/meta-eval/index.js.map +1 -1
- package/dist/{metrics-BKaPBtIG.js → metrics-DNCAUtuB.js} +2 -3
- package/dist/{metrics-BKaPBtIG.js.map → metrics-DNCAUtuB.js.map} +1 -1
- package/dist/{mint-CbdwjTPW.js → mint-D9ZysYtY.js} +7 -8
- package/dist/{mint-CbdwjTPW.js.map → mint-D9ZysYtY.js.map} +1 -1
- package/dist/{multi-layer-verifier-DEgMUk6v.d.ts → multi-layer-verifier-lM4aVN78.d.ts} +2 -4
- package/dist/multi-layer-verifier-lM4aVN78.d.ts.map +1 -0
- package/dist/{multiplicity-Sg0U7h8j.js → multiplicity-DAd4xaDC.js} +3 -4
- package/dist/{multiplicity-Sg0U7h8j.js.map → multiplicity-DAd4xaDC.js.map} +1 -1
- package/dist/{multiplicity-DIWHvysC.d.ts → multiplicity-D_SEsc5j.d.ts} +1 -3
- package/dist/multiplicity-D_SEsc5j.d.ts.map +1 -0
- package/dist/multishot/golden/index.d.ts +1 -17
- package/dist/multishot/golden/index.d.ts.map +1 -1
- package/dist/multishot/golden/index.js +10 -17
- package/dist/multishot/golden/index.js.map +1 -1
- package/dist/multishot/index.d.ts +2 -10
- package/dist/multishot/index.d.ts.map +1 -1
- package/dist/multishot/index.js +11 -18
- package/dist/multishot/index.js.map +1 -1
- package/dist/{nonnegative-number-DvdMxg_f.js → nonnegative-number-lEYbOsuh.js} +2 -3
- package/dist/{nonnegative-number-DvdMxg_f.js.map → nonnegative-number-lEYbOsuh.js.map} +1 -1
- package/dist/openapi.json +1 -1
- package/dist/{otel-spans-64hmQqON.js → otel-spans-BsGzTWIK.js} +5 -6
- package/dist/{otel-spans-64hmQqON.js.map → otel-spans-BsGzTWIK.js.map} +1 -1
- package/dist/{otlp-attributes-D9ptWaIJ.js → otlp-attributes-Boeb7gtH.js} +2 -3
- package/dist/{otlp-attributes-D9ptWaIJ.js.map → otlp-attributes-Boeb7gtH.js.map} +1 -1
- package/dist/{outcome-observations-FLmRpgYa.js → outcome-observations-D4snOtUb.js} +4 -5
- package/dist/{outcome-observations-FLmRpgYa.js.map → outcome-observations-D4snOtUb.js.map} +1 -1
- package/dist/{outcome-store-DUcMj-3D.js → outcome-store-TarrcfHG.js} +2 -3
- package/dist/{outcome-store-DUcMj-3D.js.map → outcome-store-TarrcfHG.js.map} +1 -1
- package/dist/{package-version-D7lQHt_-.js → package-version-CJl_pY9W.js} +2 -3
- package/dist/{package-version-D7lQHt_-.js.map → package-version-CJl_pY9W.js.map} +1 -1
- package/dist/{paired-arms-B2ttLc0_.js → paired-arms-D-54hO-k.js} +10 -14
- package/dist/{paired-arms-B2ttLc0_.js.map → paired-arms-D-54hO-k.js.map} +1 -1
- package/dist/{paired-binary-B_nejA44.js → paired-binary-BR0nwHOA.js} +3 -4
- package/dist/{paired-binary-B_nejA44.js.map → paired-binary-BR0nwHOA.js.map} +1 -1
- package/dist/{paired-promotion-decision-CQMJ5xGN.d.ts → paired-promotion-decision-BDnqepZ1.d.ts} +1 -5
- package/dist/paired-promotion-decision-BDnqepZ1.d.ts.map +1 -0
- package/dist/{paired-promotion-decision-D0SHb-ZL.js → paired-promotion-decision-FGvHA4p_.js} +5 -7
- package/dist/{paired-promotion-decision-D0SHb-ZL.js.map → paired-promotion-decision-FGvHA4p_.js.map} +1 -1
- package/dist/{pareto-BiBnQXAE.js → pareto-B9udAt2i.js} +28 -50
- package/dist/pareto-B9udAt2i.js.map +1 -0
- package/dist/pipelines/index.d.ts +5 -11
- package/dist/pipelines/index.d.ts.map +1 -1
- package/dist/pipelines/index.js +6 -8
- package/dist/pipelines/index.js.map +1 -1
- package/dist/{power-and-mde-CQX-0weG.js → power-and-mde-ClI6RWw4.js} +4 -5
- package/dist/{power-and-mde-CQX-0weG.js.map → power-and-mde-ClI6RWw4.js.map} +1 -1
- package/dist/{predicate-FdKmElA_.js → predicate-BYHA4MBn.js} +2 -3
- package/dist/{predicate-FdKmElA_.js.map → predicate-BYHA4MBn.js.map} +1 -1
- package/dist/{prime-bridge-transport-6feEglLf.d.ts → prime-bridge-transport-Cfqir_Im.d.ts} +1 -3
- package/dist/prime-bridge-transport-Cfqir_Im.d.ts.map +1 -0
- package/dist/{prime-bridge-transport-Z3cpKGoV.js → prime-bridge-transport-Csd5SQg7.js} +2 -3
- package/dist/{prime-bridge-transport-Z3cpKGoV.js.map → prime-bridge-transport-Csd5SQg7.js.map} +1 -1
- package/dist/{prime-protocol-BGxjfhM4.d.ts → prime-protocol-BpQlTowq.d.ts} +4 -8
- package/dist/prime-protocol-BpQlTowq.d.ts.map +1 -0
- package/dist/{prime-protocol-BFgGrEMP.js → prime-protocol-CrhpXRz9.js} +4 -6
- package/dist/{prime-protocol-BFgGrEMP.js.map → prime-protocol-CrhpXRz9.js.map} +1 -1
- package/dist/profile-cell.d.ts +1 -1
- package/dist/profile-cell.js +1 -2
- package/dist/{promotion-gate-CkVZHagC.d.ts → promotion-gate-CixshGI8.d.ts} +5 -11
- package/dist/promotion-gate-CixshGI8.d.ts.map +1 -0
- package/dist/{promotion-policy-6A8osGr_.js → promotion-policy-CBYeD4zi.js} +5 -6
- package/dist/{promotion-policy-6A8osGr_.js.map → promotion-policy-CBYeD4zi.js.map} +1 -1
- package/dist/{proposal-findings-DqLUWsAG.js → proposal-findings-WFQrxnfe.js} +3 -4
- package/dist/{proposal-findings-DqLUWsAG.js.map → proposal-findings-WFQrxnfe.js.map} +1 -1
- package/dist/{quantile--0yb07pD.js → quantile-CncXP-Ss.js} +2 -3
- package/dist/{quantile--0yb07pD.js.map → quantile-CncXP-Ss.js.map} +1 -1
- package/dist/{query-B_RZ36an.js → query-CGXzO9d4.js} +5 -6
- package/dist/{query-B_RZ36an.js.map → query-CGXzO9d4.js.map} +1 -1
- package/dist/{query-Cmv_U8vf.d.ts → query-UD0B08Sb.d.ts} +4 -6
- package/dist/query-UD0B08Sb.d.ts.map +1 -0
- package/dist/{random-DGEyr3zG.d.ts → random-BN150Q_X.d.ts} +1 -5
- package/dist/random-BN150Q_X.d.ts.map +1 -0
- package/dist/{random-DDDcC7YU.js → random-DrzcgC7F.js} +3 -4
- package/dist/{random-DDDcC7YU.js.map → random-DrzcgC7F.js.map} +1 -1
- package/dist/{raw-provider-sink-75w4FWBj.js → raw-provider-sink-DDLkP_eF.js} +3 -4
- package/dist/{raw-provider-sink-75w4FWBj.js.map → raw-provider-sink-DDLkP_eF.js.map} +1 -1
- package/dist/{record-id-DUgsK5qp.js → record-id-CWZXFh58.js} +2 -3
- package/dist/{record-id-DUgsK5qp.js.map → record-id-CWZXFh58.js.map} +1 -1
- package/dist/{redact-DXdlFb_U.d.ts → redact-C_wzC4c_.d.ts} +1 -3
- package/dist/redact-C_wzC4c_.d.ts.map +1 -0
- package/dist/{redact-mtkTiJVk.js → redact-D6APJS1d.js} +3 -5
- package/dist/{redact-mtkTiJVk.js.map → redact-D6APJS1d.js.map} +1 -1
- package/dist/{registry-BcdJmyoU.d.ts → registry-D9A7Tybn.d.ts} +5 -11
- package/dist/registry-D9A7Tybn.d.ts.map +1 -0
- package/dist/{release-confidence-CYIFH-fp.js → release-confidence-CTUJz5mM.js} +10 -16
- package/dist/release-confidence-CTUJz5mM.js.map +1 -0
- package/dist/{render-BhJqXoBH.js → render-pfAZ7IR4.js} +266 -33
- package/dist/render-pfAZ7IR4.js.map +1 -0
- package/dist/{reporting-html-Kvlc8oMt.js → reporting-html-DMXIjATy.js} +2 -3
- package/dist/{reporting-html-Kvlc8oMt.js.map → reporting-html-DMXIjATy.js.map} +1 -1
- package/dist/reporting.d.ts +6 -6
- package/dist/reporting.js +7 -7
- package/dist/{researcher-DKWtoMWk.d.ts → researcher-CLnNJ7Or.d.ts} +8 -12
- package/dist/researcher-CLnNJ7Or.d.ts.map +1 -0
- package/dist/{reward-nw2xZGZG.js → reward-P0VD_Aft.js} +2 -3
- package/dist/{reward-nw2xZGZG.js.map → reward-P0VD_Aft.js.map} +1 -1
- package/dist/{reward-BeUgVVC_.d.ts → reward-ST4PXNXF.d.ts} +2 -4
- package/dist/reward-ST4PXNXF.d.ts.map +1 -0
- package/dist/{reward-hacking-WTxUbtbb.d.ts → reward-hacking-C9hPVT0Q.d.ts} +4 -8
- package/dist/reward-hacking-C9hPVT0Q.d.ts.map +1 -0
- package/dist/{reward-hacking-ByuETaIb.js → reward-hacking-DZzHZlS1.js} +5 -7
- package/dist/{reward-hacking-ByuETaIb.js.map → reward-hacking-DZzHZlS1.js.map} +1 -1
- package/dist/rl.d.ts +26 -63
- package/dist/rl.d.ts.map +1 -1
- package/dist/rl.js +35 -52
- package/dist/rl.js.map +1 -1
- package/dist/{rolldown-runtime-8H4AJuhK.js → rolldown-runtime-BJohB4LM.js} +1 -2
- package/dist/rollout/index.d.ts +6 -6
- package/dist/rollout/index.js +7 -7
- package/dist/{rollout-Dd1ucT_M.js → rollout-BhkMpAJT.js} +279 -16
- package/dist/rollout-BhkMpAJT.js.map +1 -0
- package/dist/{terminal-record-CB9BFtjS.js → rollout-nodes-BHR9Q5jP.js} +351 -11
- package/dist/rollout-nodes-BHR9Q5jP.js.map +1 -0
- package/dist/{round-decimal-COrKglMh.js → round-decimal-ZmjAQPo1.js} +2 -3
- package/dist/{round-decimal-COrKglMh.js.map → round-decimal-ZmjAQPo1.js.map} +1 -1
- package/dist/{rubric-predictive-validity-Cd5SCtAf.d.ts → rubric-predictive-validity-B3RzbwOx.d.ts} +2 -8
- package/dist/rubric-predictive-validity-B3RzbwOx.d.ts.map +1 -0
- package/dist/{rubric-predictive-validity-CeKW2GQN.js → rubric-predictive-validity-CQp_M0vy.js} +3 -4
- package/dist/{rubric-predictive-validity-CeKW2GQN.js.map → rubric-predictive-validity-CQp_M0vy.js.map} +1 -1
- package/dist/{run-record-CysKLB93.js → run-record-CZy4-TnZ.js} +4 -5
- package/dist/{run-record-CysKLB93.js.map → run-record-CZy4-TnZ.js.map} +1 -1
- package/dist/{run-record-C3awiXPf.d.ts → run-record-D2BFMPGl.d.ts} +5 -7
- package/dist/run-record-D2BFMPGl.d.ts.map +1 -0
- package/dist/{run-record-DhEJgoPz.js → run-record-DEjx43cI.js} +6 -7
- package/dist/{run-record-DhEJgoPz.js.map → run-record-DEjx43cI.js.map} +1 -1
- package/dist/{sandbox-harness-BlSOu4LX.d.ts → sandbox-harness-B3Kx1fOA.d.ts} +1 -3
- package/dist/sandbox-harness-B3Kx1fOA.d.ts.map +1 -0
- package/dist/{schema-D6EVKzTB.d.ts → schema-CkIvnmLU.d.ts} +2 -43
- package/dist/schema-CkIvnmLU.d.ts.map +1 -0
- package/dist/{schema-Bt2vLFm3.js → schema-D-xu3MU_.js} +2 -3
- package/dist/{schema-Bt2vLFm3.js.map → schema-D-xu3MU_.js.map} +1 -1
- package/dist/{schema-C-ziyJD7.d.ts → schema-DkFJr3Y8.d.ts} +111 -48
- package/dist/schema-DkFJr3Y8.d.ts.map +1 -0
- package/dist/{schema-CvhfLjtZ.js → schema-YUIXT8iW.js} +37 -7
- package/dist/schema-YUIXT8iW.js.map +1 -0
- package/dist/search/index.d.ts +3 -35
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +4 -5
- package/dist/{search-kernel-CctpiDd2.d.ts → search-kernel-B77eE7Ac.d.ts} +10 -36
- package/dist/search-kernel-B77eE7Ac.d.ts.map +1 -0
- package/dist/{search-ledger-CZRqtFbW.js → search-ledger-BsVi-Ngv.js} +17 -26
- package/dist/{search-ledger-CZRqtFbW.js.map → search-ledger-BsVi-Ngv.js.map} +1 -1
- package/dist/{search-ledger-file-Bd5Tioq6.js → search-ledger-file-DTBD6X-y.js} +6 -8
- package/dist/{search-ledger-file-Bd5Tioq6.js.map → search-ledger-file-DTBD6X-y.js.map} +1 -1
- package/dist/{search-ledger-types-p2xKfiDJ.d.ts → search-ledger-types-qiYRUo_N.d.ts} +5 -9
- package/dist/search-ledger-types-qiYRUo_N.d.ts.map +1 -0
- package/dist/{search-shipper-Dn3NLsuH.js → search-shipper-pdg4viK7.js} +8 -13
- package/dist/{search-shipper-Dn3NLsuH.js.map → search-shipper-pdg4viK7.js.map} +1 -1
- package/dist/{search-summary-D4bwYnAE.js → search-summary-Ct7SrmVc.js} +6 -7
- package/dist/{search-summary-D4bwYnAE.js.map → search-summary-Ct7SrmVc.js.map} +1 -1
- package/dist/{sequential-CimQrbjv.js → sequential-B1I0tRfL.js} +6 -7
- package/dist/{sequential-CimQrbjv.js.map → sequential-B1I0tRfL.js.map} +1 -1
- package/dist/{sequential-KwGspfeR.d.ts → sequential-Bb_pdTqG.d.ts} +1 -3
- package/dist/sequential-Bb_pdTqG.d.ts.map +1 -0
- package/dist/{sequential-BVv1sjsw.js → sequential-Bjs5roiK.js} +2 -3
- package/dist/{sequential-BVv1sjsw.js.map → sequential-Bjs5roiK.js.map} +1 -1
- package/dist/{sequential-eprocess-DodI6RoF.js → sequential-eprocess-C1YLwFaz.js} +3 -4
- package/dist/{sequential-eprocess-DodI6RoF.js.map → sequential-eprocess-C1YLwFaz.js.map} +1 -1
- package/dist/{server-ChhXPCgX.js → server-DA6h3co5.js} +11 -17
- package/dist/{server-ChhXPCgX.js.map → server-DA6h3co5.js.map} +1 -1
- package/dist/{single-run-lock-Dekd8_Wv.js → single-run-lock-BGlW3OSk.js} +3 -4
- package/dist/{single-run-lock-Dekd8_Wv.js.map → single-run-lock-BGlW3OSk.js.map} +1 -1
- package/dist/{skillopt-optimization-method-sB_-yi1G.js → skillopt-optimization-method-qB1M554K.js} +38 -57
- package/dist/{skillopt-optimization-method-sB_-yi1G.js.map → skillopt-optimization-method-qB1M554K.js.map} +1 -1
- package/dist/{spans-CVngGij3.d.ts → spans-vZoW__3q.d.ts} +2 -4
- package/dist/spans-vZoW__3q.d.ts.map +1 -0
- package/dist/{statistical-heldout-BjzSOmLH.d.ts → statistical-heldout-BYxHe3KO.d.ts} +9 -37
- package/dist/statistical-heldout-BYxHe3KO.d.ts.map +1 -0
- package/dist/{statistical-heldout-Bksv92Th.js → statistical-heldout-TP6ndL0B.js} +4 -5
- package/dist/{statistical-heldout-Bksv92Th.js.map → statistical-heldout-TP6ndL0B.js.map} +1 -1
- package/dist/{steps-DlepJPwD.d.ts → steps-B8fYY_Vo.d.ts} +1 -3
- package/dist/steps-B8fYY_Vo.d.ts.map +1 -0
- package/dist/{store-B3nWRy3B.d.ts → store-CMs5wGXP.d.ts} +2 -4
- package/dist/store-CMs5wGXP.d.ts.map +1 -0
- package/dist/{store-BhNuLdJw.js → store-ZykIyQmy.js} +2 -3
- package/dist/{store-BhNuLdJw.js.map → store-ZykIyQmy.js.map} +1 -1
- package/dist/{store-otlp-CFf27E8_.js → store-otlp-DmLm65XW.js} +8 -13
- package/dist/{store-otlp-CFf27E8_.js.map → store-otlp-DmLm65XW.js.map} +1 -1
- package/dist/{store-tool-spans-BK_8FjGG.js → store-tool-spans-C2g8UYm-.js} +17 -41
- package/dist/{store-tool-spans-BK_8FjGG.js.map → store-tool-spans-C2g8UYm-.js.map} +1 -1
- package/dist/{store-tool-spans-DxsFwtdr.d.ts → store-tool-spans-DMM6wMwB.d.ts} +11 -29
- package/dist/store-tool-spans-DMM6wMwB.d.ts.map +1 -0
- package/dist/storyboard/index.d.ts +1 -5
- package/dist/storyboard/index.d.ts.map +1 -1
- package/dist/storyboard/index.js +3 -5
- package/dist/storyboard/index.js.map +1 -1
- package/dist/{summary-report-C8V49Jt3.d.ts → summary-report-0La5vejY.d.ts} +5 -13
- package/dist/summary-report-0La5vejY.d.ts.map +1 -0
- package/dist/{summary-report-DHDWxe6p.js → summary-report-CPfsrLac.js} +21 -30
- package/dist/summary-report-CPfsrLac.js.map +1 -0
- package/dist/supervisor-run/index.d.ts +30 -29
- package/dist/supervisor-run/index.d.ts.map +1 -1
- package/dist/supervisor-run/index.js +6 -7
- package/dist/{systemone-CHnqwmYg.d.ts → systemone-UHbKD6LH.d.ts} +12 -24
- package/dist/systemone-UHbKD6LH.d.ts.map +1 -0
- package/dist/{systemone-protocol-Bl2EI2KQ.d.ts → systemone-protocol-C4t7JH4Y.d.ts} +1 -3
- package/dist/systemone-protocol-C4t7JH4Y.d.ts.map +1 -0
- package/dist/systemone-protocol.d.ts +1 -1
- package/dist/systemone-protocol.js +2 -3
- package/dist/{systemone-review-cQ9acAsb.d.ts → systemone-review-Cn9Uj0xG.d.ts} +8 -10
- package/dist/systemone-review-Cn9Uj0xG.d.ts.map +1 -0
- package/dist/{systemone-review-DFGtIUcf.js → systemone-review-S49gsy_y.js} +5 -6
- package/dist/{systemone-review-DFGtIUcf.js.map → systemone-review-S49gsy_y.js.map} +1 -1
- package/dist/systemone.d.ts +4 -4
- package/dist/systemone.js +3 -3
- package/dist/{task-failure-attributes-oIK3BhCR.js → task-failure-attributes-CC6VuIpk.js} +7 -10
- package/dist/{task-failure-attributes-oIK3BhCR.js.map → task-failure-attributes-CC6VuIpk.js.map} +1 -1
- package/dist/{tool-groups-b3oU_D88.d.ts → tool-groups-CFWmAGCV.d.ts} +3 -5
- package/dist/tool-groups-CFWmAGCV.d.ts.map +1 -0
- package/dist/{tool-waste-CkjzWmeY.d.ts → tool-waste-BFG1vwTV.d.ts} +4 -16
- package/dist/tool-waste-BFG1vwTV.d.ts.map +1 -0
- package/dist/{tool-waste-DLsjS_p-.js → tool-waste-CLJ46AbT.js} +10 -26
- package/dist/{tool-waste-DLsjS_p-.js.map → tool-waste-CLJ46AbT.js.map} +1 -1
- package/dist/trace-attributes.d.ts +1 -1
- package/dist/trace-attributes.js +1 -2
- package/dist/{trace-questions-BmT8M6UQ.d.ts → trace-questions-BFCQAzoT.d.ts} +4 -6
- package/dist/trace-questions-BFCQAzoT.d.ts.map +1 -0
- package/dist/trace-repair/index.d.ts +46 -92
- package/dist/trace-repair/index.d.ts.map +1 -1
- package/dist/trace-repair/index.js +32 -54
- package/dist/trace-repair/index.js.map +1 -1
- package/dist/traces.d.ts +13 -29
- package/dist/traces.d.ts.map +1 -1
- package/dist/traces.js +18 -22
- package/dist/traces.js.map +1 -1
- package/dist/{trajectory-D_7rLrvE.js → trajectory-O3GDHmev.js} +2 -3
- package/dist/{trajectory-D_7rLrvE.js.map → trajectory-O3GDHmev.js.map} +1 -1
- package/dist/trajectory-replay/index.d.ts +2 -22
- package/dist/trajectory-replay/index.d.ts.map +1 -1
- package/dist/trajectory-replay/index.js +19 -30
- package/dist/trajectory-replay/index.js.map +1 -1
- package/dist/{tree-DSqwJpL9.js → tree-DrIChF4a.js} +39 -68
- package/dist/{tree-DSqwJpL9.js.map → tree-DrIChF4a.js.map} +1 -1
- package/dist/{types-B_IFcKp5.d.ts → types-0KglnQ9o.d.ts} +3 -15
- package/dist/types-0KglnQ9o.d.ts.map +1 -0
- package/dist/{types-6Lfdlshp.d.ts → types-BEvjDziM.d.ts} +50 -62
- package/dist/types-BEvjDziM.d.ts.map +1 -0
- package/dist/{types-CnWmj8NW.js → types-BK0blWhe.js} +3 -4
- package/dist/{types-CnWmj8NW.js.map → types-BK0blWhe.js.map} +1 -1
- package/dist/{types-CmXY0PQf.d.ts → types-C-aOqgt2.d.ts} +2 -5
- package/dist/types-C-aOqgt2.d.ts.map +1 -0
- package/dist/{types-BXgASBCL.js → types-DK4vNv5q.js} +2 -3
- package/dist/{types-BXgASBCL.js.map → types-DK4vNv5q.js.map} +1 -1
- package/dist/{types-DZ0mYVw9.d.ts → types-DUR0dqET.d.ts} +3 -5
- package/dist/types-DUR0dqET.d.ts.map +1 -0
- package/dist/{types-M6eF9m-r.d.ts → types-e3HGaI7P.d.ts} +84 -24
- package/dist/types-e3HGaI7P.d.ts.map +1 -0
- package/dist/{verdict-BGQmxQ8A.js → verdict-C8TcdwfD.js} +3 -4
- package/dist/{verdict-BGQmxQ8A.js.map → verdict-C8TcdwfD.js.map} +1 -1
- package/dist/{verdict-C24NELtN.d.ts → verdict-D_qiBQ6_.d.ts} +1 -5
- package/dist/verdict-D_qiBQ6_.d.ts.map +1 -0
- package/dist/{verdict-cache-CL_7tePD.js → verdict-cache-BVH-fl18.js} +3 -4
- package/dist/{verdict-cache-CL_7tePD.js.map → verdict-cache-BVH-fl18.js.map} +1 -1
- package/dist/wire/index.d.ts +43 -51
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +1 -2
- package/docs/eval-surface-map.md +15 -0
- package/docs/rollout.md +132 -6
- package/package.json +18 -18
- package/dist/adversarial-smnADNFS.d.ts.map +0 -1
- package/dist/agent-profile-CNmwfaqq.d.ts.map +0 -1
- package/dist/agent-profile-cell-BcpFbNd5.d.ts.map +0 -1
- package/dist/analyze-runs-DfX6dHP0.d.ts.map +0 -1
- package/dist/attribute-vocabulary-CcXqHODT.d.ts.map +0 -1
- package/dist/benchmark-command-Cnjfo0Zh.js.map +0 -1
- package/dist/campaign-evidence-DunzcJGv.js.map +0 -1
- package/dist/campaign-uddTlFg5.js.map +0 -1
- package/dist/canonical-CFpojCN5.d.ts.map +0 -1
- package/dist/client-hwo3cJjR.d.ts.map +0 -1
- package/dist/completion-verifier-asaV1nSj.js.map +0 -1
- package/dist/cost-ledger-C1W3ICmP.d.ts.map +0 -1
- package/dist/dataset-DQqhOCPt.d.ts.map +0 -1
- package/dist/default-registry-CLG5YqGS.d.ts.map +0 -1
- package/dist/define-agent-eval-JKt3gMQr.d.ts.map +0 -1
- package/dist/descriptive-B2iPaT9J.d.ts +0 -89
- package/dist/descriptive-B2iPaT9J.d.ts.map +0 -1
- package/dist/descriptive-CVNy48rR.js.map +0 -1
- package/dist/emitter-DABYYTcH.d.ts.map +0 -1
- package/dist/engine-dtRVeuQs.d.ts.map +0 -1
- package/dist/errors-DEE6u6ot.d.ts.map +0 -1
- package/dist/evaluation-DblGquCB.d.ts.map +0 -1
- package/dist/exact-types-Do63KoKn.d.ts.map +0 -1
- package/dist/exporters-DWvM16LE.js.map +0 -1
- package/dist/exporters-Dk3oEbK_.d.ts.map +0 -1
- package/dist/failure-cluster-DN0t63Z0.d.ts.map +0 -1
- package/dist/feedback-trajectory-CYVJXolG.d.ts.map +0 -1
- package/dist/hf-dataset-CKxIJQba.js.map +0 -1
- package/dist/index-CHxwfW5g.d.ts.map +0 -1
- package/dist/index-CTIRz-AB.d.ts.map +0 -1
- package/dist/index-CalAsXMR.d.ts.map +0 -1
- package/dist/index-CdEVr8-O.d.ts.map +0 -1
- package/dist/index-CfJULcW5.d.ts.map +0 -1
- package/dist/index-D7fmC-1K.d.ts.map +0 -1
- package/dist/index-jnuFLxOs.d.ts.map +0 -1
- package/dist/integrity-D-s2iHiT.js.map +0 -1
- package/dist/integrity-D9lBnv_K.d.ts.map +0 -1
- package/dist/interval-ohuOJurX.d.ts.map +0 -1
- package/dist/judge-calibration-DFtEMlde.d.ts.map +0 -1
- package/dist/llm-judge-Cybq29bL.js.map +0 -1
- package/dist/lock-holder-DaJbfpci.d.ts.map +0 -1
- package/dist/matrix-B8l-Nsxd.js.map +0 -1
- package/dist/matrix-DtkZLD_3.d.ts.map +0 -1
- package/dist/mint-CkzpVPdz.d.ts +0 -81
- package/dist/mint-CkzpVPdz.d.ts.map +0 -1
- package/dist/multi-layer-verifier-DEgMUk6v.d.ts.map +0 -1
- package/dist/multiplicity-DIWHvysC.d.ts.map +0 -1
- package/dist/paired-promotion-decision-CQMJ5xGN.d.ts.map +0 -1
- package/dist/pareto-BiBnQXAE.js.map +0 -1
- package/dist/prime-bridge-transport-6feEglLf.d.ts.map +0 -1
- package/dist/prime-protocol-BGxjfhM4.d.ts.map +0 -1
- package/dist/promotion-gate-CkVZHagC.d.ts.map +0 -1
- package/dist/query-Cmv_U8vf.d.ts.map +0 -1
- package/dist/random-DGEyr3zG.d.ts.map +0 -1
- package/dist/redact-DXdlFb_U.d.ts.map +0 -1
- package/dist/registry-BcdJmyoU.d.ts.map +0 -1
- package/dist/release-confidence-CYIFH-fp.js.map +0 -1
- package/dist/render-BhJqXoBH.js.map +0 -1
- package/dist/researcher-DKWtoMWk.d.ts.map +0 -1
- package/dist/reward-BeUgVVC_.d.ts.map +0 -1
- package/dist/reward-hacking-WTxUbtbb.d.ts.map +0 -1
- package/dist/rollout-Dd1ucT_M.js.map +0 -1
- package/dist/rubric-predictive-validity-Cd5SCtAf.d.ts.map +0 -1
- package/dist/run-record-C3awiXPf.d.ts.map +0 -1
- package/dist/sandbox-harness-BlSOu4LX.d.ts.map +0 -1
- package/dist/schema-C-ziyJD7.d.ts.map +0 -1
- package/dist/schema-CvhfLjtZ.js.map +0 -1
- package/dist/schema-D6EVKzTB.d.ts.map +0 -1
- package/dist/search-kernel-CctpiDd2.d.ts.map +0 -1
- package/dist/search-ledger-types-p2xKfiDJ.d.ts.map +0 -1
- package/dist/sequential-KwGspfeR.d.ts.map +0 -1
- package/dist/spans-CVngGij3.d.ts.map +0 -1
- package/dist/statistical-heldout-BjzSOmLH.d.ts.map +0 -1
- package/dist/steps-DlepJPwD.d.ts.map +0 -1
- package/dist/store-B3nWRy3B.d.ts.map +0 -1
- package/dist/store-tool-spans-DxsFwtdr.d.ts.map +0 -1
- package/dist/summary-report-C8V49Jt3.d.ts.map +0 -1
- package/dist/summary-report-DHDWxe6p.js.map +0 -1
- package/dist/systemone-CHnqwmYg.d.ts.map +0 -1
- package/dist/systemone-protocol-Bl2EI2KQ.d.ts.map +0 -1
- package/dist/systemone-review-cQ9acAsb.d.ts.map +0 -1
- package/dist/terminal-record-CB9BFtjS.js.map +0 -1
- package/dist/tool-groups-b3oU_D88.d.ts.map +0 -1
- package/dist/tool-waste-CkjzWmeY.d.ts.map +0 -1
- package/dist/trace-questions-BmT8M6UQ.d.ts.map +0 -1
- package/dist/types-6Lfdlshp.d.ts.map +0 -1
- package/dist/types-B_IFcKp5.d.ts.map +0 -1
- package/dist/types-CmXY0PQf.d.ts.map +0 -1
- package/dist/types-DZ0mYVw9.d.ts.map +0 -1
- package/dist/types-M6eF9m-r.d.ts.map +0 -1
- package/dist/verdict-C24NELtN.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary-report-CPfsrLac.js","names":["avg","hi"],"sources":["../src/research-report-render.ts","../src/research-report-analysis.ts","../src/statistics/effect-sizes.ts","../src/summary-report-evidence.ts","../src/summary-report-figures.ts","../src/research-report.ts"],"sourcesContent":["/** Markdown research reports and their shared numeric text formatting. */\n\nimport type { FailureClusterReport } from './pipelines/failure-cluster'\nimport type {\n ResearchReportCandidate,\n ResearchReportMethodology,\n ResearchReportRecommendation,\n} from './research-report'\nimport type {\n GainDistributionFigureSpec,\n ParetoFigureSpec,\n SummaryTable,\n} from './summary-report-figures'\n\nexport function renderResearchMarkdown(report: {\n title: string\n generatedAt: string\n split: 'search' | 'holdout'\n comparator: string | null\n executiveSummary: string[]\n recommendation: ResearchReportRecommendation\n candidates: ResearchReportCandidate[]\n summary: SummaryTable\n pareto: ParetoFigureSpec\n gains: GainDistributionFigureSpec[]\n rope: { low: number; high: number } | null\n runFingerprint: string\n preregistrationHash: string | null\n methodology: ResearchReportMethodology\n failureClusters?: FailureClusterReport\n}): string {\n const lines: string[] = []\n lines.push(`# ${report.title}`)\n lines.push('')\n lines.push(`**Generated:** ${report.generatedAt}`)\n lines.push(`**Primary split:** ${report.split}`)\n lines.push(`**Comparator:** ${report.comparator ?? 'not configured'}`)\n lines.push(`**ROPE:** ${report.rope ? formatRope(report.rope) : 'not configured'}`)\n lines.push(`**Run fingerprint:** \\`${report.runFingerprint}\\``)\n lines.push(\n `**Preregistration:** ${report.preregistrationHash ? `\\`${report.preregistrationHash}\\`` : 'none'}`,\n )\n lines.push('')\n lines.push('## Executive Summary')\n lines.push('')\n for (const item of report.executiveSummary) lines.push(`- ${item}`)\n lines.push('')\n lines.push('## Recommendation')\n lines.push('')\n lines.push(`**Decision:** ${report.recommendation.decision}`)\n lines.push(`**Candidate:** ${report.recommendation.candidateId ?? 'N/A'}`)\n lines.push('')\n lines.push('### Rationale')\n lines.push('')\n for (const item of report.recommendation.rationale) lines.push(`- ${item}`)\n lines.push('')\n lines.push('### Risks')\n lines.push('')\n for (const item of report.recommendation.risks.length\n ? report.recommendation.risks\n : ['No material report-level risks detected.']) {\n lines.push(`- ${item}`)\n }\n lines.push('')\n lines.push('### Next Actions')\n lines.push('')\n for (const item of report.recommendation.nextActions) lines.push(`- ${item}`)\n lines.push('')\n lines.push('## Candidate Decision Table')\n lines.push('')\n lines.push(\n '| Candidate | Decision | Mean | Δ̄ | Pr(Δ>0) | q | dz | Paired N | Median Gain CI | MDE | Pareto | Gate |',\n )\n lines.push('|---|---|---:|---:|---:|---:|---:|---:|---|---:|---|---|')\n for (const c of report.candidates) {\n const delta = c.meanDeltaVsComparator === null ? '-' : signed(c.meanDeltaVsComparator)\n const prGt = c.prGreaterThanZero === null ? '-' : c.prGreaterThanZero.toFixed(3)\n const q = c.qValue !== null ? c.qValue.toFixed(4) : '-'\n const d = c.cohensD !== null ? c.cohensD.toFixed(3) : '-'\n const gain = c.gainCi ? `[${fmt(c.gainCi.low)}, ${fmt(c.gainCi.high)}]` : '-'\n const mde = c.mde === null || !Number.isFinite(c.mde) ? '-' : fmt(c.mde)\n lines.push(\n `| ${c.candidateId} | ${c.decision} | ${fmt(c.mean)} | ${delta} | ${prGt} | ${q} | ${d} | ${c.pairedN} | ${gain} | ${mde} | ${c.onParetoFrontier ? 'yes' : 'no'} | ${c.gate ?? '-'} |`,\n )\n }\n lines.push('')\n lines.push('## Statistical Summary')\n lines.push('')\n lines.push(report.summary.markdown)\n lines.push('')\n lines.push('## Methodology')\n lines.push('')\n lines.push('### Assumptions')\n lines.push('')\n for (const item of report.methodology.assumptions) lines.push(`- ${item}`)\n lines.push('')\n lines.push('### Methods')\n lines.push('')\n for (const item of report.methodology.methods) lines.push(`- ${item}`)\n lines.push('')\n lines.push('### Alternatives Considered')\n lines.push('')\n for (const item of report.methodology.alternatives) lines.push(`- ${item}`)\n lines.push('')\n lines.push('### When NOT To Apply')\n lines.push('')\n for (const item of report.methodology.whenNotToApply) lines.push(`- ${item}`)\n lines.push('')\n lines.push('### Citations')\n lines.push('')\n for (const item of report.methodology.citations) lines.push(`- ${item}`)\n lines.push('')\n lines.push('## Chart Specs')\n lines.push('')\n lines.push(\n 'The report carries JSON chart specs for Pareto cost/quality and paired gain histograms.',\n )\n lines.push('')\n lines.push('```json')\n lines.push(JSON.stringify({ pareto: report.pareto, gains: report.gains }, null, 2))\n lines.push('```')\n if (report.failureClusters) {\n lines.push('')\n lines.push('## Failure Clusters')\n lines.push('')\n lines.push('| Failure Class | Runs | Scenarios | Tool | Example |')\n lines.push('|---|---:|---:|---|---|')\n for (const c of report.failureClusters.clusters.slice(0, 10)) {\n lines.push(\n `| ${c.failureClass} | ${c.runCount} | ${c.scenarioIds.length} | ${c.toolName ?? '-'} | ${escapePipes(c.exampleError ?? c.exampleRunId)} |`,\n )\n }\n }\n return lines.join('\\n')\n}\n\nfunction escapePipes(s: string): string {\n return s.replace(/\\|/g, '\\\\|')\n}\n\nfunction signed(x: number): string {\n return `${x >= 0 ? '+' : ''}${fmt(x)}`\n}\n\nexport function formatRope(rope: { low: number; high: number }): string {\n return `[${fmt(rope.low)}, ${fmt(rope.high)}]`\n}\n\nexport function fmt(x: number): string {\n if (!Number.isFinite(x)) return String(x)\n return x.toFixed(4)\n}\n","/** Evidence-based report verdicts, recommendations, and methodology. */\n\nimport type { HeldOutGateDecision } from './held-out-gate'\nimport type { FailureClusterReport } from './pipelines/failure-cluster'\nimport type {\n ResearchReportCandidate,\n ResearchReportDecision,\n ResearchReportMethodology,\n ResearchReportRecommendation,\n} from './research-report'\nimport { fmt, formatRope } from './research-report-render'\nimport type { pairedPosterior } from './summary-report-evidence'\nimport type { ParetoPoint, SummaryTableRow } from './summary-report-figures'\n\n/**\n * Hard floor below which a paired comparison is treated as uninformative\n * regardless of `minPairs`. Mirrors the lower limit on Wilcoxon signed-rank\n * exact tables; below this the test has no power to separate effect sizes.\n */\nexport const RESEARCH_REPORT_HARD_PAIR_FLOOR = 6\n\nexport function buildMethodology(ctx: {\n split: 'search' | 'holdout'\n comparator: string | null\n fdr: number\n minPairs: number\n rope: { low: number; high: number } | null\n confidence: number\n mdePower: number\n mdeAlpha: number\n}): ResearchReportMethodology {\n const assumptions: string[] = [\n 'Pairs are matched by (experimentId, scenarioId, seed); input order does not affect the comparison.',\n 'Paired deltas are exchangeable conditional on the matched scenario — no mid-run distribution shift.',\n `Decisions are pre-specified at fdr=${ctx.fdr}, minPairs=${ctx.minPairs}, confidence=${ctx.confidence}; deviating from these post-hoc invalidates the false-discovery control.`,\n ]\n if (ctx.rope) {\n assumptions.push(\n `The Region of Practical Equivalence ${formatRope(ctx.rope)} is supplied by the domain owner; equivalent verdicts are only meaningful if that range is treated as the standing definition of \"no material difference.\"`,\n )\n }\n if (ctx.comparator === null) {\n assumptions.push('No comparator was configured; this run is descriptive, not causal.')\n }\n const methods: string[] = [\n \"Marginal scores summarised with BH-FDR-adjusted Wilcoxon signed-rank q-values and paired Cohen's dz via summaryTable.\",\n 'Paired evidence summarised with a frequentist bootstrap CI on the median delta and a Dirichlet-weight Bayesian bootstrap for Pr(Δ>0) and Pr(Δ∈ROPE) on the mean delta.',\n `Minimum detectable effect reported per candidate at α=${ctx.mdeAlpha} (two-sided), power=${ctx.mdePower}, standardised by the observed paired-delta SD.`,\n 'Pareto frontier flagged as a separate axis (cost vs quality); a candidate can be on-frontier without winning the paired test.',\n 'Held-out gate decisions, when supplied, override the statistical verdict in the reject direction.',\n ]\n const alternatives: string[] = [\n 'Paired t-test rejected: not robust to the heavy-tailed score distributions common in agent benchmarks.',\n 'Unpaired Mann–Whitney rejected: matched scenarios make pairing free; unpaired throws away that variance reduction.',\n 'Sequential / always-valid inference (e-values, mSPRT) is the right tool for iterative sweeps and is out of scope for this single-look report — preregister and run once, or wrap this report in an alpha-spending schedule.',\n 'Hierarchical Bayesian shrinkage across many candidates is future work; the current ranking uses raw paired statistics.',\n ]\n const whenNotToApply: string[] = [\n `Paired N below ${RESEARCH_REPORT_HARD_PAIR_FLOOR} on any candidate — the bootstrap CI is degenerate.`,\n 'Comparator chosen post-hoc by inspecting the same data; q-values are no longer false-discovery-controlled.',\n 'Scenarios not drawn under a stable preregistered protocol; the report can describe the data but cannot anchor a launch decision.',\n 'Score distributions with mid-run shift (judge model swap, rubric change, infra outage) — pair exchangeability is violated.',\n ]\n const citations: string[] = [\n 'Benjamini, Y. & Hochberg, Y. (1995). Controlling the false discovery rate: a practical and powerful approach to multiple testing. JRSS B, 57(1), 289–300.',\n 'Wilcoxon, F. (1945). Individual comparisons by ranking methods. Biometrics Bulletin, 1(6), 80–83.',\n 'Efron, B. (1979). Bootstrap methods: another look at the jackknife. Annals of Statistics, 7(1), 1–26.',\n 'Rubin, D. B. (1981). The Bayesian bootstrap. Annals of Statistics, 9(1), 130–134.',\n 'Kruschke, J. K. (2018). Rejecting or accepting parameter values in Bayesian estimation. Advances in Methods and Practices in Psychological Science, 1(2), 270–280. (ROPE.)',\n ]\n return { assumptions, methods, alternatives, whenNotToApply, citations }\n}\n\nexport function classifyCandidate(\n row: SummaryTableRow,\n ctx: {\n comparator: string | null\n posterior: ReturnType<typeof pairedPosterior> | null\n point?: ParetoPoint\n gateDecision?: HeldOutGateDecision\n split: 'search' | 'holdout'\n fdr: number\n minPairs: number\n rope: { low: number; high: number } | null\n },\n): { decision: ResearchReportDecision; reason: string } {\n if (ctx.comparator && row.candidateId === ctx.comparator) {\n return { decision: 'hold', reason: 'Comparator baseline.' }\n }\n if (ctx.gateDecision && !ctx.gateDecision.promote) {\n const code = ctx.gateDecision.rejectionCode ?? 'rejected'\n return {\n decision: 'reject',\n reason: `Held-out gate returned ${code}: ${ctx.gateDecision.reason}`,\n }\n }\n if (!ctx.comparator) {\n return {\n decision: ctx.point?.onFrontier ? 'hold' : 'needs_more_data',\n reason:\n 'No comparator configured; report ranks candidates but cannot anchor a promotion call.',\n }\n }\n if (!ctx.posterior || ctx.posterior.n < RESEARCH_REPORT_HARD_PAIR_FLOOR) {\n return {\n decision: 'needs_more_data',\n reason: `Only ${ctx.posterior?.n ?? 0} paired observations; below hard floor of ${RESEARCH_REPORT_HARD_PAIR_FLOOR} for any paired inference.`,\n }\n }\n const ci = ctx.posterior.ci\n if (ctx.split === 'search') {\n return {\n decision: 'hold',\n reason:\n 'Search-split evidence is descriptive; release decisions require matched holdout runs.',\n }\n }\n // A ZERO-WIDTH interval cannot support any directional or equivalence claim:\n // every resample was identical, so it says nothing about how far the estimate\n // could be wrong. It is the shape that sits fully inside any ROPE containing\n // it (a fake \"practically equivalent\") and clears any threshold below it (a\n // fake \"promote\"). Both are an absence of evidence, so it is disqualified from\n // each claim rather than short-circuiting the whole classifier — the\n // sample-size and MDE diagnostics below are still the more useful answer when\n // they apply.\n const degenerate = !Number.isFinite(ci.low) || !Number.isFinite(ci.high) || ci.low === ci.high\n if (!degenerate && ctx.rope && ci.low >= ctx.rope.low && ci.high <= ctx.rope.high) {\n return {\n decision: 'equivalent',\n reason: `Paired-delta CI [${fmt(ci.low)}, ${fmt(ci.high)}] is fully inside ROPE ${formatRope(ctx.rope)}; candidate is practically equivalent to comparator.`,\n }\n }\n const gainPositive = !degenerate && ci.low > 0\n const gainNegative = !degenerate && ci.high < 0\n if (gainNegative) {\n return {\n decision: 'reject',\n reason: `Paired-delta CI [${fmt(ci.low)}, ${fmt(ci.high)}] lies entirely below zero.`,\n }\n }\n if (ctx.posterior.n < ctx.minPairs) {\n return {\n decision: 'needs_more_data',\n reason: `Only ${ctx.posterior.n} paired observations; minimum detectable effect at this N is ${fmt(ctx.posterior.mde)} score units (need ≥ ${ctx.minPairs} pairs to issue a directional verdict).`,\n }\n }\n if (degenerate) {\n return {\n decision: 'needs_more_data',\n reason: `Paired-delta CI [${fmt(ci.low)}, ${fmt(ci.high)}] has zero width — every resample was identical, so the interval carries no information about how far the estimate could be wrong and cannot support a promote or equivalence call.`,\n }\n }\n if (row.qValue !== null && row.qValue <= ctx.fdr && gainPositive) {\n return {\n decision: 'promote',\n reason: `BH-adjusted q=${fmt(row.qValue)} ≤ ${ctx.fdr} and paired-delta CI [${fmt(ci.low)}, ${fmt(ci.high)}] excludes zero; Pr(Δ>0)=${fmt(ctx.posterior.prGreaterThanZero)}.`,\n }\n }\n return {\n decision: 'hold',\n reason: `Pr(Δ>0)=${fmt(ctx.posterior.prGreaterThanZero)} but CI [${fmt(ci.low)}, ${fmt(ci.high)}] crosses zero; effect not decisive at fdr=${ctx.fdr}.`,\n }\n}\n\nexport function buildRecommendation(\n candidates: ResearchReportCandidate[],\n ctx: {\n comparator: string | null\n failureClusters?: FailureClusterReport\n rope: { low: number; high: number } | null\n minPairs: number\n preregistrationHash: string | null\n },\n): ResearchReportRecommendation {\n const nonComparator = candidates.filter((c) => c.candidateId !== ctx.comparator)\n const bestPromote = nonComparator.find((c) => c.decision === 'promote')\n const bestEquivalent = nonComparator.find((c) => c.decision === 'equivalent')\n const chosen = bestPromote ?? bestEquivalent ?? nonComparator[0] ?? null\n const decision: ResearchReportDecision = bestPromote\n ? 'promote'\n : nonComparator.some((c) => c.decision === 'needs_more_data')\n ? 'needs_more_data'\n : bestEquivalent\n ? 'equivalent'\n : nonComparator.some((c) => c.decision === 'hold')\n ? 'hold'\n : 'reject'\n\n const rationale: string[] = []\n const risks: string[] = []\n const nextActions: string[] = []\n\n if (chosen) {\n rationale.push(`${chosen.candidateId}: ${chosen.decisionReason}`)\n if (chosen.gainCi) {\n const probSummary =\n chosen.prGreaterThanZero !== null ? `, Pr(Δ>0)=${fmt(chosen.prGreaterThanZero)}` : ''\n rationale.push(\n `Median paired gain CI: [${fmt(chosen.gainCi.low)}, ${fmt(chosen.gainCi.high)}]${probSummary}.`,\n )\n }\n if (chosen.mde !== null && Number.isFinite(chosen.mde)) {\n rationale.push(`MDE at current paired N=${chosen.pairedN}: ${fmt(chosen.mde)} score units.`)\n }\n }\n if (!ctx.comparator) {\n risks.push('No comparator was configured; verdict is descriptive, not causal.')\n nextActions.push('Re-run with a stable comparator candidate for paired inference.')\n }\n if (!ctx.preregistrationHash) {\n risks.push(\n 'No preregistration hash supplied; readers cannot verify the analysis was specified before data inspection.',\n )\n nextActions.push(\n 'Sign a HypothesisManifest before the next sweep and pass `preregistrationHash` so the report cites it.',\n )\n }\n if (ctx.rope === null && nonComparator.length > 0) {\n risks.push(\n 'No ROPE configured; the report cannot distinguish \"equivalent\" from \"inconclusive\".',\n )\n nextActions.push(\n 'Define a domain-specific Region of Practical Equivalence and pass it to lock in the equivalence threshold.',\n )\n }\n const inconclusive = nonComparator.filter((c) => c.decision === 'needs_more_data')\n if (inconclusive.length > 0) {\n const worst = inconclusive.reduce((a, b) => (b.pairedN < a.pairedN ? b : a))\n risks.push(\n `${inconclusive.length} candidate(s) below soft floor (${ctx.minPairs} pairs); thinnest is ${worst.candidateId} with ${worst.pairedN}.`,\n )\n nextActions.push(\n `Collect at least ${ctx.minPairs - worst.pairedN} more matched holdout runs for ${worst.candidateId}.`,\n )\n }\n const rejected = nonComparator.filter((c) => c.decision === 'reject')\n if (rejected.length > 0) {\n risks.push(\n `${rejected.length} candidate(s) failed the paired test or held-out gate; do not ship those variants.`,\n )\n }\n if (ctx.failureClusters && ctx.failureClusters.clusters.length > 0) {\n const top = ctx.failureClusters.clusters[0]!\n risks.push(`Top failure cluster: ${top.failureClass} across ${top.runCount} run(s).`)\n nextActions.push('Prioritize the largest failure cluster before broad rollout.')\n }\n if (decision === 'promote') {\n nextActions.push('Ship behind the existing promotion gate and monitor canaries.')\n } else if (decision === 'hold') {\n nextActions.push('Keep current production candidate while expanding holdout evidence.')\n } else if (decision === 'equivalent') {\n nextActions.push(\n 'Either keep the comparator (no quality regression) or promote on cost/latency grounds — equivalence does not justify either; the choice is a product decision, not a stats one.',\n )\n } else if (decision === 'reject') {\n nextActions.push(\n 'Do not promote this sweep; inspect failures and generate a revised candidate.',\n )\n }\n\n return {\n decision,\n candidateId: chosen?.candidateId ?? null,\n rationale,\n risks,\n nextActions,\n }\n}\n\nexport function buildExecutiveSummary(\n candidates: ResearchReportCandidate[],\n recommendation: ResearchReportRecommendation,\n ctx: {\n comparator: string | null\n split: 'search' | 'holdout'\n failureClusters?: FailureClusterReport\n preregistrationHash: string | null\n },\n): string[] {\n const lines: string[] = []\n const nonComparator = candidates.filter((c) => c.candidateId !== ctx.comparator)\n lines.push(\n `Evaluated ${nonComparator.length} candidate(s) on the ${ctx.split} split${ctx.comparator ? ` against ${ctx.comparator}` : ''}.`,\n )\n lines.push(\n `Recommendation: ${recommendation.decision}${recommendation.candidateId ? ` ${recommendation.candidateId}` : ''}.`,\n )\n const promoted = nonComparator.filter((c) => c.decision === 'promote').length\n const held = nonComparator.filter((c) => c.decision === 'hold').length\n const equivalent = nonComparator.filter((c) => c.decision === 'equivalent').length\n const rejected = nonComparator.filter((c) => c.decision === 'reject').length\n const more = nonComparator.filter((c) => c.decision === 'needs_more_data').length\n lines.push(\n `Decision mix: ${promoted} promote, ${equivalent} equivalent, ${held} hold, ${rejected} reject, ${more} need more data.`,\n )\n const frontier = nonComparator.filter((c) => c.onParetoFrontier).map((c) => c.candidateId)\n if (frontier.length > 0) lines.push(`Pareto-frontier candidates: ${frontier.join(', ')}.`)\n if (ctx.failureClusters) {\n lines.push(\n `Failure clustering found ${ctx.failureClusters.totalFailures}/${ctx.failureClusters.totalRuns} failed runs across ${ctx.failureClusters.clusters.length} reportable cluster(s).`,\n )\n }\n lines.push(\n ctx.preregistrationHash\n ? `Preregistered analysis: ${ctx.preregistrationHash.slice(0, 12)}…`\n : 'Analysis is post-hoc — no preregistration hash supplied.',\n )\n return lines\n}\n\nexport function decisionWeight(decision: ResearchReportDecision): number {\n if (decision === 'promote') return 5\n if (decision === 'equivalent') return 4\n if (decision === 'hold') return 3\n if (decision === 'needs_more_data') return 2\n return 1\n}\n","/**\n * Standardized effect sizes: Cohen's d family and Cliff's delta, with the\n * shared degenerate-input contract (null where the effect is undefined).\n */\n\nimport { ValidationError } from '../errors'\n\n/**\n * Cohen's d — standardized effect size for two independent groups.\n * Positive d means group b has higher mean than group a.\n * Rule of thumb: |d| < 0.2 negligible, 0.2–0.5 small, 0.5–0.8 medium, > 0.8 large.\n *\n * Returns null where the standardized effect is undefined: fewer than two\n * observations in either group, or a zero pooled standard deviation with\n * unequal means. Null is NOT \"no effect\" — zero within-group spread across a\n * real mean gap is an unbounded effect, the opposite of negligible. Equal\n * means with zero spread is a genuine 0. Same contract as\n * {@link pairedCohensDz}.\n */\nexport function cohensD(a: number[], b: number[]): number | null {\n if (a.length < 2 || b.length < 2) return null\n const meanA = a.reduce((x, y) => x + y, 0) / a.length\n const meanB = b.reduce((x, y) => x + y, 0) / b.length\n const varA = a.reduce((acc, x) => acc + (x - meanA) ** 2, 0) / (a.length - 1)\n const varB = b.reduce((acc, x) => acc + (x - meanB) ** 2, 0) / (b.length - 1)\n const pooled = Math.sqrt(\n ((a.length - 1) * varA + (b.length - 1) * varB) / (a.length + b.length - 2),\n )\n if (pooled === 0) return meanB === meanA ? 0 : null\n return (meanB - meanA) / pooled\n}\n\n/**\n * Cohen's dz for paired observations: mean(after - before) divided by the\n * sample standard deviation of those within-pair deltas.\n *\n * Returns null when fewer than two pairs exist or a non-zero constant delta\n * has zero observed variance. In that case the standardized effect is\n * undefined, not an arbitrarily large finite number.\n */\nexport function pairedCohensDz(before: number[], after: number[]): number | null {\n if (before.length !== after.length) {\n throw new ValidationError(\n `pairedCohensDz: unequal sample sizes (${before.length} vs ${after.length})`,\n )\n }\n if (before.length < 2) return null\n const deltas = before.map((value, index) => after[index]! - value)\n if (deltas.some((value) => !Number.isFinite(value))) {\n throw new ValidationError('pairedCohensDz: all paired values must be finite')\n }\n const meanDelta = deltas.reduce((sum, value) => sum + value, 0) / deltas.length\n const variance =\n deltas.reduce((sum, value) => sum + (value - meanDelta) ** 2, 0) / (deltas.length - 1)\n const standardDeviation = Math.sqrt(variance)\n const scale = Math.max(1, Math.abs(meanDelta), ...deltas.map(Math.abs))\n if (standardDeviation <= Number.EPSILON * scale) return meanDelta === 0 ? 0 : null\n return meanDelta / standardDeviation\n}\n\nexport type CliffsMagnitude = 'negligible' | 'small' | 'medium' | 'large'\n\n/**\n * Cliff's delta — a non-parametric effect size for two independent samples.\n * `δ = (#(after > before) − #(after < before)) / (n_before · n_after)`,\n * ranging [-1, 1]. Positive ⇒ `after` tends to exceed `before` (improvement).\n *\n * Distribution-free counterpart to Cohen's d: no normality assumption, robust\n * to the bounded/skewed score distributions judges produce. Pairs with\n * `pairedBootstrap` / `wilcoxonSignedRank` for the non-parametric reporting\n * path. Returns 0 when either sample is empty.\n */\nexport function cliffsDelta(before: number[], after: number[]): number {\n const n = before.length * after.length\n if (n === 0) return 0\n let dominance = 0\n for (const a of after) {\n for (const b of before) {\n if (a > b) dominance += 1\n else if (a < b) dominance -= 1\n }\n }\n return dominance / n\n}\n\n/**\n * Map a Cliff's delta to a qualitative magnitude using the standard\n * Romano et al. thresholds (|δ|): <0.147 negligible, <0.33 small,\n * <0.474 medium, else large.\n */\nexport function interpretCliffs(delta: number): CliffsMagnitude {\n const d = Math.abs(delta)\n if (d < 0.147) return 'negligible'\n if (d < 0.33) return 'small'\n if (d < 0.474) return 'medium'\n return 'large'\n}\n","/** Matched split scores and paired statistical evidence for report consumers. */\n\nimport { interpolatedQuantile } from './math/quantile'\nimport { pairRunRecords } from './paired-arms'\nimport { observedSplitScore, type ScorePreference } from './rollout/reward'\nimport type { RunRecord } from './run-record'\nimport { pairedBootstrap, pairedMde } from './statistics'\nimport { makeRng } from './statistics/internal'\n\nexport function pairScoresByKey(\n candidate: RunRecord[],\n baseline: RunRecord[],\n split: ScorePreference,\n): {\n before: number[]\n after: number[]\n unpairedCandidateN: number\n unpairedComparatorN: number\n} {\n // RAW, split-exact reads through `observedSplitScore` — the single allowed\n // spelling of the split-score derivation (see rollout/score-derivation-guard).\n const scoreOf = (run: RunRecord): number | undefined => {\n const v = observedSplitScore(run, split)\n return typeof v === 'number' && Number.isFinite(v) ? v : undefined\n }\n const scoredCandidate = candidate.filter((run) => scoreOf(run) !== undefined)\n const scoredBaseline = baseline.filter((run) => scoreOf(run) !== undefined)\n const pairing = pairRunRecords(scoredBaseline, scoredCandidate)\n return {\n before: pairing.pairs.map((pair) => scoreOf(pair.baseline) as number),\n after: pairing.pairs.map((pair) => scoreOf(pair.treatment) as number),\n unpairedCandidateN: pairing.unpairedTreatment.length,\n unpairedComparatorN: pairing.unpairedBaseline.length,\n }\n}\n\n/**\n * Internal: paired posterior summary on (candidate − comparator) deltas.\n *\n * Returns the bootstrap CI on the median (matching `gainHistogram`) plus\n * Bayesian-bootstrap posterior summaries Pr(Δ>0) and Pr(Δ∈ROPE) computed\n * from Dirichlet(1, ..., 1) weights on the observed paired deltas\n * (Rubin 1981), and the\n * minimum detectable paired effect at the configured power and α.\n *\n * `null` is returned when no paired observations exist; callers must\n * gate on `n` before consuming the bootstrap statistics.\n */\nexport function pairedPosterior(\n runs: RunRecord[],\n candidateId: string,\n comparator: string,\n opts: {\n split: 'search' | 'holdout'\n confidence: number\n seed?: number\n rope: { low: number; high: number } | null\n mdePower: number\n mdeAlpha: number\n },\n): {\n n: number\n meanDelta: number\n medianDelta: number\n sdDelta: number\n ci: { low: number; high: number }\n prGreaterThanZero: number\n prInRope: number | null\n mde: number\n} | null {\n const candidate = runs.filter((r) => r.candidateId === candidateId && r.splitTag === opts.split)\n const baseline = runs.filter((r) => r.candidateId === comparator && r.splitTag === opts.split)\n const { before, after } = pairScoresByKey(candidate, baseline, opts.split)\n const n = before.length\n if (n === 0) return null\n\n const deltas = before.map((b, i) => after[i]! - b)\n const meanDelta = deltas.reduce((s, x) => s + x, 0) / n\n const sortedDeltas = [...deltas].sort((a, b) => a - b)\n const medianDelta = interpolatedQuantile(sortedDeltas, 0.5)\n const sdDelta = stdev(deltas, meanDelta)\n\n const ci = pairedBootstrap(before, after, {\n confidence: opts.confidence,\n resamples: 2000,\n statistic: 'median',\n seed: opts.seed,\n })\n\n const meanSamples = bayesianBootstrapMeanSamples(deltas, 2000, opts.seed)\n const prGreaterThanZero =\n meanSamples.length === 0 ? 0 : meanSamples.filter((s) => s > 0).length / meanSamples.length\n const prInRope =\n opts.rope === null || meanSamples.length === 0\n ? null\n : meanSamples.filter((s) => s >= opts.rope!.low && s <= opts.rope!.high).length /\n meanSamples.length\n\n const dStandardised = pairedMde({ nPaired: n, alpha: opts.mdeAlpha, power: opts.mdePower })\n const mde = sdDelta === 0 ? 0 : dStandardised * sdDelta\n\n return {\n n,\n meanDelta,\n medianDelta,\n sdDelta,\n ci: { low: ci.low, high: ci.high },\n prGreaterThanZero,\n prInRope,\n mde,\n }\n}\n\nfunction bayesianBootstrapMeanSamples(\n deltas: number[],\n resamples: number,\n seed?: number,\n): number[] {\n const n = deltas.length\n if (n === 0) return []\n if (n === 1) return new Array<number>(resamples).fill(deltas[0]!)\n const rng = makeRng(seed, deltas)\n const samples = new Array<number>(resamples)\n for (let b = 0; b < resamples; b++) {\n let weightedSum = 0\n let weightSum = 0\n for (let k = 0; k < n; k++) {\n const weight = -Math.log(Math.max(Number.MIN_VALUE, rng()))\n weightedSum += deltas[k]! * weight\n weightSum += weight\n }\n samples[b] = weightedSum / weightSum\n }\n return samples\n}\n\nfunction stdev(xs: number[], mean: number): number {\n if (xs.length < 2) return 0\n let sse = 0\n for (const x of xs) sse += (x - mean) ** 2\n return Math.sqrt(sse / (xs.length - 1))\n}\n","/** Tables and library-independent chart specifications from scored runs. */\n\nimport type { HeldOutGateDecision } from './held-out-gate'\nimport { interpolatedQuantile } from './math/quantile'\nimport { fmt } from './research-report-render'\nimport { observedSplitScore } from './rollout/reward'\nimport type { RunRecord } from './run-record'\nimport {\n benjaminiHochberg,\n confidenceInterval,\n pairedBootstrap,\n pairedCohensDz,\n wilcoxonSignedRank,\n} from './statistics'\nimport { mean as avg } from './statistics/mean'\nimport { pairScoresByKey } from './summary-report-evidence'\n\n// ── summaryTable ───────────────────────────────────────────────────────\n\nexport interface SummaryTableOptions {\n /** Comparator candidate id. Wilcoxon + paired Cohen's dz are computed\n * versus this candidate. Required for paired stats columns. */\n comparator?: string\n /** Which split to read scores from. Default 'holdout'. */\n split?: 'search' | 'holdout'\n /** Confidence level for the bootstrap CI on the mean. Default 0.95. */\n confidence?: number\n /** FDR for BH adjustment of the comparison p-values. Default 0.05. */\n fdr?: number\n}\n\nexport interface SummaryTableRow {\n candidateId: string\n n: number\n mean: number\n ciLow: number\n ciHigh: number\n /** BH-adjusted q-value vs comparator, or null when unavailable. */\n qValue: number | null\n /** Paired Cohen's dz vs comparator, or null when the paired variance is zero. */\n cohensD: number | null\n /** Matched observations used for paired comparison, or null on the comparator row. */\n pairedN: number | null\n /** Candidate observations without a comparator match. */\n unpairedCandidateN: number | null\n /** Comparator observations without a candidate match. */\n unpairedComparatorN: number | null\n}\n\nexport interface SummaryTable {\n rows: SummaryTableRow[]\n comparator: string | null\n split: 'search' | 'holdout'\n /** Pre-rendered markdown — drop into a paper or PR. */\n markdown: string\n}\n\n/**\n * Table 1 helper. Buckets runs by `candidateId`, computes mean +\n * bootstrap CI on the chosen split, and (when a comparator is given)\n * BH-adjusted Wilcoxon p + paired Cohen's dz versus that comparator.\n */\nexport function summaryTable(runs: RunRecord[], opts: SummaryTableOptions = {}): SummaryTable {\n const split = opts.split ?? 'holdout'\n const confidence = opts.confidence ?? 0.95\n const fdr = opts.fdr ?? 0.05\n const comparator = opts.comparator ?? null\n\n const byCandidate = new Map<string, { runs: RunRecord[]; scores: number[] }>()\n for (const r of runs) {\n if (r.splitTag !== split) continue\n // RAW (`observedSplitScore`): every figure in this module reports what the\n // runs scored. Zeroing a gamed run here would erase it from the very table\n // a reviewer reads to notice it, and the split is already filtered above,\n // so the exact-split reader is the right one — no cross-split fallback.\n const v = observedSplitScore(r, split)\n if (typeof v !== 'number' || !Number.isFinite(v)) continue\n const bucket = byCandidate.get(r.candidateId) ?? { runs: [], scores: [] }\n bucket.runs.push(r)\n bucket.scores.push(v)\n byCandidate.set(r.candidateId, bucket)\n }\n\n const candidateIds = [...byCandidate.keys()].sort()\n const compRuns = comparator ? byCandidate.get(comparator) : undefined\n\n // First pass: per-candidate means + CIs + raw p-values.\n const tentative: Array<SummaryTableRow & { rawP: number | null }> = []\n for (const id of candidateIds) {\n const bucket = byCandidate.get(id)!\n const ci = confidenceInterval(bucket.scores, confidence)\n let rawP: number | null = null\n let d: number | null = null\n let pairedN: number | null = null\n let unpairedCandidateN: number | null = null\n let unpairedComparatorN: number | null = null\n if (comparator && compRuns && id !== comparator) {\n const paired = pairScoresByKey(bucket.runs, compRuns.runs, split)\n pairedN = paired.before.length\n unpairedCandidateN = paired.unpairedCandidateN\n unpairedComparatorN = paired.unpairedComparatorN\n if (paired.before.length >= 6) {\n rawP = wilcoxonSignedRank(paired.before, paired.after).p\n }\n d = pairedCohensDz(paired.before, paired.after)\n }\n tentative.push({\n candidateId: id,\n n: bucket.scores.length,\n mean: ci.mean,\n ciLow: ci.lower,\n ciHigh: ci.upper,\n qValue: rawP,\n cohensD: d,\n pairedN,\n unpairedCandidateN,\n unpairedComparatorN,\n rawP,\n })\n }\n\n // BH-adjust across the comparison set (skip NaN rows / the\n // comparator itself). Adjustment is a no-op when there are 0 or 1\n // comparators.\n if (comparator) {\n const idxs: number[] = []\n const ps: number[] = []\n for (let i = 0; i < tentative.length; i++) {\n const r = tentative[i]!\n if (r.candidateId === comparator) continue\n if (r.rawP === null || !Number.isFinite(r.rawP)) continue\n idxs.push(i)\n ps.push(r.rawP)\n }\n if (ps.length > 0) {\n const { qValues } = benjaminiHochberg(ps, fdr)\n for (let k = 0; k < idxs.length; k++) {\n tentative[idxs[k]!]!.qValue = qValues[k]!\n }\n }\n }\n\n const rows = tentative.map(({ rawP: _rawP, ...rest }) => rest)\n const markdown = renderSummaryTableMarkdown(rows, comparator, split)\n return { rows, comparator, split, markdown }\n}\n\nfunction renderSummaryTableMarkdown(\n rows: SummaryTableRow[],\n comparator: string | null,\n split: 'search' | 'holdout',\n): string {\n const lines: string[] = []\n const cmpLabel = comparator ? ` (vs ${comparator})` : ''\n lines.push(`Summary Table — ${split} split${cmpLabel}`)\n lines.push('')\n lines.push(\"| Candidate | N | Pairs | Unpaired | Mean | 95% CI | q (BH) | Cohen's dz |\")\n lines.push('|---|---:|---:|---:|---:|---|---:|---:|')\n for (const r of rows) {\n const ci = `[${fmt(r.ciLow)}, ${fmt(r.ciHigh)}]`\n const q = r.qValue !== null ? r.qValue.toFixed(4) : '—'\n const d = r.cohensD !== null ? r.cohensD.toFixed(3) : '—'\n const paired = r.pairedN ?? '—'\n const unpaired =\n r.unpairedCandidateN === null || r.unpairedComparatorN === null\n ? '—'\n : `${r.unpairedCandidateN}/${r.unpairedComparatorN}`\n lines.push(\n `| ${r.candidateId} | ${r.n} | ${paired} | ${unpaired} | ${fmt(r.mean)} | ${ci} | ${q} | ${d} |`,\n )\n }\n return lines.join('\\n')\n}\n\n// ── paretoChart ─────────────────────────────────────────────────────\n\nexport interface ParetoPoint {\n candidateId: string\n /** Mean USD cost per run on the chosen split. */\n cost: number\n /** Mean score on the chosen split. */\n quality: number\n /** Number of runs that informed this point. */\n n: number\n /** Whether this candidate is on the Pareto frontier — high\n * quality, low cost, no dominator. */\n onFrontier: boolean\n /** Optional gate verdict for this candidate, if a `HeldOutGateDecision`\n * for it was passed in. */\n gate?: 'promote' | 'reject'\n}\n\nexport interface ParetoFigureSpec {\n kind: 'pareto-cost-quality'\n split: 'search' | 'holdout'\n points: ParetoPoint[]\n axes: { x: 'costUsd'; y: 'score' }\n}\n\n/**\n * Cost vs quality scatter spec. `gateDecisions` is keyed by\n * candidate id; if present, every point picks up the gate verdict\n * for overlay.\n */\nexport function paretoChart(\n runs: RunRecord[],\n opts: {\n split?: 'search' | 'holdout'\n gateDecisions?: Record<string, HeldOutGateDecision>\n } = {},\n): ParetoFigureSpec {\n const split = opts.split ?? 'holdout'\n\n const buckets = new Map<string, { cost: number[]; quality: number[] }>()\n for (const r of runs) {\n if (r.splitTag !== split) continue\n const v = observedSplitScore(r, split)\n if (typeof v !== 'number' || !Number.isFinite(v)) continue\n if (r.costUsd === null) continue\n const bucket = buckets.get(r.candidateId) ?? { cost: [], quality: [] }\n bucket.cost.push(r.costUsd)\n bucket.quality.push(v)\n buckets.set(r.candidateId, bucket)\n }\n\n const points: ParetoPoint[] = []\n for (const [candidateId, bucket] of buckets.entries()) {\n points.push({\n candidateId,\n cost: avg(bucket.cost),\n quality: avg(bucket.quality),\n n: bucket.cost.length,\n onFrontier: false,\n gate: opts.gateDecisions?.[candidateId]\n ? gateLabel(opts.gateDecisions[candidateId]!)\n : undefined,\n })\n }\n\n // Pareto: minimize cost, maximize quality. A point is dominated if\n // some other point has lower-or-equal cost AND higher-or-equal\n // quality with strict inequality somewhere.\n for (const p of points) {\n p.onFrontier = !points.some((q) => q !== p && dominates(q, p))\n }\n\n return {\n kind: 'pareto-cost-quality',\n split,\n axes: { x: 'costUsd', y: 'score' },\n points,\n }\n}\n\nfunction dominates(a: ParetoPoint, b: ParetoPoint): boolean {\n return a.cost <= b.cost && a.quality >= b.quality && (a.cost < b.cost || a.quality > b.quality)\n}\n\nexport function gateLabel(d: HeldOutGateDecision): ParetoPoint['gate'] {\n return d.promote ? 'promote' : 'reject'\n}\n\n// ── gainHistogram ───────────────────────────────────────────\n\nexport interface GainDistributionBin {\n /** Inclusive lower edge. */\n lo: number\n /** Exclusive upper edge (or inclusive if it's the last bin). */\n hi: number\n /** Number of pairs whose delta lands in this bin. */\n count: number\n}\n\nexport interface GainDistributionFigureSpec {\n kind: 'gain-distribution'\n candidateId: string\n comparator: string\n split: 'search' | 'holdout'\n /** Number of pairs used. */\n n: number\n /** Candidate rows without a comparator match. */\n unpairedCandidateN: number\n /** Comparator rows without a candidate match. */\n unpairedComparatorN: number\n bins: GainDistributionBin[]\n median: number | null\n ci: { low: number; high: number } | null\n}\n\nexport interface GainDistributionOptions {\n /** Number of histogram bins. Default 11 (so the centre is exact at 0). */\n bins?: number\n /** Which split to use. Default 'holdout'. */\n split?: 'search' | 'holdout'\n /** Confidence level for the CI. Default 0.95. */\n confidence?: number\n /** Bootstrap resamples. Default 2000. */\n resamples?: number\n /** Deterministic seed. */\n seed?: number\n}\n\n/**\n * Held-out improvement distribution: per-pair delta (candidate −\n * comparator), histogrammed. Includes the bootstrap CI on the median\n * delta — same primitive the promotion gate uses.\n */\nexport function gainHistogram(\n runs: RunRecord[],\n candidateId: string,\n comparator: string,\n opts: GainDistributionOptions = {},\n): GainDistributionFigureSpec {\n const split = opts.split ?? 'holdout'\n const binCount = opts.bins ?? 11\n if (binCount < 1) throw new Error('gainHistogram: bins must be ≥ 1')\n\n const candidate = runs.filter((r) => r.candidateId === candidateId && r.splitTag === split)\n const baseline = runs.filter((r) => r.candidateId === comparator && r.splitTag === split)\n // pairScoresByKey returns before=baseline-score, after=candidate-score\n // for each canonical work-identity pair where both sides recorded a\n // valid score on this split. delta = after - before = candidate - baseline.\n const { before, after, unpairedCandidateN, unpairedComparatorN } = pairScoresByKey(\n candidate,\n baseline,\n split,\n )\n const n = before.length\n\n if (n === 0) {\n return {\n kind: 'gain-distribution',\n candidateId,\n comparator,\n split,\n n: 0,\n unpairedCandidateN,\n unpairedComparatorN,\n bins: [],\n median: null,\n ci: null,\n }\n }\n\n const deltas = before.map((b, i) => after[i]! - b)\n const sortedDeltas = [...deltas].sort((a, b) => a - b)\n const median = interpolatedQuantile(sortedDeltas, 0.5)\n const min = sortedDeltas[0]!\n const max = sortedDeltas[sortedDeltas.length - 1]!\n\n // Symmetric bins around the wider of (|min|, |max|) so the chart\n // visually centres on zero without dropping outliers.\n const bound = Math.max(Math.abs(min), Math.abs(max), 1e-6)\n const lo = -bound\n const hi = bound\n const width = (hi - lo) / binCount\n const bins: GainDistributionBin[] = []\n for (let i = 0; i < binCount; i++) {\n bins.push({ lo: lo + i * width, hi: lo + (i + 1) * width, count: 0 })\n }\n for (const d of deltas) {\n let idx = Math.floor((d - lo) / width)\n if (idx < 0) idx = 0\n if (idx >= binCount) idx = binCount - 1\n bins[idx]!.count += 1\n }\n\n const ci = pairedBootstrap(before, after, {\n confidence: opts.confidence ?? 0.95,\n resamples: opts.resamples ?? 2000,\n statistic: 'median',\n seed: opts.seed,\n })\n\n return {\n kind: 'gain-distribution',\n candidateId,\n comparator,\n split,\n n,\n unpairedCandidateN,\n unpairedComparatorN,\n bins,\n median,\n ci: { low: ci.low, high: ci.high },\n }\n}\n","/** Assemble research report evidence, guidance, figures, and rendered documents. */\n\nimport type { HeldOutGateDecision } from './held-out-gate'\nimport type { FailureClusterReport } from './pipelines/failure-cluster'\nimport { hashJson } from './pre-registration'\nimport { renderResearchHtml } from './reporting-html'\nimport {\n buildExecutiveSummary,\n buildMethodology,\n buildRecommendation,\n classifyCandidate,\n decisionWeight,\n RESEARCH_REPORT_HARD_PAIR_FLOOR,\n} from './research-report-analysis'\nimport { renderResearchMarkdown } from './research-report-render'\nimport type { RunRecord } from './run-record'\nimport { pairedPosterior } from './summary-report-evidence'\nimport {\n type GainDistributionFigureSpec,\n gainHistogram,\n gateLabel,\n type ParetoFigureSpec,\n type ParetoPoint,\n paretoChart,\n type SummaryTable,\n summaryTable,\n} from './summary-report-figures'\n\nexport { RESEARCH_REPORT_HARD_PAIR_FLOOR } from './research-report-analysis'\n\nexport type ResearchReportDecision =\n | 'promote'\n | 'hold'\n | 'reject'\n | 'equivalent'\n | 'needs_more_data'\n\nexport interface ResearchReportOptions {\n /** Human-readable report title. */\n title?: string\n /** Comparator candidate id. Required for statistical decision guidance. */\n comparator?: string\n /** Which split to use for the primary decision. Default 'holdout'. */\n split?: 'search' | 'holdout'\n /** Confidence level used by lower-level report helpers. Default 0.95. */\n confidence?: number\n /** FDR threshold for q-values. Default 0.05. */\n fdr?: number\n /**\n * Soft floor on paired observations before issuing a directional\n * promote / reject. Below this we report `needs_more_data` and surface the\n * minimum detectable effect at the current N. Default 20 — chosen so the\n * Wilcoxon signed-rank approximation is reasonable and so the paired\n * bootstrap CI has non-degenerate coverage. Hard floor is enforced at\n * `RESEARCH_REPORT_HARD_PAIR_FLOOR` (6) regardless of this value.\n */\n minPairs?: number\n /**\n * Region of Practical Equivalence on the paired delta. When a candidate's\n * paired-delta CI is fully contained in `[low, high]`, the decision is\n * `equivalent` rather than `hold`. Sourced from the domain owner — there is\n * no statistically-defensible default.\n */\n rope?: { low: number; high: number }\n /**\n * Power for the minimum detectable effect (MDE) reported on each candidate.\n * Default 0.8.\n */\n mdePower?: number\n /**\n * Two-sided alpha for the MDE. Default matches `fdr` so the reported MDE\n * lines up with the test the report actually runs.\n */\n mdeAlpha?: number\n /** Optional held-out gate decisions keyed by candidate id. */\n gateDecisions?: Record<string, HeldOutGateDecision>\n /** Optional failure clusters from failureClusterView. */\n failureClusters?: FailureClusterReport\n /** Build gain histograms for these candidates. Defaults to all non-comparator candidates. */\n candidateIds?: string[]\n /** Deterministic bootstrap seed passed to gainHistogram and the posterior helper. */\n seed?: number\n /** Report timestamp. Defaults to current time. */\n generatedAt?: string\n /**\n * Hash of a preregistered protocol (e.g. `signManifest({...}).contentHash`).\n * Embedded verbatim in the report so the analysis can be cited as the\n * preregistered one rather than a post-hoc fishing expedition.\n */\n preregistrationHash?: string\n}\n\nexport interface ResearchReportRecommendation {\n decision: ResearchReportDecision\n candidateId: string | null\n rationale: string[]\n risks: string[]\n nextActions: string[]\n}\n\nexport interface ResearchReportCandidate {\n candidateId: string\n n: number\n mean: number\n ciLow: number\n ciHigh: number\n qValue: number | null\n cohensD: number | null\n meanDeltaVsComparator: number | null\n pairedN: number\n medianGain: number | null\n meanGain: number | null\n gainCi: { low: number; high: number } | null\n /**\n * Bayesian-bootstrap posterior summaries on the paired mean delta.\n * Dirichlet(1, ..., 1) weights represent uncertainty over the empirical\n * distribution of matched deltas.\n */\n prGreaterThanZero: number | null\n prInRope: number | null\n /**\n * Minimum detectable effect (in score units) at the candidate's paired N,\n * the configured power, and the configured alpha. Standardised by the\n * observed paired-delta SD and inverted via `requiredSampleSize`. Reported\n * for every candidate so a `needs_more_data` verdict is actionable.\n */\n mde: number | null\n onParetoFrontier: boolean\n gate?: ParetoPoint['gate']\n decision: ResearchReportDecision\n decisionReason: string\n}\n\nexport interface ResearchReportMethodology {\n /**\n * Plain-language assumptions the report depends on. Read these first when\n * deciding whether the verdict is load-bearing for a launch decision.\n */\n assumptions: string[]\n /** Tests and estimators the verdict was computed from. */\n methods: string[]\n /** Alternatives the author considered and why this report didn't take them. */\n alternatives: string[]\n /** Failure modes — when this report should NOT drive a decision. */\n whenNotToApply: string[]\n /** Citations for the methodological choices above. */\n citations: string[]\n}\n\nexport interface ResearchReport {\n kind: 'agent-eval-research-report'\n title: string\n generatedAt: string\n split: 'search' | 'holdout'\n comparator: string | null\n /**\n * SHA-256 over the canonicalised set of `(runId, candidateId, split)` triples\n * the report was computed from, plus the comparator and split. Stable across\n * key insertion order; recomputable by the reader to verify provenance.\n */\n runFingerprint: string\n preregistrationHash: string | null\n rope: { low: number; high: number } | null\n executiveSummary: string[]\n recommendation: ResearchReportRecommendation\n candidates: ResearchReportCandidate[]\n summary: SummaryTable\n charts: {\n pareto: ParetoFigureSpec\n gains: GainDistributionFigureSpec[]\n }\n methodology: ResearchReportMethodology\n failureClusters?: FailureClusterReport\n markdown: string\n html: string\n}\n\n/**\n * Executive research report for CPO / AI-lead / launch-review consumption.\n *\n * Composes:\n * - `summaryTable` marginal stats with BH-FDR-adjusted q-values\n * - `paretoChart` cost-vs-quality frontier with gate overlay\n * - `gainHistogram` per-candidate paired-delta distribution\n * - paired posterior (this file): bootstrap CI on median, Bayesian-bootstrap Pr(Δ>0),\n * Pr(Δ∈ROPE), MDE at the configured power\n *\n * Decisions are made on paired evidence — never on marginal means alone —\n * and respect any held-out gate decision the caller passes through. The\n * report embeds a SHA-256 fingerprint of the input run set and, optionally,\n * the hash of a preregistered protocol so a downstream reader can verify\n * provenance and that the analysis was the preregistered one.\n *\n * Async because the fingerprint uses Web Crypto via `hashJson`; deterministic\n * for any fixed `runs`, `seed`, and ROPE.\n */\nexport async function researchReport(\n runs: RunRecord[],\n opts: ResearchReportOptions = {},\n): Promise<ResearchReport> {\n const split = opts.split ?? 'holdout'\n const comparator = opts.comparator ?? null\n const confidence = opts.confidence ?? 0.95\n const fdr = opts.fdr ?? 0.05\n const minPairs = Math.max(opts.minPairs ?? 20, RESEARCH_REPORT_HARD_PAIR_FLOOR)\n const rope = opts.rope ?? null\n const mdePower = opts.mdePower ?? 0.8\n const mdeAlpha = opts.mdeAlpha ?? fdr\n const title = opts.title ?? 'Agent Evaluation Research Report'\n const generatedAt = opts.generatedAt ?? new Date().toISOString()\n const preregistrationHash = opts.preregistrationHash ?? null\n\n if (rope && !(Number.isFinite(rope.low) && Number.isFinite(rope.high) && rope.low <= rope.high)) {\n throw new Error(\n `researchReport: rope must satisfy low ≤ high with finite bounds, got ${JSON.stringify(rope)}`,\n )\n }\n\n const summary = summaryTable(runs, {\n comparator: comparator ?? undefined,\n split,\n confidence,\n fdr,\n })\n const pareto = paretoChart(runs, { split, gateDecisions: opts.gateDecisions })\n const candidateIds =\n opts.candidateIds ?? summary.rows.map((r) => r.candidateId).filter((id) => id !== comparator)\n const gains = comparator\n ? candidateIds.map((id) =>\n gainHistogram(runs, id, comparator, {\n split,\n confidence,\n seed: opts.seed,\n }),\n )\n : []\n\n const gainByCandidate = new Map(gains.map((g) => [g.candidateId, g]))\n const paretoByCandidate = new Map(pareto.points.map((p) => [p.candidateId, p]))\n const posteriorByCandidate = new Map<string, ReturnType<typeof pairedPosterior>>()\n if (comparator) {\n for (const id of candidateIds) {\n posteriorByCandidate.set(\n id,\n pairedPosterior(runs, id, comparator, {\n split,\n confidence,\n seed: opts.seed,\n rope,\n mdePower,\n mdeAlpha,\n }),\n )\n }\n }\n\n const candidates = summary.rows\n .map((row) => {\n const gain = gainByCandidate.get(row.candidateId)\n const point = paretoByCandidate.get(row.candidateId)\n const posterior = posteriorByCandidate.get(row.candidateId) ?? null\n const gateDecision = opts.gateDecisions?.[row.candidateId]\n const classified = classifyCandidate(row, {\n comparator,\n posterior,\n point,\n gateDecision,\n split,\n fdr,\n minPairs,\n rope,\n })\n return {\n candidateId: row.candidateId,\n n: row.n,\n mean: row.mean,\n ciLow: row.ciLow,\n ciHigh: row.ciHigh,\n qValue: row.qValue,\n cohensD: row.cohensD,\n meanDeltaVsComparator: posterior ? posterior.meanDelta : null,\n pairedN: posterior?.n ?? gain?.n ?? 0,\n medianGain: posterior ? posterior.medianDelta : gain ? gain.median : null,\n meanGain: posterior ? posterior.meanDelta : null,\n gainCi: posterior ? posterior.ci : gain ? gain.ci : null,\n prGreaterThanZero: posterior ? posterior.prGreaterThanZero : null,\n prInRope: posterior ? posterior.prInRope : null,\n mde: posterior ? posterior.mde : null,\n onParetoFrontier: point?.onFrontier ?? false,\n gate: gateDecision ? gateLabel(gateDecision) : undefined,\n decision: classified.decision,\n decisionReason: classified.reason,\n } satisfies ResearchReportCandidate\n })\n .sort((a, b) => {\n const decisionRank = decisionWeight(b.decision) - decisionWeight(a.decision)\n if (decisionRank !== 0) return decisionRank\n return b.mean - a.mean\n })\n\n const recommendation = buildRecommendation(candidates, {\n comparator,\n failureClusters: opts.failureClusters,\n rope,\n minPairs,\n preregistrationHash,\n })\n const executiveSummary = buildExecutiveSummary(candidates, recommendation, {\n comparator,\n split,\n failureClusters: opts.failureClusters,\n preregistrationHash,\n })\n const methodology = buildMethodology({\n split,\n comparator,\n fdr,\n minPairs,\n rope,\n confidence,\n mdePower,\n mdeAlpha,\n })\n\n const runFingerprint = await hashJson({\n triples: runs\n .filter((r) => r.splitTag === split)\n .map((r) => ({ runId: r.runId, candidateId: r.candidateId, splitTag: r.splitTag }))\n .sort((a, b) => a.runId.localeCompare(b.runId)),\n comparator,\n split,\n })\n\n const markdown = renderResearchMarkdown({\n title,\n generatedAt,\n split,\n comparator,\n rope,\n runFingerprint,\n preregistrationHash,\n executiveSummary,\n recommendation,\n candidates,\n summary,\n pareto,\n gains,\n methodology,\n failureClusters: opts.failureClusters,\n })\n const html = renderResearchHtml(markdown, title)\n\n return {\n kind: 'agent-eval-research-report',\n title,\n generatedAt,\n split,\n comparator,\n runFingerprint,\n preregistrationHash,\n rope,\n executiveSummary,\n recommendation,\n candidates,\n summary,\n charts: { pareto, gains },\n methodology,\n failureClusters: opts.failureClusters,\n markdown,\n html,\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import { b as RolloutSplit } from "../schema-
|
|
2
|
-
import { A as WorkerTurnCoverage, C as SupervisorRunTreeGapCode, D as WallDistribution, E as Unavailable, M as showMeasured, N as unavailable, O as WorkerLogSource, S as SupervisorRunTreeGap, T as TerminalFailure, _ as SupervisorRunReader, a as OrchestrationMetrics, b as SupervisorRunSources, c as PerWorkerRow, d as RollupCellRow, f as SourceLimits, g as SupervisorRunNodeRole, h as SteerBreakdown, i as NamedResourceReceipt, j as isUnavailable, k as WorkerNativeSession, l as ResourceSpendRecord, m as SpendMeasurements, n as EconomicsMetrics, o as OutcomeMetrics, p as SpendMeasurement, r as Measured, s as PatchStats, t as DecisionMetrics, u as RoleSpend, v as SupervisorRunReport, w as SupervisorStatusSource, x as SupervisorRunTree, y as SupervisorRunRollup } from "../types-
|
|
3
|
-
//#region src/supervisor-run/analyze.d.ts
|
|
1
|
+
import { b as RolloutSplit, h as RolloutLine } from "../schema-DkFJr3Y8.js";
|
|
2
|
+
import { A as WorkerTurnCoverage, C as SupervisorRunTreeGapCode, D as WallDistribution, E as Unavailable, M as showMeasured, N as unavailable, O as WorkerLogSource, S as SupervisorRunTreeGap, T as TerminalFailure, _ as SupervisorRunReader, a as OrchestrationMetrics, b as SupervisorRunSources, c as PerWorkerRow, d as RollupCellRow, f as SourceLimits, g as SupervisorRunNodeRole, h as SteerBreakdown, i as NamedResourceReceipt, j as isUnavailable, k as WorkerNativeSession, l as ResourceSpendRecord, m as SpendMeasurements, n as EconomicsMetrics, o as OutcomeMetrics, p as SpendMeasurement, r as Measured, s as PatchStats, t as DecisionMetrics, u as RoleSpend, v as SupervisorRunReport, w as SupervisorStatusSource, x as SupervisorRunTree, y as SupervisorRunRollup } from "../types-C-aOqgt2.js";
|
|
4
3
|
/**
|
|
5
4
|
* Analyze already-read supervisor-run bytes. Pure and synchronous: same bytes
|
|
6
5
|
* in, same report out (modulo `generatedAt`, which `now` pins in tests).
|
|
7
6
|
*/
|
|
8
7
|
export declare function analyzeSupervisorRunSources(src: SupervisorRunSources, now?: () => number): SupervisorRunReport;
|
|
9
|
-
//#endregion
|
|
10
|
-
//#region src/supervisor-run/claude-code-reader.d.ts
|
|
11
8
|
/**
|
|
12
9
|
* Supervision-tree reader over a THIRD-PARTY harness: Claude Code.
|
|
13
10
|
*
|
|
@@ -81,8 +78,33 @@ interface ClaudeCodeReaderOptions {
|
|
|
81
78
|
readonly steerTools?: readonly string[];
|
|
82
79
|
readonly cancelTools?: readonly string[];
|
|
83
80
|
}
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
/** A run's pursuit: its directory name without the `-YYYYMMDD<letter>` date suffix. */
|
|
82
|
+
export declare function discoveryPursuitOf(runDir: string): string;
|
|
83
|
+
interface PlayCheckReward {
|
|
84
|
+
reward: number;
|
|
85
|
+
at: string;
|
|
86
|
+
commit: string | null;
|
|
87
|
+
detail: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The newest play-check row whose verdict is known. A staged check
|
|
91
|
+
* (`SCORE {"reached": r, "of": n}`) that is not solved failed at stage r, so it
|
|
92
|
+
* passed r − 1 of n: Discovery's own `stagesPassed` (runner/calibration.mjs).
|
|
93
|
+
* Only the SCORE line itself is parsed; the check prints more lines after it.
|
|
94
|
+
*/
|
|
95
|
+
export declare function discoveryPlayCheckReward(runDir: string): Promise<PlayCheckReward | null>;
|
|
96
|
+
interface DiscoveryRunRollouts {
|
|
97
|
+
runDir: string;
|
|
98
|
+
pursuit: string;
|
|
99
|
+
lines: RolloutLine[];
|
|
100
|
+
gaps: SupervisorRunTreeGap[];
|
|
101
|
+
/** Discovery facts this read could not recover, one sentence each. */
|
|
102
|
+
notes: string[];
|
|
103
|
+
}
|
|
104
|
+
/** Read one Discovery run directory into rollout rows. */
|
|
105
|
+
export declare function discoveryRunRolloutLines(runDir: string, options?: {
|
|
106
|
+
capturedAt?: string;
|
|
107
|
+
}): Promise<DiscoveryRunRollouts>;
|
|
86
108
|
export declare const SUPERVISOR_RUN_INTEGRITY_SCHEMA = "tangle.supervisor-run-integrity@1";
|
|
87
109
|
type SupervisorRunIntegritySeverity = 'critical' | 'high' | 'medium' | 'low' | 'info';
|
|
88
110
|
type SupervisorRunSourceOnlyCheckCode = 'journal-event-cardinality' | 'worker-control-join' | 'steer-ack-correlation';
|
|
@@ -113,19 +135,13 @@ interface SupervisorRunIntegrityOptions {
|
|
|
113
135
|
/** Pins rollout provenance when source input must be projected into a tree. */
|
|
114
136
|
readonly capturedAt?: string;
|
|
115
137
|
}
|
|
116
|
-
//#endregion
|
|
117
|
-
//#region src/supervisor-run/integrity.d.ts
|
|
118
138
|
/**
|
|
119
139
|
* Run deterministic integrity checks over source bytes or an already minted tree.
|
|
120
140
|
* Source input is parsed exactly once and reused by projection and source-only checks.
|
|
121
141
|
*/
|
|
122
142
|
export declare function analyzeSupervisorRunIntegrity(input: SupervisorRunSources | SupervisorRunTree, options?: SupervisorRunIntegrityOptions): SupervisorRunIntegrityReport;
|
|
123
|
-
//#endregion
|
|
124
|
-
//#region src/supervisor-run/patch-stats.d.ts
|
|
125
143
|
/** Unified-diff stats. Counts `+++ b/<path>` targets, body +/- lines, and test-file touches. */
|
|
126
144
|
export declare function parsePatch(text: string): PatchStats;
|
|
127
|
-
//#endregion
|
|
128
|
-
//#region src/supervisor-run/reader.d.ts
|
|
129
145
|
/**
|
|
130
146
|
* Analyze a supervisor run. Accepts a Runtime run directory, any
|
|
131
147
|
* `SupervisorRunReader`, or already-read source bytes — so a
|
|
@@ -151,8 +167,6 @@ interface WriteSupervisorRunOptions {
|
|
|
151
167
|
* a single report from a parent-directory rollup.
|
|
152
168
|
*/
|
|
153
169
|
export declare function findSupervisorRunDirs(root: string): Promise<string[]>;
|
|
154
|
-
//#endregion
|
|
155
|
-
//#region src/supervisor-run/render.d.ts
|
|
156
170
|
/**
|
|
157
171
|
* The block appended to a run log after every run — the answers an operator asks
|
|
158
172
|
* for, in the log tail, with no extra command.
|
|
@@ -160,8 +174,6 @@ export declare function findSupervisorRunDirs(root: string): Promise<string[]>;
|
|
|
160
174
|
export declare function renderSupervisorRunHeadline(r: SupervisorRunReport): string;
|
|
161
175
|
export declare function renderSupervisorRunMarkdown(r: SupervisorRunReport): string;
|
|
162
176
|
export declare function renderSupervisorRollupMarkdown(rollup: SupervisorRunRollup, title?: string): string;
|
|
163
|
-
//#endregion
|
|
164
|
-
//#region src/supervisor-run/report-command.d.ts
|
|
165
177
|
/**
|
|
166
178
|
* `agent-eval supervisor-run report <runDir>` takes one run directory and
|
|
167
179
|
* prints the report the module already renders. The command reads through
|
|
@@ -178,8 +190,6 @@ interface SupervisorRunCommandIo {
|
|
|
178
190
|
readonly stdout: (text: string) => void;
|
|
179
191
|
readonly stderr: (text: string) => void;
|
|
180
192
|
}
|
|
181
|
-
//#endregion
|
|
182
|
-
//#region src/supervisor-run/source-facts.d.ts
|
|
183
193
|
interface Tokens {
|
|
184
194
|
input: number;
|
|
185
195
|
output: number;
|
|
@@ -390,8 +400,6 @@ interface SupervisorTreeFacts {
|
|
|
390
400
|
*/
|
|
391
401
|
type SupervisorJournalDialect = 'none' | 'flat' | 'runtime-envelope' | 'mixed';
|
|
392
402
|
export declare function parseSupervisorTree(src: SupervisorRunSources): SupervisorTreeFacts;
|
|
393
|
-
//#endregion
|
|
394
|
-
//#region src/supervisor-run/rollout-nodes.d.ts
|
|
395
403
|
interface SupervisorRolloutOptions {
|
|
396
404
|
/** Benchmark/suite id for `task.suite`. Defaults to `'supervisor-run'`. */
|
|
397
405
|
readonly suite?: string;
|
|
@@ -424,16 +432,12 @@ interface SupervisorRolloutOptions {
|
|
|
424
432
|
* the report: a row with no transcript says WHY, it never pretends to be empty.
|
|
425
433
|
*/
|
|
426
434
|
export declare function supervisorRunRolloutLines(src: SupervisorRunSources, opts?: SupervisorRolloutOptions): SupervisorRunTree;
|
|
427
|
-
//#endregion
|
|
428
|
-
//#region src/supervisor-run/rollup.d.ts
|
|
429
435
|
/**
|
|
430
436
|
* Aggregate many supervisor-run reports. A metric no run could measure stays
|
|
431
437
|
* `unavailable` rather than becoming a 0-valued mean, and cells whose steer
|
|
432
438
|
* count was unavailable are counted separately from cells that measured zero.
|
|
433
439
|
*/
|
|
434
440
|
export declare function rollupSupervisorRuns(reports: readonly SupervisorRunReport[]): SupervisorRunRollup;
|
|
435
|
-
//#endregion
|
|
436
|
-
//#region src/supervisor-run/runtime-reader.d.ts
|
|
437
441
|
interface RuntimeReaderOptions {
|
|
438
442
|
/**
|
|
439
443
|
* Throw on a missing spawn journal instead of returning absent-shaped
|
|
@@ -466,8 +470,6 @@ export declare function readRuntimeSupervisorRun(runDir: string, opts?: RuntimeR
|
|
|
466
470
|
* threw before its first spawn has no journal yet and is still a Runtime run.
|
|
467
471
|
*/
|
|
468
472
|
export declare function isRuntimeSupervisorRunDir(runDir: string): Promise<boolean>;
|
|
469
|
-
//#endregion
|
|
470
|
-
//#region src/supervisor-run/terminal-record.d.ts
|
|
471
473
|
/** The reason every terminal field reads `unavailable` when no store wrote one. */
|
|
472
474
|
export declare const NO_TERMINAL_RECORD = "no terminal record: Runtime result.json kind or Runtime failure.json";
|
|
473
475
|
/** The status reported for a run whose directory holds Runtime's failure record and no result. */
|
|
@@ -500,6 +502,5 @@ interface TerminalRecord {
|
|
|
500
502
|
readonly completed: boolean | null;
|
|
501
503
|
}
|
|
502
504
|
export declare function readTerminalRecord(input: TerminalRecordInput): TerminalRecord;
|
|
503
|
-
|
|
504
|
-
export { type ClaudeCodeReaderOptions, type CloseRow, type DecisionMetrics, type EconomicsMetrics, type Measured, type NamedResourceReceipt, type OrchestrationMetrics, type OutcomeMetrics, type PatchStats, type PerWorkerRow, type ResourceSpendRecord, type RoleSpend, type RollupCellRow, type RuntimeReaderOptions, type SourceLimits, type SpawnRow, type SpendMeasurement, type SpendMeasurements, type SteerAcknowledgementFact, type SteerBreakdown, type SteerRequestFact, type SupervisorJournalDialect, type SupervisorRolloutOptions, type SupervisorRunCommandIo, type SupervisorRunIntegrityEvidence, type SupervisorRunIntegrityIssue, type SupervisorRunIntegrityIssueCode, type SupervisorRunIntegrityOptions, type SupervisorRunIntegrityReport, type SupervisorRunIntegritySeverity, type SupervisorRunNodeRole, type SupervisorRunReader, type SupervisorRunReport, type SupervisorRunReportFormat, type SupervisorRunRollup, type SupervisorRunSourceOnlyCheckCode, type SupervisorRunSources, type SupervisorRunTree, type SupervisorRunTreeGap, type SupervisorRunTreeGapCode, type SupervisorStatusSource, type SupervisorTreeFacts, type TerminalFailure, type TerminalRecord, type TerminalRecordInput, type Unavailable, type WallDistribution, type WorkerLogFacts, type WorkerLogSource, type WorkerNativeSession, type WorkerTurnCoverage, type WriteSupervisorRunOptions, isUnavailable, showMeasured, unavailable };
|
|
505
|
+
export { type ClaudeCodeReaderOptions, type CloseRow, type DecisionMetrics, type DiscoveryRunRollouts, type EconomicsMetrics, type Measured, type NamedResourceReceipt, type OrchestrationMetrics, type OutcomeMetrics, type PatchStats, type PerWorkerRow, type PlayCheckReward, type ResourceSpendRecord, type RoleSpend, type RollupCellRow, type RuntimeReaderOptions, type SourceLimits, type SpawnRow, type SpendMeasurement, type SpendMeasurements, type SteerAcknowledgementFact, type SteerBreakdown, type SteerRequestFact, type SupervisorJournalDialect, type SupervisorRolloutOptions, type SupervisorRunCommandIo, type SupervisorRunIntegrityEvidence, type SupervisorRunIntegrityIssue, type SupervisorRunIntegrityIssueCode, type SupervisorRunIntegrityOptions, type SupervisorRunIntegrityReport, type SupervisorRunIntegritySeverity, type SupervisorRunNodeRole, type SupervisorRunReader, type SupervisorRunReport, type SupervisorRunReportFormat, type SupervisorRunRollup, type SupervisorRunSourceOnlyCheckCode, type SupervisorRunSources, type SupervisorRunTree, type SupervisorRunTreeGap, type SupervisorRunTreeGapCode, type SupervisorStatusSource, type SupervisorTreeFacts, type TerminalFailure, type TerminalRecord, type TerminalRecordInput, type Unavailable, type WallDistribution, type WorkerLogFacts, type WorkerLogSource, type WorkerNativeSession, type WorkerTurnCoverage, type WriteSupervisorRunOptions, isUnavailable, showMeasured, unavailable };
|
|
505
506
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/supervisor-run/analyze.ts","../../src/supervisor-run/claude-code-reader.ts","../../src/supervisor-run/integrity-types.ts","../../src/supervisor-run/integrity.ts","../../src/supervisor-run/patch-stats.ts","../../src/supervisor-run/reader.ts","../../src/supervisor-run/render.ts","../../src/supervisor-run/report-command.ts","../../src/supervisor-run/source-facts.ts","../../src/supervisor-run/rollout-nodes.ts","../../src/supervisor-run/rollup.ts","../../src/supervisor-run/runtime-reader.ts","../../src/supervisor-run/terminal-record.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/supervisor-run/analyze.ts","../../src/supervisor-run/claude-code-reader.ts","../../src/supervisor-run/discovery-rollouts.ts","../../src/supervisor-run/integrity-types.ts","../../src/supervisor-run/integrity.ts","../../src/supervisor-run/patch-stats.ts","../../src/supervisor-run/reader.ts","../../src/supervisor-run/render.ts","../../src/supervisor-run/report-command.ts","../../src/supervisor-run/source-facts.ts","../../src/supervisor-run/rollout-nodes.ts","../../src/supervisor-run/rollup.ts","../../src/supervisor-run/runtime-reader.ts","../../src/supervisor-run/terminal-record.ts"],"mappings":";;;;;;wBAuCgB,4BACd,KAAK,sBACL,qBACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCgCc;;WAEN;;;;;WAKA;WACA;WACA;WACA;WACA;WACA;WACA;;;wBCpDK,mBAAmB;UAoFlB;EACf;EACA;EACA;EACA;;;;;;;;wBASoB,yBAAyB,iBAAiB,QAAQ;UA8EvD;EACf;EACA;EACA,OAAO;EACP,MAAM;;EAEN;;;wBAIoB,yBACpB,gBACA;EAAW;IACV,QAAQ;qBC7NE;KAED;KAEA;KAKA;UAqCK;WACN;WACA;;UAGM;WACN,MAAM;WACN;WACA,UAAU;WACV;WACA;WACA;WACA,mBAAmB;WACnB;WACA,WAAW,SAAS;;UAGd;WACN,eAAe;WACf;WACA;WACA,MAAM;WACN,iBAAiB;;UAGX;;WAEN;;;;;;wBC9BK,8BACd,OAAO,uBAAuB,mBAC9B,UAAS,gCACR;;wBC5Ca,WAAW,eAAe;;;;;;wBCgBpB,qBACpB,gBAAgB,sBAAsB,uBACrC,QAAQ;UAYM;;WAEN;;WAEA;;;;;;WAMA;;;;;;;;wBAeW,sBAAsB,eAAe;;;;;wBCtC3C,4BAA4B,GAAG;wBA8E/B,4BAA4B,GAAG;wBAsL/B,+BACd,QAAQ,qBACR;;;;;;;;;;;KCzQU;;UAQK;WACN,SAAS;WACT,SAAS;;UCIV;EACR;EACA;EACA;EACA;;EAEA;;;;;;EAMA;;UAGQ;WACC,YAAY,kBAAkB;EACvC,QAAQ;;;;;;EAMR;EACA;;;;;;EAMA;;UA6Ge;;EAEf;EACA;EACA;EACA;;EAEA,MAAM;;EAEN;;EAEA;EACA;;EAEA;EACA;;UAGe;EACf;EACA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;EACA;EACA,OAAO;;EAEP;;UAGe;;EAEf;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;;EAEA;;EAEA;EACA;;EAEA;;EAEA;EACA;EACA;EACA;EACA,eAAe;EACf,uBAAuB;;UAGR;;EAEf;EACA;;UAGe;;EAEf;;EAEA;EACA;;;;;;UAOe;WACN,2BAA2B;WAC3B;WACA,iBAAiB;WACjB,iBAAiB;WACjB,uBAAuB;WACvB,uBAAuB;WACvB;;;;;;;IAOP;IACA;IACA;IACA;;IAEA;;IAEA;;IAEA;IACA;;IAEA;;IAEA;IACA;;IAEA;;WAEO,YAAY,oBAAoB;;WAEhC,wBAAwB;;WAExB;;;;;;;;;WASA;;WAEA;;;;;;WAMA,0BAA0B,SAAS;;;;;;;;WAQnC;;WAEA,gBAAgB;;WAEhB,OAAO;WACP;WACA;;;;;;WAMA;WACA;;;;;;;;;;;;;;;;;;KAmDC;wBAmdI,oBAAoB,KAAK,uBAAuB;UCryB/C;;WAEN;;WAEA,QAAQ;;WAER;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;;WAEA;;;;;;;wBAwBK,0BACd,KAAK,sBACL,OAAM,2BACL;;;;;;wBCzFa,qBAAqB,kBAAkB,wBAAwB;UC6rB9D;;;;;;WAMN;;;;;;;;;;;;;;;;;;;wBA0EW,yBACpB,gBACA,OAAM,uBACL,QAAQ;;;;;;wBAwFW,0BAA0B,iBAAiB;;qBC71BpD;;qBAIA;UAEI;;WAEN,OAAO;;WAEP,QAAQ;;;;;WAKR,SAAS;;UAGH;WACN,WAAW;WACX,iBAAiB,SAAS;;;;;WAK1B,WAAW;;WAEX,SAAS,SAAS;;;;;WAKlB;;wBAmBK,mBAAmB,OAAO,sBAAsB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as roundDecimal } from "../round-decimal-
|
|
2
|
-
import { n as
|
|
3
|
-
import {
|
|
4
|
-
import { a as findSupervisorRunDirs, c as analyzeSupervisorRunSources, i as analyzeSupervisorRun, l as
|
|
5
|
-
|
|
1
|
+
import { t as roundDecimal } from "../round-decimal-ZmjAQPo1.js";
|
|
2
|
+
import { n as SUPERVISOR_RUN_INTEGRITY_SCHEMA, t as analyzeSupervisorRunIntegrity } from "../integrity-B1V6klyO.js";
|
|
3
|
+
import { _ as showMeasured, a as readTerminalRecord, g as isUnavailable, i as RUNTIME_FAILED_STATUS, m as SUPERVISOR_RUN_ROLLUP_SCHEMA, r as NO_TERMINAL_RECORD, t as supervisorRunRolloutLines, u as parseSupervisorTree, v as unavailable } from "../rollout-nodes-BHR9Q5jP.js";
|
|
4
|
+
import { a as findSupervisorRunDirs, c as discoveryRunRolloutLines, d as analyzeSupervisorRunSources, f as parsePatch, i as analyzeSupervisorRun, l as isRuntimeSupervisorRunDir, n as renderSupervisorRunHeadline, o as discoveryPlayCheckReward, r as renderSupervisorRunMarkdown, s as discoveryPursuitOf, t as renderSupervisorRollupMarkdown, u as readRuntimeSupervisorRun } from "../render-pfAZ7IR4.js";
|
|
5
|
+
// src/supervisor-run/rollup.ts
|
|
6
6
|
/** Aggregate supervisor reports while retaining missing-measurement denominators. */
|
|
7
7
|
/**
|
|
8
8
|
* Aggregate many supervisor-run reports. A metric no run could measure stays
|
|
@@ -62,7 +62,6 @@ function rollupSupervisorRuns(reports) {
|
|
|
62
62
|
perCell
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
export { NO_TERMINAL_RECORD, RUNTIME_FAILED_STATUS, SUPERVISOR_RUN_INTEGRITY_SCHEMA, analyzeSupervisorRun, analyzeSupervisorRunIntegrity, analyzeSupervisorRunSources, findSupervisorRunDirs, isRuntimeSupervisorRunDir, isUnavailable, parsePatch, parseSupervisorTree, readRuntimeSupervisorRun, readTerminalRecord, renderSupervisorRollupMarkdown, renderSupervisorRunHeadline, renderSupervisorRunMarkdown, rollupSupervisorRuns, showMeasured, supervisorRunRolloutLines, unavailable };
|
|
65
|
+
export { NO_TERMINAL_RECORD, RUNTIME_FAILED_STATUS, SUPERVISOR_RUN_INTEGRITY_SCHEMA, analyzeSupervisorRun, analyzeSupervisorRunIntegrity, analyzeSupervisorRunSources, discoveryPlayCheckReward, discoveryPursuitOf, discoveryRunRolloutLines, findSupervisorRunDirs, isRuntimeSupervisorRunDir, isUnavailable, parsePatch, parseSupervisorTree, readRuntimeSupervisorRun, readTerminalRecord, renderSupervisorRollupMarkdown, renderSupervisorRunHeadline, renderSupervisorRunMarkdown, rollupSupervisorRuns, showMeasured, supervisorRunRolloutLines, unavailable };
|
|
67
66
|
|
|
68
67
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { f as CostReceiptInput, m as CustomTokenPricing } from "./cost-ledger-
|
|
2
|
-
import { E as FindingLayer, i as AnalystFinding, j as FindingScope, m as EvidenceRef, n as AnalystContext, t as Analyst, w as FindingCalibration } from "./types-
|
|
3
|
-
import { Yt as calibrationFromPairs } from "./index-
|
|
4
|
-
import { r as LedgerHash } from "./canonical-
|
|
5
|
-
import { R as Scenario, S as JudgeConfig, w as JudgeScore } from "./types-
|
|
6
|
-
import { a as EvaluationResult, o as EvaluatorOptions, r as EvaluationContext } from "./evaluation-
|
|
7
|
-
import { a as SystemOneJson, d as SystemOneRequest, g as SystemOneState, o as SystemOneQuestion, p as SystemOneResult, s as SystemOneQuestions } from "./systemone-protocol-
|
|
8
|
-
import "./systemone-review-
|
|
1
|
+
import { f as CostReceiptInput, m as CustomTokenPricing } from "./cost-ledger-Czro9wmo.js";
|
|
2
|
+
import { E as FindingLayer, i as AnalystFinding, j as FindingScope, m as EvidenceRef, n as AnalystContext, t as Analyst, w as FindingCalibration } from "./types-BEvjDziM.js";
|
|
3
|
+
import { Yt as calibrationFromPairs } from "./index-DAk2quYu.js";
|
|
4
|
+
import { r as LedgerHash } from "./canonical-gLeHiqzd.js";
|
|
5
|
+
import { R as Scenario, S as JudgeConfig, w as JudgeScore } from "./types-e3HGaI7P.js";
|
|
6
|
+
import { a as EvaluationResult, o as EvaluatorOptions, r as EvaluationContext } from "./evaluation-Djq7-Ybj.js";
|
|
7
|
+
import { a as SystemOneJson, d as SystemOneRequest, g as SystemOneState, o as SystemOneQuestion, p as SystemOneResult, s as SystemOneQuestions } from "./systemone-protocol-C4t7JH4Y.js";
|
|
8
|
+
import "./systemone-review-Cn9Uj0xG.js";
|
|
9
9
|
import { z } from "zod";
|
|
10
|
-
//#region src/analyst/findings-store.d.ts
|
|
11
10
|
/**
|
|
12
11
|
* One persisted row. We attach `run_id` on disk so a single file can
|
|
13
12
|
* hold multiple runs and the diff helper can query without re-walking
|
|
@@ -57,8 +56,6 @@ interface DiffPolicy {
|
|
|
57
56
|
* the two run-id slices from the same store and pass them in.
|
|
58
57
|
*/
|
|
59
58
|
declare function diffFindings(previous: PersistedFinding[], current: PersistedFinding[], policy?: DiffPolicy): FindingsDiff;
|
|
60
|
-
//#endregion
|
|
61
|
-
//#region src/analyst/findings-ledger.d.ts
|
|
62
59
|
/** One finding as the ledger holds it. */
|
|
63
60
|
interface LedgerFinding extends PersistedFinding {
|
|
64
61
|
/** Position in the journal; later entries were appended later. */
|
|
@@ -119,8 +116,6 @@ interface FindingsTimeStep {
|
|
|
119
116
|
* and `changed` mean exactly what they mean for two runs.
|
|
120
117
|
*/
|
|
121
118
|
declare function diffFindingsOverTime(rows: readonly LedgerFinding[], policy?: DiffPolicy): FindingsTimeStep[];
|
|
122
|
-
//#endregion
|
|
123
|
-
//#region src/decision-point-records.d.ts
|
|
124
119
|
declare const decisionRouteSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
125
120
|
action: z.ZodLiteral<"act">;
|
|
126
121
|
route: z.ZodString;
|
|
@@ -143,9 +138,9 @@ declare const decisionRecordSchema: z.ZodObject<{
|
|
|
143
138
|
requestedModel: z.ZodString;
|
|
144
139
|
servedModel: z.ZodNullable<z.ZodString>;
|
|
145
140
|
action: z.ZodEnum<{
|
|
141
|
+
record: "record";
|
|
146
142
|
act: "act";
|
|
147
143
|
escalate: "escalate";
|
|
148
|
-
record: "record";
|
|
149
144
|
}>;
|
|
150
145
|
answers: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
151
146
|
probabilities: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
@@ -159,11 +154,11 @@ declare const decisionRecordSchema: z.ZodObject<{
|
|
|
159
154
|
action: z.ZodLiteral<"record">;
|
|
160
155
|
}, z.core.$strict>], "action">;
|
|
161
156
|
reason: z.ZodEnum<{
|
|
162
|
-
"model-mismatch": "model-mismatch";
|
|
163
|
-
"record-only": "record-only";
|
|
164
157
|
threshold: "threshold";
|
|
165
158
|
uncalibrated: "uncalibrated";
|
|
166
159
|
uncertain: "uncertain";
|
|
160
|
+
"model-mismatch": "model-mismatch";
|
|
161
|
+
"record-only": "record-only";
|
|
167
162
|
}>;
|
|
168
163
|
}, z.core.$strict>>;
|
|
169
164
|
error: z.ZodNullable<z.ZodEnum<{
|
|
@@ -173,8 +168,6 @@ declare const decisionRecordSchema: z.ZodObject<{
|
|
|
173
168
|
receipt: z.ZodOptional<z.ZodUnknown>;
|
|
174
169
|
}, z.core.$strict>;
|
|
175
170
|
type DecisionRecord = z.infer<typeof decisionRecordSchema>;
|
|
176
|
-
//#endregion
|
|
177
|
-
//#region src/decision-point.d.ts
|
|
178
171
|
type DecisionQuestions = Record<string, Extract<SystemOneQuestion, {
|
|
179
172
|
type: 'choice';
|
|
180
173
|
}>>;
|
|
@@ -266,8 +259,6 @@ declare function decisionPoint<const Q extends DecisionQuestions>(options: Decis
|
|
|
266
259
|
}>;
|
|
267
260
|
}>>;
|
|
268
261
|
};
|
|
269
|
-
//#endregion
|
|
270
|
-
//#region src/systemone-domain-match.d.ts
|
|
271
262
|
type SystemOneDomainCoverage = 'complete' | 'partial' | 'missing';
|
|
272
263
|
interface SystemOneDomainEvidence {
|
|
273
264
|
[key: string]: SystemOneJson;
|
|
@@ -343,8 +334,6 @@ declare function prepareSystemOneDomainMatch(input: SystemOneDomainMatchInput):
|
|
|
343
334
|
declare function systemOneChoiceMargin(probabilities: Record<string, number>, selected: string): number;
|
|
344
335
|
/** Interpret a retained native answer without another inference or any authorization effect. */
|
|
345
336
|
declare function assessSystemOneDomainMatch(prepared: PreparedSystemOneDomainMatch, raw: unknown): SystemOneDomainMatchReport;
|
|
346
|
-
//#endregion
|
|
347
|
-
//#region src/systemone.d.ts
|
|
348
337
|
type SystemOneEvaluate = EvaluatorOptions<SystemOneRequest, unknown>['execute'];
|
|
349
338
|
interface SystemOneEvaluatorOptions {
|
|
350
339
|
evaluate: SystemOneEvaluate;
|
|
@@ -395,6 +384,5 @@ interface SystemOneAnalystOptions<I, Q extends SystemOneQuestions = SystemOneQue
|
|
|
395
384
|
record?: (result: EvaluationResult<SystemOneResult<Q>>, input: I, context: AnalystContext) => void | Promise<void>;
|
|
396
385
|
}
|
|
397
386
|
declare function systemOneAnalyst<I, Q extends SystemOneQuestions = SystemOneQuestions>(options: SystemOneAnalystOptions<I, Q>): Analyst<I>;
|
|
398
|
-
//#endregion
|
|
399
387
|
export { FindingsLedger as A, FindingsDiff as B, DecisionPointResult as C, decisionQuestionDigest as D, decisionPoint as E, LedgerFinding as F, PersistedFinding as H, diffFindingsOverTime as I, openFindingsLedger as L, FindingsLedgerRead as M, FindingsQuery as N, DecisionRecord as O, FindingsTimeStep as P, queryFindings as R, DecisionPointOptions as S, DecisionQuestions as T, diffFindings as U, FindingsStore as V, assessSystemOneDomainMatch as _, SystemOneOptions as a, DECISION_POINT_MIN_KAPPA as b, systemOneEvaluator as c, SystemOneDomainCoverage as d, SystemOneDomainEvidence as f, SystemOneDomainMatchThresholds as g, SystemOneDomainMatchReport as h, SystemOneJudgeOptions as i, FindingsLedgerOutcome as j, DecisionRoute as k, systemOneJudge as l, SystemOneDomainMatchReason as m, SystemOneEvaluate as n, normalizedSystemOneScore as o, SystemOneDomainMatchInput as p, SystemOneEvaluatorOptions as r, systemOneAnalyst as s, SystemOneAnalystOptions as t, PreparedSystemOneDomainMatch as u, prepareSystemOneDomainMatch as v, DecisionQuestionPolicy as w, DecisionInvocation as x, systemOneChoiceMargin as y, DiffPolicy as z };
|
|
400
|
-
//# sourceMappingURL=systemone-
|
|
388
|
+
//# sourceMappingURL=systemone-UHbKD6LH.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemone-UHbKD6LH.d.ts","names":["_$__meta_eval0.calibrationFromPairs"],"sources":["../src/analyst/findings-store.ts","../src/analyst/findings-ledger.ts","../src/decision-point-records.ts","../src/decision-point.ts","../src/systemone-domain-match.ts","../src/systemone.ts"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/systemone-protocol.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* The System One wire contract (TypeSafe-originated, https://api.typesafe.ai/openapi.json; also
|
|
4
3
|
* served by Cloudflare Workers AI and Perplexity). This module names no endpoint, credential or
|
|
@@ -129,6 +128,5 @@ declare function systemOneConfidence(answer: {
|
|
|
129
128
|
* for the strict parser to refuse.
|
|
130
129
|
*/
|
|
131
130
|
declare function normalizeSystemOneResult(raw: unknown, request: SystemOneRecordedRequest, profile: SystemOneResultProfile): unknown;
|
|
132
|
-
//#endregion
|
|
133
131
|
export { systemOneUsage as C, systemOneConfidence as S, normalizeSystemOneResult as _, SystemOneJson as a, parseSystemOneRequest as b, SystemOneRecordedQuestion as c, SystemOneRequest as d, SystemOneResponseError as f, SystemOneState as g, SystemOneScoreCriteria as h, SystemOneDescription as i, SystemOneRecordedQuestions as l, SystemOneResultProfile as m, SystemOneAnswer as n, SystemOneQuestion as o, SystemOneResult as p, SystemOneAnswerFor as r, SystemOneQuestions as s, SYSTEM_ONE_PROBABILITY_TOLERANCE as t, SystemOneRecordedRequest as u, parseSystemOneQuestions as v, parseSystemOneResult as x, parseSystemOneRecordedRequest as y };
|
|
134
|
-
//# sourceMappingURL=systemone-protocol-
|
|
132
|
+
//# sourceMappingURL=systemone-protocol-C4t7JH4Y.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemone-protocol-C4t7JH4Y.d.ts","names":[],"sources":["../src/systemone-protocol.ts"],"mappings":";;;;;KAQY,mDAKR;GACG,cAAc;;;KAET;GAA6B,cAAc;IAAkB;;KAE7D,uBAAuB;KACvB,mCAAmC,gBAAgB,mBAAmB;KACtE;EAEN;EACA,eAAe;EACf;IAAa,OAAO;IAAsB,QAAQ;;;EAElD;EAAe,eAAe;EAAsB,UAAU;;EAE9D;EACA,eAAe;EACf,UAAU,eAAe;;KAEnB,qBAAqB,eAAe;UAC/B,iBAAiB,UAAU,qBAAqB;EAC/D;EACA,OAAO;EACP,WAAW;;;KAID,4BACR,QAAQ;EAAqB;;EAE3B;EACA,eAAe;EACf,oBAAoB,sBAAsB,yBAAyB;;KAE7D,6BAA6B,eAAe;UACvC,yBACf,UAAU,6BAA6B;EAEvC;EACA,OAAO;EACP,WAAW;;KAGR,UAAU,mBAAmB,yCAAyC,uBAEvE,cAAc;KACN,mBAAmB,UAAU,6BAA6B;EAAY;;WACnE;WAAuB;IAClC;EAAY;EAAe,gBAAgB,mBAAmB;;WAEjD;WACA;WACA;WACA,oBAAoB,KAAK,UAAU,KAAK,EAAE;WAC1C,2BAA2B,KAAK,UAAU;IAErD;EAAY;EAAgB,gBAAgB;;WAE/B;WACA,cAAc;WACd;WACA,2BAA2B,WAAW;;KAG7C,kBAAkB,mBAAmB;UAChC,gBAAgB,UAAU,6BAA6B;WAC7D;WACA,qBAAqB,WAAW,IAAI,mBAAmB,EAAE;WACzD;aAAkB;aAA+B;;;cAG/C,+BAA+B;EAC9B,YAAA;;;iBA6BE,wBAAwB,eAAe;iBAyCvC,sBAAsB,eAAe;;;iBAMrC,8BAA8B,eAAe;iBAe7C,eAAe,eAAe;;cAWjC;;iBAgCG,qBAAqB,UAAU,4BAC7C,cACA,SAAS,yBAAyB,KACjC,gBAAgB;;;;;UA4DF;;WAEN;;;;;WAKA;;;;;;;;iBASK,oBAAoB;WACzB;WACA,eAAe,SAAS;;;;;;;;;;iBAyHnB,yBACd,cACA,SAAS,0BACT,SAAS"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { C as systemOneUsage, S as systemOneConfidence, _ as normalizeSystemOneResult, a as SystemOneJson, b as parseSystemOneRequest, c as SystemOneRecordedQuestion, d as SystemOneRequest, f as SystemOneResponseError, g as SystemOneState, h as SystemOneScoreCriteria, i as SystemOneDescription, l as SystemOneRecordedQuestions, m as SystemOneResultProfile, n as SystemOneAnswer, o as SystemOneQuestion, p as SystemOneResult, r as SystemOneAnswerFor, s as SystemOneQuestions, t as SYSTEM_ONE_PROBABILITY_TOLERANCE, u as SystemOneRecordedRequest, v as parseSystemOneQuestions, x as parseSystemOneResult, y as parseSystemOneRecordedRequest } from "./systemone-protocol-
|
|
1
|
+
import { C as systemOneUsage, S as systemOneConfidence, _ as normalizeSystemOneResult, a as SystemOneJson, b as parseSystemOneRequest, c as SystemOneRecordedQuestion, d as SystemOneRequest, f as SystemOneResponseError, g as SystemOneState, h as SystemOneScoreCriteria, i as SystemOneDescription, l as SystemOneRecordedQuestions, m as SystemOneResultProfile, n as SystemOneAnswer, o as SystemOneQuestion, p as SystemOneResult, r as SystemOneAnswerFor, s as SystemOneQuestions, t as SYSTEM_ONE_PROBABILITY_TOLERANCE, u as SystemOneRecordedRequest, v as parseSystemOneQuestions, x as parseSystemOneResult, y as parseSystemOneRecordedRequest } from "./systemone-protocol-C4t7JH4Y.js";
|
|
2
2
|
export { SYSTEM_ONE_PROBABILITY_TOLERANCE, SystemOneAnswer, SystemOneAnswerFor, SystemOneDescription, SystemOneJson, SystemOneQuestion, SystemOneQuestions, SystemOneRecordedQuestion, SystemOneRecordedQuestions, SystemOneRecordedRequest, SystemOneRequest, SystemOneResponseError, SystemOneResult, SystemOneResultProfile, SystemOneScoreCriteria, SystemOneState, normalizeSystemOneResult, parseSystemOneQuestions, parseSystemOneRecordedRequest, parseSystemOneRequest, parseSystemOneResult, systemOneConfidence, systemOneUsage };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as canonicalString } from "./canonical-
|
|
1
|
+
import { r as canonicalString } from "./canonical-CicJlINA.js";
|
|
2
2
|
import { isDeepStrictEqual } from "node:util";
|
|
3
|
-
|
|
3
|
+
// src/systemone-protocol.ts
|
|
4
4
|
var SystemOneResponseError = class extends Error {
|
|
5
5
|
constructor(message) {
|
|
6
6
|
super(`System One: ${message}`);
|
|
@@ -208,7 +208,6 @@ function normalizeSystemOneResult(raw, request, profile) {
|
|
|
208
208
|
answers
|
|
209
209
|
} : raw;
|
|
210
210
|
}
|
|
211
|
-
//#endregion
|
|
212
211
|
export { SYSTEM_ONE_PROBABILITY_TOLERANCE, SystemOneResponseError, normalizeSystemOneResult, parseSystemOneQuestions, parseSystemOneRecordedRequest, parseSystemOneRequest, parseSystemOneResult, systemOneConfidence, systemOneUsage };
|
|
213
212
|
|
|
214
213
|
//# sourceMappingURL=systemone-protocol.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { i as AnalystFinding } from "./types-
|
|
2
|
-
import { d as SystemOneRequest, p as SystemOneResult, s as SystemOneQuestions } from "./systemone-protocol-
|
|
1
|
+
import { i as AnalystFinding } from "./types-BEvjDziM.js";
|
|
2
|
+
import { d as SystemOneRequest, p as SystemOneResult, s as SystemOneQuestions } from "./systemone-protocol-C4t7JH4Y.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
//#region src/systemone-review.d.ts
|
|
5
4
|
declare const checkSchema: z.ZodObject<{
|
|
6
5
|
claim: z.ZodString;
|
|
7
6
|
area: z.ZodString;
|
|
@@ -9,9 +8,9 @@ declare const checkSchema: z.ZodObject<{
|
|
|
9
8
|
severity: z.ZodEnum<{
|
|
10
9
|
critical: "critical";
|
|
11
10
|
high: "high";
|
|
12
|
-
info: "info";
|
|
13
|
-
low: "low";
|
|
14
11
|
medium: "medium";
|
|
12
|
+
low: "low";
|
|
13
|
+
info: "info";
|
|
15
14
|
}>;
|
|
16
15
|
supports: z.ZodArray<z.ZodString>;
|
|
17
16
|
refutes: z.ZodArray<z.ZodString>;
|
|
@@ -19,16 +18,16 @@ declare const checkSchema: z.ZodObject<{
|
|
|
19
18
|
refuteAtLeast: z.ZodNumber;
|
|
20
19
|
coverage: z.ZodEnum<{
|
|
21
20
|
complete: "complete";
|
|
22
|
-
missing: "missing";
|
|
23
21
|
partial: "partial";
|
|
22
|
+
missing: "missing";
|
|
24
23
|
}>;
|
|
25
24
|
evidence: z.ZodArray<z.ZodObject<{
|
|
26
25
|
kind: z.ZodEnum<{
|
|
27
|
-
|
|
26
|
+
span: "span";
|
|
28
27
|
event: "event";
|
|
28
|
+
artifact: "artifact";
|
|
29
29
|
finding: "finding";
|
|
30
30
|
metric: "metric";
|
|
31
|
-
span: "span";
|
|
32
31
|
}>;
|
|
33
32
|
uri: z.ZodString;
|
|
34
33
|
excerpt: z.ZodOptional<z.ZodString>;
|
|
@@ -71,6 +70,5 @@ declare function systemOneReviewFindings<Q extends SystemOneQuestions>(review: P
|
|
|
71
70
|
analystId: string;
|
|
72
71
|
producedAt?: string;
|
|
73
72
|
}): AnalystFinding[];
|
|
74
|
-
//#endregion
|
|
75
73
|
export { SystemOneReviewReport as a, systemOneReviewFindings as c, SystemOneReviewInput as i, SystemOneReviewAssessment as n, assessSystemOneReview as o, SystemOneReviewCheck as r, prepareSystemOneReview as s, PreparedSystemOneReview as t };
|
|
76
|
-
//# sourceMappingURL=systemone-review-
|
|
74
|
+
//# sourceMappingURL=systemone-review-Cn9Uj0xG.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemone-review-Cn9Uj0xG.d.ts","names":[],"sources":["../src/systemone-review.ts"],"mappings":";;;cAcM,aAAW,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0Bb,EAAA,KAAA;;KAGQ,uBAAuB,EAAE,aAAa;UACjC,qBAAqB,UAAU,qBAAqB;EACnE;EACA,SAAS,iBAAiB;EAC1B,WAAW,WAAW,IAAI;;UAGX,wBAAwB,UAAU,qBAAqB,4BAC9D,qBAAqB;;EAE7B;;UAGe;EACf;EACA;EACA;;EAQA;EACA;EACA;EACA;EACA,OAAO;;UAGQ;EACf;EACA;EACA;EACA,aAAa;;;iBAWC,6BAA6B,UAAU,oBACrD,OAAO,qBAAqB,KAC3B,wBAAwB;;iBAuCX,sBAAsB,UAAU,oBAC9C,QAAQ,wBAAwB,IAChC,eACC;;iBAyDa,wBAAwB,UAAU,oBAChD,QAAQ,wBAAwB,IAChC,QAAQ,gBAAgB,IACxB;EAAW;EAAmB;IAC7B"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as hashCanonical, o as jsonDocument, r as canonicalString } from "./canonical-
|
|
2
|
-
import { t as deepFreezeCanonicalJson } from "./deep-freeze-
|
|
3
|
-
import { i as makeFinding, t as ANALYST_SEVERITIES } from "./types-
|
|
1
|
+
import { a as hashCanonical, o as jsonDocument, r as canonicalString } from "./canonical-CicJlINA.js";
|
|
2
|
+
import { t as deepFreezeCanonicalJson } from "./deep-freeze-CK8-2W7p.js";
|
|
3
|
+
import { i as makeFinding, t as ANALYST_SEVERITIES } from "./types-BK0blWhe.js";
|
|
4
4
|
import { parseSystemOneRequest, parseSystemOneResult } from "./systemone-protocol.js";
|
|
5
5
|
import { z } from "zod";
|
|
6
|
-
|
|
6
|
+
// src/systemone-review.ts
|
|
7
7
|
const name = z.string().trim().min(1);
|
|
8
8
|
const probability = z.number().finite().gt(0).max(1);
|
|
9
9
|
const checkSchema = z.object({
|
|
@@ -151,7 +151,6 @@ function systemOneReviewFindings(review, result, options) {
|
|
|
151
151
|
}
|
|
152
152
|
}));
|
|
153
153
|
}
|
|
154
|
-
//#endregion
|
|
155
154
|
export { prepareSystemOneReview as n, systemOneReviewFindings as r, assessSystemOneReview as t };
|
|
156
155
|
|
|
157
|
-
//# sourceMappingURL=systemone-review-
|
|
156
|
+
//# sourceMappingURL=systemone-review-S49gsy_y.js.map
|