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
+16 -3
View File
@@ -1773,12 +1773,21 @@ def test_record_planner_decision_stores_rationale_and_thinking(
now=now,
rationale="Previous step opened settings. Now tapping account.",
thinking="I need to navigate to account settings.",
purpose="Open account settings.",
expected_outcome="The account settings page is visible.",
)
decisions = database.repository.list_planner_decisions(task_id=task_id, attempt=1)
decisions = database.repository.list_planner_decisions(
task_id=task_id, attempt=1
)
assert len(decisions) == 1
assert decisions[0].rationale == "Previous step opened settings. Now tapping account."
assert (
decisions[0].rationale
== "Previous step opened settings. Now tapping account."
)
assert decisions[0].thinking == "I need to navigate to account settings."
assert decisions[0].purpose == "Open account settings."
assert decisions[0].expected_outcome == "The account settings page is visible."
finally:
database.close()
@@ -1804,9 +1813,13 @@ def test_record_planner_decision_stores_null_rationale_and_thinking(
# rationale and thinking omitted (default None)
)
decisions = database.repository.list_planner_decisions(task_id=task_id, attempt=1)
decisions = database.repository.list_planner_decisions(
task_id=task_id, attempt=1
)
assert len(decisions) == 1
assert decisions[0].rationale is None
assert decisions[0].thinking is None
assert decisions[0].purpose is None
assert decisions[0].expected_outcome is None
finally:
database.close()