2026-07-05
Behavioral infrastructure with receipts
Most observability tools answer “what happened in this session?” Empress answers a different question: what has this actor done, ever?
The difference is architectural, not cosmetic. Session loggers store events until retention expires. Empress stores xAPI statements in an immutable ledger — never rewritten, never silently dropped, always exportable in full. When difficulty scores, trending ranks, or belief states are computed, they’re computed from that ledger at query time, so every derived number has a paper trail back to raw facts.
Three design decisions follow from taking the ledger seriously:
Any verb is accepted. Ingestion validates structure, not vocabulary. If your domain
speaks refactored or harvested, those statements land and become queryable. Meaning
lives in interpretation, not in an ingestion gate that rejects what it doesn’t recognize.
Isolation is proven, not promised. A repeatable test runs against production and verifies both directions: a probe tenant sees only its own data; the production tenant sees zero probe leakage. That test caught a real leak once — which is exactly the point of having it.
Export is total. GET /export streams your entire ledger as cursor-paged NDJSON.
A ledger you can’t take home is somebody else’s ledger.
Empress is in private beta, proving itself through its first production tenant. The quickstart runs against production, the API reference is generated from the live OpenAPI spec, and if we haven’t built something yet, the site says “planned” — an honest word.