Move remaining validator logic into planner