Canon 0.3.0: capability provision economics (ITC-CAP 0.2.0)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Accept resource-control demand: move resource classes onto provisions,
let requirements carry targets and constraints, add human-effort class H
with native-unit consumption. Model stays proposed.
This commit is contained in:
tegwick 2026-08-15 18:19:30 +02:00
parent 9c7c1e4bdf
commit b69b048dcb
14 changed files with 410 additions and 131 deletions

View file

@ -12,9 +12,9 @@ canon:
name: InfoTechCanon Capability Model — Capability Catalog
short_name: ITC-CAP
artifact_id: model/capability
version: 0.1.0
version: 0.2.0
status: proposed
canon_version: 0.2.1
canon_version: 0.3.0
purpose: Canonical, implementation-independent catalog of the abilities an information system may require
or provide.
normative_document: models/capability/InfoTechCanonCapabilityModel.md
@ -28,23 +28,45 @@ resource_classes:
- id: C
name: Compute
description: Generic execution capacity.
note: Consumed by a capability provision, never by an abstract capability.
native_unit: vCPU-hour
supply: external
capacity_behaviour: elastic
note: Consumed by a capability provision, never by an abstract capability. Recommended native unit is weak; a provision may record a more specific compatible unit.
- id: S
name: Storage
description: Persistence capacity.
native_unit: GB
supply: external
capacity_behaviour: elastic
note: Consumed by a capability provision, never by an abstract capability.
- id: N
name: Networking
description: Information movement.
note: Consumed by a capability provision, never by an abstract capability.
native_unit: GB
supply: external
capacity_behaviour: elastic
note: Consumed by a capability provision, never by an abstract capability. Native unit is transfer volume.
- id: I
name: Intelligence
description: Metered or purchased cognitive or semantic processing capability.
note: Consumed by a capability provision, never by an abstract capability.
description: Metered cognitive or semantic processing; the elastic purchased substitute for human effort.
native_unit: token
supply: external
capacity_behaviour: elastic
note: Consumed by a capability provision, never by an abstract capability. Unit cost is assumed to decline over time as a modelling assumption, not as a constant. No canonical exchange rate with H.
- id: H
name: Human Effort
description: Human attention applied to provide or operate a capability.
native_unit: hour
supply: internal
capacity_behaviour: constrained
note: Consumed by a capability provision, never by an abstract capability. Internal versus contracted labour is a supply attribute, not a separate class.
- id: P
name: Platform
description: Enabling operational overhead that makes other resources usable.
note: Consumed by a capability provision, never by an abstract capability.
description: Purchased platform and enabling services that make other resources usable. Does not include human time.
native_unit: unit
supply: external
capacity_behaviour: elastic
note: Consumed by a capability provision, never by an abstract capability. Recommended native unit is weak. Human time is class H, not P.
maturity_levels:
- id: D0
name: Absent
@ -118,11 +140,6 @@ domains:
- successful_provisioning
- successful_deprovisioning
- ownership_record
typical_resource_classes: &id001
- C
- S
- N
- P
- id: identity.authentication
name: Authentication
purpose: Establish that an actor controls or legitimately represents an identity.
@ -145,7 +162,6 @@ domains:
- successful_authentication
- failure_metrics
- availability_metrics
typical_resource_classes: *id001
- id: identity.authorization
name: Authorization
purpose: Determine whether an actor may perform an action on a resource.
@ -165,7 +181,6 @@ domains:
- policy_tests
- authorization_decisions
- denial_evidence
typical_resource_classes: *id001
- id: identity.federation
name: Identity Federation
purpose: Establish and use trust relationships between identity domains.
@ -183,7 +198,6 @@ domains:
evidence_hooks:
- federation_configuration
- successful_federated_login
typical_resource_classes: *id001
- id: identity.organization
name: Organization & Tenancy
purpose: Associate identities, resources, policies, and operations with organizational or tenant boundaries.
@ -202,7 +216,6 @@ domains:
evidence_hooks:
- tenant_isolation_tests
- membership_records
typical_resource_classes: *id001
- id: data
name: Data & State
navigation_only: true
@ -225,11 +238,6 @@ domains:
evidence_hooks:
- durability_tests
- availability_metrics
typical_resource_classes: &id002
- C
- S
- N
- P
- id: data.object
name: Object Persistence
purpose: Persist opaque objects, files, blobs, documents, or similar binary or semi-structured objects.
@ -247,7 +255,6 @@ domains:
evidence_hooks:
- object_integrity_tests
- availability_metrics
typical_resource_classes: *id002
- id: data.cache
name: Caching
purpose: Maintain temporary or derived state for accelerated access.
@ -266,7 +273,6 @@ domains:
evidence_hooks:
- cache_metrics
- latency_metrics
typical_resource_classes: *id002
- id: data.backup
name: Backup & Restore
purpose: Create recoverable copies or recovery points and restore previously valid persisted state
@ -289,7 +295,6 @@ domains:
- successful_restore_test
- measured_rpo
- measured_rto
typical_resource_classes: *id002
depends_on:
- data.object
may_use:
@ -315,7 +320,6 @@ domains:
- retention_policy
- integrity_verification
- retrieval_test
typical_resource_classes: *id002
- id: data.search
name: Search & Retrieval
purpose: Locate persisted information based on indexed or queryable characteristics.
@ -336,7 +340,6 @@ domains:
evidence_hooks:
- search_tests
- latency_metrics
typical_resource_classes: *id002
- id: integration
name: Integration & Communication
navigation_only: true
@ -360,10 +363,6 @@ domains:
evidence_hooks:
- contract_tests
- availability_metrics
typical_resource_classes: &id003
- C
- N
- P
- id: integration.messaging
name: Messaging & Eventing
purpose: Exchange asynchronous messages or events between producers and consumers.
@ -383,7 +382,6 @@ domains:
evidence_hooks:
- delivery_tests
- lag_metrics
typical_resource_classes: *id003
- id: integration.exchange
name: Data Exchange
purpose: Move datasets, files, or structured information between systems.
@ -403,7 +401,6 @@ domains:
evidence_hooks:
- transfer_tests
- integrity_checks
typical_resource_classes: *id003
- id: integration.notification
name: Notification
purpose: Deliver information to human users or external endpoints.
@ -424,7 +421,6 @@ domains:
evidence_hooks:
- delivery_receipts
- failure_metrics
typical_resource_classes: *id003
- id: integration.traffic
name: Traffic Management
purpose: Route, balance, control, filter, or shape communication between endpoints.
@ -444,7 +440,6 @@ domains:
evidence_hooks:
- routing_tests
- availability_metrics
typical_resource_classes: *id003
- id: runtime
name: Runtime & Automation
navigation_only: true
@ -468,11 +463,6 @@ domains:
evidence_hooks:
- execution_tests
- capacity_metrics
typical_resource_classes: &id004
- C
- S
- N
- P
- id: runtime.configuration
name: Configuration
purpose: Supply controlled runtime configuration to software and services.
@ -492,7 +482,6 @@ domains:
evidence_hooks:
- configuration_history
- propagation_tests
typical_resource_classes: *id004
- id: runtime.scheduling
name: Scheduling
purpose: Initiate activities according to time, delay, calendar, or recurrence.
@ -510,7 +499,6 @@ domains:
- timezone_support
evidence_hooks:
- schedule_execution_records
typical_resource_classes: *id004
- id: runtime.workflow
name: Workflow Orchestration
purpose: Coordinate multi-step activities, state transitions, dependencies, retries, and completion.
@ -529,7 +517,6 @@ domains:
evidence_hooks:
- workflow_completion_records
- recovery_tests
typical_resource_classes: *id004
may_use:
- integration.messaging
- runtime.scheduling
@ -553,7 +540,6 @@ domains:
evidence_hooks:
- deployment_records
- rollback_test
typical_resource_classes: *id004
- id: operations
name: Operations & Assurance
navigation_only: true
@ -578,11 +564,6 @@ domains:
evidence_hooks:
- telemetry_coverage
- dashboard_or_query_evidence
typical_resource_classes: &id005
- C
- S
- N
- P
- id: operations.alerting
name: Alerting
purpose: Detect relevant conditions and surface them to humans or automation.
@ -601,7 +582,6 @@ domains:
evidence_hooks:
- alert_tests
- incident_linkage
typical_resource_classes: *id005
may_use:
- operations.observability
- integration.notification
@ -623,7 +603,6 @@ domains:
evidence_hooks:
- audit_records
- integrity_verification
typical_resource_classes: *id005
- id: operations.recovery
name: Service Recovery
purpose: Restore an operational service after failure or degradation.
@ -642,7 +621,6 @@ domains:
evidence_hooks:
- recovery_tests
- incident_recovery_records
typical_resource_classes: *id005
may_use:
- data.backup
- operations.observability
@ -663,7 +641,6 @@ domains:
evidence_hooks:
- continuity_tests
- availability_metrics
typical_resource_classes: *id005
- id: security
name: Security
navigation_only: true
@ -686,11 +663,6 @@ domains:
evidence_hooks:
- rotation_records
- access_audit
typical_resource_classes: &id006
- C
- S
- N
- P
- id: security.keys
name: Key & Certificate Management
purpose: Create, protect, distribute, rotate, validate, and revoke cryptographic keys and certificates.
@ -709,7 +681,6 @@ domains:
evidence_hooks:
- certificate_inventory
- rotation_records
typical_resource_classes: *id006
- id: security.policy
name: Policy Management & Enforcement
purpose: Define, distribute, evaluate, and enforce machine-interpretable policies.
@ -729,7 +700,6 @@ domains:
evidence_hooks:
- policy_tests
- decision_records
typical_resource_classes: *id006
- id: security.vulnerability
name: Vulnerability Management
purpose: Identify, assess, prioritize, remediate, mitigate, and track exploitable weaknesses.
@ -749,7 +719,6 @@ domains:
evidence_hooks:
- scan_results
- remediation_records
typical_resource_classes: *id006
- id: governance
name: Governance
navigation_only: true
@ -772,10 +741,6 @@ domains:
evidence_hooks:
- evidence_records
- assessment_links
typical_resource_classes: &id007
- C
- S
- P
- id: governance.lifecycle
name: Information Lifecycle Governance
purpose: Apply rules governing information retention, handling, deletion, preservation, and lifecycle
@ -796,7 +761,6 @@ domains:
- lifecycle_policy
- deletion_records
- retention_evidence
typical_resource_classes: *id007
- id: commerce
name: Commerce
navigation_only: true
@ -818,11 +782,6 @@ domains:
evidence_hooks:
- meter_records
- reconciliation
typical_resource_classes: &id008
- C
- S
- N
- P
anchor_note: No anchoring canon model yet — new canon surface. See assimilation open question OQ-5.
- id: commerce.billing
name: Billing
@ -841,7 +800,6 @@ domains:
evidence_hooks:
- invoice_tests
- billing_reconciliation
typical_resource_classes: *id008
may_use:
- commerce.metering
- commerce.entitlement
@ -865,7 +823,6 @@ domains:
evidence_hooks:
- payment_records
- settlement_reconciliation
typical_resource_classes: *id008
may_use:
- identity.authentication
- operations.audit
@ -889,7 +846,6 @@ domains:
evidence_hooks:
- entitlement_tests
- decision_records
typical_resource_classes: *id008
may_use:
- identity.authorization
- id: intelligence
@ -912,14 +868,10 @@ domains:
- latency
- cost
- safety
- intelligence_intensity
evidence_hooks:
- evaluation_results
- latency_metrics
typical_resource_classes: &id009
- C
- N
- I
- P
anchor_note: No anchoring canon model yet — new canon surface. See assimilation open question OQ-5.
- id: intelligence.extraction
name: Extraction & Classification
@ -936,10 +888,10 @@ domains:
- recall
- precision
- latency
- intelligence_intensity
evidence_hooks:
- evaluation_results
- golden_set_tests
typical_resource_classes: *id009
anchor_note: No anchoring canon model yet — new canon surface. See assimilation open question OQ-5.
- id: intelligence.embedding
name: Semantic Representation
@ -954,10 +906,10 @@ domains:
- semantic_quality
- latency
- cost
- intelligence_intensity
evidence_hooks:
- retrieval_benchmarks
- latency_metrics
typical_resource_classes: *id009
anchor_note: No anchoring canon model yet — new canon surface. See assimilation open question OQ-5.
- id: intelligence.retrieval
name: Semantic Retrieval & Ranking
@ -974,9 +926,9 @@ domains:
- precision
- ranking_quality
- latency
- intelligence_intensity
evidence_hooks:
- retrieval_benchmarks
typical_resource_classes: *id009
may_use:
- intelligence.embedding
- data.search
@ -995,10 +947,10 @@ domains:
- latency
- cost
- explainability
- intelligence_intensity
evidence_hooks:
- task_evaluations
- decision_records
typical_resource_classes: *id009
may_use:
- intelligence.retrieval
anchor_note: No anchoring canon model yet — new canon surface. See assimilation open question OQ-5.