From the 2026-07-03 release review (confirmed, serious — validation dimension). events.rs set_event_roster/set_event_classes do not prune classes_membership, so a pilot removed from the roster (or a whole deselected class) can still be seated by FillRound — bypassing the #330 membership guard which only checks at membership PUT time. Prune membership on roster/class shrink (or re-validate at fill).
From the 2026-07-03 release review (confirmed, serious — validation dimension). events.rs set_event_roster/set_event_classes do not prune classes_membership, so a pilot removed from the roster (or a whole deselected class) can still be seated by FillRound — bypassing the #330 membership guard which only checks at membership PUT time. Prune membership on roster/class shrink (or re-validate at fill).