Migration details
Treat migration as a behavioral comparison, not a raw response snapshot update.Build deterministic fixtures
Use an isolated namespace with stable IDs and fixed source content. Include plaintext, URL, file, batch, metadata, grouping, profile facts, related memories, forgotten memories, and empty-result cases. Record each legacy request, v5 request, expected semantic result, and intentional difference. Never compare generated IDs, signed URLs, timing, or JSON object order unless the contract guarantees them.Compare writes
- Repeated POST appends or diffs; PATCH replaces canonical content.
- Batch outcomes list accepted documents first, then failures, and surface partial failures; match by ID, not position.
- Metadata-only updates leave source content unchanged.
- Accepted writes are polled until processing reaches a terminal state.
Compare reads and recall
- Document includes are absent when omitted and empty arrays when requested without results.
- Unified list responses populate only the selected resource array.
metadatais always an object,{}when empty; it is nevernull.- Search parity uses explicit v4-equivalent mode and threshold before testing v5 defaults.
- Profiles always contain static, dynamic, and bucket sections.
Exercise boundaries
Classify differences
Cut over by domain
- Ship v5 request construction behind a per-domain flag.
- Dual-read or shadow-call where side effects allow it.
- Switch ingestion, content management, search, profiles, then settings independently.
- Monitor validation failures, authorization failures, latency, empty-result rate, and processing failures.
- Retain the legacy path until the observation window passes.
Completion checklist
- No application API call accidentally uses a
/v5prefix. - Connector calls use
/ns/{namespace}/connectorsorsupermemory.connectors.*, not/v3/connections. - No legacy field aliases or response readers remain.
- Every changed default is either accepted intentionally or passed explicitly.
- Rollback restores the previous caller without requiring data repair.