Deux causes indépendantes faisaient échouer le job test de la CI (et
seulement en CI : ni .env ni les mêmes ordres de chargement en local) :
- test_agent_web_tools.mock_http patche http_client.shared_client pendant
sa fenêtre d'exécution. Le premier import d'importers/url_fetch dans
cette fenêtre fige la factory moquée dans le namespace du module →
tous les appels fetch_url suivants du processus passaient par le handler
mocké de l'autre test (« assert '…/post' == '…/page' » dans
test_v56_import). url_fetch résout désormais le client à l'appel, et le
mock_http restaure la vraie factory (référence figée au chargement du
module) y compris sur url_fetch ;
- test_agent.py posait RATE_LIMIT_ENABLED=false en env var, sans effet sur
le singleton Settings déjà instancié : sous pytest -n auto, le worker
dépassait le quota de 60 req/min et 8 tests recevaient des 429
(KeyError 'id' au passage). Le fixture désactive maintenant le limiter
sur le singleton, comme les autres fichiers de tests.