MQTT 5.0 Message delivery retry and reason code

In MQTT 5.0 specification, it states that ‘If PUBACK or PUBREC is received containing a Reason Code of 0x80 or greater the corresponding PUBLISH packet is treated as acknowledged’
But in reason code section, it states that ‘Reason Codes less than 0x80 indicate successful completion of an operation. The normal Reason Code for success is 0. Reason Code values of 0x80 or greater indicate failure.’

MQTT 5.0 specification

Do they have any relationship?

Q1:Why Reason Code values of 0x80 or greater indicate failure while PUBACK ontaining a Reason Code of 0x80 or greater is treated as acknowledged?

Q2:Besides, does it mean PUBACK containing a Reason Code less than Reason Code of 0x80 is treated as unacknowledged?

Read more here: Source link