OptionalagreeingComponent keys whose sub-hash AGREES between the two — present only when
both carry components. The evidence a reviewer reads: a wall that kept
its pset:Pset_WallCommon and type-assignment but changed
qset:Qto_WallBaseQuantities and material is a re-specified wall; one
that agrees on nothing may be a coincidence of position.
The deleted entity.
Optionalcrosstrue when the two entities carry a different ifcType (same family).
Bounding-box-centre displacement base→head, in the caller's units, clamped
to 0 below DiffOptions.moveTolerance as every other reported distance is.
The added entity claimed to have replaced it.
Bounding-box intersection over union, 0..1.
One claim that base was replaced by head (issue #4955, DiffOptions.detectSuccessors).
A suggestion, never a decision. Like a split/merge claim it retires nothing and touches no count: both entities keep their
deleted/addedentries. Unlike a content match, the engine never mints an identity-map entry from one unattended —identityMapFromSuccessorstakes only the claims a caller explicitly ACCEPTED.docs/architecture/layer-prs/04-identity.md§4.5: heuristic matching is a suggestion provider for a review UI, never silent.