# X_SUPERSEDED

## Means

a later generation superseded this work

## Typical cause

an answer came back for a generation the fence has already moved past — a reload, a resubscribe or a re-render whose predecessor finished late. Classified `terminal`, and declared rather than defaulted: re-running superseded work produces this same refusal by construction, so an unclassified reading would spend a job's whole retry policy proving that the world has still moved on

## Fix

discard this answer and re-issue the work against `fence.generation()` — whoever called `bump()` has already started the replacement

[Core and runtime](/error-codes#core-and-runtime)
