Keep held-out data genuinely held out: assign split eligibility to whole source groups, count independent units rather than rows, and check whether a split was already exposed by earlier fitting. Use when defining, reusing, or claiming a train/validation/test split, or when reporting an n.