feat: release 2.4.0 with original cases and automatic human review
This commit is contained in:
1 parent
baf069854b
commit
4dc2057d43
66 files changed
+1390
-206
No files matched your search
@@ -3,6 +3,30 @@ import json
|
||||
from apps.admin_console.database.repositories.step_repository import StepRepository
|
||||
|
||||
|
||||
def test_android_capture_receipt_survives_cleaning_without_becoming_image_store_id():
|
||||
receipt = {
|
||||
"ok": True,
|
||||
"action": "screenshot",
|
||||
"verified": True,
|
||||
"device_serial": "device-under-test",
|
||||
"trace_path": "artifacts/android/screen.png",
|
||||
"sha256": "a" * 64,
|
||||
"captured_at": "2026-10-28T00:00:00Z",
|
||||
"content": "large file content must not be copied into the task stream",
|
||||
}
|
||||
cleaned = StepRepository()._clean_tool_payload(
|
||||
{"args": {"action": "screenshot"}, "result": json.dumps(receipt)},
|
||||
"tool",
|
||||
"android_file",
|
||||
)
|
||||
assert cleaned["result"] == {key: value for key, value in receipt.items() if key != "content"}
|
||||
assert "post_image_name" not in cleaned
|
||||
wrapped = StepRepository()._clean_tool_payload(
|
||||
{"result": json.dumps({"outcome": json.dumps(receipt)})}, "tool", "android_file"
|
||||
)
|
||||
assert wrapped["result"] == cleaned["result"]
|
||||
|
||||
|
||||
def test_legacy_pause_log_is_normalized_to_failed_llm_trace():
|
||||
repository = StepRepository()
|
||||
trace = {
|
||||
|
||||
Reference in new issue
Block a user