zara-memory: reject backend memories with empty provenance #135

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

Problem

MemoryService.remember() requires non-empty provenance, but _validate_memory() currently accepts an empty provenance mapping returned by the backend. That weakens the plugin's provenance contract on recall/remember results and can make an unsourced record look structurally valid.

Acceptance

  • deterministic RED test demonstrates empty backend provenance is rejected;
  • non-empty provenance remains accepted;
  • failure occurs in plugin validation rather than being silently normalized;
  • focused tests plus generated registry/source/install/package gates pass before merge.

This is a bounded local zara-memory integrity fix under #7; it does not emulate missing symbolic-memory backend search/forget capabilities.

## Problem `MemoryService.remember()` requires non-empty provenance, but `_validate_memory()` currently accepts an empty provenance mapping returned by the backend. That weakens the plugin's provenance contract on recall/remember results and can make an unsourced record look structurally valid. ## Acceptance - deterministic RED test demonstrates empty backend provenance is rejected; - non-empty provenance remains accepted; - failure occurs in plugin validation rather than being silently normalized; - focused tests plus generated registry/source/install/package gates pass before merge. This is a bounded local `zara-memory` integrity fix under #7; it does not emulate missing symbolic-memory backend search/forget capabilities.
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#135
No description provided.