Strata is pre-1.0. APIs, protocol, and storage format may change.
Limitations
Strata is pre-1.0. This page lists the current limits.
What works today
Section titled “What works today”- A single-node server with delta sync, presence, and shelf persistence across restarts.
- The v0 frame set:
join,leave,delta,presence_set,create,delete,ping,welcome,snapshot,presence_state,presence_diff,deleted,error,pong. strata_clienton both Erlang and JavaScript targets, with reconnect demonstrated in the bundled examples.- Optional typed LWW-register fields and record schemas through
strata_document. - A read-only admin page at
/admin. - Message limits for each connection through
StrataConfig. - A configurable encoded-document growth budget, including retained metadata.
- Target-specific unit tests for each package.
- Playwright end-to-end tests for the bundled examples.
What may change before 1.0
Section titled “What may change before 1.0”- The wire protocol. Frames use
"v": 0, but there is no compatibility promise before Strata 1.0. - Public package APIs.
- The on-disk storage format. A release may require re-creating
STRATA_DATA_DIR. - Packages are not yet published to Hex; install from source.
- Clients check typed schemas when they read data. The server does not enforce field types or schema versions.
strata_documentinitially supports LWW-register fields only, without Watershed-style nested channel handles.- Field removal is observed-remove/add-wins, so a concurrent write survives.
- The server broadcasts accepted state, not merely queued submissions. Opt-in operation receipts distinguish acceptance, rejection, and unknown outcomes, but do not acknowledge persistence.
- The server exposes bounded operational data through admin status, but has no built-in health endpoint, HTTP metrics endpoint, or structured log format.
- Checkpointed tombstones survive restart and have no expiry. Deleted IDs cannot be reused. An unflushed deletion can still be lost on a crash.
Not planned for 1.0
Section titled “Not planned for 1.0”| Not in 1.0 | Why | Tracking |
|---|---|---|
| JWT and multi-tenant isolation | Changes auth, storage keys, and topic layout | #3 |
| Chunked snapshots | Single-frame snapshots are enough for small and medium documents | #5 |
| Multi-node clustering | Needs document ownership and coordination design | #6 |
| Durable workflow intent and recovery | Current dispatch is session-local and best-effort; browser loss has no retry owner | #27 |
| Automatic causal-metadata pruning | Lattice has a prune primitive, but Strata lacks a safe stability frontier; v1 uses a growth budget | #7 |
| Mutating admin actions | Waiting on stronger auth and audit logging | — |
| Per-IP rate limiting | A reverse-proxy concern for 1.0 | — |
See the roadmap for the full 1.0 plan. Read Compatibility and Upgrades before you update a server that has stored data.