···7676- other implementations possible (io_uring, kqueue, etc.)
77777878the interface is concrete, not generic - same benefits as 0.15's explicit buffer approach.
7979-8080-## zat 0.16 migration prep
8181-8282-isolated HTTP I/O behind `HttpTransport` in `src/internal/transport.zig`. when 0.16 lands:
8383-8484-1. update `transport.zig` to accept `std.Io` parameter
8585-2. add `initWithIo()` constructors if needed
8686-3. all resolvers/clients automatically get the change
8787-8888-### downstream update points
8989-9090-projects importing zat (benefit from transport refactor automatically):
9191-9292-| project | files | notes |
9393-|---------|-------|-------|
9494-| leaflet-search | `tap.zig`, `extractor.zig` | uses zat for firehose sync |
9595-| music-atmosphere-feed | `posts.zig`, `api.zig`, `auth.zig`, `filter.zig` | uses zat for atproto integration |
9696-9797-### other projects needing 0.16 migration (not zat consumers)
9898-9999-| project | files | I/O type |
100100-|---------|-------|----------|
101101-| logfire-zig | `exporter.zig` | HTTP client - consider same transport pattern |
102102-| find-bufo-bot | `bsky.zig`, `stats.zig` | HTTP client + server |
103103-| prefect-server | uses zap framework | HTTP server (wait for zap update) |
104104-105105-note: leaflet-search and music-atmosphere-feed also have direct `std.http` usage beyond zat imports.