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
@@ -28,7 +28,7 @@ from artemis.graph.state import State
|
||||
from artemis.mcp.action_names import to_canonical_call
|
||||
from artemis.mcp.action_session import ActionSession
|
||||
from artemis.utils.logger import get_logger
|
||||
from artemis.utils.input_state import verify_input
|
||||
from artemis.utils.input_state import expected_input_state, verify_input
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
@@ -98,7 +98,12 @@ async def exec_action(
|
||||
return False, f"MCP call failed: {e}"
|
||||
|
||||
action_item.update(execution="completed" if res.ok else "unknown", side_effect="possible")
|
||||
if tool_name == "input_text" and res.ok:
|
||||
expected = (
|
||||
expected_input_state(wire_args["text"], wire_args["clear_exist"])
|
||||
if tool_name == "input_text"
|
||||
else None
|
||||
)
|
||||
if expected is not None and res.ok:
|
||||
try:
|
||||
elements = await session.ui_hierarchy()
|
||||
from artemis.utils.visualization import format_minimal_list_with_elements
|
||||
@@ -109,10 +114,11 @@ async def exec_action(
|
||||
verification = "unknown"
|
||||
action_item["input_verification"] = verification
|
||||
action_item["input_verification_note"] = (
|
||||
"Value presence confirmed in fresh editable node; not business validation."
|
||||
if verification == "present"
|
||||
else "Input dispatched; real value is not confirmed. Observe before submitting; do not blindly retype."
|
||||
f"Expected input state '{expected}' confirmed in fresh editable node; not business validation."
|
||||
if verification == expected
|
||||
else f"Input dispatched; expected '{expected}', observed '{verification}'. "
|
||||
"Observe before submitting; do not blindly retype."
|
||||
)
|
||||
if verification != "present":
|
||||
if verification != expected:
|
||||
return False, action_item["input_verification_note"]
|
||||
return (True, "") if res.ok else (False, res.message)
|
||||
Reference in new issue
Block a user