{"uid":"cap_4nDosPtlDQFC2fgxkhpyd","slug":"mnemo-memory-conflict-resolution-b4aa5a76","name":"Mnemo Memory Conflict Resolution","description":"Memory that belongs to the user and follows them across agents. The agent pays per call (x402); the user authorizes the agent once: POST /v1/memory/delegate/challenge {user, agent} returns text the user signs (EIP-191), then POST /v1/memory/delegate {..., signature} returns a bearer token. Send Authorization: Bearer mn_... on every memory call. Start a session with GET /v1/memory/profile, write with POST /v1/memory/remember, retrieve with POST /v1/memory/recall (hybrid vector + keyword). When the user contradicts a memory, POST /v1/memory/conflict supersedes it with history kept. Tier B stores client-side ciphertext the server cannot read. Export and forget are always free.","url":"https://memory.reversecaptcha.fun/v1/memory/conflict?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"new_id":{"type":"string"},"old_id":{"type":"string"},"reason":{"type":"string"},"replacement":{"type":"object","properties":{"ttl":{"type":"number","description":"seconds until the memory turns stale"},"kind":{"enum":["fact","preference","instruction","decision","state"]},"tags":{"type":"array","items":{"type":"string"}},"tier":{"enum":["A","B"]},"source":{"type":"string"},"content":{"type":"string"},"ciphertext":{"type":"string"},"confidence":{"type":"number"},"blind_index":{"type":"array","items":{"type":"string"}}}}}},"responseSchema":{"type":"json","example":{"current":{"id":"mem_new","status":"active"},"superseded":{"id":"mem_old","status":"superseded","superseded_by":"mem_new"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_uNgHl6BYU04VLQcVcKSjx","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Supersedes an existing memory with a corrected replacement when the user contradicts a previously stored fact, preference, instruction, decision, or state, preserving full history.","exampleAgentPrompt":"The user just told me they actually prefer dark mode, not light mode — please correct that preference memory (mem_pref_001) and replace it with a new fact memory saying 'user prefers dark mode', marking the old one as superseded with reason 'user explicitly corrected preference'.","exampleUseCases":[{"title":"Correcting a dietary preference after user update","prompt":"I just told my assistant I'm no longer vegetarian — I eat fish now. Can you update that old memory (mem_diet_042) with a new preference memory saying 'user eats fish but not other meat', mark the old one superseded, and note the reason is that the user's diet changed?"},{"title":"Reversing a stored decision about a project","prompt":"I changed my mind about the project deadline — it's now March 15, not February 28. Please supersede the old decision memory (mem_dec_017) with a new decision memory containing 'project deadline is March 15', keeping the history of the old one."},{"title":"Fixing a wrong fact stored about user's location","prompt":"I moved to Austin, not Dallas — the stored fact (mem_loc_005) is wrong. Please replace it with a new fact memory saying 'user lives in Austin, TX' and mark the old Dallas memory as superseded."}],"resultDescription":"Returns a JSON object with two fields: 'current' (the new active memory record with its ID and 'active' status) and 'superseded' (the old memory record with its ID, 'superseded' status, and a reference to the new memory's ID). History is preserved server-side.","failureModes":["Invalid or missing old_id returns 404 — the memory to be superseded does not exist","Missing replacement object returns 400 — the new memory content is required","Invalid memory kind enum value returns 400 — must be one of fact, preference, instruction, decision, state","Invalid tier value returns 400 — must be A or B","Expired or missing bearer token returns 401 — agent must re-authenticate","Insufficient x402 payment returns 402 — agent must pay 0.002 USDC per call","Conflict on an already-superseded memory may return 409 or chain the supersession"],"whenToPreferThis":"Use this endpoint specifically when a user contradicts or corrects something already stored in Mnemo — it preserves the full audit trail of what was believed before, unlike a plain update or delete. Prefer this over re-writing the memory directly when history, accountability, or rollback matters. This is the right call when an agent detects a factual contradiction during conversation and needs to reconcile diverging information with provenance intact.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-29T07:05:50.380Z","isFirstParty":false,"canonicalSlug":"mnemo-memory-conflict-resolution-b4aa5a76"}