zara-memory: reject backend mutation of remembered source evidence #131

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

Problem

MemoryService.remember() validates the backend's returned scope/owner/type and fact schema, but it does not prove that the backend returned the same source text, normalized facts, and provenance that Zara asked it to persist. A misbehaving backend can silently rewrite source evidence and still be reported as a successful remember.

The README describes the native boundary as exact-source durable remember; compatible injected backends should preserve the same integrity property.

Acceptance

  • deterministic RED tests demonstrate backend mutation of text, facts, or provenance is currently accepted;
  • remember() fails closed with MemoryError when returned write evidence differs from the requested normalized write;
  • ordinary exact backend echoes remain valid;
  • no backend capability is emulated and no authorization semantics change;
  • full compatibility/registry/plugin/package gates pass before merge.

Local integrity work under #7.

## Problem `MemoryService.remember()` validates the backend's returned scope/owner/type and fact schema, but it does not prove that the backend returned the same source text, normalized facts, and provenance that Zara asked it to persist. A misbehaving backend can silently rewrite source evidence and still be reported as a successful remember. The README describes the native boundary as exact-source durable remember; compatible injected backends should preserve the same integrity property. ## Acceptance - deterministic RED tests demonstrate backend mutation of text, facts, or provenance is currently accepted; - `remember()` fails closed with `MemoryError` when returned write evidence differs from the requested normalized write; - ordinary exact backend echoes remain valid; - no backend capability is emulated and no authorization semantics change; - full compatibility/registry/plugin/package gates pass before merge. Local integrity work under #7.
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#131
No description provided.