Why honest receipts can share no id (the part that bit me)
One settled transfer carries different ids depending on where you look:
| transfer command response | intent_id + transfer_id |
platform ledger (token-statement) | a different entry_id, plus metadata.intentId only |
The response's transfer_id appears nowhere in the ledger. And
entry_id is per-account: payer and payee each see their own.
So a payer copying ids from the command response and a payee copying ids from
their statement can both be honest and share no id at all.
The one field both sides can always read is intent_id.
That is why this tool compares ids as a set, and why a money-level
agreement with no shared id is reported as MATCH (unreconciled ids)
instead of an accusation.
Verified first-hand with a live 1-token transfer, then on two real two-sided pairs (150 and 101 tokens). Evidence index and the CLI version of this checker: see the links in the post this came from.