Inbound consumer demand from FIN-WP-0007. Asks for a lineage qualifier on CapabilityConsumption, commerce.entitlement/metering structure, and dropping cost as an intelligence quality. No model change.
142 lines
5.8 KiB
Markdown
142 lines
5.8 KiB
Markdown
# Demand: Capability consumption lineage, plan entitlement structure, and intelligence cost quality
|
||
|
||
**Status:** inbound demand (un-reviewed)
|
||
**Date:** 2026-08-15
|
||
**Source:** fin-hub (consumer), domain `financials`
|
||
**Target artifacts:** `ITC-CAP` §4.12 `CapabilityConsumption`; `commerce.entitlement`, `commerce.metering` (OQ-5); `intelligence.generation` quality dimensions
|
||
**Consumer evidence:** `FIN-WP-0007` T00–T06; `fin-hub/docs/ai-plan-token-effectiveness.md`
|
||
**Consumer copy:** `fin-hub/docs/demand-capability-consumption-lineage.md`
|
||
**Does not block:** `FIN-WP-0007` T01–T06 (already implemented against the current proposed model)
|
||
|
||
---
|
||
|
||
## Demand signal
|
||
|
||
Consumer **fin-hub** owns booked financial facts, plan entitlements, and
|
||
reporting overlays for AI-plan spend. It has just built a working dataset
|
||
that joins:
|
||
|
||
1. booked monthly plan invoices,
|
||
2. entitled capacity (or explicit unknown),
|
||
3. State Hub session-token aggregates (`measured` / `derived` / `estimated`
|
||
/ excluded / unknown residual),
|
||
4. work outcomes,
|
||
|
||
without treating missing tokens as zero and without posting estimates as
|
||
booked spend.
|
||
|
||
ITC-CAP 0.2.0 / canon 0.3.0 was the vocabulary that made this possible:
|
||
class `I` native unit `token`, unknown is never zero, currency is an
|
||
overlay, no H↔I exchange rate. This demand is a request to refine a
|
||
model that is already in use, not to replace one that is not.
|
||
|
||
The three gaps below showed up the moment the dataset had to distinguish
|
||
*how a token quantity was obtained* and *what a plan entitles*.
|
||
|
||
---
|
||
|
||
## Finding A — `CapabilityConsumption` has a quantity or `unknown`, and no lineage
|
||
|
||
ITC-CAP §4.12 records one native-unit row on a provision. Unknown is
|
||
allowed. That is necessary and not sufficient.
|
||
|
||
Fin-hub now stores the same token total as:
|
||
|
||
- measured (State Hub `measured`),
|
||
- derived (State Hub `allocated`, method required),
|
||
- estimated,
|
||
- unknown residual (no includable events),
|
||
- or a declared plan label with no quantity (Claude “Max 20×”).
|
||
|
||
Those are different claims. A number without a qualifier cannot be
|
||
compared across months: an effectiveness trend that mixes them is
|
||
estimator drift. ITC-DATA already has the lineage states
|
||
`declared / inferred / observed / verified / unknown` (and
|
||
`conflicting`). Capability consumption should reuse that scale, not
|
||
grow a local dialect.
|
||
|
||
resource-control independently converged on an ordered evidence-basis
|
||
(`invoiced` … `unknown`) for the same reason. Fin-hub maps State Hub
|
||
kinds onto that basis. The canon should name the qualifier on the
|
||
consumption row so both consumers point at one vocabulary.
|
||
|
||
**Proposed:** every `CapabilityConsumption` carries a lineage or
|
||
evidence-basis qualifier drawn from ITC-DATA (or an explicit mapping to
|
||
it). Unknown remains a missing quantity, never zero. A declared plan
|
||
capacity without a token ceiling is `declared` plus a label, not an
|
||
invented integer.
|
||
|
||
---
|
||
|
||
## Finding B — `commerce.entitlement` and `commerce.metering` are still unanchored
|
||
|
||
OQ-5 remains open for invoices and entitlements. Fin-hub had to invent
|
||
a local plan-entitlement record (`token` / `multiplier` / `plan`,
|
||
append-only revisions, unknown requires a label) because the catalog
|
||
names the abilities and gives them no structure.
|
||
|
||
What we needed, and implemented privately:
|
||
|
||
- a plan-period entitlement that is not an invoice,
|
||
- a meter that can be incomplete (coverage < 1 is a first-class
|
||
state, not a failed month),
|
||
- a join of booked euros to entitled capacity that does not silently
|
||
cross currencies.
|
||
|
||
That is `commerce.entitlement` (profiles `plan`, `capacity`) and
|
||
`commerce.metering` (quality dimensions `accuracy`, `completeness`).
|
||
Without an owning model, every financial consumer will grow a private
|
||
entitlement schema.
|
||
|
||
**Proposed:** enough structure — not a billing system — for plan
|
||
capacity, incomplete meters, and the rule that a meter gap is not a
|
||
zero reading. Invoices stay with fin-hub. This is OQ-5 firing for
|
||
entitlements and meters, not for payments.
|
||
|
||
---
|
||
|
||
## Finding C — `intelligence.generation` lists `cost` as a quality dimension
|
||
|
||
ITC-CAP §4.12 says currency is not a resource class and not a native
|
||
unit. Collapsing tokens into euros at capture time is the defect the
|
||
class set exists to prevent.
|
||
|
||
`intelligence.generation` still declares quality dimension `cost`.
|
||
That invites a provision to treat euros as a quality of generation,
|
||
which fights §4.12 and `intelligence_intensity` (tokens per unit of
|
||
output). Fin-hub’s effectiveness report keeps implied €/token as an
|
||
*inferred overlay*, labelled as such, and refuses a blended
|
||
efficiency number.
|
||
|
||
**Proposed:** drop `cost` from `intelligence.generation` (and any
|
||
sibling that copied it), or re-home it as a non-normative reporting
|
||
overlay owned outside ITC-CAP. Keep `intelligence_intensity` as the
|
||
quality of a provision that consumes `I`.
|
||
|
||
---
|
||
|
||
## What this demand is not
|
||
|
||
- A request that InfoTechCanon own booked-cost semantics or ledgers.
|
||
- A canonical token↔euro or token↔hour rate.
|
||
- Vendor plan names, context windows, or list prices.
|
||
- A patch from this repository. T01–T06 shipped against the current
|
||
proposed model and stay done regardless of this demand.
|
||
|
||
---
|
||
|
||
## Success criteria
|
||
|
||
1. `CapabilityConsumption` can say how a native-unit quantity was
|
||
obtained, using ITC-DATA lineage states or a published mapping.
|
||
2. A plan entitlement and an incomplete meter can be expressed in
|
||
canon terms without a private fin-hub schema.
|
||
3. `intelligence.*` quality dimensions no longer name `cost` as if it
|
||
were a native quality of generation.
|
||
4. Fin-hub can restate one AI-plan month — booked fact, entitlement,
|
||
measured/estimated/unknown tokens, work, three effectiveness
|
||
series — entirely in canon terms.
|
||
|
||
Criterion 4 is offered as a second real-provision proof, this time
|
||
for class `I`, alongside resource-control’s backup restatement for
|
||
class `S`.
|