Skip to content

DR-047 — Pipeline memo deserialization failures degrade to re-extraction, never item failure

A memo-HIT whose payload no longer deserializes against the current extraction schema (stale LMDB memo after schema drift) falls back to a fresh extraction of that item — loudly logged per event and surfaced as a memoHeals per-extractor tally in the terminal pipeline-run webhook — instead of failing the item. The fallback is scoped to DeserializationError only (network/LLM errors keep existing failure semantics), and the decorated extractor bodies stay AST-untouched (an edit would bust the logic fingerprint and re-burn the whole corpus). Known bounded cost: cocoindex exposes no public memo-overwrite API, so a healed item re-heals on every walk until its memo naturally refreshes — observable, small, accepted; a corpus-wide version= bump is the (separately gated) one-time alternative. Provenance: S457 {127.33} owner ratification + implementation c8cabb1e.