openpond-sdk 0.12.14 → 0.12.15
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/TRAINING_WORKFLOWS.md +497 -4
- package/dist/advanced-refiner-evaluations.js +7 -7
- package/dist/candidate-evaluations.js +6 -6
- package/dist/{chunk-TLSP5JKG.js → chunk-3BYFS4RO.js} +2 -2
- package/dist/{chunk-XRBM6PBD.js → chunk-3MDNVNBM.js} +5 -5
- package/dist/{chunk-CNREFTAV.js → chunk-3VUF5H3B.js} +2 -2
- package/dist/{chunk-LHHHJIDR.js → chunk-626JLH4D.js} +2 -2
- package/dist/{chunk-Q4TKI2MV.js → chunk-774OWTCD.js} +63 -80
- package/dist/chunk-774OWTCD.js.map +1 -0
- package/dist/{chunk-HAQPGTQ4.js → chunk-7F43U2NC.js} +2 -2
- package/dist/{chunk-ORYA2G7S.js → chunk-7G47YXQT.js} +3 -3
- package/dist/{chunk-XMVSQIK4.js → chunk-AG6UJ3DI.js} +2 -2
- package/dist/chunk-EBB36D5X.js +866 -0
- package/dist/chunk-EBB36D5X.js.map +1 -0
- package/dist/{chunk-JBYFD3QS.js → chunk-GBDBKGXW.js} +3 -3
- package/dist/{chunk-GHPCQXG5.js → chunk-GCUWJUUM.js} +2 -2
- package/dist/{chunk-C4W2MEFP.js → chunk-GS5HEE4M.js} +2 -2
- package/dist/{chunk-ATVQQCYN.js → chunk-GWXJSBWR.js} +2 -2
- package/dist/{chunk-RLW4Y5ZV.js → chunk-JMFYNIYZ.js} +4 -3
- package/dist/chunk-JMFYNIYZ.js.map +1 -0
- package/dist/{chunk-UOV2LEXS.js → chunk-MVAEE5EI.js} +60 -3
- package/dist/chunk-MVAEE5EI.js.map +1 -0
- package/dist/{chunk-KOJC3TH4.js → chunk-OBI2MQYU.js} +6 -6
- package/dist/chunk-PMVSO23F.js +65 -0
- package/dist/chunk-PMVSO23F.js.map +1 -0
- package/dist/{chunk-JDQVAG3R.js → chunk-Q4RGCEOI.js} +3 -3
- package/dist/{chunk-YIGFQWZV.js → chunk-QIGMNB6M.js} +3 -3
- package/dist/{chunk-O3NOGKMT.js → chunk-QNOCM5JX.js} +2 -2
- package/dist/{chunk-2LVR24GU.js → chunk-QOX57Y27.js} +6 -6
- package/dist/chunk-QTNYXOJW.js +27 -0
- package/dist/chunk-QTNYXOJW.js.map +1 -0
- package/dist/{chunk-UWY5PUHR.js → chunk-RN5MK7NH.js} +2 -2
- package/dist/{chunk-47I6LT4X.js → chunk-RT7SQHO4.js} +271 -7
- package/dist/chunk-RT7SQHO4.js.map +1 -0
- package/dist/chunk-UVQENVTW.js +85 -0
- package/dist/chunk-UVQENVTW.js.map +1 -0
- package/dist/{chunk-7BYLH47N.js → chunk-VPK3SM45.js} +15 -3
- package/dist/{chunk-7BYLH47N.js.map → chunk-VPK3SM45.js.map} +1 -1
- package/dist/{chunk-RN5G3DQN.js → chunk-WM3U4RPZ.js} +6 -6
- package/dist/{chunk-IFBCLRBM.js → chunk-ZQ6QTYRE.js} +2 -2
- package/dist/{chunk-IFBCLRBM.js.map → chunk-ZQ6QTYRE.js.map} +1 -1
- package/dist/{chunk-K54BDIKL.js → chunk-ZQFROKKS.js} +3 -3
- package/dist/{chunk-ZYDDHHZZ.js → chunk-ZRTNR4U7.js} +3 -3
- package/dist/connected-evidence.js +9 -17
- package/dist/dataset-workspaces.js +12 -17
- package/dist/dataset-workspaces.js.map +1 -1
- package/dist/errors.js +3 -3
- package/dist/experiment-evaluation-schedules.js +18 -21
- package/dist/experiment-improvements.js +9 -8
- package/dist/experiments.js +17 -20
- package/dist/index.js +25 -27
- package/dist/index.js.map +1 -1
- package/dist/model-projects.js +1 -1
- package/dist/model-starter-attempts.js +2 -2
- package/dist/model-starter-catalog.js +4 -12
- package/dist/model-starter-catalog.js.map +1 -1
- package/dist/model-starters.js +4 -12
- package/dist/model-taskset-runs.js +3 -3
- package/dist/post-training.js +6 -6
- package/dist/taskset-drafts.js +6 -15
- package/dist/taskset-drafts.js.map +1 -1
- package/dist/taskset-packages.js +28 -18
- package/dist/training-bundle.js +33 -32
- package/dist/training-bundle.js.map +1 -1
- package/dist/training.js +8483 -49
- package/dist/training.js.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/types/billing.d.ts +87 -6
- package/dist/types/packages/cloud/src/sandbox/types/billing.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/types/io.d.ts +3 -0
- package/dist/types/packages/cloud/src/sandbox/types/io.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/activation-experiment-draft.d.ts +70 -0
- package/dist/types/packages/sdk/src/activation-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/activation-form-compiler.d.ts +25 -0
- package/dist/types/packages/sdk/src/activation-form-compiler.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/activation-reference.d.ts +347 -0
- package/dist/types/packages/sdk/src/activation-reference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/activation-result-comparison.d.ts +185 -0
- package/dist/types/packages/sdk/src/activation-result-comparison.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/alphaedit-artifact.d.ts +872 -0
- package/dist/types/packages/sdk/src/alphaedit-artifact.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/alphaedit-experiment-draft.d.ts +123 -0
- package/dist/types/packages/sdk/src/alphaedit-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/alphaedit-model-serving.d.ts +3218 -0
- package/dist/types/packages/sdk/src/alphaedit-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/alphaedit.d.ts +258 -0
- package/dist/types/packages/sdk/src/alphaedit.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review-contracts.d.ts +181 -0
- package/dist/types/packages/sdk/src/dataset-training-review-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review-files.d.ts +17 -0
- package/dist/types/packages/sdk/src/dataset-training-review-files.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review-preparation.d.ts +541 -0
- package/dist/types/packages/sdk/src/dataset-training-review-preparation.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review-source.d.ts +41 -0
- package/dist/types/packages/sdk/src/dataset-training-review-source.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review.d.ts +79 -0
- package/dist/types/packages/sdk/src/dataset-training-review.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-experiment-authoring.d.ts +11 -0
- package/dist/types/packages/sdk/src/decision-experiment-authoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-experiment-draft.d.ts +150 -0
- package/dist/types/packages/sdk/src/decision-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-artifact.d.ts +541 -0
- package/dist/types/packages/sdk/src/decision-model-artifact.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-data.d.ts +588 -0
- package/dist/types/packages/sdk/src/decision-model-data.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-scoring.d.ts +1587 -0
- package/dist/types/packages/sdk/src/decision-model-scoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-serving.d.ts +5328 -0
- package/dist/types/packages/sdk/src/decision-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-training.d.ts +871 -0
- package/dist/types/packages/sdk/src/decision-model-training.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-version.d.ts +2971 -0
- package/dist/types/packages/sdk/src/decision-model-version.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model.d.ts +241 -0
- package/dist/types/packages/sdk/src/decision-model.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-adapter.d.ts +788 -0
- package/dist/types/packages/sdk/src/engram-adapter.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-experiment-authoring.d.ts +14 -0
- package/dist/types/packages/sdk/src/engram-experiment-authoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-experiment-draft.d.ts +92 -0
- package/dist/types/packages/sdk/src/engram-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-inference.d.ts +180 -0
- package/dist/types/packages/sdk/src/engram-inference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-model-serving.d.ts +2183 -0
- package/dist/types/packages/sdk/src/engram-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-model-version.d.ts +1335 -0
- package/dist/types/packages/sdk/src/engram-model-version.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/evaluation-experiment-draft.d.ts +1009 -0
- package/dist/types/packages/sdk/src/evaluation-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-client.d.ts +686 -686
- package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts +11638 -0
- package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-result-reference.d.ts +288 -0
- package/dist/types/packages/sdk/src/experiment-result-reference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts +7 -7
- package/dist/types/packages/sdk/src/experiment-starting-model.d.ts +911 -0
- package/dist/types/packages/sdk/src/experiment-starting-model.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/hosted-evaluation-experiment-draft.d.ts +693 -0
- package/dist/types/packages/sdk/src/hosted-evaluation-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-alphaedit-executions.d.ts +3152 -0
- package/dist/types/packages/sdk/src/managed-alphaedit-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-compute-price.d.ts +50 -0
- package/dist/types/packages/sdk/src/managed-compute-price.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-decision-executions.d.ts +6755 -0
- package/dist/types/packages/sdk/src/managed-decision-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-engram-executions.d.ts +2774 -0
- package/dist/types/packages/sdk/src/managed-engram-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-modification-compilation.d.ts +523 -0
- package/dist/types/packages/sdk/src/managed-modification-compilation.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-modification-executions.d.ts +1470 -0
- package/dist/types/packages/sdk/src/managed-modification-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-neuron-training-executions.d.ts +3447 -0
- package/dist/types/packages/sdk/src/managed-neuron-training-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-serving-usage.d.ts +228 -0
- package/dist/types/packages/sdk/src/managed-serving-usage.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +26 -26
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +11 -0
- package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +10 -0
- package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-batch-review.d.ts +21 -0
- package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts +9 -0
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-modification-capabilities.d.ts +323 -0
- package/dist/types/packages/sdk/src/model-modification-capabilities.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/model-serving-pool.d.ts +28 -0
- package/dist/types/packages/sdk/src/model-serving-pool.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +22 -0
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +216 -216
- package/dist/types/packages/sdk/src/modification-recordings.d.ts +1303 -0
- package/dist/types/packages/sdk/src/modification-recordings.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-calibration-records.d.ts +816 -0
- package/dist/types/packages/sdk/src/neuron-calibration-records.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-residual-calibration.d.ts +189 -0
- package/dist/types/packages/sdk/src/neuron-residual-calibration.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-steering.d.ts +260 -0
- package/dist/types/packages/sdk/src/neuron-steering.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training-artifact.d.ts +517 -0
- package/dist/types/packages/sdk/src/neuron-training-artifact.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training-experiment-draft.d.ts +172 -0
- package/dist/types/packages/sdk/src/neuron-training-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training-model-serving.d.ts +3502 -0
- package/dist/types/packages/sdk/src/neuron-training-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training-result.d.ts +590 -0
- package/dist/types/packages/sdk/src/neuron-training-result.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training.d.ts +260 -0
- package/dist/types/packages/sdk/src/neuron-training.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/post-training.d.ts +21 -0
- package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +10 -0
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/steering-experiment-authoring.d.ts +15 -0
- package/dist/types/packages/sdk/src/steering-experiment-authoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-experiment-source-verification.d.ts +97 -0
- package/dist/types/packages/sdk/src/steering-experiment-source-verification.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-experiment-source.d.ts +29 -0
- package/dist/types/packages/sdk/src/steering-experiment-source.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-inference.d.ts +224 -0
- package/dist/types/packages/sdk/src/steering-inference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-model-selection.d.ts +15 -0
- package/dist/types/packages/sdk/src/steering-model-selection.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts +8759 -0
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-profile-publication.d.ts +7892 -0
- package/dist/types/packages/sdk/src/steering-profile-publication.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +20 -0
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +40 -0
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +20 -0
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +20 -0
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +10 -0
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-packages.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-packages.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-compute-selection.d.ts +186 -1
- package/dist/types/packages/sdk/src/training-compute-selection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-estimate-workload.d.ts +185 -0
- package/dist/types/packages/sdk/src/training-estimate-workload.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-estimates.d.ts +185 -0
- package/dist/types/packages/sdk/src/training-estimates.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-executions.d.ts +275 -0
- package/dist/types/packages/sdk/src/training-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-experiment-setup.d.ts +5957 -0
- package/dist/types/packages/sdk/src/training-experiment-setup.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-funding.d.ts +153 -0
- package/dist/types/packages/sdk/src/training-funding.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-hardware-catalog.d.ts +155 -0
- package/dist/types/packages/sdk/src/training-hardware-catalog.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-job-contracts.d.ts +1535 -0
- package/dist/types/packages/sdk/src/training-job-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +40 -40
- package/dist/types/packages/sdk/src/training-model-save.d.ts +2466 -0
- package/dist/types/packages/sdk/src/training-model-save.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-model-serving-control.d.ts +397 -0
- package/dist/types/packages/sdk/src/training-model-serving-control.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-model-serving.d.ts +2662 -0
- package/dist/types/packages/sdk/src/training-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-preparations.d.ts +1001 -0
- package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-result.d.ts +4577 -0
- package/dist/types/packages/sdk/src/training-result.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-usage-funding.d.ts +273 -0
- package/dist/types/packages/sdk/src/training-usage-funding.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-usage-status.d.ts +27 -0
- package/dist/types/packages/sdk/src/training-usage-status.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training.d.ts +18309 -3682
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/weight-experiment-authoring.d.ts +23 -0
- package/dist/types/packages/sdk/src/weight-experiment-authoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/weight-inference.d.ts +155 -0
- package/dist/types/packages/sdk/src/weight-inference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/weight-model-versions.d.ts +4578 -0
- package/dist/types/packages/sdk/src/weight-model-versions.d.ts.map +1 -0
- package/fixtures/python-foundation/activation-reference-workflow.json +6403 -0
- package/fixtures/python-foundation/dataset-training-review-http-workflow.json +62 -0
- package/fixtures/python-foundation/operation-matrix.json +1410 -220
- package/fixtures/python-foundation/schemas.json +59491 -25928
- package/fixtures/python-foundation/training-estimate-http-workflow.json +100 -0
- package/fixtures/python-foundation/training-funding-http-workflow.json +61 -0
- package/fixtures/python-foundation/training-model-save-http-workflow.json +302 -0
- package/fixtures/python-foundation/training-model-serving-control-http-workflow.json +1633 -0
- package/fixtures/python-foundation/training-model-serving-http-workflow.json +1181 -0
- package/fixtures/python-foundation/training-result-http-workflow.json +230 -0
- package/package.json +3 -3
- package/dist/chunk-47I6LT4X.js.map +0 -1
- package/dist/chunk-GJRXJL6G.js +0 -1528
- package/dist/chunk-GJRXJL6G.js.map +0 -1
- package/dist/chunk-Q4TKI2MV.js.map +0 -1
- package/dist/chunk-RLW4Y5ZV.js.map +0 -1
- package/dist/chunk-UOV2LEXS.js.map +0 -1
- /package/dist/{chunk-TLSP5JKG.js.map → chunk-3BYFS4RO.js.map} +0 -0
- /package/dist/{chunk-XRBM6PBD.js.map → chunk-3MDNVNBM.js.map} +0 -0
- /package/dist/{chunk-CNREFTAV.js.map → chunk-3VUF5H3B.js.map} +0 -0
- /package/dist/{chunk-LHHHJIDR.js.map → chunk-626JLH4D.js.map} +0 -0
- /package/dist/{chunk-HAQPGTQ4.js.map → chunk-7F43U2NC.js.map} +0 -0
- /package/dist/{chunk-ORYA2G7S.js.map → chunk-7G47YXQT.js.map} +0 -0
- /package/dist/{chunk-XMVSQIK4.js.map → chunk-AG6UJ3DI.js.map} +0 -0
- /package/dist/{chunk-JBYFD3QS.js.map → chunk-GBDBKGXW.js.map} +0 -0
- /package/dist/{chunk-GHPCQXG5.js.map → chunk-GCUWJUUM.js.map} +0 -0
- /package/dist/{chunk-C4W2MEFP.js.map → chunk-GS5HEE4M.js.map} +0 -0
- /package/dist/{chunk-ATVQQCYN.js.map → chunk-GWXJSBWR.js.map} +0 -0
- /package/dist/{chunk-KOJC3TH4.js.map → chunk-OBI2MQYU.js.map} +0 -0
- /package/dist/{chunk-JDQVAG3R.js.map → chunk-Q4RGCEOI.js.map} +0 -0
- /package/dist/{chunk-YIGFQWZV.js.map → chunk-QIGMNB6M.js.map} +0 -0
- /package/dist/{chunk-O3NOGKMT.js.map → chunk-QNOCM5JX.js.map} +0 -0
- /package/dist/{chunk-2LVR24GU.js.map → chunk-QOX57Y27.js.map} +0 -0
- /package/dist/{chunk-UWY5PUHR.js.map → chunk-RN5MK7NH.js.map} +0 -0
- /package/dist/{chunk-RN5G3DQN.js.map → chunk-WM3U4RPZ.js.map} +0 -0
- /package/dist/{chunk-K54BDIKL.js.map → chunk-ZQFROKKS.js.map} +0 -0
- /package/dist/{chunk-ZYDDHHZZ.js.map → chunk-ZRTNR4U7.js.map} +0 -0
package/TRAINING_WORKFLOWS.md
CHANGED
|
@@ -27,10 +27,13 @@ Persist operation IDs and immutable request bytes before a write. On a timeout
|
|
|
27
27
|
or lost response, reconcile the same preparation/operation and current revision;
|
|
28
28
|
do not mint another identity. A submitted preparation contains its durable job
|
|
29
29
|
ID. Use existing Dataset operation-result reads for uncertain authoring writes.
|
|
30
|
-
Expected revisions, plan hashes and model ETags remain required.
|
|
31
|
-
estimate
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
Expected revisions, plan hashes and model ETags remain required. Estimate availability and measured coverage depend on the configured host.
|
|
31
|
+
`estimate()` is a read-only POST for exact preparation, configuration or submission
|
|
32
|
+
inputs. It returns current GPU/disk rates and explicit unknowns when calibrated
|
|
33
|
+
cost or duration evidence is missing. A configuration estimate does not prepare a
|
|
34
|
+
batch. Carry a preparation estimate's `review` into `startPreparation`; admission
|
|
35
|
+
checks its exact input, actor, runtime, provider scope, expiry and reviewed rate.
|
|
36
|
+
It reserves neither money nor capacity and does not raise the approved cap.
|
|
34
37
|
|
|
35
38
|
Follow each page's `nextCursor` using the same scope/filter and supplied limits.
|
|
36
39
|
Do not treat a partial page or a transient request failure as an empty result.
|
|
@@ -38,8 +41,135 @@ Acceptance groups, evaluation task pages, candidate decisions and output hashes
|
|
|
38
41
|
retain their existing SDK identity checks. Candidate acceptance is distinct from
|
|
39
42
|
serving activation, which requires its existing explicit controls.
|
|
40
43
|
|
|
44
|
+
## Standalone experiment drafts
|
|
45
|
+
|
|
46
|
+
The draft client surface stores creator-owned authoring documents independently
|
|
47
|
+
of chats, model configurations and training Jobs. Host deployment of the draft
|
|
48
|
+
routes is required. Saving does not validate execution availability, reserve
|
|
49
|
+
credits, stage data or start compute.
|
|
50
|
+
|
|
51
|
+
Evaluation authoring uses `evaluationForm` for its editable settings, exact
|
|
52
|
+
Dataset/task selection, released graders and mappings, optional source run, and
|
|
53
|
+
execution location. Training authoring uses `trainingForm`. Cleared evaluation
|
|
54
|
+
numeric controls remain `null`; blank training spend fields remain strings.
|
|
55
|
+
These incomplete values can be retained without becoming executable requests.
|
|
56
|
+
|
|
57
|
+
Use `training.saveExperimentDraft(request)` with
|
|
58
|
+
`schemaVersion: "openpond.experimentDraftSave.v1"`, `teamId`, a stable
|
|
59
|
+
`operationId`, `expectedRevision`, optional `projectId`, and an
|
|
60
|
+
`ExperimentDraftSchema` document. Revision zero creates a draft. A later save
|
|
61
|
+
uses the revision returned by `getExperimentDraft(teamId, id)`. Explicitly retry
|
|
62
|
+
the same operation/request after an uncertain response; its original receipt
|
|
63
|
+
remains unchanged after later edits. Changed inputs require a new operation ID.
|
|
64
|
+
Do not silently replace a newer draft after a revision conflict.
|
|
65
|
+
|
|
66
|
+
`listExperimentDrafts(teamId, filters)` supports Project, literal name search,
|
|
67
|
+
archive state and bounded cursor pagination. Cursors are scoped to the current
|
|
68
|
+
creator/workspace and filters. `archiveExperimentDraft(id, control)` retains
|
|
69
|
+
history and requires its own operation ID and expected revision. Saving an
|
|
70
|
+
archived document at its current revision explicitly restores it. Each read and
|
|
71
|
+
receipt verifies the retained document hash and requested scope.
|
|
72
|
+
|
|
73
|
+
Native Python exposes `save_experiment_draft`, `get_experiment_draft`,
|
|
74
|
+
`list_experiment_drafts` and `archive_experiment_draft` in both clients. The
|
|
75
|
+
corresponding official CLI commands are:
|
|
76
|
+
|
|
77
|
+
```sh
|
|
78
|
+
openpond training hosted-drafts --team-id TEAM --json
|
|
79
|
+
openpond training hosted-draft DRAFT --team-id TEAM --json
|
|
80
|
+
openpond training hosted-save-draft draft.json --team-id TEAM --json
|
|
81
|
+
openpond training hosted-archive-draft DRAFT --team-id TEAM --operation-id OPERATION --expected-revision 2 --json
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
A draft ID identifies an editable authoring record. An execution ID identifies
|
|
85
|
+
an immutable run; neither is a substitute for the other.
|
|
86
|
+
|
|
41
87
|
## Manual reviewed-batch workflow
|
|
42
88
|
|
|
89
|
+
### Credit coverage and Billing handoff
|
|
90
|
+
|
|
91
|
+
On hosts implementing these endpoints, `training.funding(request)` checks the
|
|
92
|
+
entire `maximumSpendUsd` against current included/prepaid usage and member limits.
|
|
93
|
+
Use `schemaVersion: "openpond.trainingFundingRequest.v1"`, `teamId`, the positive
|
|
94
|
+
cap and optionally an exact saved draft reference. Restricted viewers receive
|
|
95
|
+
coverage status without account balances. This observation expires quickly and
|
|
96
|
+
does not reserve credit or authorize a Job.
|
|
97
|
+
|
|
98
|
+
After saving the draft, `training.fundingHandoff(request)` accepts
|
|
99
|
+
`schemaVersion: "openpond.trainingFundingHandoffRequest.v1"`, `teamId`,
|
|
100
|
+
`maximumSpendUsd` and the required `draft: { id, revision, contentHash, projectId }`.
|
|
101
|
+
Changed revisions, caps or ownership are rejected. Current purchase permission
|
|
102
|
+
controls whether a grantless Billing URL is returned; normal Web sign-in remains
|
|
103
|
+
required. Native Python uses `client.training.funding(...)` and
|
|
104
|
+
`client.training.funding_handoff(...)` with the same inputs, in sync and async
|
|
105
|
+
clients. The CLI exposes `hosted-funding` and `hosted-funding-handoff`.
|
|
106
|
+
|
|
107
|
+
Keep the original experiment open while Billing is used separately. On return,
|
|
108
|
+
verify the saved draft, recheck settled credits and refresh the exact preparation
|
|
109
|
+
estimate before explicit Start. Pending payments and card setup add no spendable
|
|
110
|
+
credit; a completed purchase never starts training automatically. Hosted
|
|
111
|
+
deployment and complete financial/UI qualification remain pending.
|
|
112
|
+
|
|
113
|
+
### Authoring and preparation
|
|
114
|
+
|
|
115
|
+
`ExperimentDraftSchema` (from `openpond-sdk/training`) describes an incomplete
|
|
116
|
+
authoring snapshot with its own identity, an `evaluate`, `sft` or `grpo` type,
|
|
117
|
+
name and optional canonical training inputs/settings. Chat can retain this
|
|
118
|
+
snapshot before a dataset or chat session exists. The native Python schema
|
|
119
|
+
inventory includes the same draft shape. A draft is not a preparation or run;
|
|
120
|
+
its identity does not grant access to referenced models or inputs. Validate and
|
|
121
|
+
authorize the complete request through preparation before execution.
|
|
122
|
+
|
|
123
|
+
The optional `trainingForm` preserves editable model/recipe/input references,
|
|
124
|
+
validation split, name and spend text, including blank fields. It is distinct
|
|
125
|
+
from a valid submission: saving a blank spend field never supplies a spending
|
|
126
|
+
authorization. `TrainingExperimentFormDraftSchema` describes those values.
|
|
127
|
+
`ExperimentDraftUpdateSchema` binds a save operation to an expected draft
|
|
128
|
+
revision. Desktop chat uses that contract to reject stale saves and reconcile
|
|
129
|
+
retries; a draft save does not prepare or start training.
|
|
130
|
+
|
|
131
|
+
For model-first setup, `training.prepareExperiment(request)` accepts an exact
|
|
132
|
+
`baseModel`, method-specific `settings`, reviewed `batch`, name and spend cap.
|
|
133
|
+
Use `TrainingExperimentSetupRequestSchema` from `openpond-sdk/training`. The
|
|
134
|
+
service resolves the owned configuration internally and returns
|
|
135
|
+
`{ request, requestHash, preparation }`; no preliminary Model-creation call is
|
|
136
|
+
required. Native Python exposes the same operation as
|
|
137
|
+
`client.training.prepare_experiment(request)`, including its async counterpart.
|
|
138
|
+
Host deployment and normal method/data admission still determine availability.
|
|
139
|
+
|
|
140
|
+
An optional `parent` retains a trained GRPO starting checkpoint in both
|
|
141
|
+
`TrainingPreparationRequest` and model-first setup. Its shape is:
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
{ jobId, artifact: { id, contentHash }, checkpointId,
|
|
145
|
+
adapterMode: "residual_append" /* or "shared" / "sequential_merge" */ }
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Use references returned by the producing Job and its retained artifact/checkpoint
|
|
149
|
+
records. A Model name or inference alias cannot identify this source. The host
|
|
150
|
+
checks the creator/workspace, final checkpoint and published manifest before
|
|
151
|
+
preparing; funded execution still rechecks runtime, adapter composition and
|
|
152
|
+
method qualification. A listed mode is a contract value, not proof that the
|
|
153
|
+
current image admits it. Optimizer state resets for a new stage; interrupted
|
|
154
|
+
checkpoint recovery is a separate operation. SFT continuation is unavailable in
|
|
155
|
+
the current worker. Never silently replace an unavailable parent with base-only
|
|
156
|
+
training. Draft `trainingForm.parent` preserves these references across save and
|
|
157
|
+
reopen; `startingModelLabel` is display text and grants no execution authority.
|
|
158
|
+
|
|
159
|
+
The CLI equivalent is `openpond training hosted-prepare-experiment draft.json
|
|
160
|
+
--team-id <id> --json`. Retain the input and returned receipt. Preparation starts
|
|
161
|
+
no compute. Explicit `hosted-start` accepts either that wrapper receipt or a
|
|
162
|
+
normal preparation receipt, requires `--yes`, and uses the same funded start
|
|
163
|
+
boundary. Reusing an operation ID with different inputs is a conflict; editing
|
|
164
|
+
and rerunning uses a new operation ID.
|
|
165
|
+
|
|
166
|
+
Use `hosted-preparation <id>` to read one retained preparation and
|
|
167
|
+
`hosted-preparations --cursor <id>` to follow discovery pages (`--project-id` and
|
|
168
|
+
`--limit` are supported). `hosted-cancel-preparation <receipt.json>` cancels an
|
|
169
|
+
unsubmitted preparation with its reviewed plan hash and current revision. Both
|
|
170
|
+
ordinary and model-first wrapper receipts are accepted. Once a job exists, use
|
|
171
|
+
the job controls and keep its identity.
|
|
172
|
+
|
|
43
173
|
1. Use the public Model, Dataset, Harness and Learning clients to select published
|
|
44
174
|
immutable resources, review evidence and seal a batch. Keep the exact Model
|
|
45
175
|
revision/ETag and batch revision/content hash. Private grader artifacts stay
|
|
@@ -130,3 +260,366 @@ The original `openpond-sdk@0.12.8` is published and independently verified.
|
|
|
130
260
|
The source follow-up prepares coordinated SDK/Ponder0.12.9; it does not claim
|
|
131
261
|
that version is published. Ponder npm and Python first-name publication remain separate publisher/bootstrap
|
|
132
262
|
gates; clean packed consumers do not establish registry ownership.
|
|
263
|
+
|
|
264
|
+
Training history is available through `client.listExecutions(teamId, { projectId, datasetHash, search, cursor, limit })` (`GET /v1/training/executions`). It returns bounded typed collection metadata around canonical Job identities, without examples, input bundles or artifact payloads. Use the returned Job ID with existing lifecycle/results operations. Missing historical model/data pins remain null; the collection never fills them from current Model settings. Python exposes `training.list_executions` in both native clients, and the CLI exposes `training hosted-executions`. Availability still depends on the deployed hosted release.
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
### Hardware specifications and live offers
|
|
268
|
+
|
|
269
|
+
`training.hardwareCatalog()` reads persisted provider GPU specifications, their content version and refresh timestamps. Its runtime labels distinguish candidates requiring live workload checks from hardware that is not admitted. The catalog contains no prices or stock. `training.gpuCatalog()` reads current offers; canonical preparation and reviewed execution admission remain required. Neither a GPU listing nor its maximum per-Pod count proves free capacity or support for a larger model. Python clients expose the same metadata read as `client.training.hardware_catalog()`.
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
`training.gpuCatalog(query)` binds live offers to `teamId`, the exact model/tokenizer/template revisions, method, LoRA rank and GPU count. The response includes its request hash, opaque provider-account scope, product/cloud/geography/CUDA constraints and expiry. It labels provider catalog pricing separately from accepted execution pricing; no capacity or credits are reserved. Unsupported combinations return a reason with no offers. The SDK rejects expired or substituted scoped replies. Calling `gpuCatalog()` without a query remains an overview read. Python sync/async clients accept the same fields through `training.gpu_catalog(query=...)`; the CLI accepts a JSON query file. Preparation and signed cost/funding review still own execution admission.
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
Timing calibration is implemented in source, with hosted proof pending. A partial
|
|
276
|
+
estimate can use the observed median and minimum/maximum of at least three clean,
|
|
277
|
+
matching completed executions from the same actor/workspace. The response binds
|
|
278
|
+
its cohort hash into the signed input review, reports incomplete sample counts
|
|
279
|
+
and separately excludes clean matches from other observed runtime profiles. This is historical evidence, not a confidence interval, latency
|
|
280
|
+
guarantee or token-throughput extrapolation. Queue wait, exact unmeasured token
|
|
281
|
+
populations and uncovered resource costs remain unknown. No calibration job is
|
|
282
|
+
launched by an estimate request. A `gpu_allocation` component prices conserved
|
|
283
|
+
billable allocation time from at least three matching completed runs at the
|
|
284
|
+
current whole-Pod GPU-plus-disk rate. Weighted sharing and device count are
|
|
285
|
+
already included once; other GPU phase rows do not add separate charges. The
|
|
286
|
+
component's expected cost and observed-range repricing are partial evidence.
|
|
287
|
+
Whole-run totals remain null while CPU, judges, network or retention lack
|
|
288
|
+
complete coverage; a spending ceiling is never substituted for an estimate.
|
|
289
|
+
|
|
290
|
+
## Copy a published Dataset into review
|
|
291
|
+
|
|
292
|
+
The Dataset review path and shared Dataset import UI are implemented in source;
|
|
293
|
+
hosted import/review qualification is still pending. They reuse the workspace
|
|
294
|
+
learning review engine without requiring a saved Model. Obtain the exact package through
|
|
295
|
+
`OpenPondTasksetPackageClient.getByRelease()` before composing this request:
|
|
296
|
+
|
|
297
|
+
```ts
|
|
298
|
+
const receipt = await training.reviewDataset({
|
|
299
|
+
schemaVersion: "openpond.datasetTrainingReviewRequest.v1",
|
|
300
|
+
teamId,
|
|
301
|
+
operationId: "review-selected-examples-1", // retain on uncertain retries
|
|
302
|
+
dataset: { id: pkg.taskset.id, revision: pkg.taskset.revision,
|
|
303
|
+
contentHash: pkg.taskset.contentHash },
|
|
304
|
+
packageHash: pkg.contentHash,
|
|
305
|
+
taskIds: selectedTaskIds, // null copies the whole exact release
|
|
306
|
+
purpose: "supervised_training",
|
|
307
|
+
shareWithWorkspace: true,
|
|
308
|
+
rewardBindingRef: selectedRewardBinding,
|
|
309
|
+
definition: { instructions: taskInstructions, outputSchema: actualOutputSchema },
|
|
310
|
+
targetSource: "expected_output",
|
|
311
|
+
});
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Workspace sharing is an explicit copy of selected examples and their required
|
|
315
|
+
execution dependencies, including evaluator context. The host retains the
|
|
316
|
+
original package privately. A bound package can retain its existing Reward and
|
|
317
|
+
task format; an ordinary package needs an exact saved Reward and a real output
|
|
318
|
+
contract, rather than a schema inferred from answer examples.
|
|
319
|
+
|
|
320
|
+
The receipt identifies new unapproved evidence and pending target proposals.
|
|
321
|
+
Use the existing learning commands to grade, review and seal the appropriate
|
|
322
|
+
batch, then pass its exact reference to experiment preparation. Original splits
|
|
323
|
+
and family boundaries remain enforced. Parent approvals are never copied.
|
|
324
|
+
`targetSource: "none"` imports without proposals; `"approved_parent"` proposes
|
|
325
|
+
targets from a learning-backed package and still requires fresh approval. Reward
|
|
326
|
+
training accepts only `"none"`. Import creates no training Job or credit hold.
|
|
327
|
+
The CLI exposes `training hosted-review-dataset input.json --team-id <id>`;
|
|
328
|
+
native Python sync/async clients expose `training.review_dataset(...)`.
|
|
329
|
+
|
|
330
|
+
`inspectDatasetTrainingReviewPackage(pkg)` from `openpond-sdk/taskset-packages`
|
|
331
|
+
returns task-format defaults, the retained Reward reference, exact package/release
|
|
332
|
+
identity and counts. It omits original task answers, evaluator context, grader
|
|
333
|
+
code and files. The shared UI uses this metadata plus the existing policy-visible
|
|
334
|
+
Dataset population read for example selection. Python consumers can read the
|
|
335
|
+
same immutable package through the existing package client; the inspection helper
|
|
336
|
+
is a pure TypeScript convenience, not another hosted mutation.
|
|
337
|
+
|
|
338
|
+
## Exact trained result
|
|
339
|
+
|
|
340
|
+
The result read is implemented in source; hosted release verification is pending.
|
|
341
|
+
`client.result(jobId, { teamId })` reads `GET /v1/training/jobs/{jobId}/result`.
|
|
342
|
+
Native Python exposes `training.result(job_id)` in both clients, bound to the
|
|
343
|
+
client's workspace. The official CLI uses `training hosted-result <job-id>`.
|
|
344
|
+
|
|
345
|
+
The response retains the original base model, recipe and immutable data/config
|
|
346
|
+
references, current Job, outputs and execution receipt. A retained candidate pins
|
|
347
|
+
its final checkpoint, artifact hash and adapter composition/parent. Clients reject
|
|
348
|
+
changed Job/source identities, inconsistent inventories and incomplete cleanup.
|
|
349
|
+
The host reuses the final SFT/GRPO checkpoint verifier. Missing original requests,
|
|
350
|
+
qualification runs and unfinished publication have explicit candidate states.
|
|
351
|
+
The read creates no Model, credit reservation, training Job or serving allocation.
|
|
352
|
+
A registry publication ID does not establish serving readiness or model quality.
|
|
353
|
+
Model saving and serving control are explicit operations described below.
|
|
354
|
+
|
|
355
|
+
### Save a trained Model
|
|
356
|
+
|
|
357
|
+
`client.saveResultModel(jobId, request)` saves the exact result as a version of
|
|
358
|
+
its producing Model. Read `client.result(jobId, { teamId })` first, then retain
|
|
359
|
+
one operation ID and send `TrainingResultSaveRequestSchema` fields: `teamId`,
|
|
360
|
+
`name`, `expectedModelRevision` from `result.model.revision`, `submissionHash`,
|
|
361
|
+
and the candidate's `artifact` and `checkpointId`. The request schema version is
|
|
362
|
+
`openpond.trainingResultSave.v1`. Retry an uncertain save with the same body.
|
|
363
|
+
The client does not automatically retry writes.
|
|
364
|
+
|
|
365
|
+
`client.savedModel(modelProjectId, { teamId })` returns the Model and its most
|
|
366
|
+
recently explicitly saved training version. That version retains original
|
|
367
|
+
base/settings/data, checkpoint and parent composition independently of later
|
|
368
|
+
configuration edits. The name applies to the producing Model. Saving another
|
|
369
|
+
checkpoint selects that version; viewing or running another experiment does
|
|
370
|
+
not select it. Serving activation remains separate.
|
|
371
|
+
|
|
372
|
+
Native Python uses `training.save_result_model(job_id, request)` and
|
|
373
|
+
`training.saved_model(model_project_id, {"teamId": team_id})` in sync/async clients.
|
|
374
|
+
The CLI reads a `{ "jobId": "…", "request": { … } }` command file with
|
|
375
|
+
`training hosted-save-model <input.json> --team-id <id>` and reads the saved
|
|
376
|
+
version with `training hosted-saved-model <model-project-id> --team-id <id>`.
|
|
377
|
+
The existing Desktop operation journal retains the reviewed save for recovery.
|
|
378
|
+
These additions are implemented in source; deployed save/concurrency,
|
|
379
|
+
artifact lifecycle and serving qualification remain open.
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
### Read saved-Model serving state
|
|
383
|
+
|
|
384
|
+
`client.modelServing(modelProjectId, { teamId, versionHash })` reads the exact
|
|
385
|
+
version hash returned by `savedModel`. A changed saved version requires a fresh
|
|
386
|
+
read. The response includes the verified saved snapshot, its separate registry
|
|
387
|
+
publication, Model-scoped routing bindings, deployment/pool metadata and an
|
|
388
|
+
optional historical inference receipt reference. Registry and native checkpoint
|
|
389
|
+
hashes describe different artifacts and must not be substituted.
|
|
390
|
+
|
|
391
|
+
`active` means eligible routing metadata points to a ready deployment/pool.
|
|
392
|
+
It does not establish current GPU residency, a warm worker, scale-to-zero or
|
|
393
|
+
released billed capacity. `lastVerifiedInference` is historical, settled request
|
|
394
|
+
evidence for that exact registry artifact and immutable runtime. Pool consumer
|
|
395
|
+
counts include other uses of shared capacity. An unblocked retirement read is
|
|
396
|
+
an observation, not a retirement action or a provider billing receipt.
|
|
397
|
+
|
|
398
|
+
Native Python exposes `training.model_serving(model_project_id, query)` in both
|
|
399
|
+
clients. The CLI uses `training hosted-model-serving <input.json> --team-id <id>`;
|
|
400
|
+
the file contains `modelProjectId` and `versionHash`. This is read-only. Serving reads and Model activation/stop controls are implemented in source;
|
|
401
|
+
hosted qualification remains pending.
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
### Activate and stop a saved Model
|
|
405
|
+
|
|
406
|
+
`client.controlModelServing(modelProjectId, request)` sends one explicit command.
|
|
407
|
+
Read `modelServing` first. Use schema version
|
|
408
|
+
`openpond.trainingModelServingControlRequest.v1`, the current `teamId`, one
|
|
409
|
+
retained `operationId`, the exact saved `versionHash`, the observed registry
|
|
410
|
+
`artifact` reference, `expectedRevision` from `state.control?.revision ?? 0`,
|
|
411
|
+
`action: "activate"` and an `idleTimeoutSeconds` value from 60 to 3600.
|
|
412
|
+
The UI obtains these references from the Model; users do not browse artifacts.
|
|
413
|
+
|
|
414
|
+
The immutable receipt binds the actor, action, checkpoint, publication and
|
|
415
|
+
revision. Retain the original request across uncertain replies and retry it
|
|
416
|
+
explicitly; writes are never automatically retried. The receipt acknowledges
|
|
417
|
+
the request. Read current serving status to observe readiness and subsequent
|
|
418
|
+
cleanup. Background reconciliation continues without the client or Desktop.
|
|
419
|
+
Activation uses the host's existing supported runtime, authorization, pooled
|
|
420
|
+
capacity and funding owners. It does not qualify a new GPU/model combination.
|
|
421
|
+
|
|
422
|
+
For Stop, refresh serving status and use its control's `versionHash`, `artifact`,
|
|
423
|
+
`revision` and `idleTimeoutSeconds` with a new operation ID and `action: "stop"`.
|
|
424
|
+
The Model's route becomes inactive first. Original calls, reservations and
|
|
425
|
+
shared consumers remain protected; physical retirement runs through the existing
|
|
426
|
+
capacity owner. A failed or uncertain allocation remains cleanup-pending rather
|
|
427
|
+
than causing a replacement allocation or a claim that provider capacity is gone.
|
|
428
|
+
Stop does not revoke the artifact. A different checkpoint cannot replace an
|
|
429
|
+
active saved serving version; stop that version before selecting another.
|
|
430
|
+
|
|
431
|
+
Native Python uses `training.control_model_serving(model_project_id, request)`
|
|
432
|
+
in both clients. The official CLI accepts a `{ "modelProjectId": "…",
|
|
433
|
+
"request": { … } }` file with `training hosted-control-model-serving <input.json>
|
|
434
|
+
--team-id <id>`. Activation additionally requires `--yes` because it authorizes
|
|
435
|
+
billed serving capacity. The Desktop journal retains the reviewed command across
|
|
436
|
+
reopen. These controls are source implementation; actual hosted startup,
|
|
437
|
+
interruption, shared capacity, provider retirement and settlement qualification
|
|
438
|
+
remain open.
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
Use the returned control's `modelId` for inference. The `model:` logical-name
|
|
442
|
+
and `saved-model:` binding-ID prefixes are reserved for saved-Model controls;
|
|
443
|
+
generic binding-projection writes cannot modify those routes. Pending cleanup
|
|
444
|
+
for previous versions is returned in `state.cleanup` and remains independent of
|
|
445
|
+
the current route. A new version does not erase earlier capacity obligations.
|
|
446
|
+
|
|
447
|
+
### Local neuron-steering and activation reference
|
|
448
|
+
|
|
449
|
+
Steering and inspection authoring use the existing standalone draft operations.
|
|
450
|
+
Set `draft.operationType` to `neuron_steering` or `inspect_activations` and retain
|
|
451
|
+
an `activationForm` matching `ActivationExperimentFormDraftSchema`. It contains
|
|
452
|
+
a nullable model preference, prompt rows (`id`, `text`), coordinate rows (`id`,
|
|
453
|
+
`layer`, `neuron`, `dose`), `doseMultipliers`, normalization and token scope,
|
|
454
|
+
plus generation/capture/work/time limits. Numeric authoring fields are strings
|
|
455
|
+
so a blank or unfinished value survives save/reopen. Row IDs remain unique and
|
|
456
|
+
stable across edits. Inspection ignores steering dose fields.
|
|
457
|
+
|
|
458
|
+
Use `saveExperimentDraft`, `getExperimentDraft`, `listExperimentDrafts` and
|
|
459
|
+
`archiveExperimentDraft` with their existing workspace, owner, revision and
|
|
460
|
+
operation-receipt semantics. The official CLI's `training hosted-save-draft`
|
|
461
|
+
and related draft commands accept the same documents on compatible hosts.
|
|
462
|
+
Native Python has the same generated inputs and sync/async methods. Drafts
|
|
463
|
+
are bounded to 32 KiB over the wire. They contain no tensor or activation bytes.
|
|
464
|
+
|
|
465
|
+
The common UI exposes both methods as editable drafts, reusing its Model picker,
|
|
466
|
+
prompt/coordinate fields, Advanced settings, Save draft and discard recovery.
|
|
467
|
+
Run remains unavailable while hosted activation execution has no compatible
|
|
468
|
+
runtime. A saved draft is neither a published steering profile nor an admitted
|
|
469
|
+
execution request. Runtime preparation still must resolve exact tensor/tokenizer
|
|
470
|
+
identity, tokenize prompts, validate coordinates/doses and bound the whole sweep.
|
|
471
|
+
No training recipe, Dataset, spend cap or chat prompt is fabricated for inspection.
|
|
472
|
+
|
|
473
|
+
Read `client.modificationCapabilities(query)` before preparing a modification.
|
|
474
|
+
It calls read-only `GET /v1/training/modification-capabilities`. The query uses
|
|
475
|
+
`teamId`, `modelId`, `source` (`managed`, `local` or `builtin`) and optional exact
|
|
476
|
+
`revision`, `tokenizerRevision`, `chatTemplateHash` and `modelAssetId` fields.
|
|
477
|
+
Omit unknown values rather than inventing a pin. The response retains the exact
|
|
478
|
+
query/request hash, workspace/actor, checked time, expiry and one entry for each
|
|
479
|
+
of `neuron_steering` and `inspect_activations`. `draftSchema` describes the format,
|
|
480
|
+
not permission to write or execute.
|
|
481
|
+
|
|
482
|
+
Each capability observation retains `validationLevel`: `null` when execution is
|
|
483
|
+
unavailable, `source_validated` for an experimental staging runtime, or
|
|
484
|
+
`gpu_qualified` after a retained exact-model/runtime GPU run. Source validation
|
|
485
|
+
describes a runtime reviewed for an experimental staging trial; it is not
|
|
486
|
+
evidence that training or inference has already succeeded. Read the runtime's retained evidence; neither level
|
|
487
|
+
reserves compute, approves a charge or establishes model quality. Engram,
|
|
488
|
+
Decision, AlphaEdit and neuron-training capabilities use the same distinction.
|
|
489
|
+
The validation level stays outside native tensor descriptors and runtime hashes.
|
|
490
|
+
|
|
491
|
+
An unavailable entry explains `model_not_supported` or `runtime_not_qualified`.
|
|
492
|
+
The current hosted projection advertises no executable activation runtime. A
|
|
493
|
+
future ready entry must bind a complete dense tensor identity, runtime image/
|
|
494
|
+
release and retained evidence, plus prompt/variant/coordinate/dose/capture/work/
|
|
495
|
+
time limits. The client verifies hashes, query identity, method coverage and a
|
|
496
|
+
maximum five-minute observation lifetime. Call
|
|
497
|
+
`parseAndVerifyModelModificationCapabilities(value, query, expectedActorId)`
|
|
498
|
+
when the current account identity is known. A capability observation reserves
|
|
499
|
+
no funds/capacity, proves no warm worker and is rechecked by execution admission.
|
|
500
|
+
The TypeScript read has a 30-second bound and accepts an optional `{ signal }`
|
|
501
|
+
second argument; cancellation does not change the draft or start any operation.
|
|
502
|
+
|
|
503
|
+
Native Python exposes `training.modification_capabilities(input)` in both
|
|
504
|
+
clients. The official CLI reads the same query file with
|
|
505
|
+
`training hosted-modification-capabilities <input.json> --team-id <id> --json`.
|
|
506
|
+
Desktop relays the read through the existing setup owner; the common form
|
|
507
|
+
refreshes it for the selected model without changing any draft settings.
|
|
508
|
+
|
|
509
|
+
`neuron-steering.ts` defines exact dense-model identities, additive profiles and
|
|
510
|
+
residual calibration artifacts. `activation-reference.ts` defines bounded
|
|
511
|
+
tokenized prompt comparisons and selected-coordinate observations. Use
|
|
512
|
+
`createNeuronSteeringProfile` and `parseAndVerifyNeuronSteeringProfile` for
|
|
513
|
+
profiles, and `parseAndVerifyActivationReferenceRequest` /
|
|
514
|
+
`parseAndVerifyActivationReferenceResult` for retained execution evidence.
|
|
515
|
+
These exports are local contracts; they add no hosted execution operation.
|
|
516
|
+
|
|
517
|
+
The optional native Python `ponder_sdk.reference` executor runs a host-supplied,
|
|
518
|
+
loaded dense PyTorch model serially. The source example
|
|
519
|
+
Native Python also provides `ponder_sdk.activation_forms.compile_activation_form`.
|
|
520
|
+
It turns the saved raw text form into the bounded reference request using an
|
|
521
|
+
explicit trusted `ActivationFormTokenizer` and exact model identity. It rejects
|
|
522
|
+
blank required numbers, changed tokenizer/source pins and invalid coordinates;
|
|
523
|
+
steering includes a baseline plus the authored sweep, while inspection captures
|
|
524
|
+
the unsteered baseline. The example below supplies a complete adapter. Local
|
|
525
|
+
compilation grants no hosted admission, and fixed calibration artifacts remain
|
|
526
|
+
required at execution.
|
|
527
|
+
|
|
528
|
+
`python/openpond-sdk/examples/activation_reference.py` runs a synthetic CPU
|
|
529
|
+
network with Off, zero, signed-dose and token-scope comparisons. It captures
|
|
530
|
+
selected values before/after the intervention, retains exact request/model/
|
|
531
|
+
profile hashes, and checks that weights are unchanged. Its manual numerical
|
|
532
|
+
workflow lives outside the ordinary HTTP SDK test suite.
|
|
533
|
+
|
|
534
|
+
Reference semantics are zero-based coordinates, additive updates to the
|
|
535
|
+
post-gating input of `down_proj`, and an FP32 midpoint median of outgoing
|
|
536
|
+
residual norms. These are explicit proposed semantics, not a claim of reproducing
|
|
537
|
+
an unspecified external recipe. Baseline-prompt normalization uses a separate
|
|
538
|
+
unsteered prefill and freezes its statistics. Fixed normalization instead pins
|
|
539
|
+
an immutable calibration artifact. Prompt/decode and absolute-position scope
|
|
540
|
+
are separate from the calibration sample mask.
|
|
541
|
+
|
|
542
|
+
Requests bound prompts, variants, capture values, forward-token work, generated
|
|
543
|
+
tokens and duration. The serial reference recomputes full contexts and includes
|
|
544
|
+
a final inspection forward for the last generated token. It has no KV/prefix
|
|
545
|
+
cache or concurrent shared-model serving. Only a single-device, unquantized,
|
|
546
|
+
adapter-free dense model is admitted; LoRA, fused/quantized kernels, MoE and
|
|
547
|
+
checkpoint-specific Qwen support need separate runtime integration.
|
|
548
|
+
|
|
549
|
+
This reference makes no paid request, downloads no model and creates no hosted
|
|
550
|
+
Job, saved Model or serving allocation. There is no corresponding official CLI
|
|
551
|
+
execution command yet. Managed authoring, isolation, comparisons and serving
|
|
552
|
+
remain separate implementation work.
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
### Retain an external activation observation locally
|
|
556
|
+
|
|
557
|
+
The authenticated local server exposes `POST /v1/modification-recordings`,
|
|
558
|
+
`GET /v1/modification-recordings/:id?teamId=...` and the metadata-only collection
|
|
559
|
+
read. Point an ordinary configured training client at that loopback server;
|
|
560
|
+
these paths are not hosted training endpoints.
|
|
561
|
+
|
|
562
|
+
```ts
|
|
563
|
+
const recording = await localTraining.recordModificationObservation({
|
|
564
|
+
schemaVersion: "openpond.modificationRecordingRequest.v1",
|
|
565
|
+
teamId, operationId: "retain-reference-1", name: "Reference comparison",
|
|
566
|
+
projectId: null, method: "neuron_steering", request, result,
|
|
567
|
+
});
|
|
568
|
+
const retained = await localTraining.modificationRecording(recording.id, { teamId });
|
|
569
|
+
const page = await localTraining.modificationRecordings({ teamId, limit: 30 });
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
`request` and `result` are the exact verified activation-reference output, not a
|
|
573
|
+
draft or arbitrary tensor dump. Inspection requires only unsteered variants;
|
|
574
|
+
steering requires an explicit Off baseline and an intervention. The canonical
|
|
575
|
+
command is bounded to 8 MiB. Reuse the original operation ID and exact command
|
|
576
|
+
after a lost reply; a changed command conflicts. The returned ID and first
|
|
577
|
+
receipt remain stable across retries and local server restarts.
|
|
578
|
+
|
|
579
|
+
The read verifies exact request/result/model hashes, capture coverage, artifact
|
|
580
|
+
bytes, metadata and scope. Collection reads return bounded metadata with opaque
|
|
581
|
+
cursors scoped to account, workspace, Project filter and search. Project IDs
|
|
582
|
+
organize local observations; they do not confer hosted Project permissions.
|
|
583
|
+
Custody is `local`, provenance is `external_observation`, and
|
|
584
|
+
`measurementAttestation` is `unattested`. Neither hashes nor import imply worker
|
|
585
|
+
execution, a grade or measured provider cost. No Job, funding hold or allocation
|
|
586
|
+
is created. The payload stays in the existing device database.
|
|
587
|
+
|
|
588
|
+
Native Python offers `record_modification_observation(command)`,
|
|
589
|
+
`modification_recording(id, {"teamId": team_id})` and
|
|
590
|
+
`modification_recordings({"teamId": team_id, "limit": 30})` in both clients.
|
|
591
|
+
The official CLI uses:
|
|
592
|
+
|
|
593
|
+
```sh
|
|
594
|
+
openpond experiments record-modification --local --team <id> --input-file <command.json> --json
|
|
595
|
+
openpond experiments modification <recording-id> --local --team <id> --json
|
|
596
|
+
openpond experiments modifications --local --team <id> --limit 30 --json
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
Supply `--home` and `--server-url` when the running app uses nondefault values.
|
|
600
|
+
The UI imports the reference example's `{request, result}` document, constructs
|
|
601
|
+
an immutable import command, and reuses the same local service/table/viewer.
|
|
602
|
+
Imported observations are not deployable Models or managed runs.
|
|
603
|
+
|
|
604
|
+
### Inspect a managed modification execution
|
|
605
|
+
|
|
606
|
+
On a host implementing managed execution inspection, read an existing execution with:
|
|
607
|
+
|
|
608
|
+
```ts
|
|
609
|
+
const history = await training.listModificationExecutions(teamId, {projectId, limit: 25});
|
|
610
|
+
const execution = await training.getModificationExecution(teamId, executionId);
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
The matching native Python method is `client.training.get_modification_execution(execution_id)` in sync and async clients. The official CLI provides:
|
|
614
|
+
|
|
615
|
+
```sh
|
|
616
|
+
openpond training hosted-modification-execution <execution-id> --team-id <id> --json
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
This read returns the owned execution's exact request, lifecycle phase and any retained capture. Clients verify the response hash, execution/workspace identity, request hash and complete capture coverage. A capture can be present while the phase is still `dispatching` or `stopping`; its presence does not establish resource cleanup or final cost settlement. This read starts no compute. Current runtime discovery advertises no qualified managed steering or inspection runtime.
|
|
620
|
+
|
|
621
|
+
### Compile, prepare and control managed activations
|
|
622
|
+
|
|
623
|
+
On a compatible host, `compileModificationExecution(input)` compiles a bounded raw form with the exact registered tokenizer. `prepareModificationExecution(input)` retains the compiled request, Project, name and maximum spend without starting compute. After explicit review, `startModificationExecution(input)` uses the returned execution ID, revision, plan hash, approved cap and a stable operation ID. `cancelModificationExecution(input)` retains that exact execution identity while cleanup proceeds.
|
|
624
|
+
|
|
625
|
+
The CLI equivalents are `training hosted-compile-modification`, `hosted-prepare-modification`, `hosted-start-modification --yes` and `hosted-cancel-modification`, each taking `<input.json> --team-id <id>`. Native Python provides corresponding snake_case methods in both clients. Use the exported input schemas or installed help; preserve the original command and operation ID after an uncertain reply. Start is the funded execution boundary. An unavailable capability never grants permission to start an unsupported model.
|
|
@@ -12,16 +12,16 @@ import {
|
|
|
12
12
|
sealAdvancedRefinerEvaluationPin,
|
|
13
13
|
sealAdvancedRefinerReviewReceipt,
|
|
14
14
|
verifyAdvancedRefinerEvaluationPin
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-RN5MK7NH.js";
|
|
16
|
+
import "./chunk-QNOCM5JX.js";
|
|
17
17
|
import "./chunk-3B5KSH3V.js";
|
|
18
18
|
import "./chunk-H3367ISL.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-626JLH4D.js";
|
|
20
20
|
import "./chunk-O6FKHAWN.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-GS5HEE4M.js";
|
|
22
|
+
import "./chunk-ZRTNR4U7.js";
|
|
23
|
+
import "./chunk-JMFYNIYZ.js";
|
|
24
|
+
import "./chunk-MVAEE5EI.js";
|
|
25
25
|
import "./chunk-CL3IOOVL.js";
|
|
26
26
|
import "./chunk-B3ZHJ2KK.js";
|
|
27
27
|
import "./chunk-H3JZ3P5T.js";
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
CandidateEvaluationPreparationSchema,
|
|
6
6
|
CandidateEvaluationRequestSchema,
|
|
7
7
|
createCandidateEvaluationClient
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-3VUF5H3B.js";
|
|
9
|
+
import "./chunk-ZQFROKKS.js";
|
|
10
|
+
import "./chunk-GS5HEE4M.js";
|
|
11
|
+
import "./chunk-ZRTNR4U7.js";
|
|
12
|
+
import "./chunk-JMFYNIYZ.js";
|
|
13
|
+
import "./chunk-MVAEE5EI.js";
|
|
14
14
|
import "./chunk-CL3IOOVL.js";
|
|
15
15
|
import "./chunk-B3ZHJ2KK.js";
|
|
16
16
|
import "./chunk-H3JZ3P5T.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
ConnectedStartingAssetsRequestSchema,
|
|
9
9
|
DatasetWorkspaceReceiptSchema,
|
|
10
10
|
verifyConnectedStartingAssetsReceipt
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-AG6UJ3DI.js";
|
|
12
12
|
import {
|
|
13
13
|
fetchConnectedJson
|
|
14
14
|
} from "./chunk-O6FKHAWN.js";
|
|
@@ -650,4 +650,4 @@ export {
|
|
|
650
650
|
summarizeCollectorCoverage2 as summarizeCollectorCoverage,
|
|
651
651
|
hashCollectorEligibleBoundaries
|
|
652
652
|
};
|
|
653
|
-
//# sourceMappingURL=chunk-
|
|
653
|
+
//# sourceMappingURL=chunk-3BYFS4RO.js.map
|
|
@@ -2,18 +2,18 @@ import {
|
|
|
2
2
|
materializePortableTasksetRelease,
|
|
3
3
|
portableTasksetEnvironment,
|
|
4
4
|
projectPortableTaskRecord
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GWXJSBWR.js";
|
|
6
6
|
import {
|
|
7
7
|
decodeTasksetDraftWorkspaceFile,
|
|
8
8
|
isManagedTasksetDraftFilePath,
|
|
9
9
|
publishTasksetDraft,
|
|
10
10
|
renderTasksetDraftManifests,
|
|
11
11
|
validateTasksetDraftWorkspace
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Q4RGCEOI.js";
|
|
13
13
|
import {
|
|
14
14
|
TasksetSchema,
|
|
15
15
|
computeTasksetHash
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-GCUWJUUM.js";
|
|
17
17
|
import {
|
|
18
18
|
MAX_TASKSET_PACKAGE_BYTES,
|
|
19
19
|
ModelStarterExecutionSchema,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
resolveTasksetPackageInstructions,
|
|
33
33
|
structuredSamplingSchemaDeclaration,
|
|
34
34
|
validateTasksetPackage
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-ZQ6QTYRE.js";
|
|
36
36
|
import {
|
|
37
37
|
ModelTasksetAuthoringOwnerSchema,
|
|
38
38
|
ModelTasksetDraftPreparationSchema,
|
|
@@ -471,4 +471,4 @@ export {
|
|
|
471
471
|
compileTasksetDraftWorkspace,
|
|
472
472
|
compileModelTasksetDraftWorkspace
|
|
473
473
|
};
|
|
474
|
-
//# sourceMappingURL=chunk-
|
|
474
|
+
//# sourceMappingURL=chunk-3MDNVNBM.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RunExperimentSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZQFROKKS.js";
|
|
4
4
|
import {
|
|
5
5
|
contentHash
|
|
6
6
|
} from "./chunk-H3JZ3P5T.js";
|
|
@@ -136,4 +136,4 @@ export {
|
|
|
136
136
|
CandidateEvaluationPreparationSchema,
|
|
137
137
|
CandidateEvaluationControlSchema
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=chunk-
|
|
139
|
+
//# sourceMappingURL=chunk-3VUF5H3B.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ExperimentFieldMappingsSchema,
|
|
3
3
|
ExperimentGraderPinSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-GS5HEE4M.js";
|
|
5
5
|
import {
|
|
6
6
|
ImmutableReleaseRefSchema,
|
|
7
7
|
contentHash
|
|
@@ -67,4 +67,4 @@ export {
|
|
|
67
67
|
ExperimentScoringPassSchema,
|
|
68
68
|
verifyExperimentScoringPass
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
70
|
+
//# sourceMappingURL=chunk-626JLH4D.js.map
|