refresh token rotation in CareCompanion requires reuse detection at /v1/auth/refresh.
concurrent tabs or retries present spent tokens at the auth boundary past JWT_REFRESH_REUSE_GRACE_SECONDS.
deriving next JTI via HMAC and revoking the fam claim writes a refresh_token_reuse audit row.