Data Fabric · Datasets & Lineage
Agents are only as trustworthy as the tables underneath them
Every dataset has a named owner, a freshness contract and a PII classification. A dataset failing its contract is not served to agents — they degrade and say so rather than acting on stale data.
Production datasets
7
Contracts passing
5/7
Carrying PII
2
tokenised before an agent reads them
Agent + service consumers
87
Datasets
Tap a row to assign an owner or open an action
| Dataset | Owner | Rows | Freshness | Contract | PII | Consumers |
|---|---|---|---|---|---|---|
| member_events | Data platform | 48.2B | 40s | passing | — | 22 |
| member_identity | Data platform | 35.1M | 2 min | passing | tokenised | 9 |
| portfolio_snapshots | Trading platform | 1.4B | 5 min | warning | — | 14 |
| subscription_ledger | Revenue ops | 9.8M | live | passing | — | 11 |
| conversation_turns | AI platform | 812M | live | passing | tokenised | 17 |
| creative_performance | Growth | 42M | 1 hour | failing | — | 6 |
| compliance_verdicts | Compliance | 3.1M | live | passing | — | 8 |
Lineage
Table → feature → agent, so an odd decision can be traced to its input
- member_events→feature: engagement_7d
streaming aggregate, 40s window
- portfolio_snapshots→feature: risk_band
daily batch + intraday delta
- subscription_ledger→feature: renewal_pressure
nightly batch
- conversation_turns→index: conversation memory
embed + intent label
- feature: churn_score→agent: retention sentinel
online serve, 22ms p95
Contract enforcement
Where the check runs matters more than that it exists
- Schema checks run in the producer's build, so a breaking change never reaches a consumer at 2am.
- Freshness is a serving gate: a stale partition is withheld, not served with a warning nobody reads.
- A failing dataset degrades its consumers explicitly — the UI says which input is stale.
- creative_performance is failing right now because a channel changed its export; the growth agents are running on yesterday's snapshot and the surface says so.

