You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(drive): classify quota/auth/rate in query_offset (M4 recheck-2)
R2-P1-2: query_offset() collapsed every non-2xx/non-308 probe response into
ResumableSessionInvalid, so a quota/auth/rate error during the "308 without
Range" recovery or the post-transient offset re-query (push_chunk_resilient)
was misclassified instead of surfacing drive.quota_exhausted /
drive.daily_quota_exhausted / auth.invalid_grant / drive.rate_limited.
query_offset() now uses the SAME status classification as push_chunk via the
shared chunk_status_outcome + DriveError::from_response: 400/404/410 stay
session-dead (ResumableSessionInvalid); 401/403/429 (and 5xx / any other
status) read the body and return the typed classified error so the breaker
sees the stable code. Added two unit tests proving the two wire paths share
classification and that the typed branch maps to the SPEC s24 codes.
Also corrected the now-honest comment on DriveError::ChecksumMismatch in the
executor: the DESIGN s498-500 "3 consecutive mismatches -> status=corrupt"
per-file counter is NOT present on this path; it is deferred to M5 (real store
executor wiring). Today a checksum mismatch maps to drive.checksum_mismatch
and fails the op.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CyiRqk2DVwmJjEu5gcD1m
0 commit comments