Skip to content

docs: fix stale comments and cross-doc contradictions from audit#103

Merged
lesnik512 merged 1 commit into
mainfrom
docs-comments-audit-fixes
Jul 13, 2026
Merged

docs: fix stale comments and cross-doc contradictions from audit#103
lesnik512 merged 1 commit into
mainfrom
docs-comments-audit-fixes

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Summary

  • New audit: planning/audits/2026-07-13-docs-comments-audit.md — first pass covering source docstrings/comments (src/httpware/**) and architecture/** directly (the 2026-06-13 audit only covered user-facing docs//README).
  • Fixes the 4 mechanical findings (C1, C2, I1, I4), tracked in planning/changes/2026-07-13.07-docs-comments-audit-fixes.md:
    • BulkheadFullError docstring named AsyncBulkhead specifically, though both Bulkhead and AsyncBulkhead raise it.
    • AsyncClient.stream()'s "for v1" caveat contradicted the sync docstring and architecture/client.md (which states the middleware bypass as permanent, not version-scoped).
    • architecture/errors.md said DecodeError wrapping happens inline in Client.send/AsyncClient.send; it actually happens in _BoundDecoder.decode (decoders/_resolver.py), matching architecture/decoders.md.
    • docs/testing.md said "httpx" where every other reference (including architecture/testing.md) says httpx2 — a distinct package, not an alias.
  • Remaining findings (I2/I3 policy-wording contradictions, D1/D2/D3 doc duplication/compaction candidates) are deferred in the audit, pending a maintainer call on wording direction.

Test plan

  • just lint-ci — clean
  • uvx --with-requirements docs/requirements.txt mkdocs build --strict — clean
  • just test — 780 passed, 100% coverage
  • just check-planning — OK

BulkheadFullError docstring named AsyncBulkhead specifically though
both bulkheads raise it; AsyncClient.stream()'s "for v1" caveat
contradicted the sync docstring and architecture/client.md;
architecture/errors.md misstated where DecodeError wrapping happens
(inline in send() rather than _BoundDecoder.decode); docs/testing.md
said "httpx" where it meant the httpx2 package.
@lesnik512 lesnik512 merged commit b48e4de into main Jul 13, 2026
6 checks passed
@lesnik512 lesnik512 deleted the docs-comments-audit-fixes branch July 13, 2026 19:20
lesnik512 added a commit that referenced this pull request Jul 13, 2026
#105)

ResponseTooLargeError's behavior was spelled out near-verbatim in
docs/errors.md, architecture/errors.md, and architecture/client.md;
architecture/errors.md now cross-references the other two instead of
restating them.

The "why not respx" paragraph was duplicated between docs/testing.md
and architecture/testing.md, and the prior audit-fix pass (#103) had
mechanically changed a "breaks across httpx major versions" claim to
say httpx2 instead. Verified against respx's own README (requires
httpx 0.25+, no stated httpx2 support) and GitHub history: the
breakage claim is real but about httpx, not httpx2. Corrected the
claim and deduped, keeping the full rationale in docs/testing.md.
@lesnik512 lesnik512 mentioned this pull request Jul 13, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant