zara-memory: bound projection cleanup evidence from forget #112

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

Problem

MemoryService.forget() validates that projection_ids is a list of strings, but accepts arbitrarily many IDs and empty/unbounded ID values. A malformed backend can therefore return unbounded cleanup evidence across the plugin boundary.

Slice

  • deterministic RED coverage for oversized and empty projection cleanup identifiers;
  • cap cleanup evidence cardinality and require bounded non-empty IDs;
  • preserve the canonical backend boundary: this validates evidence only and does not implement forgetting itself;
  • exact-head compatibility, registry, plugin and Nix gates before merge.

Dependency-ready correctness slice within #7.

## Problem `MemoryService.forget()` validates that `projection_ids` is a list of strings, but accepts arbitrarily many IDs and empty/unbounded ID values. A malformed backend can therefore return unbounded cleanup evidence across the plugin boundary. ## Slice - deterministic RED coverage for oversized and empty projection cleanup identifiers; - cap cleanup evidence cardinality and require bounded non-empty IDs; - preserve the canonical backend boundary: this validates evidence only and does not implement forgetting itself; - exact-head compatibility, registry, plugin and Nix gates before merge. Dependency-ready correctness slice within #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#112
No description provided.