FIRST / LAST need a single value per record, both for the value and for its ordering field.
A stable, machine-readable code; a contract: codes are added, never renamed.
The logical field the violation is about, or null for model-level violations.
null