Merge-and-sort discards rank, so where raw scores tie exactly it falls back
to lancedb.databases declaration order. Rank and score are independent
discriminators, not the same information at different resolution: a
single-branch rank-0 candidate and a rank-2 candidate with two both-branch
candidates above it can carry the same score.
So keep score primary, which is what buys merge-and-sort its recall, and
resolve score ties by within-database position instead of by YAML order.
That prefers the candidate nothing in its own collection beat, which is
signal.
Measures whether merge-and-sort's order sensitivity at n=4 (1.49pp against
the tie-break's 0.56pp) is reducible without moving to continuous scores.
Claude-Session: https://claude.ai/code/session_01WhudUtZm6qqiuv8Y1sbwSc