I think most have shied away from contracts (which might scare off candidates), but you DEFINITELY want to verify that before you quit your old job.
I think today the new "training" contract is the recruiting bonus, which is only paid out over time if you stay at the company. I think you have the option of not accepting the bonus if you don't plan on staying long. Personally I would probably take the money, bank it, and give it back if a legacy calls in 8 months. If for some reason you get stuck longer than planned, you might as well have the bonus. Have to look at tax ramifications, ie if you pay part or all of the bonus back, do you get your taxes back too? Knowing the .gov, I'd guess not.