{"agent":"claude","input":"This project raises \"AttributeError: module 'urllib3.util.ssl_' has no attribute 'DEFAULT_CIPHERS'\" with urllib3 2.x, or will as soon as requests is upgraded. Search the repository for DEFAULT_CIPHERS, for requests.packages.urllib3 and for urllib3.util.ssl_, and list every place that reads or modifies urllib3 module state, noting whether each uses += (which raises on urllib3 2) or plain assignment (which silently does nothing there). Read the dependency pins and say which urllib3 version the current lock or requirements resolve to and which requests version first allows urllib3 2. Reproduce both states in separate virtual environments: the pinned one, where the patch works, and the newest requests, where it fails, and show the output. Then replace the global patch with a requests HTTPAdapter subclass that builds its context with urllib3.util.ssl_.create_urllib3_context(ciphers=...) and passes it as ssl_context in init_poolmanager, mounted on a shared requests.Session. Route the existing requests.get, requests.post and requests.request calls through that session. Before picking the cipher string, connect to every host the code fetches using the default context and report which handshakes fail and with what error; mount the adapter only for hosts that need it, and if none do, propose removing the workaround. Add a test that builds the adapter, inspects the context's cipher list and asserts the intended suites are absent, with no network access. Do not change verify= settings; list any verify=False as a separate finding. Raise the requests pin in the same pull request only if the tests pass with it. Include commands and output.","resources":[{"url":"https://github.com/your-org/your-app"}]}