@zhuoyuezs/ml-platform 0.2.2-alpha.1 → 0.2.2-alpha.2

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/checksums.json CHANGED
@@ -7,12 +7,12 @@
7
7
  },
8
8
  {
9
9
  "path": "runtime/business-client/package-lock.json",
10
- "sha256": "sha256:7fc827b514bf44b2b216eeaa3ba2638739ebd4691fe77093322fd882e2cb11f3",
10
+ "sha256": "sha256:1e364f51be2b6df7ab5f27b72aa04cb499d9d191a321ab669bba011555e659e7",
11
11
  "size_bytes": 1628
12
12
  },
13
13
  {
14
14
  "path": "runtime/business-client/package.json",
15
- "sha256": "sha256:a497a296ed8b70323bf6a306f92ad7cadd693613d1f8c9fe2df00a045603aee0",
15
+ "sha256": "sha256:45545a61753cc889a1d578266634f0720423895e0693fa4911e0fdd3c0957f69",
16
16
  "size_bytes": 671
17
17
  },
18
18
  {
@@ -22,8 +22,8 @@
22
22
  },
23
23
  {
24
24
  "path": "runtime/business-client/src/cli.js",
25
- "sha256": "sha256:2c8c2ccc5ca9d09ac787ea68af928cb4cd63d3348c0b40bfc1898dd2dcb0edec",
26
- "size_bytes": 58618
25
+ "sha256": "sha256:7ddd434c1e8ee64d8a6de9005e4f6b440197eafab021071b9e4a8af340d4e23a",
26
+ "size_bytes": 57877
27
27
  },
28
28
  {
29
29
  "path": "runtime/business-client/src/config.js",
@@ -142,8 +142,8 @@
142
142
  },
143
143
  {
144
144
  "path": "skills/model-lifecycle-management/SKILL.md",
145
- "sha256": "sha256:61a89145ef33a2d58c58d8f352006590a47cf9587705568dec1c8ffe7ed8938e",
146
- "size_bytes": 4014
145
+ "sha256": "sha256:06307c24ee24ef28978183c9c83a5542fa5b21ec9912e717e84bcede80434cd8",
146
+ "size_bytes": 4049
147
147
  },
148
148
  {
149
149
  "path": "skills/model-lifecycle-management/agents/openai.yaml",
@@ -152,8 +152,8 @@
152
152
  },
153
153
  {
154
154
  "path": "skills/model-lifecycle-management/references/discovery.md",
155
- "sha256": "sha256:c87a9efacb1a18125bc1ee1b3061c5a9b876355e238aa5f7f17a985014413281",
156
- "size_bytes": 4899
155
+ "sha256": "sha256:b2560e3c79fd309ce15a45d6bc3c30f2206d71f88197403cfa432580f9e4c50e",
156
+ "size_bytes": 5075
157
157
  },
158
158
  {
159
159
  "path": "skills/model-lifecycle-management/references/evaluation.md",
@@ -167,13 +167,13 @@
167
167
  },
168
168
  {
169
169
  "path": "skills/model-lifecycle-management/references/training-contracts.md",
170
- "sha256": "sha256:d2b1f4089cd622589fabd50fe1600edfa6c330f4a7516734fe2316fcec7bb1e0",
171
- "size_bytes": 12893
170
+ "sha256": "sha256:06af04539ab8d69467680e4a662595719a40f82e23fac19b9d4460be189201c5",
171
+ "size_bytes": 12887
172
172
  },
173
173
  {
174
174
  "path": "skills/model-lifecycle-management/references/training.md",
175
- "sha256": "sha256:97c20f02b1179dc7b7527cb7b5e11978778ccb8b76cdf88c229bcfdb5786f045",
176
- "size_bytes": 5629
175
+ "sha256": "sha256:f754b0a7717914b2ac028feac5b1b9ef59ff673e7ffe722f37f5ae3d5e6e0bfd",
176
+ "size_bytes": 5686
177
177
  }
178
178
  ],
179
179
  "schema_version": "data_platform.ml_platform_checksums/v1"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhuoyuezs/ml-platform",
3
- "version": "0.2.2-alpha.1",
3
+ "version": "0.2.2-alpha.2",
4
4
  "description": "ML 数据平台 business CLI 与 Agent Skills 管理工具",
