Status: Accepted (2026-07-15)
The storage service (ADR-0003) needs concrete backends. Production-grade options (S3-compatible object stores, Postgres, DynamoDB) each bring credentialing, consistency quirks, and operational surface that would slow the engine milestones without changing the engine's shape.
v1 ships exactly two backends behind the BlobStore/RootStore traits: an
in-memory store (tests, simulator) and a local-filesystem store (single-node
dev and small production), with CAS-fenced root updates in both. The traits
are constrained now so later backends need no core changes: blobs are
idempotent/eventually-consistent; all coordination funnels through one CAS
primitive; lease fencing is validated inside the root-store CAS.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |