$schema: https://json-schema.org/draft/2020-12/schema $id: https://info-tech-canon.local/schemas/capability.schema.yaml title: InfoTechCanon Capability Catalog (ITC-CAP 0.4.0) description: > Contract for capabilities.yaml. Encodes ITC-CAP 0.4.0 — no typical_resource_classes; resource classes carry native_unit, supply, and capacity_behaviour. Requirement and provision records are validated separately by the capability-review surface. type: object required: - canon - resource_classes - maturity_levels - domains properties: canon: type: object required: [id, version] properties: id: const: itc-cap version: type: string status: type: string canon_version: type: string resource_classes: type: array minItems: 1 items: type: object required: [id, name, native_unit, supply, capacity_behaviour] properties: id: type: string pattern: "^[A-Z]$" name: type: string native_unit: type: string supply: enum: [internal, external] capacity_behaviour: enum: [elastic, constrained] additionalProperties: true maturity_levels: type: array minItems: 8 items: type: object required: [id, name] properties: id: type: string pattern: "^D[0-7]$" applies_to: const: capability_provision relationship_types: type: array domains: type: array minItems: 1 items: type: object required: [id, name, capabilities] properties: navigation_only: type: boolean capabilities: type: array items: $ref: "#/$defs/capability" additionalProperties: true $defs: capability: type: object required: [id, name, purpose] properties: id: type: string pattern: "^[a-z]+\\.[a-z0-9-]+$" name: type: string purpose: type: string anchors: type: array items: type: string profiles: type: array items: type: string quality_dimensions: type: array items: type: string evidence_hooks: type: array items: type: string depends_on: type: array items: type: string may_use: type: array items: type: string typical_resource_classes: not: {} description: Forbidden. Consumption attaches to a provision (CAP-R8). additionalProperties: true