Liking cljdoc? Tell your friends :D

hive-proximum

Clojars Project cljdoc release License: MIT

A bitemporal memory backend for the hive ecosystem, backed by Datahike. Nothing is overwritten and nothing is hard-deleted, so a query can ask what the store believed at any past moment — not merely what it holds now.

Coordinates

;; deps.edn
io.github.hive-agi/hive-proximum {:mvn/version "0.1.13"}

The bitemporal design

  • Every write is a new Datahike transaction — an immutable fact log.
  • An update adds facts; the previous values stay in history.
  • A delete sets :entry/deleted? true — a tombstone, never a hard delete.
  • Temporal queries use d/as-of and d/history for time travel.

hive-proximum.store implements IMemoryStore and IMemoryStoreTemporal; the temporal port is what separates this backend from the point-in-time ones.

Vector storage

hive-proximum.vec adds an HNSW vector index behind IVecStore, a role-sized port:

NamespaceRole
hive-proximum.vec.protocolIVecStore — the port
hive-proximum.vec.storeProximumVecStore — adapter over the org.replikativ/proximum HNSW index
hive-proximum.vec.configTyped config via hive-di defconfig, mirroring the Datalevin KG surface

Because the config surface mirrors the other backends, swapping the vec slot is a configuration change rather than a code change.

Wiring

hive-proximum.init is the IAddon implementation — a reify over a nil-railway pipeline, with zero compile-time hive-mcp dependencies; everything host-side resolves through requiring-resolve.

hive-proximum.lifecycle registers an IShutdownHook at priority 215. It runs after the pure client closers in the 210 band, because Proximum syncs its konserve backing store to disk before releasing the Datahike connection and may share a classloader path with other Datahike-backed stores that need to settle first.

License

MIT.

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close