Version the common and derived rail contract

This commit is contained in:
codex 2026-07-26 13:34:56 +02:00
parent fee395f0c4
commit 3ece1b55fb
8 changed files with 407 additions and 2 deletions

View file

@ -0,0 +1,37 @@
{
"$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"}
}
}