54 lines
1.6 KiB
JSON
54 lines
1.6 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://railiance.dev/schemas/derived-rail-v1.schema.json",
|
|
"title": "Railiance derived rail declaration",
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"required": [
|
|
"kind",
|
|
"rail_id",
|
|
"ownership_repo",
|
|
"contract_version",
|
|
"composition_kind",
|
|
"base_rail",
|
|
"base_rail_contract",
|
|
"execution_architecture",
|
|
"required_substrate_capabilities",
|
|
"inherited_semantics",
|
|
"overridden_semantics",
|
|
"compatibility_constraints",
|
|
"readiness_state"
|
|
],
|
|
"properties": {
|
|
"kind": {"const": "execution-rail"},
|
|
"rail_id": {"type": "string", "pattern": "^rail-[a-z0-9-]+$"},
|
|
"ownership_repo": {"type": "string"},
|
|
"contract_version": {"type": "string"},
|
|
"composition_kind": {"const": "derived"},
|
|
"base_rail": {"const": "rail-kubernetes"},
|
|
"base_rail_contract": {"const": "1.0.0"},
|
|
"execution_architecture": {"type": "string"},
|
|
"required_substrate_capabilities": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {"type": "string"},
|
|
"uniqueItems": true
|
|
},
|
|
"inherited_semantics": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {"type": "string"},
|
|
"uniqueItems": true
|
|
},
|
|
"overridden_semantics": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {"type": "string"},
|
|
"uniqueItems": true
|
|
},
|
|
"compatibility_constraints": {"type": "array", "items": {"type": "string"}},
|
|
"readiness_state": {
|
|
"enum": ["declared", "installed", "verified", "production-approved", "deprecated"]
|
|
}
|
|
}
|
|
}
|