Safe canonical matching for names split across document fields

General lesson: When comparing the same identity extracted from two document sources, normalize within semantic groups but preserve the boundary between given names and family names. This is useful for deterministic OCR/barcode reconciliation where spacing, middle-name placement, suffix placement, or field order varies. It is not a license for fuzzy identity matching: character edits, incomplete evidence, and contradictory structured/full-name values should remain reviewable.

A safe pattern is to derive constrained two-group layouts from full-name token splits, constrain those layouts with populated structured fields, and accept only exact layout intersections (including an explicitly allowed group swap). Compact whitespace only inside an inferred group. Remove suffix aliases only from supported positions such as trailing fields or a corroborated pre-family position. Require complete evidence before declaring source equivalence, and keep source-to-source equivalence separate from user-entered-name review/fraud signals.