fix: give final acceptance a shared retry budget and diagnostics
This commit is contained in:
1 parent
50638d4130
commit
32441e79c4
18 files changed
+779
-40
No files matched your search
@@ -251,7 +251,10 @@ def test_error_redaction_and_image_headers():
|
||||
assert error_text(RuntimeError()) == "RuntimeError"
|
||||
|
||||
|
||||
def test_snapshots_survive_out_of_order_writes_and_export(tmp_path):
|
||||
@pytest.mark.parametrize(
|
||||
"kind, key", [("llm_diagnostic", "requests"), ("final_review_diagnostic", "final_reviews")]
|
||||
)
|
||||
def test_snapshots_survive_out_of_order_writes_and_export(tmp_path, kind, key):
|
||||
from artemis.data_engine.models import TraceRecord
|
||||
from artemis.data_engine.storage import StorageManager
|
||||
from apps.admin_console.database.connection import db_session
|
||||
@@ -270,13 +273,14 @@ def test_snapshots_survive_out_of_order_writes_and_export(tmp_path):
|
||||
TraceRecord(
|
||||
trace_id=trace_id,
|
||||
session_id=session_id,
|
||||
type="llm_diagnostic",
|
||||
type=kind,
|
||||
name="llm_request",
|
||||
timestamp=10 + sequence,
|
||||
status="success" if sequence == 3 else "running",
|
||||
payload={
|
||||
"sequence": sequence,
|
||||
"phase": phase,
|
||||
"status": "completed" if sequence == 3 else "running",
|
||||
"request_id": "call-one",
|
||||
"started_at": 10,
|
||||
"ended_at": 13 if sequence == 3 else None,
|
||||
@@ -284,10 +288,51 @@ def test_snapshots_survive_out_of_order_writes_and_export(tmp_path):
|
||||
)
|
||||
)
|
||||
result = request_diagnostics(str(session_id), db_path=path)
|
||||
assert len(result["requests"]) == 1
|
||||
assert result["requests"][0]["phase"] == "completed"
|
||||
assert result["requests"][0]["active"] is False
|
||||
assert result["requests"][0]["timestamps_utc"]["started_at"].endswith("+00:00")
|
||||
assert len(result[key]) == 1
|
||||
assert result[key][0]["phase"] == "completed"
|
||||
assert result[key][0]["active"] is False
|
||||
assert result[key][0]["timestamps_utc"]["started_at"].endswith("+00:00")
|
||||
assert result["total"] == (1 if kind == "llm_diagnostic" else 0)
|
||||
|
||||
|
||||
def test_review_diagnostics_show_evidence_stage_without_a_live_model_request(tmp_path, monkeypatch):
|
||||
from artemis.data_engine.storage import StorageManager
|
||||
from apps.admin_console.database.connection import db_session
|
||||
from apps.admin_console.services import request_diagnostics as service
|
||||
|
||||
path = tmp_path / "data.db"
|
||||
StorageManager(db_path=path, base_trace_dir=tmp_path)
|
||||
monkeypatch.setattr(service.time, "time", lambda: 130)
|
||||
with db_session(path) as conn:
|
||||
conn.execute("INSERT INTO sessions(session_id,status) VALUES ('task', 'running')")
|
||||
value = {
|
||||
"review_id": "final-review",
|
||||
"status": "running",
|
||||
"stage": "reading_evidence",
|
||||
"started_at": 100,
|
||||
"deadline_at": 200,
|
||||
"total_seconds": 100,
|
||||
"updated_at": 110,
|
||||
}
|
||||
conn.execute(
|
||||
"INSERT INTO traces(trace_id,session_id,type,timestamp,payload) "
|
||||
"VALUES ('review', 'task', 'final_review_diagnostic', 100, ?)",
|
||||
(json.dumps(value),),
|
||||
)
|
||||
conn.commit()
|
||||
result = service.request_diagnostics("task", db_path=path, limit=100)
|
||||
assert result["requests"] == []
|
||||
review = result["final_reviews"][0]
|
||||
assert review["active"] is True
|
||||
assert review["stage"] == "reading_evidence"
|
||||
assert review["elapsed_seconds"] == 30
|
||||
assert review["remaining_seconds"] == 70
|
||||
assert review["updated_at"] == 110 # preserve the actual last persisted event time
|
||||
assert review["timestamps_utc"]["deadline_at"].endswith("+00:00")
|
||||
assert (
|
||||
service.request_diagnostics("task", db_path=path, offset=1)["final_reviews"][0]["active"]
|
||||
is False
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
||||
Reference in new issue
Block a user