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",
|
||||
"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": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
@@ -333,6 +367,18 @@
|
||||
],
|
||||
"default": null,
|
||||
"title": "Notes"
|
||||
},
|
||||
"seed_field": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"default": null,
|
||||
"title": "Seed Field"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -571,6 +617,17 @@
|
||||
],
|
||||
"default": null
|
||||
},
|
||||
"lifecycle": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/$defs/CatalogLifecycle"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"default": null
|
||||
},
|
||||
"license": {
|
||||
"title": "License",
|
||||
"type": "string"
|
||||
|
||||
Reference in New Issue
Block a user