Total over the engine's update-suppression logic:
Object.is) returns 'object-is-deduped'
because the engine's Phase B equality cutoff would have
suppressed any commit producing a reference-equal next value.'no-dep-overlap' — the commit's changedNodes set did not
include this node.null — the dual is undefined here
because the resource DID transition.Per SPEC.async §11.1, the typical "no update" reasons for a resource are the two named in WhyNotUpdatedReason. A future bump that surfaces additional reasons widens this union and the decoder.
Decode the reason a subscriber did NOT see an update on a given commit. Returns one of WhyNotUpdatedReason, or
nullif the resource actually did transition (prev !== next structurally).