The seven
Always present is not a default that happens to be on: the database refuses
the pairing, so those two carry no switch on any surface. The control is what is
forbidden, not the row.
Two kinds, and the difference matters
Some re-express a measure. Currency & FX, Reporting Timezone and Tax & Fees take a figure that already exists and make it comparable, boundary-correct or explained. The native fact is preserved beside the derived one. Some add columns to the aggregation. Country, Placement Mapping and Analytics Alignment change the shape of a row:
Analytics Alignment adds a third column where its two siblings add two, and it
is not decoration: the method cannot be re-derived at read time. A human
arbitration is a stored act, and the automatic stages read a mapping version
that will later be superseded — so a reader who could not tell an id equality
from a shared name prefix could not defend the number.
Null means unmapped, and it says so. Where no plan line matched, both of
Placement Mapping’s columns are
NULL — never 0, never Unmapped. That row
is unplanned spend and has to read as such. Analytics Alignment’s three
columns are NULL on every row that is not matched, for the same reason.Five states, and why two of them count as on
disabled · draft · ready · degraded · blocked
ready and degraded both count as active. A degraded capability shows its
evidence and says it is degraded — hiding evidence already collected is worse
than showing it diminished.
A project whose capability rows were never written is unset, which is a
distinct fact from disabled. disabled is a decision somebody took; unset
means the control plane never wrote the row.
Dependencies
Analytics Alignment carries three, in the order a person has to satisfy them — an identity, then the permission to cross on it, then the money that makes the crossing readable:
Every unmet dependency is named at once, never the first one only: a refusal
that reveals its blockers one at a time turns a dependency chain into a guessing
game. And a project where no two datastreams could ever be aligned is told that,
rather than shown three unmet dependencies for a pair that does not exist.
Two more, stated by the capability cards:
- Placement Mapping depends on Currency & FX for the same reason — a
planned-versus-actual figure computed across unconverted currencies is wrong.
Currency & FX is always present, but present is not ready: it can still sit
in
draftorblocked, so the dependency is not satisfied by construction. - Tax & Fees leans on Country when it is active: prequalified, country-dependent rules are proposed from versioned shared knowledge, and the operator confirms, edits or rejects each one. Nothing applies itself.
Turning one on
Activation is a project change set, decided in Project Settings › Capabilities and nowhere else. Reading a capability’s state never turns one on. Over MCP, the change is two steps and the second one needs a person:prepare_project_capability_row_decision and
confirm_project_capability_row_decision do the same for one row of evidence.
Activating Country changes extraction plans, so its review step shows grain,
coverage, quota and backfill impact before publication — what a source can
still be asked for, and what it cannot. If a source cannot provide a compatible
country breakdown, the proposal names the datastream and the reason; it never
presents global-only data as country-complete.
What a capability owes every screen
A working toggle does not complete a capability. Each one must project coherently into every applicable surface — project settings, the data workbenches, governance, the context hub, Analyze, Test and the MCP surface — or it is incomplete, whatever the toggle says.Next Steps & Cross-References
Semantic Layer
The governed vocabulary the capabilities align.
Universal Datastreams
Where a capability changes what is extracted.
Agent Tools
The governance profile, and the confirmations it consumes.
Data Quality
Unresolved geography is a monitor, not a silence.

