My personal definition is pre-training is “learning a representation” and post-training is “using that representation.” While that works in many contexts, it doesn’t work in anywhere close to all, e.g., generation tasks or even learning an action embedding are sometimes described as post-training.