{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://railiance.dev/schemas/rail-binding-v1.schema.json", "title": "Railiance workload rail binding", "type": "object", "additionalProperties": false, "required": [ "rail_id", "rail_contract", "readiness_state", "required_substrate_capabilities", "deployment_artifacts", "rollout", "rollback" ], "properties": { "rail_id": {"type": "string", "pattern": "^rail-[a-z0-9-]+$"}, "rail_contract": {"type": "string", "pattern": "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$"}, "readiness_state": { "enum": ["declared", "installed", "verified", "production-approved", "deprecated"] }, "required_substrate_capabilities": { "type": "array", "items": {"type": "string"}, "uniqueItems": true }, "deployment_artifacts": { "type": "array", "minItems": 1, "items": {"type": "string"} }, "scaling": {"type": "object"}, "routing": {"type": "object"}, "rollout": {"type": "object"}, "rollback": {"type": "object"} } }