05 · Projections
The sole composition layer — shaping canonical Spine data into role-appropriate views without duplicating or leaking canonical truth
The sole composition layer.
Projections shape canonical Spine data into role-appropriate views. They are the only mechanism through which the Spine is exposed to users and AI. Nothing reads from the Spine directly — everything goes through Projections.
Why Projections Exist
The Spine contains canonical truth. But different roles need different views of that truth:
- A Sales Manager needs pipeline data, not engineering metrics
- A Finance Analyst needs revenue data, not support tickets
- A Twin needs context for its user's role, not every fact in the Spine
- A Domain Agent needs domain-specific data, not cross-domain noise
Projections solve this by shaping the same canonical truth into role-appropriate views.
The Projection Model
Canonical Spine
↓
Projection Engine
↓
Role / Domain / Authorization Filter
↓
Context Assembly
↓
Operational / Sandbox Context
↓
Twin / Agents / Workbench
Key Invariant
AI receives authorized projections, not unrestricted canonical organizational truth.
This is one of the strongest architectural invariants:
SPINE
│
┌──────────┴──────────┐
│ │
CANONICAL LAYER OPERATIONAL LAYER
│ │
Organization Sandbox
Truth Context
Memory Working State
Governance Agent Data
│ │
HUMAN AI / AGENTS
Projection Types
| Type | Description |
|---|---|
| Role Projection | Shaped by the user's role (Sales, Finance, etc.) |
| Domain Projection | Shaped by the business domain |
| Work Projection | Shaped by the current work item |
| Time Projection | Shaped by temporal relevance |
| Authorization Projection | Filtered by permissions |
Projection Contract
interface Projection {
id: string;
tenantId: string;
source: 'spine'; // always from the Spine
target: ProjectionTarget; // who/what receives this
scope: ProjectionScope; // what data is included
filters: FilterDef[]; // data filters
transforms: TransformDef[]; // data transformations
cacheability: CachePolicy; // how long this is valid
governanceToken?: string; // governance approval
}
Projection Rules
| Rule | Description |
|---|---|
| Canonical read-only | Projections read from the Spine, never write |
| No duplication | Projections do not copy canonical data |
| Role-scoped | Each projection is scoped to a role |
| Authorization-gated | Projections respect RBAC |
| Audit-logged | Every projection is logged |
| Cacheable | Projections can be cached for performance |
Projections and AI Security
The Projection layer is the security boundary between canonical truth and AI:
Canonical Spine (organization truth, memory, governance)
↓
Projection (role + authorization filter)
↓
Context Assembly (relevance scoring, token budgeting)
↓
Operational / Sandbox Context (AI-safe data)
↓
Twin / Agents (operate on safe data only)
This ensures:
- Twins never see unauthorized data
- Agents operate within their scope
- Context is always role-appropriate
- Canonical truth is never leaked
Projections Connect to
| Layer | Relationship |
|---|---|
| Spine Fabric | Reads canonical data from the Spine |
| Human Workbench | Provides role-specific views |
| Twin Workbench | Provides sandbox context for AI |
| Coworker | Provides context for ambient awareness |
| Domain Projections | Domain-specific shaping |