Skip to main content
A project capability is a behaviour a project either carries or does not: whether money is comparable across currencies, whether a row knows which country it belongs to, whether spend can be read against the plan that bought it. Seven exist. They are versioned at project scope, and turning one on is a governed change — never a switch that takes effect silently.

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 draft or blocked, 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.