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.
118 lines
2.8 KiB
YAML
118 lines
2.8 KiB
YAML
$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-R8–R11.
|
||
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
|