I proposing adding the following text:
Implemenations MUST map unrecognized error codes to
SSH_FX_GENERAL_FAILURE. Future revisions of the protocol will add
additional error codes without bumping the version number.
I'm not sure I like making it a MUST; for example, this would seem to
prohibit using different text when reporting failure to the user
("unrecognized error #29" versus "generic FAILURE", for example).
How about
Implementations MUST be prepared to receive unexpected error
codes and handle them sensibly (such as by treating them as
equivalent to SSH_FX_FAILURE). Future protocol revisions will
add additional error codes without changing the version number.