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
@@ -74,6 +74,32 @@ async def test_existing_artifact_is_preserved_unless_explicit_overwrite(ctx, png
|
||||
assert json.loads(result)["ok"] and path.read_bytes() == png
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_screenshot_receipt_repairs_pro_note_reference_without_recapture(
|
||||
ctx, png, monkeypatch
|
||||
):
|
||||
from artemis.tools.scratchpad import append_note
|
||||
|
||||
run = AsyncMock(return_value=png)
|
||||
monkeypatch.setattr(files.AndroidFiles, "_run", run)
|
||||
receipt = json.loads(
|
||||
await files.android_file.execute(ctx=ctx, action="screenshot", filename="round_empty.png")
|
||||
)
|
||||
missing = ctx.data_engine.base_dir / "round_empty.png"
|
||||
error = await append_note.execute(ctx=ctx, key="evidence", content=f"Screenshot: {missing}")
|
||||
assert "Failed to append" in error
|
||||
assert receipt["trace_path"] in error
|
||||
assert not (ctx.data_engine.base_dir / "notes" / "evidence.md").exists()
|
||||
corrected = await append_note.execute(
|
||||
ctx=ctx, key="evidence", content=f"Screenshot: {receipt['trace_path']}"
|
||||
)
|
||||
assert corrected == "Appended to note 'evidence'."
|
||||
assert receipt["trace_path"] in (ctx.data_engine.base_dir / "notes" / "evidence.md").read_text(
|
||||
encoding="utf-8"
|
||||
)
|
||||
assert run.await_count == 1
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize(
|
||||
"name", ["../escape.png", "C:\\out.png", "x:y.png", "CON.png", "x.png ", "a\n.png"]
|
||||
|
||||
Reference in new issue
Block a user