From 2f7e24a6a00ffb0b646ae15bb83045a6208e3d44 Mon Sep 17 00:00:00 2001 From: SaladDay <1203511142@qq.com> Date: Thu, 8 Oct 2026 17:30:42 +0000 Subject: [PATCH] Allow native preparation in public qualification --- services/core/tests/qualify_public_native.py | 5 +++-- .../core/tests/qualify_public_native_test.py | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/services/core/tests/qualify_public_native.py b/services/core/tests/qualify_public_native.py index 1b9d6d0fb..9cf7a21b2 100644 --- a/services/core/tests/qualify_public_native.py +++ b/services/core/tests/qualify_public_native.py @@ -225,8 +225,9 @@ def restart(): report["restart"] = {"container": ids[0], "before": before, "after": after} with httpx2.Client(trust_env=False, timeout=30) as http: - client = OpenAI(base_url=base, api_key=key, max_retries=0, _strict_response_validation=True, http_client=http) - foreign = OpenAI(base_url=base, api_key=foreign_key, max_retries=0, _strict_response_validation=True, http_client=http) + # Input admission can prepare a native executor before returning. + client = OpenAI(base_url=base, api_key=key, timeout=240, max_retries=0, _strict_response_validation=True, http_client=http) + foreign = OpenAI(base_url=base, api_key=foreign_key, timeout=240, max_retries=0, _strict_response_validation=True, http_client=http) def ready(session): if placement == "none": diff --git a/services/core/tests/qualify_public_native_test.py b/services/core/tests/qualify_public_native_test.py index f952aa0eb..b1a6f56b0 100644 --- a/services/core/tests/qualify_public_native_test.py +++ b/services/core/tests/qualify_public_native_test.py @@ -71,6 +71,27 @@ def suite(*args, record, **kwargs): self.run_suite(suite) self.assertFalse(self.evidence.exists()) + def test_native_admission_budget_does_not_extend_raw_http_checks(self): + requests = [] + + def reject(request): + requests.append(request) + return httpx2.Response(400, json={"error": {"type": "invalid_request_error", "message": "fixture"}}) + + def suite(client, foreign, http, *args, **kwargs): + for sdk in (client, foreign): + with self.assertRaises(BadRequestError): + sdk.beta.agents.sessions.events.create("fixture-session", events=[{ + "type": "agent.session.input.message", "input": [{"role": "user", "content": [{"type": "input_text", "text": "fixture"}]}]}]) + self.assertEqual(requests[-1].extensions["timeout"]["read"], 240) + http.get("https://core.example/v1/agents/sessions/fixture-session") + self.assertEqual(requests[-1].extensions["timeout"]["read"], 30) + return [] + + transport = SimpleNamespace(Client=lambda **kwargs: httpx2.Client(transport=httpx2.MockTransport(reject), **kwargs)) + with patch.object(qualification, "OpenAI", OpenAI), patch.object(qualification, "httpx2", transport): + self.run_suite(suite) + def test_active_policy_suites_cannot_claim_process_restart(self): for name in ("policies", "steering"): with self.subTest(suite=name):