diff --git a/docs/asset-engine/CATALOG-CONTRACT.md b/docs/asset-engine/CATALOG-CONTRACT.md index ca31fb5..52d74a5 100644 --- a/docs/asset-engine/CATALOG-CONTRACT.md +++ b/docs/asset-engine/CATALOG-CONTRACT.md @@ -144,7 +144,7 @@ reference implementation of this pattern; copy the script shape from | Consumer | Vendored at | Pin policy | |---------------------------------------------|--------------------------------------|-------------------| -| `asset_engine` (FastAPI/HTMX UI; ~/development/asset_engine/) | `data/services.yaml` + `data/services.yaml.lock` | catalog_version=1 | +| `asset_engine` (FastAPI/HTMX UI; ~/development/asset_engine/) | `data/services.yaml` + `data/services.yaml.lock` | catalog_version=2 | When you add a consumer, add a row here in the same PR that lands the consumer. This list is what we audit when planning a diff --git a/docs/asset-engine/services.schema.json b/docs/asset-engine/services.schema.json index ff63527..5949afe 100644 --- a/docs/asset-engine/services.schema.json +++ b/docs/asset-engine/services.schema.json @@ -85,6 +85,12 @@ "title": "Optional", "type": "boolean" }, + "togglable": { + "default": false, + "description": "When true, the consumer renders this field with an OFF-by-default enable switch; while off the control is disabled (excluded from submission) AND the field's default is NOT injected, so it is genuinely not sent until the user opts in. Requires optional=true. Used to keep advanced override fields (e.g. inline clone references) from silently overriding primary controls.", + "title": "Togglable", + "type": "boolean" + }, "default": { "default": null, "title": "Default" diff --git a/docs/asset-engine/services.yaml b/docs/asset-engine/services.yaml index c4e7459..ed4d811 100644 --- a/docs/asset-engine/services.yaml +++ b/docs/asset-engine/services.yaml @@ -16,7 +16,7 @@ # specific service's parameter shape changes. Both let downstream # consumers detect drift. -catalog_version: 1 +catalog_version: 2 services: - id: kokoro @@ -763,6 +763,7 @@ services: label: Custom clone (inline base64) section: advanced optional: true + togglable: true description: > Power-use: zero-shot clone from a reference NOT in the staged library — array of {audio: , text: "transcript"}.