So when a strong header chain is both current and minimum work is satisfied, or a given header is a checkpoint or milestone, the header chain is written to disk as the candidate chain. This is the same for "initial/catch-up" and ongoing sync. And when a header passes through a milestone or checkpoint, all hash-corresponding blocks under it bypass validation.