I haven't been following this discussion carefully, but
I think there's a problem with a protocol standard attempts
to dictate what must or must not be 'implemented'. If you
just talk about what has to be sent in order to achieve
interoperability, then you'll get into less of these kinds
IF you want to tell clients about the status of the job,
THEN send the following job-state-reasons.
Conformance then becomes a non-issue.