docs.rs failed to build harness-rs-memory-0.0.62
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Every memory and recall backend behind one door.
The interfaces are [harness_core::Memory] (curated facts) and
[harness_core::RecallStore] (raw transcripts). This crate holds the
implementations and one way to pick between them: a URL.
| URL | store | feature | memory | recall |
|---|---|---|---|---|
file://<path> |
JSONL on disk (harness-context) | none | ✓ | ✓ |
sqlite://<file> |
SQLite, FTS5 + trigram | sqlite |
✓ | |
mem:// |
SurrealDB in-process, not persisted | surreal |
✓ | ✓ |
surrealkv://<dir> |
SurrealDB in-process, on disk | surreal |
✓ | ✓ |
ws://host:port |
a running surreal start |
surreal-remote |
✓ | ✓ |
cortexdb+http://<url> |
CortexDB over MCP | cortexdb |
✓ | |
cortexdb://host:port |
CortexDB over gRPC | cortexdb-grpc |
✓ |
# async fn demo() -> Result<(), harness_core::MemoryError> {
let memory = harness_memory::open_memory("surrealkv:///var/lib/myapp/memory").await?;
memory.write(harness_core::MemoryEntry::new("user prefers dark mode")).await?;
# Ok(()) }
A URL for a backend that was not compiled in is an error naming the feature to enable, not a silent fallback to the file store: the operator asked for a specific store and should get it or hear why not.
Each backend is also a public module, for callers that want the concrete
type — [surreal::SurrealMemory] has compact(), sqlite::SqliteRecall
opens in memory, and so on.