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:
1 parent
fac4ccb760
commit
be6e8c2abd
79 files changed
+2263
-277
No files matched your search
@@ -14,6 +14,41 @@ import pytest
|
||||
import artemis.runtime.task_control as task_control
|
||||
|
||||
|
||||
def test_worker_admission_and_lease_acquisition_are_distinct_mcp_states(tmp_path, monkeypatch):
|
||||
from artemis.runtime import trace_store
|
||||
from mcp_server.tools import task_manager
|
||||
|
||||
monkeypatch.setattr(task_control, "TRACES_PATH", tmp_path)
|
||||
monkeypatch.setattr(trace_store, "TRACES_DIR", str(tmp_path))
|
||||
monkeypatch.setattr(task_manager, "_find_data_engine_db", lambda: None)
|
||||
for sid in ("worker", "waiting"):
|
||||
trace_store.init_trace(sid, "read-only test", "Pro")
|
||||
trace_store.update_trace_status(sid, "pending")
|
||||
task_control.write_control_state("worker", "queued", reset=True)
|
||||
assert trace_store.read_status("worker")["status"] == "pending"
|
||||
|
||||
task_control.TaskControl("worker", object())._state("running")
|
||||
|
||||
for sid, expected in (("worker", "running"), ("waiting", "pending")):
|
||||
stored = trace_store.read_status(sid)
|
||||
assert stored["status"] == expected
|
||||
assert task_manager._reconcile_task_state(sid, stored)[0] == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize("status", ["completed", "failed", "cancelled", "interrupted"])
|
||||
def test_late_worker_start_preserves_terminal_trace(tmp_path, monkeypatch, status):
|
||||
from artemis.runtime import trace_store
|
||||
|
||||
monkeypatch.setattr(task_control, "TRACES_PATH", tmp_path)
|
||||
monkeypatch.setattr(trace_store, "TRACES_DIR", str(tmp_path))
|
||||
trace_store.init_trace("finished", "read-only test", "Pro")
|
||||
before = trace_store.update_trace_status("finished", status, result={"kept": True})
|
||||
|
||||
task_control.TaskControl("finished", object())._state("running")
|
||||
|
||||
assert trace_store.read_status("finished") == before
|
||||
|
||||
|
||||
def test_transition_timing_keeps_repeated_states_and_separates_pause_and_resource_wait(
|
||||
tmp_path, monkeypatch
|
||||
):
|
||||
|
||||
Reference in new issue
Block a user