{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://skylattice.dev/schemas/intent.schema.json", "title": "SkyLatticeCustomerIntent", "type": "object", "required": ["customer", "blueprint", "environments", "domains"], "additionalProperties": false, "properties": { "customer": { "type": "string", "minLength": 1, "description": "Customer slug (lowercase, hyphen-safe)." }, "blueprint": { "type": "string", "description": "Pinned blueprint version, e.g. 0.1.0" }, "mode": { "type": "string", "enum": ["greenfield", "brownfield"], "default": "greenfield" }, "env_strategy": { "type": "string", "enum": ["database_per_env", "account_per_env"], "default": "database_per_env", "description": "How environments are isolated." }, "environments": { "type": "array", "minItems": 1, "items": { "type": "string", "enum": ["dev", "test", "prod", "sandbox"] }, "uniqueItems": true }, "domains": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["name"], "additionalProperties": false, "properties": { "name": { "type": "string", "minLength": 1 }, "access_profile": { "type": "string", "enum": ["standard", "restricted"], "default": "standard" }, "zones": { "type": "array", "items": { "type": "string", "enum": ["landing", "raw", "curated", "marts", "shared"] }, "default": ["landing", "raw", "curated", "marts"] } } } }, "warehouses": { "type": "object", "additionalProperties": false, "properties": { "profile": { "type": "string", "enum": ["standard_cost_saver", "performance"], "default": "standard_cost_saver" } } }, "identity": { "type": "object", "additionalProperties": false, "properties": { "sso": { "type": "string", "enum": ["none", "planned", "okta", "azure_ad", "other"], "default": "planned" }, "service_users": { "type": "boolean", "default": true } } }, "overrides": { "type": "array", "description": "Structured deviations from blueprint defaults; each should link to a decision id.", "items": { "type": "object", "required": ["path", "value", "decision_id"], "additionalProperties": false, "properties": { "path": { "type": "string" }, "value": {}, "decision_id": { "type": "string" } } }, "default": [] }, "unmanaged": { "type": "array", "description": "Live objects discovered but not managed by Sky Lattice.", "items": { "type": "object", "required": ["kind", "name"], "properties": { "kind": { "type": "string" }, "name": { "type": "string" }, "reason": { "type": "string" }, "decision_id": { "type": "string" } } }, "default": [] }, "wizard": { "type": "object", "description": "Wizard progress metadata for resume.", "properties": { "answered": { "type": "array", "items": { "type": "string" } }, "last_run": { "type": "string" } } } } }