fix: improve cross-device evidence and exploration lifecycle
Align Responses cache affinity across execution and summary calls, preserve required checks and evidence uncertainty, and allow safe deletion of inactive explorations while retaining independent reruns. Validation: backend suite passed except intentional prompt golden drift, then all 17 transcript tests passed after snapshot refresh; 268 frontend tests and production build passed; Ruff, quality ratchet and core type checks passed.
This commit is contained in:
1 parent
f1bb5d02aa
commit
2328a4df0c
32 files changed
+748
-79
No files matched your search
@@ -13,6 +13,7 @@ from artemis.llm.diagnostics import (
|
||||
RequestAttempt,
|
||||
error_text,
|
||||
input_images,
|
||||
observe_request_headers,
|
||||
observe_response_headers,
|
||||
)
|
||||
from artemis.llm.router import ModelEndpoint
|
||||
@@ -34,6 +35,36 @@ class Engine:
|
||||
pass
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_request_hook_correlates_api_calls_without_logging_header_values():
|
||||
engine = Engine()
|
||||
attempt = RequestAttempt(
|
||||
engine, request_id="local-request", attempt=1, timeout=300, max_retries=1, metadata={}
|
||||
)
|
||||
token = ACTIVE_ATTEMPT.set(attempt)
|
||||
try:
|
||||
request = httpx.Request(
|
||||
"POST",
|
||||
"https://example.test/v1/responses",
|
||||
headers={
|
||||
"Thread-Id": "private-thread",
|
||||
"Session-Id": "private-session",
|
||||
"Authorization": "Bearer private-key",
|
||||
},
|
||||
)
|
||||
await observe_request_headers(request)
|
||||
assert request.headers["x-client-request-id"] == "local-request"
|
||||
assert attempt.data["client_request_id_matches"] is True
|
||||
assert len(attempt.data["routing_header_fingerprints"]) == 2
|
||||
assert "private" not in json.dumps(engine.records, default=str)
|
||||
request.headers["X-Client-Request-Id"] = "caller-id"
|
||||
await observe_request_headers(request)
|
||||
assert request.headers["x-client-request-id"] == "caller-id"
|
||||
assert attempt.data["client_request_id_matches"] is False
|
||||
finally:
|
||||
ACTIVE_ATTEMPT.reset(token)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_headers_without_body_timeout_then_retry_keeps_evidence(monkeypatch):
|
||||
engine = Engine()
|
||||
|
||||
Reference in new issue
Block a user