The httplib2 default timeout (60s) was too short for AAB uploads, causing transient TimeoutError failures in CI. Switch to an AuthorizedHttp with a 300s timeout and pass num_retries=3 to all .execute() calls. Also add google-auth-httplib2 and httplib2 to the Nix devshell Python packages so the imports resolve at runtime. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>