Why the two halves of one request got different answers
The owner's five buckets read as one feature, and the interesting part of this decision is that they are not. Three of them — Confirmed pair, Likely related, Unpaired — already existed and only needed rendering. The other two look like siblings and are not related at all.
Weak asks the engine to find something new. Every mechanism that could supply it has already been considered and refused for a stated reason. Reversing that means either reporting near-misses, which asserts that two different identifier systems carrying the same digits are the same identifier — a false claim, not a weak one — or emitting corroboration edges, which in a workbook where every cell concerns one patient draws a line between every pair. Both make the authoritative edges harder to see. Weak would not be a lower-confidence signal; it would be the absence of one, rendered as though it were a signal.
Conflict asks the engine to report something it already computes. The pairing
verdict builds a corroboration[] array with an agrees flag; the refusal in
correlation.ts is specifically against emitting corroboration as edges in the
graph, because that is what connects everything. Reading corroboration only where
an authoritative edge already exists inverts that: it is not drawing new lines, it
is annotating a line already drawn.
The shape of the thing being adopted
Two cells share a preauth-ref — an authoritative key, the strongest claim the
engine makes short of a verdict — and carry different member identifiers. That is
not a weak signal or a near-miss. It is two byte-exact comparisons, one matching
and one not, and the combination is more alarming than either alone: the
transaction says these are one case and the identity says they are not.
That is worth surfacing precisely because it is rare. Its rarity is also what makes it safe: unlike a weak tier, a conflict cannot flood the panel, because it requires an authoritative edge to exist first.
What would make this wrong
If conflict annotations turn out to fire routinely, the premise is wrong and the cause is almost certainly that a "corroborating identity field" was drawn too broadly — a display name, a formatted date, anything a payer normalises differently. The field set must stay narrow and closed, and the honest response to a noisy conflict annotation is to shrink that set, not to soften the claim into a maybe. The moment it renders as "possibly conflicting", it has become the weak tier this record declined.