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.
This commit is contained in:
parent
7805560a60
commit
d453e17952
44 changed files with 1485 additions and 137 deletions
36
infospace/schemas/attribute-value-type.schema.yaml
Normal file
36
infospace/schemas/attribute-value-type.schema.yaml
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
$schema: https://json-schema.org/draft/2020-12/schema
|
||||
$id: https://info-tech-canon.local/schemas/attribute-value-type.schema.yaml
|
||||
title: InfoTechCanon Attribute Value Type Catalog
|
||||
type: object
|
||||
required:
|
||||
- canon
|
||||
- types
|
||||
properties:
|
||||
canon:
|
||||
type: object
|
||||
required: [id, version, owner]
|
||||
types:
|
||||
type: array
|
||||
minItems: 1
|
||||
items:
|
||||
type: object
|
||||
required: [id, status, kind, wire]
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
pattern: "^[a-z][a-z0-9-]*$"
|
||||
status:
|
||||
enum: [current, reserved]
|
||||
kind:
|
||||
enum: [scalar, quantity, choice]
|
||||
wire:
|
||||
enum: [string, object, array, boolean]
|
||||
representation:
|
||||
type: string
|
||||
requires_codelist:
|
||||
type: [boolean, string]
|
||||
aliases:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
additionalProperties: true
|
||||
118
infospace/schemas/capability-record.schema.yaml
Normal file
118
infospace/schemas/capability-record.schema.yaml
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
$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
|
||||
114
infospace/schemas/capability.schema.yaml
Normal file
114
infospace/schemas/capability.schema.yaml
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
$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
|
||||
|
|
@ -17,3 +17,9 @@ schemas:
|
|||
path: workplan.schema.yaml
|
||||
- id: alignment-review
|
||||
path: alignment-review.schema.yaml
|
||||
- id: capability
|
||||
path: capability.schema.yaml
|
||||
- id: capability-record
|
||||
path: capability-record.schema.yaml
|
||||
- id: attribute-value-type
|
||||
path: attribute-value-type.schema.yaml
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue