fix: target standard CPython 3.14 (mitmproxy incompatible with 3.14t)
mitmproxy's aioquic/mitmproxy-rs deps have no free-threaded wheels and source builds fail. Workload is I/O-bound so free-threading gave no benefit. Switch .python-version to 3.14, drop /tmp stub overrides, reinstall mitmproxy with real wheels (imports cleanly). Update README and design spec to record the decision. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -264,10 +264,17 @@ LLM):
|
||||
- All must be validated for Python 3.14 free-threaded wheel availability during
|
||||
implementation; fallback documented if any are missing.
|
||||
|
||||
## Open questions for implementation
|
||||
## Decisions made during implementation
|
||||
|
||||
- Confirm free-threaded wheel availability for mitmproxy / playwright on 3.14t;
|
||||
decide fallback interpreter if needed.
|
||||
- **Runtime: standard CPython 3.14 (not free-threaded).** mitmproxy cannot run on
|
||||
`3.14t` — its `aioquic` and `mitmproxy-rs` deps ship only Limited-API (`abi3`)
|
||||
wheels that the free-threaded build rejects, and source builds fail. The
|
||||
workload is entirely I/O-bound (asyncio proxy loop, agent loop on network/LLM,
|
||||
Playwright as a separate Node subprocess), so free-threading offered no
|
||||
practical benefit. The threading architecture below is unchanged; threads run
|
||||
under the GIL, which is fine for I/O-bound work.
|
||||
|
||||
## Open questions for implementation
|
||||
- Exact compact-snapshot format the browser tools return to the agent
|
||||
(accessibility tree vs. trimmed DOM) — tune for token cost vs. usefulness.
|
||||
- Path-template heuristics tuning (avoid over-collapsing legitimately distinct
|
||||
|
||||
Reference in New Issue
Block a user