feat: release 2.4.0 with original cases and automatic human review

This commit is contained in:
chenmingxuan committed 2026-10-28 17:25:08 +08:00
1 parent baf069854b
commit 4dc2057d43
66 files changed
+1390 -206

No files matched your search

+13 -8
View File
@@ -209,7 +209,10 @@ class Agent:
raise ValueError("任务目标必须是 android、computer 或 mixed")
self._execution_target = execution_target
if execution_target == "computer":
from artemis.platform import platform as pal_platform
self._device_context = DeviceContext(
host_platform=pal_platform.os_type.name,
device_id="computer:local",
mobile_platform=DevicePlatform.COMPUTER,
device_width=0,
@@ -794,7 +797,7 @@ class Agent:
status = flash_result.get("status")
if status == "completed":
logger.info(f"✅ Automation '{task_name}' is success ✅")
logger.info(f"Automation '{task_name}' execution completed.")
await task.finalize(content=output, state=last_state_snapshot)
if context.data_engine:
context.data_engine.end_session("completed")
@@ -909,7 +912,7 @@ class Agent:
" see the test summary."
)
else:
logger.info(f"✅ Automation '{task_name}' is success ✅")
logger.info(f"Automation '{task_name}' execution completed.")
await task.finalize(content=output, state=last_state_snapshot)
if context.data_engine:
context.data_engine.end_session("completed")
@@ -1687,13 +1690,15 @@ def attach_test_summary(output, run_outcome: dict | None):
def resolve_trace_suffix(task_status: str, run_outcome: dict | None) -> str:
"""Trace naming: assertion failures must be distinguishable from _PASS."""
"""Keep execution and the independently verified test verdict distinct."""
if task_status != "completed":
return "_FAIL"
tests = (run_outcome or {}).get("tests") or {}
if (
int(tests.get("failed", 0)) > 0
or ((run_outcome or {}).get("test_result") or {}).get("status") == "failed"
):
verdict = ((run_outcome or {}).get("test_result") or {}).get("status")
if verdict == "blocked":
return "_BLOCKED"
if verdict == "inconclusive":
return "_UNVERIFIED"
if verdict == "failed" or int(tests.get("failed", 0)) > 0:
return "_TESTFAIL"
return "_PASS"
return "_PASS" if verdict == "passed" else "_UNVERIFIED"