Skip to content

Narrow SemanticMemory generic from LlmProvider to EmbedFn #398

@bug-ops

Description

@bug-ops

Part of #391

Problem

SemanticMemory<P: LlmProvider> only uses P::embed(), but carries the full LlmProvider generic through Agent → MemoryState. This causes monomorphization overhead.

File: crates/zeph-memory/src/semantic.rs line 58

Proposed Solution

Accept Arc<dyn EmbedProvider> (narrower trait) or EmbedFn closure instead of full LlmProvider.

Priority: P3 | Effort: Large

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureArchitecture improvementsllmLLM provider relatedmemoryPersistence and memory

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions