AI/Tasks/MemoryUpgrade/Memory_Phase09_RetreivalAPI.txt
|
Add a ranked retrieval API to the memory subsystem.
Apply changes ONLY within memory subsystem files and memory tests. Concrete scope: - src/TechToolbox.Agent/Memory/MemoryStore.cs - src/TechToolbox.Agent/Memory/MemoryModels.cs - src/TechToolbox.Agent/Memory/MemoryLearner.cs (only if needed for provenance fields) - src/TechToolbox.Agent/Tests/*Memory*.cs Requirements: - Add a read-only query API that returns ranked memory matches. - Ranking signals must include: exact match, keyword overlap, confidence, recency, source category/type. - Include provenance and concise match reasoning per result. - Enforce max-result cap and avoid large prompt-memory injection patterns. - Keep session memory, user preferences, and system facts logically separable in results/filtering. - Do not modify unrelated subsystems. Acceptance criteria: - Deterministic ordering for equal-score ties (stable tie-breaker). - API supports caller-provided max results with safe default cap. - Tests cover relevance ordering and separation/filter rules. Validation: - dotnet build src/TechToolbox.Agent/TechToolbox.Agent.csproj -c Release - dotnet test src/TechToolbox.Agent/Tests/TechToolbox.Agent.Tests.csproj -c Release --filter "Memory|Retriev|Query|Rank" Output results in markdown using this structure: 1) Summary 2) Files changed 3) Retrieval API surface 4) Ranking formula/signals 5) Tests added/updated 6) Validation results |