Storage layer
Lay it down.
Ten typed primitives — facts, decisions, episodes, entities, tasks, events and more — each with a schema, each with bitemporal timestamps. Postgres-native, RLS-enforced isolation. No bolted-on key-value store, no orphan embeddings.
- Bitemporal facts: valid-time + transaction-time on every row
- Episodes — conversations as structured units, not text chunks
- Entities and decisions, graph-linked from day one
- Tenant isolation enforced by RLS, not by WHERE clauses