- Replaced inline definitive-failure checks with shared isDefinitiveOAuthFailure in auth-storage and refresher.
- Disabled credentials during definitive OAuth refresh failures and captured the disabling cause on the credential row.
- Wrote null usage-cache entries with expiresAt set to 0 when credentials were disabled to prevent stale reports.
- Added tests for invalid_grant and transient OAuth refresh outcomes, including cache and credential-state assertions.
- Updated Unreleased changelog notes to document OAuth refresh fixes and stale usage-cache clearing behavior.