Deliberately only as many model variants as something in this codebase
actually needs to reference today ("contract", "ownership",
"change"). This is an additive, growable union, not a speculative
six-model union built ahead of a real consumer -- a later phase (e.g. the
Dependency or Lifecycle Model) adds its own variant only once a finding
or projector genuinely needs to point at it.
A structured pointer back to where a
Finding(or, later, any other model's derived fact) came from -- never a formatted string. See ADR 0024 and ADR 0026.