L0 contract — storage bounded context.
Two narrow protocols (ISP):
IVectorWrite — upsert one or more entries to a CollectionRef.IVectorRead — search across one or more CollectionRefs with
fan-out semantics (read may union results from
active + sunset collections during drain).Both protocols depend only on ICollectionLocator (via the ref) —
they have zero coupling to embedder or router internals. The write
pipeline (in storage/write_*.clj) is responsible for resolving
spec → ref BEFORE calling upsert!; this layer never derives a
collection from a raw type.
Reload-safety: defonce-guarded.
L0 contract — storage bounded context.
Two narrow protocols (ISP):
- `IVectorWrite` — upsert one or more entries to a `CollectionRef`.
- `IVectorRead` — search across one or more `CollectionRef`s with
fan-out semantics (read may union results from
active + sunset collections during drain).
Both protocols depend only on `ICollectionLocator` (via the ref) —
they have zero coupling to embedder or router internals. The write
pipeline (in `storage/write_*.clj`) is responsible for resolving
spec → ref BEFORE calling `upsert!`; this layer never derives a
collection from a raw type.
Reload-safety: `defonce`-guarded.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 |