key_identity/1 + public_key/1 return key A's material, but sign/2 signs with a DIFFERENT key B (a rotation/misconfiguration race). The verify_signature guard in the shared signing tail must reject this -> :signing_failed.