foxloom 0.2.1

Hybrid memory layer with mem0-style semantics on top of foxstash-core
Documentation
# API Reference

This page summarizes the public API from `src/lib.rs`.

## Re-exports

- `FoxstashAdapter`
- `DeterministicEmbedder`, `FoxstashCoreAdapter`, `TextEmbedder`
- `OnnxEmbedder` (feature: `onnx-embedder`)
- `MemoryOp`, `MemoryRecord`, `MemoryScope`, `MemoryStatus`, `MemoryType`
- `DecayConfig`, `decayed_importance`
- `ContextBudget`, `ContextBuildConfig`, `ContextItem`, `BuiltContext`
- `BudgetEstimator`, `WordBudgetEstimator`
- `build_active_context`, `build_active_context_with_estimator`

## Merge Helper

- `merge_candidate(existing: Option<&MemoryRecord>, candidate: &MemoryRecord) -> MemoryOp`

## Adapter Contract

```rust
pub trait FoxstashAdapter: Send + Sync {
    fn upsert_embedding(&self, key: &str, text: &str, metadata: serde_json::Value) -> Result<(), String>;
    fn delete_embedding(&self, key: &str) -> Result<(), String>;
    fn similarity_search(
        &self,
        query: &str,
        top_k: usize,
        metadata_filter: Option<serde_json::Value>,
    ) -> Result<Vec<MemoryRecord>, String>;
}
```

## Stability Notes

- `model`, `scoring`, and `context_builder` are intended for direct integration.
- `foxstash_adapter` is the reference implementation over `foxstash-core`.
- `onnx-embedder` is optional and should be feature-gated in downstream crates.