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-02 · v3 changed 2026-06-20

Header inputs are typed as read-only Mapping: Requests never mutates a caller's headers. Response and Request attributes, including hooks, carry precise types with no Optional where the runtime never yields None.

3 versions
vChangedTextWhy
12026-05-08Header inputs accept mutable mappings so callers can pass dict or CaseInsensitiveDict.initial
22026-05-14Header inputs are typed as read-only Mapping: Requests never mutates a caller's headers.Reversed after review of #7431.
32026-06-20Header inputs are typed as read-only Mapping: Requests never mutates a caller's headers. Response and Request attributes, including hooks, carry precise types with no Optional where the runtime never yields None.Extended to attributes after the 2.33 typing review.

3 acceptance criteria

AC-REQ-201-1 not checked Re-verify requirement changed after merge

`Request.hooks` has a type annotation.

TASK-REQ-2014 done
  • 1190afd1 · PR #7498 Add type annotation for `Request.hooks` merged 2026-06-04
    Reviews: Nina Kowalski (approved)
AC-REQ-202-1 not checked Re-verify requirement changed after merge

`Request.headers` is typed as a read-only `Mapping[str, str | bytes]`.

TASK-REQ-2021 done
  • e511bc72 · PR #7431 Fix mutability issues with headers input types merged 2026-05-13
    Reviews: Jamal Wright (approved)
TASK-REQ-2022 done
  • 84d10f0b · PR #7441 Move Request.headers back to Mapping merged 2026-05-14
    Reviews: Nina Kowalski (approved)
AC-REQ-202-2 not checked Re-verify requirement changed after merge

`Response.reason` is typed as `str`.

TASK-REQ-2024 done
  • 2144213c · PR #7437 Constrain Response.reason to str merged 2026-05-13
    Reviews: Sofia Reyes (changes requested), Jamal Wright (approved)