pub fn check_legal(edge: &PsramEdge, plan: &[PsramBurst]) -> Result<(), String>
Every rule a burst plan must satisfy, checked independently of the planner.