5
5
  "bin": {
6
6
  "ml-platform": "scripts/main.js"
package/release.json CHANGED
@@ -13,8 +13,8 @@
13
13
  "entrypoint": "src/cli.js",
14
14
  "name": "ml-platform",
15
15
  "path": "runtime/business-client",
16
- "sha256": "sha256:6491b970b094de9514aacdf21a90e8f8f57d429f37a0f762747b2dca4a4d6df2",
17
- "version": "0.8.1"
16
+ "sha256": "sha256:b439dd6ae614439aca3e812f6e2127f743a7efaf4ffa090886fdebed55c9824d",
17
+ "version": "0.8.2"
18
18
  },
19
19
  "policy_sha256": "sha256:02fbde0134696b78c0c365d6e0b76c9814227208da5b2b3d4e5dbd82dc4a3606",
20
20
  "public_schema_versions": [
@@ -25,7 +25,7 @@
25
25
  "ml_data_platform.feature_set/v1",
26
26
  "ml_data_platform.dataset_manifest/v1"
27
27
  ],
28
- "release_version": "0.2.2-alpha.1",
28
+ "release_version": "0.2.2-alpha.2",
29
29
  "runtime_requirements": {
30
30
  "node": ">=18",
31
31
  "os": [
@@ -37,22 +37,22 @@
37
37
  "skills": {
38
38
  "feature-management": {
39
39
  "path": "skills/feature-management",
40
- "requires_cli": ">=0.8.1 <0.9.0",
41
- "revision": "0.2.2-alpha.1",
40
+ "requires_cli": ">=0.8.2 <0.9.0",
41
+ "revision": "0.2.2-alpha.2",
42
42
  "sha256": "sha256:d32f0306f129d7bf76eb037fe239c84dd3c29c64b61600799d6e40320784bb10"
43
43
  },
44
44
  "model-deployment-management": {
45
45
  "path": "skills/model-deployment-management",
46
- "requires_cli": ">=0.8.1 <0.9.0",
47
- "revision": "0.2.2-alpha.1",
46
+ "requires_cli": ">=0.8.2 <0.9.0",
47
+ "revision": "0.2.2-alpha.2",
48
48
  "sha256": "sha256:e7d87c272a0dcc028ea628d5e36f5b7e52ed27cb9c1bc17ea76527478e28b46d"
49
49
  },
50
50
  "model-lifecycle-management": {
51
51
  "path": "skills/model-lifecycle-management",
52
- "requires_cli": ">=0.8.1 <0.9.0",
53
- "revision": "0.2.2-alpha.1",
54
- "sha256": "sha256:aaa3fdb54c0ff9e8dfa0f71e67d072830786e5e3d4803ba3962dff723d159386"
52
+ "requires_cli": ">=0.8.2 <0.9.0",
53
+ "revision": "0.2.2-alpha.2",
54
+ "sha256": "sha256:f841821d2ca90198ad07236953a864393cb1e8db51cb349f0ded85190ebc1c10"
55
55
  }
56
56
  },
57
- "source_commit": "d81c77ff5c978ba1da4ce4b370c19c0be27d28c4"
57
+ "source_commit": "378de56c68d4ea525083170cd500eeef01e88bd1"
58
58
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@zhuoyuezs/ml-platform-business-client",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@zhuoyuezs/ml-platform-business-client",
9
- "version": "0.8.1",
9
+ "version": "0.8.2",
10
10
  "license": "UNLICENSED",
11
11
  "bin": {
12
12
  "ml-platform": "src/cli.js"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhuoyuezs/ml-platform-business-client",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "private": true,
5
5
  "description": "JavaScript implementation of the ML Platform business client",
6
6
  "bin": {
@@ -26,7 +26,7 @@ const BUSINESS_COMMANDS = new Set([
26
26
  "add-dataset", "update-dataset", "delete-dataset", "list-dataset-artifacts",
27
27
  "register-operator", "show-operator-specs", "delete-operator", "run-operator",
28
28
  "get-job", "wait-job", "retry-job", "cancel-job", "get-dataset-artifact", "download-dataset-artifact", "fetch-inference-data", "fetch-inference-context", "predict-model", "apply",
29
- "list-system-models", "get-system-model", "list-trainer-definitions", "get-trainer-definition", "register-training-run", "validate-training-run", "submit-training-job", "get-training-job", "retry-training-job", "cancel-training-job",
29
+ "list-system-models", "get-system-model", "register-training-run", "validate-training-run", "submit-training-job", "get-training-job", "retry-training-job", "cancel-training-job",
30
30
  "register-evaluation-config", "get-evaluation-config", "register-metric-definition", "get-metric-definition",
31
31
  "register-executable-package", "verify-executable-package", "publish-executable-package",
32
32
  "validate-evaluation-run", "submit-evaluation", "get-evaluation-run", "get-evaluation-job", "retry-evaluation-job", "cancel-evaluation-job", "list-evaluation-attempts",
@@ -108,8 +108,6 @@ const COMMAND_USAGE = {
108
108
  "predict-model": "predict-model REQUEST_JSON --serving-url URL",
109
109
  "list-system-models": "list-system-models",
110
110
  "get-system-model": "get-system-model NAME VERSION [--project PROJECT]",
111
- "list-trainer-definitions": "list-trainer-definitions",
112
- "get-trainer-definition": "get-trainer-definition NAME VERSION [--project PROJECT]",
113
111
  "register-training-run": "register-training-run RUN_JSON",
114
112
  "validate-training-run": "validate-training-run RUN_JSON",
115
113
  "submit-training-job": "submit-training-job REQUEST_JSON",
@@ -827,15 +825,6 @@ async function runBusinessCli(argv) {
827
825
  const project = take(rest, "--project", "default");
828
826
  result = await client(options).get(`/system-models/${encodeURIComponent(project)}/${encodeURIComponent(name)}/${encodeURIComponent(version)}`);
829
827
  }
830
- else if (options.command === "list-trainer-definitions") {
831
- result = await client(options).get("/trainer-definitions");
832
- }
833
- else if (options.command === "get-trainer-definition") {
834
- const name = positional(rest, "trainer name");
835
- const version = positional(rest, "trainer version");
836
- const project = take(rest, "--project", "default");
837
- result = await client(options).get(`/trainer-definitions/${encodeURIComponent(project)}/${encodeURIComponent(name)}/${encodeURIComponent(version)}`);
838
- }
839
828
  else if ({
840
829
  "register-training-run": "/training-runs", "validate-training-run": "/training-runs/validate",
841
830
  "validate-training-job": "/training-jobs/validate", "validate-model-package": "/model-packages/validate", "submit-training-job": "/training-jobs", "register-evaluation-config": "/evaluation-configs", "register-metric-definition": "/metric-definitions",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: model-lifecycle-management
3
- description: Manage ITSMP model training, evaluation, immutable model packaging, and contract-bound inference requests. Use when a user asks to list or inspect registered TrainerDefinitions, register a trainer, validate or submit a training run, inspect/retry/cancel training jobs, configure or run governed evaluation, inspect evaluation evidence, validate a ModelArtifact, create and inspect a ModelPackage, or invoke a deployed model. Do not use for feature catalog authoring, dataset builds, model deployment, Kubernetes administration, or image release engineering.
3
+ description: Manage ITSMP system-model discovery, model training, evaluation, immutable model packaging, and contract-bound inference requests. Use when a user asks to inspect platform-owned SystemModels and runtime bindings, validate or submit a training run, inspect/retry/cancel training jobs, configure or run governed evaluation, inspect evaluation evidence, validate a ModelArtifact, create and inspect a ModelPackage, or invoke a deployed model. Do not use for feature catalog authoring, dataset builds, model deployment, Kubernetes administration, or image release engineering.
4
4
  ---
5
5
 
6
6
  # Model Lifecycle Management
@@ -27,10 +27,10 @@ OpenAPI free-form dictionaries are not complete nested contracts: use the
27
27
  examples in these references and same-release validation, not successive 422s
28
28
  to discover fields. Preserve release/error evidence when deployment differs.
29
29
 
30
- - Establish exact immutable inputs, TrainerDefinition `v1`, runtime image digest, model inputs/targets, resources, evaluation policy, and package destination from authoritative contracts. Do not infer them from model names.
30
+ - Establish exact immutable inputs, canonical SystemModel `v1`, runtime-release image digest, model inputs/targets, resources, evaluation policy, and package destination from authoritative contracts. Do not infer them from model names.
31
31
  - Validate, register, submit, retry, cancel, and package creation are separate actions. Read-only discovery and validation do not authorize mutation or workload submission.
32
32
  - Before submission, show the exact JSON path, immutable identities, expected workload, and target API. Obtain explicit authorization. Retry and cancel require separate authorization for the exact Job.
33
- - Never use `latest` image tags. During development TrainerDefinition stays at `v1`; rebinding it follows the reviewed release procedure and requires confirming no active Job references the old definition.
33
+ - Never use `latest` image tags. During development the canonical SystemModel stays at `v1`; image changes are reviewed Runtime Release updates and require confirming no active Job depends on the previous binding.
34
34
  - A succeeded Job is insufficient evidence. Training requires a valid ModelArtifact and signature; evaluation requires immutable Result/Summary evidence and coverage; packaging requires `READY`, an immutable image digest, manifest, and passing test report.
35
35
  - Register a ModelArtifact through `register-model-artifact` only after a platform-generated PASS evaluation/result or summary has complete evidence; do not bypass the CLI with a direct registration HTTP request.
36
36
  - Do not register caller-computed evaluation results. Workers produce predictions, metrics, decisions, and summaries from frozen DatasetArtifact rowsets.
@@ -9,18 +9,21 @@ capability probe.
9
9
  ## Effective runtime policy
10
10
 
11
11
  ```bash
12
+ ml-platform --profile server list-system-models
13
+ ml-platform --profile server get-system-model NAME v1 --project PROJECT
12
14
  ml-platform --profile server get-model-runtime-release
13
- ml-platform --profile server list-trainer-definitions
14
- ml-platform --profile server get-trainer-definition NAME v1 --project PROJECT
15
15
  ```
16
16
 
17
- Discovery returns `configured`, `release_id`, `approval_policy`, and `bindings`.
18
- Each binding contains the exact `project/name:version:device` trainer key,
17
+ System-model discovery returns the platform-owned algorithm identity,
18
+ capabilities, parameter contract and Serving input modes. Runtime discovery
19
+ returns `configured`, `release_id`, `approval_policy`, and `bindings`. Each
20
+ binding contains the exact `project/name:version:device` compatibility key,
19
21
  immutable training and Serving base images, input modes and architectures.
20
- Compare the registered TrainerDefinition image against the binding before Job
21
- preflight. A binding is release approval, not proof that a matching definition
22
- is registered. `configured=false` means capability-based validation without a
23
- release allowlist; it does not mean every trainer/device is approved by a release.
22
+ Confirm that the canonical SystemModel supports the selected device and that an
23
+ exact runtime binding exists before Job preflight. Do not use historical
24
+ TrainerDefinition registry entries to select a model or image.
25
+ `configured=false` means capability-based validation without a release allowlist;
26
+ it does not mean every model/device is approved by a release.
24
27
  `evaluation.runtime_identity` and `default_executor` are effective server values.
25
28
  `worker_dependencies_verified=false` explicitly means discovery has not tested
26
29
  imports, image pulls or model prediction in the Worker.
@@ -79,7 +82,7 @@ Training Run `task`, `data`, `data.artifact`, `features.feature_set`, `splits`,
79
82
  config references, members and execution, plus ModelPackage requests, are also
80
83
  structured. Unknown keys return 422 with `detail[].loc` identifying the field.
81
84
  Keep algorithm-specific `trainer.parameters` and documented plugin configuration
82
- maps extensible; validate them against the registered plugin schema. Do not treat
85
+ maps extensible; validate them against the SystemModel parameter schema. Do not treat
83
86
  all remaining `additionalProperties` as a platform schema defect.
84
87
 
85
88
  These HTTP checks preserve accepted values and do not rewrite historical stored
@@ -237,7 +237,7 @@ For `continuous_target_series`, TrainingRun v3 derives the fixed maximum
237
237
  `prediction_length` as `data.temporal.horizon / data.temporal.frequency`; the
238
238
  horizon must be a positive exact multiple of the frequency. The target input
239
239
  must be a numeric, at-prediction Feature and the output label must be the sole
240
- entry in `data.labels`. Use this adapter only when the inspected TrainerDefinition
240
+ entry in `data.labels`. Use this adapter only when the inspected SystemModel
241
241
  advertises `forecast_target_modes=["continuous_target_series"]`.
242
242
 
243
243
  The resulting model emits the complete fixed-length trajectory. Serving accepts
@@ -6,10 +6,10 @@ Settle the final DataSchema (including split/metadata and label/time columns),
6
6
  FeatureSet order and evaluation runtime before the first Job. See
7
7
  [evaluation.md](evaluation.md) for inherited split bindings and runtime failures.
8
8
 
9
- - Inspect exact TrainerDefinition `project/name:v1`, entrypoint, image digest,
9
+ - Inspect the exact canonical SystemModel `project/name:v1`, entrypoint,
10
10
  capabilities (including `forecast_target_modes`) and parameter schema. Similar names in different projects are
11
- distinct identities; registration does not imply runtime approval.
12
- - Match definition and device to the active runtime release. On `not approved
11
+ distinct identities. Resolve its immutable image from the active Runtime Release.
12
+ - Match the SystemModel and device to the active runtime release. On `not approved
13
13
  for device`, preserve the rejected identity, device and release ID. Use `get-model-runtime-release` to find the
14
14
  approved binding; if the deployed release lacks discovery, request its contract;
15
15
  do not try similar names or re-register trainers to bypass approval.
@@ -52,22 +52,22 @@ working directory so later diagnosis needs no source repository.
52
52
  Read [training-contracts.md](training-contracts.md) when authoring a Run or Job
53
53
  JSON. It provides complete request shapes, response paths and sequence semantics.
54
54
 
55
- Discover already-registered TrainerDefinitions (read-only) before authoring a
56
- TrainingRunSpec or deciding whether registration is needed:
55
+ Discover the platform-owned SystemModel before authoring a TrainingRunSpec, then
56
+ inspect the active Runtime Release for the selected device:
57
57
 
58
58
  ```bash
59
- ml-platform --profile server list-trainer-definitions
60
- ml-platform --profile server get-trainer-definition <name> <version> [--project default]
59
+ ml-platform --profile server list-system-models
60
+ ml-platform --profile server get-system-model <name> <version> [--project default]
61
+ ml-platform --profile server get-model-runtime-release
61
62
  ```
62
63
 
63
- `get-trainer-definition` returns the entrypoint, immutable training image digest,
64
- `artifact_format`, `model_file`, capabilities, and parameter schema. Use it to confirm
65
- the referenced `v1` definition exists and its image digest matches the approved runtime
66
- release; discovery never mutates the registry. Registering a new definition is the
67
- separate mutation below, and a 404 means the definition (not the model plugin) is missing.
64
+ `get-system-model` returns the canonical identity, entrypoint, `artifact_format`,
65
+ `model_file`, capabilities, parameter schema, and Serving input modes. Runtime
66
+ discovery supplies the approved immutable training image for the selected device.
67
+ A missing SystemModel or runtime binding is a platform release gap; do not register
68
+ or select a historical TrainerDefinition as a workaround.
68
69
 
69
70
  ```bash
70
- ml-platform --profile server register-trainer trainer-definition.json
71
71
  ml-platform --profile server validate-training-run training-run.json
72
72
  ml-platform --profile server register-training-run training-run.json
73
73
  ml-platform --profile server validate-training-job training-job-request.json
@@ -75,7 +75,7 @@ ml-platform --profile server submit-training-job training-job-request.json
75
75
  ml-platform --profile server get-training-job <job-id>
76
76
  ```
77
77
 
78
- The TrainingRun binds immutable DatasetArtifact identities, DataSchema, ordered inputs, targets, InputAdapter, TrainerDefinition `v1`, reproducibility controls, and runtime identity. Validation proves compatibility only. Submit the run and Job separately after authorization and record spec hash and Job ID. Terminal success must expose a ModelArtifact ID; validate it before evaluation or packaging.
78
+ The TrainingRun binds immutable DatasetArtifact identities, DataSchema, ordered inputs, targets, InputAdapter, canonical SystemModel `v1`, reproducibility controls, and runtime identity. Job resolution freezes the SystemModel and approved runtime image as an internal TrainerDefinition snapshot. Validation proves compatibility only. Submit the run and Job separately after authorization and record spec hash and Job ID. Terminal success must expose a ModelArtifact ID; validate it before evaluation or packaging.
79
79
 
80
80
  ```bash
81
81
  ml-platform --profile server validate-model-artifact <artifact-id>