feat(planner): persist reusable action semantics
Tests / Test passed: 879

This commit is contained in:
2026-07-15 18:14:28 +08:00
parent 361dada276
commit d69be48f96
41 changed files with 733 additions and 116 deletions
+9
View File
@@ -66,12 +66,18 @@ def test_world_event_with_rationale_thinking_page() -> None:
success=True,
rationale="Previous step opened settings. Now tapping account.",
thinking="I should navigate to account settings.",
arguments={"x": 12, "y": 34},
purpose="Open account settings.",
expected_outcome="The account settings page is visible.",
page="Settings",
)
data = event.to_dict()
assert data["rationale"] == "Previous step opened settings. Now tapping account."
assert data["thinking"] == "I should navigate to account settings."
assert data["arguments"] == {"x": 12, "y": 34}
assert data["purpose"] == "Open account settings."
assert data["expected_outcome"] == "The account settings page is visible."
assert data["page"] == "Settings"
assert data["scene_summary"] is None
@@ -82,6 +88,9 @@ def test_world_event_all_optional_fields_none() -> None:
assert data["rationale"] is None
assert data["thinking"] is None
assert data["arguments"] == {}
assert data["purpose"] is None
assert data["expected_outcome"] is None
assert data["page"] is None
assert data["scene_summary"] is None
assert data["action"] == "swipe"