Skip to content

Capability map — what shifted, what ships

This is the diligence table: each concern that traditionally lives in the business / ops layer, where Eelden puts it, and whether it ships today. Status labels match Status. Full agent-facing inventory: internals/shift-left-audit.md.

Map

Inventory

ConcernTraditional homeEelden homeToday
Tenant isolationtenant_id / RLS / separate DBsTenant page namespace; implicit query scopeYes
TransactionsApp TX helpers; sometimes 2PC fantasiesatomic { … } tenant-scoped onlyYes (single-process conflict detection)
Cross-process conflict detectionSame FCW model, multi-processNot yet
Schema rollout across tenantsMigration runners / fleetsFingerprint apply-on-touchYes (Slice A)
Breaking migration history purgeManual cleanups@breaking + history compactNot yet
Point-in-time / audit viewsAudit tables + backupsNamed snapshots + asofYes (named snapshots)
Raw page-history time travelVersioned pages without named snapNot yet
Change data captureDebezium / triggers / DIYWAL-derived row CDC per tenantYes
Cross-tenant read modelsShared tables / ETLCDC → disposable indexesPartial (CDC yes; index query / across tenants execute Not yet)
Cross-tenant writesDistributed TXApp-layer sagas (D3)Pattern (no language flow yet)
Staging / support copiesDump & scrubfork tenant CoWYes
Data residencyInfra tickets + app routingResidency on tenant catalogCatalog Yes; enforcement Not yet
Per-tenant encryptionApp KMS / column cryptoencryption_key_ref on catalogReserved; at-rest path Not yet
Sharding / placementApp shard mapsOne write authority per tenant; cloud backends swap traitsLocal Yes; cloud backends Not yet
Cross-tenant leak preventionReview + testsEngine scope; privileged escapePartial (scope yes; LSP package / across execute Not yet)
Money integrityApp decimal / floatMoney value + typechecker + TS clientYes
Schema driftSilent SQL coercionunknown + is / asYes
Corruption visibilityOpaque disk errorsChecksum reports → health APIYes
Export / import packagingpg_dump cultureDirectory is live unit; package op laterNot yet

Visual: ownership boundary

How to use this in a sales or partner review

  1. Start from Yes rows — that is the live demo surface (Studio, playground, CLI).
  2. Call Partial / Not yet out loud — trust is the gating feature; overclaiming destroys the thesis (philosophy).
  3. Treat control-plane rows as not your customer's engineering problem later — they stay out of app code by design even before they ship.

Related: Value · Shift-left bet · Tenants · Status

Pre-alpha. Local-first. Stdlib-only Rust engine. Tenant concerns shifted left into the database.