feat: release 2.2.0 with PC-only tests and execution reliability fixes

Unify task scheduling and queue state, fix Android input and observation recovery, preserve screenshot paths, and match final review criteria accurately. Add collapsible copyable results and publish the complete 2.1.0 upgrade notes. Validation: 3189 backend tests, 326 frontend tests, 24 client tests, production build and quality gates.
This commit is contained in:
chenmingxuan committed 2026-10-27 01:13:41 +08:00
1 parent fac4ccb760
commit be6e8c2abd
79 files changed
+2263 -277

No files matched your search

+5 -1
View File
@@ -15,6 +15,7 @@
import time
from typing import Any, Literal
from pydantic import BaseModel, Field
from artemis.plugins.models import ExecutionTarget
class StreamEventType:
@@ -43,13 +44,16 @@ class Task(BaseModel):
goal: str = Field(..., description="High-level goal description")
profile: Literal["flash", "pro"] = Field(default="pro", description="Execution profile")
execution_target: ExecutionTarget = Field(
default="android", description="Execution target; computer does not require Android"
)
device_id: str = Field(default="default-device", description="Target device serial")
device_serial: str | None = Field(
default=None, description="Target device serial (alias for device_id)"
)
concurrency_mode: Literal["global", "per_device"] | None = Field(
default=None,
description="Concurrency mode: 'global' (1 across all devices) or 'per_device' (1 per device)",
description="Legacy option; 2.2.0 serializes all targets even when per_device is supplied",
)
locked_package: str | None = Field(default=None, description="Package lock restriction")
max_turns: int = Field(default=30, description="Turn cutoff limit")