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

+10
View File
@@ -23,6 +23,10 @@ normalization, and result models. Device discovery, task scheduling, concurrency
control, model selection, execution, logs, videos, and artifact generation all
belong to the server.
Artemis 2.2.0 executes one task at a time across computer and Android targets.
Legacy concurrency options remain accepted for compatibility, but cannot enable
parallel execution. The client does not implement a separate scheduler.
The distribution is named `artemis-client`, while the Python import is
`artemis_client`. This prevents it from shadowing the full runtime's top-level
`artemis` package. The full runtime can depend on this package later and
@@ -39,6 +43,12 @@ session database, the client reconstructs its state from `queue` and
Experimental parameters live in `options`. Older servers ignore unknown fields,
while newer servers can consume them without requiring an immediate SDK release.
On the current host, `options` maps to the shared `runtime_overrides` TaskOptions
object rather than an unknown top-level `options` field. The first-class
`execution_target` argument is serialized there too. `computer` omits saved
Android serials; the host owns plugin selection, desktop observation, resource
locks and execution. The client never discovers Android for a PC-only submission.
### Guided exploration in 2.0
`ArtemisClient.exploration()` uses the existing `/api/explorations` API shared