--- 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: "f2811adc-7244-5d07-b1e9-39b0717097af" --- # 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: "2c17cd2e-3526-51ea-bf2f-39e387b5ca9a" ``` 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: "9471f300-a0a9-5159-a99d-4a2dafc9e5b7" ``` 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: "5ef471bc-4741-5b21-b9fe-5f0616a0b7f5" ``` 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: "a4621991-fea8-5f74-b0fd-e5e606ea32a7" ``` 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: "15f92689-6679-5861-992b-a923df12570a" ``` 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: "917d899b-ba0b-5dad-863d-4f3598315c09" ``` 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: "47c80168-47f4-5c62-978d-1a4865805240" ``` 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: "e5781819-0762-5235-9d15-e8bff7076a94" ``` 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: "4ae015ae-9a90-5efd-8521-673cbe595569" ``` 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: "87dccc73-a8dd-5a5a-a3fa-0bc488098b45" ``` 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: "5cb4d4ab-9463-5bd5-b7be-ecf7da941d39" ``` 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.