Add global research verification policy

This commit is contained in:
Mikei386
2026-08-31 22:35:09 +02:00
parent 82a1809423
commit b2ea53c383
5 changed files with 151 additions and 0 deletions
+48
View File
@@ -26,6 +26,7 @@ from router_support import ( # noqa: E402
from ai_profile_router import ( # noqa: E402
_cap_chat_generation,
_context_matches,
_inject_global_system_policy,
_normalize_chat_image,
_normalize_chat_images,
_normalize_llamacpp_reasoning,
@@ -201,6 +202,53 @@ class ChatGenerationLimitTests(unittest.TestCase):
)
class GlobalSystemPolicyTests(unittest.TestCase):
def _inject(self, request: dict, path: str,
policy: str = "Verify facts.") -> dict:
with patch("ai_profile_router._load_global_system_policy",
return_value=policy):
return _inject_global_system_policy(request, path)
def test_chat_policy_precedes_existing_system_prompt(self) -> None:
request = {"messages": [
{"role": "system", "content": "Client policy."},
{"role": "user", "content": "Hello"},
]}
normalized = self._inject(request, "/v1/chat/completions")
self.assertEqual(
normalized["messages"][0]["content"],
"Verify facts.\n\nClient policy.",
)
def test_chat_policy_is_inserted_without_system_prompt(self) -> None:
request = {"messages": [{"role": "user", "content": "Hello"}]}
normalized = self._inject(request, "/v1/chat/completions")
self.assertEqual(normalized["messages"][0], {
"role": "system", "content": "Verify facts.",
})
def test_policy_is_not_duplicated(self) -> None:
request = {"messages": [{
"role": "system", "content": "Verify facts.\n\nClient policy.",
}]}
normalized = self._inject(request, "/v1/chat/completions")
self.assertEqual(
normalized["messages"][0]["content"].count("Verify facts."), 1)
def test_responses_policy_precedes_instructions(self) -> None:
request = {"instructions": "Client policy.", "input": "Hello"}
normalized = self._inject(request, "/v1/responses")
self.assertEqual(
normalized["instructions"],
"Verify facts.\n\nClient policy.",
)
def test_unrelated_endpoint_is_unchanged(self) -> None:
request = {"prompt": "Draw a cat"}
self.assertEqual(
self._inject(request, "/v1/images/generations"), request)
class RetentionTests(unittest.TestCase):
def test_oldest_pairs_are_removed(self) -> None:
with tempfile.TemporaryDirectory() as temp: