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.