Add a deterministic CookieStore with modern Set-Cookie parsing
Add a deterministic CookieStore with modern Set-Cookie parsing, cookie eviction, and request header handling.
httpx-deterministic-cookie-store
Normalized profile
What this task asks for
Add a deterministic CookieStore with modern Set-Cookie parsing, cookie eviction, and request header handling. It must support extracting cookies from responses and applying the correct `Cookie` header to outgoing requests, while keeping existing cookie behavior unchanged unless `CookieStore` is used. `CookieStore` must accept optional limits `max_cookies` and `max_cookies_per_domain` (ints or None). When extracting, parse `Set-Cookie` headers and also support multiple cookies combined into one header value, including the common case where an `Expires=` attribute contains a comma. Enforce prefix rules when storing: `__Secure-` requires `Secure` and an https origin. `__Host-` additionally requires no `Domain` attribute and `Path=/`. Cookies added via mapping/list inputs or via `set()` with `domain=""` must be sent to any host that matches by path and scheme rules (they are not host-only cookies).
Intent
- feature implementation
- configuration tuning
- bug repair
Work surfaces
- library API
Technology
- HTTPX
Expected artifacts
- repository patch
What makes it difficult
- strict behavioral compatibility or exact-output validation
Published evidence
Model × harness outcomes
Counts are tied to these exact configurations. Harnesses are not treated as equivalent across benchmarks.
- Models
- 13
- Configurations
- 41
- Trials
- 164
Showing 41 of 41 configurations
| Model | Harness | Effort | Result | Passes |
|---|---|---|---|---|
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | low | All passed | 4/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | medium | All passed | 4/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | xhigh | All passed | 4/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | low | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | medium | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | max | Mixed | 3/4 |
| claude-sonnet-4-6anthropic | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | low | All passed | 4/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | medium | All passed | 4/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| gemini-3-1-pro-previewvertex_ai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| gemini-3-5-flashvertex_ai | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | high | Mixed | 2/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | max | Mixed | 3/4 |
| gpt-5-4openai | mini-swe-agentpublished configuration | xhigh | All passed | 4/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | low | Mixed | 3/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | xhigh | All passed | 4/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | medium | Mixed | 2/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | high | Mixed | 2/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | max | Mixed | 3/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | low | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | medium | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | xhigh | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | low | Mixed | 1/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | xhigh | All passed | 4/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| kimi-k2-7-codeopenrouter | mini-swe-agentpublished configuration | default | Mixed | 1/4 |