zara-memory: reject duplicate recall identities #109

Closed
opened 2026-09-08 02:02:59 +00:00 by nsaspy · 0 comments
Owner

Problem

MemoryService.recall() validates each backend memory independently but currently accepts duplicate stable memory IDs in one result set. That makes provenance/result identity ambiguous and allows a backend to present the same durable identity as multiple records.

Slice

  • deterministic RED coverage for duplicate backend recall IDs;
  • reject duplicates after per-record validation and before returning results;
  • preserve the existing 64-result bound and scope/type/provenance checks;
  • exact-head compatibility, registry, plugin and Nix gates before merge.

Dependency-ready correctness slice within #7. No parallel memory backend or unsupported recall semantics.

## Problem `MemoryService.recall()` validates each backend memory independently but currently accepts duplicate stable memory IDs in one result set. That makes provenance/result identity ambiguous and allows a backend to present the same durable identity as multiple records. ## Slice - deterministic RED coverage for duplicate backend recall IDs; - reject duplicates after per-record validation and before returning results; - preserve the existing 64-result bound and scope/type/provenance checks; - exact-head compatibility, registry, plugin and Nix gates before merge. Dependency-ready correctness slice within #7. No parallel memory backend or unsupported recall semantics.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/zara-plugins#109
No description provided.