use semantic terms for return codes instead of cryptic numbers
In general, I feel using the numeric error codes in the document make it (needlessly?) harder to read. When i got to this section, my first reaction was: "69?? why 69? and why 37? where the heck do those come from and why do they matter?" We should at least include a reference to the "Failure modes section" in the Introduction section. In Terminology maybe? And maybe refer to it here.
In general, I'm worried there might be inconsistencies between the table in the "Failure modes" section and the various hardcoded integers peppered through the document. This practice also makes the document more difficult to review and maintain in the future. We might instead use constant names like
NO_GOOD_SIGthat then have integer values in the later section. This could also provide for good constants to use in a library implementation.
I agree with this, fwiw.