内部障害をドメインの入力エラーでラップすると 5xx が 4xx に誤分類される
知識
判断
認証・トークン検証などで、ハッシュや HMAC の計算失敗のような内部・インフラ障害を、ドメインの「入力が不正」エラー(invalid_grant 等)で一括ラップすると、本来 5xx(server_error)であるべき内部障害が 4xx(invalid_grant)としてクライアントに返り、誤分類される。ハンドラが errors.Is で単一のドメインエラーに束ねて判定していると起きやすい。
切り分けの原則: 「入力が不正」(クライアント 4xx → ドメインエラー)と「処理自体が内部で失敗」(5xx → 素のエラーで伝搬)を区別する。事前検証で判明する空/不正入力だけをドメインエラーに落とし、ハッシュ計算関数そのものの失敗は素のエラーとして伝搬させる。レビューでは、エラーラップが内部障害をクライアントエラーのバケツに潰していないかを確かめる観点になる。