View in context in the libbitcoin Slack #general mirror.
strong_tx is associated for a block before the confirmability checks for that block occur. This allows the block to be identified as part of the candidate chain under check without identifying the candidate blocks above it as so. But confirmation is the process of reorganizing a confirmable candidate chain into the confirmed height index. Not until that point is any block in the candidate chain considered confirmed (despite being and "strong" and "confirmable"). Confirmable (unlike the strong association) is a terminal state. So a confirmable block never needs to be revalidated (i.e. for reorganization). The final step of confirmation is not necessary (or even used) for validating subsequent blocks, as that is all performed in the candidate chain, and organizing an entire 850k blocks as confirmed (push_confirmed) under milestone takes only a couple seconds.