info-tech-canon/infospace/schemas/capability.schema.yaml
tegwick d453e17952
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Canon 0.6.0 freeze: ITC-CAP draft, AVT catalog, joinable review
Finish ITC-WP-0013 (AttributeValueType under ITC-DATA) and ITC-WP-0014
T02/T03/T05/T06/T07. Capability contract schemas, live-catalog review
CLI, landscape/kernel-map pointers. Sit on this version.
2026-08-15 19:42:30 +02:00

114 lines
2.6 KiB
YAML

$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