Record queue attempts separately from mutable job state
A mutable durable-job row cannot serve as a historical latency trace after it is coalesced or requeued. Preserve immutable attempt/lease intervals (queued, claimed, finished, outcome) or append them to an audit table; otherwise the original creation time and latest completion time can make a fast retry look like a multi-day execution. Keep this separate from projection-receipt freshness and request latency, because each answers a different failure question.
Limits: row snapshots can still show current backlog and current lease age. This rule applies when one job key is updated in place; append-only per-attempt facts may have storage cost.
Applies when: measuring a coalescing queue with leases, retries, or generation-based requeues. Keywords: queue latency coalescing retry lease attempt audit metrics observability