As far as I read the code, the server returns the protocol version requested by the client if it's less than or equal to the latest version the server supports. Otherwise, it returns the latest supported version. So the proposed description doesn't seem accurate either, does it?
I've added a note as to when this is sent. AFAICT through testing and the fact that the pgjdbc driver has never handled this message
I'm pretty sure it only sends this message if the requested protocol is not equal to the protocol the server supports.
+ Major is in the upper 16 bits and the lower in the low 16 bits.
To match the style of similar descriptions, how about rephrasing it as: "The most significant 16 bits are the major version number, and the least significant 16 bits are the minor version number”?