A missing user_sub, caller_kind or client_id no longer triggers the second run on its own, so a resolver that never returns one of them (mcspeak's has no client_id) runs once per call again. The second run happens when the first answer is empty (nothing, only None values, or a failed run) or lacks a key in late_identity_keys, which stays empty by default.