Attempts already reconciled as superseded, keyed by
(namespace, call_id, failed_attempt).
Reconciliation runs even when no scope matches, because a lost lifecycle
event must not leave half the state rolled back. That makes a repeated
model_retry for the same attempt indistinguishable from a first one by
scope alone, so identity is tracked here instead: a duplicate is a no-op
rather than a second boundary and a second set of settled tool rows.