Current
13 — Shared Components and Frontend State
Status: Active frontend handoff
State ownership
| State | Owner |
|---|---|
| Identity/session token | Clerk SDK; verified again by Gateway |
| Tenant, membership and permissions | Gateway discovery response |
| Entity/projection data | Server-query cache keyed by tenant and version |
| Canvas layout and local drafts | Frontend local state until explicit save |
| Mutation/proposal/execution status | Platform response and event stream |
| Connector credentials | Credential wall; never frontend state |
All query keys include tenant and projection context. Sign-out, tenant switch
and permission downgrade clear affected caches immediately.
Shared components
EntityTable,EntityRecord,ProjectionPage,WorkbenchCanvasFreshnessBadge,ProvenanceDrawer,ConfidenceIndicatorCapabilityControl,ApprovalCard,ExecutionStatusConnectorCard,ConnectionHealth,ActivationChecklistEmptyState,PartialEvidenceNotice,ConflictResolver,ErrorBoundary- contextual
TwinProposalCard—never a permanent global panel
Typed client
One client owns base URL, Clerk token forwarding, correlation ID, idempotency
keys, retry policy, error decoding and schema validation. Components never build
service URLs or call internal services directly.
Retries are limited to safe reads and idempotent requests. A retryable transport
failure is different from an application rejection, authorization failure,
version conflict or required approval.