Why the batch last failed, as a human-readable message. Set when the state is FAILED; a batch that failed once and succeeded on a resume can still carry the message from that attempt, so read it alongside the state rather than as a failure signal on its own.