Dev Tracking Data Compilersqlite

Trace

Requirement → acceptance criteria → tasks → commits → pull requests → reviews, with each criterion's AI verdict and its verification on the latest build.

REQ-CLICK-01: Terminal output respects user configuration REQ-CLICK-02: Styled output degrades gracefully REQ-CLICK-03: Breaking changes are announced one minor release ahead REQ-HTTPX-01: TLS configuration has one obvious way REQ-HTTPX-02: URLs are encoded the way browsers encode them REQ-HTTPX-03: Secrets never appear in logs REQ-REQ-01: Anything that behaves like a file is accepted REQ-REQ-02: Public type hints describe what callers may pass REQ-REQ-03: Security-relevant code works under FIPS SUB-CLI-01: Command-line output library (click) meets the baseline SUB-HTTP-01: HTTP client libraries (requests, httpx) meet the baseline SYS-01: Third-party client libraries meet the platform dependency baseline

REQ-REQ-01 · v1 changed 2026-05-01

Requests must accept any object that provides the file methods it needs, whether defined directly or proxied through __getattr__.

3 acceptance criteria

AC-REQ-101-1 not checked Verified · build #1051

Request bodies that wrap a file through `__getattr__` (without defining `__iter__` themselves) are streamed instead of rejected.

TASK-REQ-1011 done
  • 6404f345 · PR #7433 Fix `prepare_body` stream detection for `__getattr__`-based file wrappers merged 2026-05-12
    Reviews: Nina Kowalski (commented), Sofia Reyes (changes requested), Jamal Wright (approved)
AC-REQ-101-2 not checked Verified · build #1051

Multipart uploads accept file objects that only expose `read` through `__getattr__`.

TASK-REQ-1012 done
  • 6f205ff4 · PR #7502 Fix `_encode_files` detection for `__getattr__`-based file wrappers merged 2026-06-08
    Reviews: Sofia Reyes (approved)
TASK-REQ-1013 done
  • 6f66281a · PR #7505 Add hasattr checks for remaining protocol isinstance checks merged 2026-06-09
    Reviews: Jamal Wright (approved), Sofia Reyes (approved)
AC-REQ-101-3 not checked Not verified

All read-capability checks go through one helper function instead of repeated isinstance checks.

TASK-REQ-1013 done
  • 6f66281a · PR #7505 Add hasattr checks for remaining protocol isinstance checks merged 2026-06-09
    Reviews: Jamal Wright (approved), Sofia Reyes (approved)