catalog-schema: add CatalogLifecycle + reproducibility.seed_field
Resolves the stale-schema gap asset-engine-dev flagged (the published schema rejected the lifecycle field 12/14 live services already use) and adds reproducibility.seed_field so a seedable engine can declare which response key carries the seed used. Authoritative regen path remains dump_schema.py against asset_engine/catalog.py; reconcile there.
This commit is contained in:
@@ -273,6 +273,40 @@
|
|||||||
"title": "CatalogLatency",
|
"title": "CatalogLatency",
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"CatalogLifecycle": {
|
||||||
|
"additionalProperties": false,
|
||||||
|
"description": "Per-service orchestration metadata.\n\nPresence means \"asset_engine can start/stop this service from the UI\".\nAbsence (default) means \"managed externally \u2014 UI surfaces no controls.\"\nSee docs/contracts/orchestration.contract.md.\n\n - stack: directory name under /opt/docker/compose/ on the\n inference host (compose path derived).\n - vram_gb: VRAM the model needs at typical operating params.\n Used by the memory gate before docker compose up.\n - gpu_device_id: 0 or 1 to pin to a specific card, None if the\n service uses both GPUs / picks dynamically. None\n means the gate must clear on each device.",
|
||||||
|
"properties": {
|
||||||
|
"stack": {
|
||||||
|
"minLength": 1,
|
||||||
|
"title": "Stack",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"vram_gb": {
|
||||||
|
"exclusiveMinimum": 0,
|
||||||
|
"title": "Vram Gb",
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"gpu_device_id": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null,
|
||||||
|
"title": "Gpu Device Id"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"stack",
|
||||||
|
"vram_gb"
|
||||||
|
],
|
||||||
|
"title": "CatalogLifecycle",
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"CatalogModel": {
|
"CatalogModel": {
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -333,6 +367,18 @@
|
|||||||
],
|
],
|
||||||
"default": null,
|
"default": null,
|
||||||
"title": "Notes"
|
"title": "Notes"
|
||||||
|
},
|
||||||
|
"seed_field": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null,
|
||||||
|
"title": "Seed Field"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -571,6 +617,17 @@
|
|||||||
],
|
],
|
||||||
"default": null
|
"default": null
|
||||||
},
|
},
|
||||||
|
"lifecycle": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/$defs/CatalogLifecycle"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": null
|
||||||
|
},
|
||||||
"license": {
|
"license": {
|
||||||
"title": "License",
|
"title": "License",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
|||||||
Reference in New Issue
Block a user