What
Saving refreshed OAuth tokens now goes through one routine with retries and explicit outcomes, and two failure paths that previously carried on regardless now stop and report.
Details
- the shared save routine CAS-writes the new tokens up to 3 times and distinguishes 'saved', 'adopted_sibling' and 'save_failed', emitting the matching telemetry including a save-exception event that names the storage backend
- refresh bails out early when the refresh token is already known to be dead
- a failed strict read of the credential store under the lock returns
lock_errorwith new telemetry instead of continuing
Evidence
tengu_oauth_token_refresh_locked_read_failed
Strings lifted out of the shipped bundle, so the claim above can be checked against them.