the CommitForDecoding (carries the intent label the resource adapter sets per chart edge).
The decoder is a pure function: same inputs produce same outputs, no side effects, no graph reads. The decision tree:
fetch:*:start, fetch:*:loaded, fetch:*:stale,
fetch:*:error, invalidate:*, fail:*), return the
matching reason.'dep-changed'.The pre/post arms are not strictly required for any single decode step — the intent label suffices — but they are accepted in the signature so a future schema-bump that needs cross-arm disambiguation does not break adopter call sites.
Decode the reason a resource node was updated by a commit. Returns one of the seven ResourceUpdateReason values.