info-tech-canon/infospace/schemas/capability-record.schema.yaml

119 lines
2.8 KiB
YAML
Raw Normal View History

$schema: https://json-schema.org/draft/2020-12/schema
$id: https://info-tech-canon.local/schemas/capability-record.schema.yaml
title: InfoTechCanon Capability Requirement and Provision Record
description: >
Shape of a consumer capability case (requirement set + provisions).
Validated against the live catalog by the capability-review surface.
ITC-CAP 0.4.0 / CAP-R8R11.
type: object
required:
- requires
properties:
requires:
type: array
items:
$ref: "#/$defs/requirement"
provisions:
type: array
items:
$ref: "#/$defs/provision"
additionalProperties: true
$defs:
quantity:
type: object
properties:
value: {}
unit:
type: string
requirement:
type: object
required: [capability]
properties:
capability:
type: string
profile:
type: string
minimum_maturity:
type: string
pattern: "^D[0-7]$"
targets:
type: object
additionalProperties:
type: object
constraints:
type: array
items:
type: object
required: [dimension, predicate]
properties:
dimension:
type: string
predicate:
enum: [not_in, in, equals, lte, gte]
of:
type: array
provision:
type: object
required: [provider, capability, maturity]
properties:
provider:
type: string
capability:
type: string
profile:
type: string
environment:
type: string
maturity:
type: string
pattern: "^D[0-7]$"
uses_provisions:
type: array
items:
type: object
required: [capability, provider, relation]
properties:
capability:
type: string
provider:
type: string
relation:
enum: [depends_on, may_use]
consumes:
type: array
items:
type: object
required: [class, quantity, basis]
properties:
class:
type: string
pattern: "^[A-Z]$"
quantity:
$ref: "#/$defs/quantity"
basis:
enum:
- invoiced
- measured
- quoted
- derived
- projected
- estimated
- assumed
- unknown
supply:
enum: [internal, external]
period:
type: string
gap:
type: string
evidence:
type: array
items:
type: object
required: [hook]
properties:
hook:
type: string
basis:
type: string