mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-27 21:08:00 +00:00
2.2 KiB
2.2 KiB
09 — Embeddings & retrieval
Adapt OpenHuman embeddings/memory retrieval to crate interfaces; OpenHuman stores stay authoritative.
Target SDK surface: EmbeddingModel trait, VectorStore, concrete Retriever,
ScoredDoc, cosine_similarity, MemoryScope, AgentEvent:: {MemoryLoaded, MemorySaved}.
Steps
- Adapter: implement crate
EmbeddingModeloverembeddings/provider_trait.rs::EmbeddingProvider(voyage/openai/cohere/ ollama/cloud/noop impls unchanged underneath). Keep OpenHumanfactory.rs/rate-limit/retry as construction policy. - Retriever facade: adapt the memory search surface the harness uses
(
harness/memory_context.rsrecall injection,agent_memory::memory_loader) to TinyAgentsEmbeddingModel/VectorStore, using the concrete crateRetrieverwhere applicable and returningScoredDocs; the harness loads retrieval context through the facade so retrieval becomes swappable and event-visible (MemoryLoaded). - Memory source identity: preserve
metadata.path_scopededupe semantics (CLAUDE.md rule) in the facade mapping. - Usage/cost: embedding calls emit crate
Usage+ catalog pricing (06.4). - Done: the vestigial
agent/memory_loader.rsfacade and unwiredagent/tree_loader.rseager digest prefetch module were deleted; callers useagent_memory::memory_loaderdirectly. - Done:
embeddings::modno longer re-exportsmemory_store::vectors, andmemory_search::vector::storewas deleted. Vector storage now has one canonical owner (memory_store::vectors);memory_search::vectoronly owns MMR/diversity selection.
Deletions
- Done:
agent/memory_loader.rs(tracked in99-deletion-ledger.md). - Done:
agent/tree_loader.rs(tracked in99-deletion-ledger.md). - Done:
memory_search::vector::storecompatibility shim; direct callers importmemory_store::vectors::cosine_similarity.
Acceptance
- Recall-injection parity on a scripted turn (same citations via
collect_recall_citations); embedding usage appears in cost records.
Keep (product): memory stores, retrieval ranking policy,
memory_context_safety.rs gating, archivist (orthogonal durable memory —
assessed KEEP 2026-06-30d; optional later: re-hang as after_agent
middleware without changing behavior).