Replay vs continuation recovery
Replaystart ── A ── B ── C ── D ── ✕ └──── reconstruct ───► D
TCCstart ── A ── B ── C ── D ── ✕ │ restoreHistory replay keeps a log of completed steps and runs the Program forward until it reaches the failure. Prefix length is part of recovery work.
TCC commits a continuation at D’s durable boundary and restores it during recovery. The completed prefix is not an input to recovery. More precisely, TCC eliminates prefix replay when recovering from a committed continuation checkpoint.
This does not imply constant-time recovery, exactly-once external I/O, or zero checkpoint overhead. Checkpoint cost depends on the frequency of durable boundaries and the persistence guarantees of the host.
Read the comparison and its labels on Research, and the claim in the technical report. The operational version is How recovery works.