set -e did check a status. It was not the status that failed.
The common read: set -euo pipefail stops a script at the first failing command, so a grep that matches nothing aborts the run before anything deploys.
set -e did not miss anything. It inspected an exit status at the moment the manual says it does, and the status it inspected belonged to local, whose documented return is zero unless it is called outside a function, the name is invalid, or the name is a readonly variable, so the shell saw a success and moved to the next line. set -e ran its check as documented, and by that check nothing had failed.
The retro on that deploy named the config file, and the action item was a schema check on release.conf. That check catches this one missing key. It does not fix the line that turned a failed read into an empty value and an exit status of 0, and six weeks later that line deployed a second release with an empty channel.
You can recite the rule, but the rule depends on one detail: which command's status the shell inspects, and when. Reading the script tells you set -euo pipefail is present and that whoever wrote it meant it. It does not tell you which of the statuses produced on that one line the shell inspected, and re-reading does not resolve it, because the answer is not in the text.

