|
@@ -5299,6 +5299,25 @@ def bundle_goals(ctx):
|
|
|
check(any(b["block_type"] == "plan" and b["is_plan_review"]
|
|
check(any(b["block_type"] == "plan" and b["is_plan_review"]
|
|
|
for b in state["blocks"]),
|
|
for b in state["blocks"]),
|
|
|
"the goal blocks list carries the pending plan block")
|
|
"the goal blocks list carries the pending plan block")
|
|
|
|
|
+
|
|
|
|
|
+ print("== feedback: goal visual identity ==")
|
|
|
|
|
+ # A goal never reads as a task at a glance: marked nav entry,
|
|
|
|
|
+ # iconed list page, and the dashboard pile's goal cards carry
|
|
|
|
|
+ # their own accent styling.
|
|
|
|
|
+ home_html = http_get_page(auth, "/")
|
|
|
|
|
+ check('class="nav-goal"' in home_html and "🎯" in home_html,
|
|
|
|
|
+ "the nav carries the marked 🎯 Goals entry beside Tasks")
|
|
|
|
|
+ check(any(p["item_type"] == "goal" for p in
|
|
|
|
|
+ slot_public(auth, "/", "dashboard")["pinned"]),
|
|
|
|
|
+ "the goal's pending block pins onto the dashboard pile")
|
|
|
|
|
+ check("'card goal-card'" in home_html and 'badge-kind-goal' in home_html,
|
|
|
|
|
+ "dashboard goal cards carry the distinct goal styling")
|
|
|
|
|
+ goals_html = http_get_page(auth, "/goals")
|
|
|
|
|
+ check("🎯" in goals_html and "goal-icon" in goals_html,
|
|
|
|
|
+ "the goals list page carries the goal icon")
|
|
|
|
|
+ goal_page_html = http_get_page(auth, "/goals/%d" % goal1)
|
|
|
|
|
+ check('class="card goal-head"' in goal_page_html and "goal-page" in goal_page_html,
|
|
|
|
|
+ "the goal page carries the goal-accented identity chrome")
|
|
|
# Reject with feedback: the agent revises.
|
|
# Reject with feedback: the agent revises.
|
|
|
fake.goal_script = [("plan", "# Plan v2\n\n1. Add tests\n2. Add docs\n3. Ship")]
|
|
fake.goal_script = [("plan", "# Plan v2\n\n1. Add tests\n2. Add docs\n3. Ship")]
|
|
|
act(auth, pending["answer_action"], {"answer": "Add documentation please"})
|
|
act(auth, pending["answer_action"], {"answer": "Add documentation please"})
|