--- id: ITC-WP-0014 type: workplan title: "Capability Model consolidation (post-ITCC assimilation)" domain: infotech topic_slug: canon repo: info-tech-canon status: finished priority: medium created: "2026-08-14" updated: "2026-08-15" depends_on_workplans: - ITC-WP-0003 - ITC-WP-0006 owner: claude spec_refs: - infospace/assimilation/it-capability-canon/ASSIMILATION.md - infospace/assimilation/it-capability-canon/proposed-changes.md - infospace/assimilation/it-capability-canon/open-questions.md - infospace/models/capability/InfoTechCanonCapabilityModel.md - demand/CapabilityProvisionEconomics.md state_hub_workstream_id: "18cccc77-5aef-48f2-91d6-124bd439285a" --- # ITC-WP-0014 — Capability Model Consolidation ## Goal Promote `InfoTechCanonCapabilityModel` from `proposed` to a usable canon model by closing the items the ITCC v0.1 assimilation deliberately deferred. ## Intent Canon version 0.2.0 adopted the capability vocabulary under disposition `adapt`. The model is registered, validated, and anchored, but it has no schema, no formal mapping artifacts, and no profile exercising it. OQ-2 is resolved (canon 0.2.1). Consumer demand `CapabilityProvisionEconomics` (resource-control) refined the still-proposed model in canon 0.3.0 / ITC-CAP 0.2.0: requirement targets, provision-side consumption, and the H/I/P class set. T02 must encode that refined contract, not the v0.1.0 one. ## Tasks ### T01 — Resolve the `governance.*` identifier prefix (OQ-2) ```task id: ITC-WP-0014-T01 status: done priority: high state_hub_task_id: "4074193b-04dc-4168-b7af-f42e94417321" ``` Decide between keeping the ids, renumbering to `security.*`, or splitting the navigation domain into `security` and `governance` (preferred — preserves every id). Record as a DecisionRecord. **Blocks promotion beyond `proposed`.** **Done 2026-08-15 (canon 0.2.1):** navigation domain split into `security` (4) and `governance` (2); no capability id changed. Decision record in `assimilation/it-capability-canon/ASSIMILATION.md`; OQ-2 closed. ### T02 — Publish `capability.schema.yaml` ```task id: ITC-WP-0014-T02 status: done priority: high depends_on: [T01] state_hub_task_id: "1ed8d07a-34ee-4ad4-8e4a-03a513c14836" ``` Add the capability contract schema under `infospace/schemas/`, register it in `infospace/infospace.yaml`, and validate `capabilities.yaml` against it. Encode ITC-CAP 0.4.0: no `typical_resource_classes` on contracts; resource classes carry `native_unit`, `supply`, and `capacity_behaviour`; consumption rows require EvidenceBasis (CAP-R10); provisions may declare `uses_provisions` (CAP-R11); requirement and provision record shapes live in the model prose until a companion requirement/provision schema is justified. §10.3 is already met by the resource-control join. **Done 2026-08-15 (canon 0.6.0):** `capability.schema.yaml` validates the catalog; `capability-record.schema.yaml` is the companion record shape. `make validate` checks the catalog contract (no typical_resource_classes; classes carry native_unit / supply / capacity_behaviour). ### T03 — Formal mapping artifacts for each anchor ```task id: ITC-WP-0014-T03 status: done priority: medium depends_on: [T02] state_hub_task_id: "e0ad8ec8-fdf2-4238-888c-af052fcddd40" ``` Turn `assimilation/it-capability-canon/mappings.yaml` into per-pair mapping artifacts under `infospace/mappings/` conforming to `mapping.schema.yaml`. **Done 2026-08-15:** `infospace/mappings/capability-anchors.yaml` holds one entry per source/target pair, registered as `mapping/capability-anchors`. ### T04 — Small-SaaS capability requirement set ```task id: ITC-WP-0014-T04 status: todo priority: medium depends_on: [T02] state_hub_task_id: "182e0ad5-5fb9-4d50-9576-b9f5fdff91d3" ``` Express a real `CapabilityRequirement` set with provisions and evidence in the small-saas profile (coordinate with ITC-WP-0004). Useful in-repo illustration. **No longer the promotion gate** — §10.3 now accepts a consumer record that validates against the live catalog (T11). ### T05 — Landscape and kernel-map revision ```task id: ITC-WP-0014-T05 status: done priority: medium depends_on: [T01] state_hub_task_id: "339d2006-d1c8-4572-b559-e6ceb7b06c45" ``` Revise `InfoTechCanonLandscapeModel` §11.4 (the deferred strategy/capability note) to reference ITC-CAP, and add the capability model to `InfoTechCanonKernelMap`. **Done 2026-08-15:** §11.4 now points at ITC-CAP; Kernel Map §4.14 owns abilities. ### T06 — Requirement/provision validation in the service surface ```task id: ITC-WP-0014-T06 status: done priority: low depends_on: [T02] state_hub_task_id: "530f86c2-b61b-4b54-b380-8eec92bdced1" ``` Extend the CLI/JSON/API surface (ITC-WP-0002) to answer "does this environment satisfy this product's capability requirements?" — the validator sketched in source §18. Covers OQ-6. **Done 2026-08-15:** `info-tech-canon capability-review PATH` and `GET /capability-review?path=` join a consumer record to the live catalog (CAP-R8–R11). ### T07 — Promotion review ```task id: ITC-WP-0014-T07 status: done priority: medium depends_on: [T01, T02, T03, T11] state_hub_task_id: "455690e3-c39a-4926-a13b-a179b134b2a4" ``` Promote the model from `proposed` to `draft` or `release-candidate`, bump the canon version, and write the `CHANGELOG.md` entry. T04 (small-saas illustration) is no longer a promotion dependency. **Done 2026-08-15:** ITC-CAP promoted to `draft` in canon 0.6.0. This is the freeze version. T04 remains an optional illustration. ### T08 — Finding A: move resource-class declaration off the contract ```task id: ITC-WP-0014-T08 status: done priority: high state_hub_task_id: "0558edf6-c7cb-406e-b78b-12cab325032d" ``` Remove `typical_resource_classes` from every capability contract so §4.11 and the catalog agree. Consumption is declared on `CapabilityProvision` only. **Done 2026-08-15 (canon 0.3.0 / ITC-CAP 0.2.0).** ### T09 — Finding B: demand-side targets and constraints ```task id: ITC-WP-0014-T09 status: done priority: high state_hub_task_id: "1cdd696c-4fec-48a6-9d9e-7bb14586d5a9" ``` Enrich `CapabilityRequirement` with profile, quality targets against declared dimensions, and placement constraints. Keep measurement on ITC-LAND / ITC-OBS. **Done 2026-08-15 (canon 0.3.0 / ITC-CAP 0.2.0).** ### T10 — Finding C: human effort, native units, intelligence as substitute ```task id: ITC-WP-0014-T10 status: done priority: high state_hub_task_id: "af4816f7-e41e-4dcb-928a-5dbb2e16004b" ``` Add class `H`, narrow `P`, recharacterise `I`, declare native units and supply/capacity defaults, record consumption in native units, add `intelligence_intensity`. No `substitutes_for`, no exchange rate. **Done 2026-08-15 (canon 0.3.0 / ITC-CAP 0.2.0).** Landed here rather than as a new workplan: no LAND or commerce owning-model change was required. ### T11 — Joinable consumer proof for §10.3 ```task id: ITC-WP-0014-T11 status: done priority: high state_hub_task_id: "1b73be45-f3f5-47aa-8315-2b20737d995e" ``` Revise §10.3 so a consumer record that validates against the live catalog and is cited from `feedback/` counts as the promotion proof. Record resource-control `data/capability/platform-audit-storage.json` (commit `13c2b82`) as that proof. **Done 2026-08-15 (canon 0.4.0 / ITC-CAP 0.3.0).** Operational facts stay in the consumer repo. ## Out of scope - New domain models for `commerce.*` / `intelligence.*` (OQ-5) — the 2026-08-15 demand needed consumption structure, which landed in ITC-CAP; invoices, entitlements, prompts, and evaluations still have no owning model. - Canon-wide intended/declared/applied/observed/assessed state qualifiers (OQ-3) — kernel-level pressure, not a capability-model decision. - CARING importing `identity.*` ids — touches a release-candidate standard and needs its own review. - Booked cost, currency handling, labour rates, or an H↔I exchange rate.