Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 0 additions & 54 deletions tests/test_todos.py
Original file line number Diff line number Diff line change
Expand Up @@ -424,60 +424,6 @@ def test_watcher_git_and_github_reads_leave_wire_free(pr_commander, monkeypatch)
assert c.goals.todos.get(original.id) == original


def test_blocked_enforcement_rejects_a_recovered_goal(held_bus, caplog):
from test_holder_standing_rules import blocked_holder
from agent_comms.commander.standing import GoalCannotRun
from agent_comms.goal_actions import RetryGoalAction
from agent_comms.goals import GoalChangedError
from agent_comms.input_disposition import InputDispositions
from agent_comms.commander_heartbeat import CommanderReview

caplog.set_level(logging.INFO)
with LaunchRoot.from_path(held_bus.root).selected():
blocked_holder(held_bus)
observed, = GoalCannotRun.violations(held_bus, "lead")
recovered = held_bus.goals.update_goal("worker", RetryGoalAction())
rows = tuple(held_bus.goals.todos.get(problem) for problem in observed.orders)
generation = held_bus.goals.open_goal_store().require_generation(recovered.id)
inputs = InputDispositions(held_bus.root)
unresolved = inputs.lookup("unresolved-input")
review = CommanderReview(frozenset())
with held_bus.bus.locked():
CommanderHeartbeat.register(held_bus.registry)
review.wake(held_bus, CommanderHeartbeat.sender,
held_bus.registry.require("lead"), (observed,))
assert observed not in review.violations
assert held_bus.registry.require("worker").goal == recovered
assert tuple(held_bus.goals.todos.get(row.id) for row in rows) == rows
assert held_bus.goals.open_goal_store().require_generation(recovered.id) == generation
assert inputs.lookup("unresolved-input") == unresolved
rejected = caplog.records[-1].args[0]
assert isinstance(rejected, GoalChangedError)
assert rejected.thread.name == "worker"
assert rejected.expected == observed.goal.captured


def test_blocked_enforcement_preserves_reassigned_orders(held_bus):
from test_holder_standing_rules import blocked_holder
from agent_comms.commander.standing import GoalCannotRun
from agent_comms.goal_actions import ReissuedOrderGoalAction
from agent_comms.standing_rules import StandingRule

with LaunchRoot.from_path(held_bus.root).selected():
blocked_holder(held_bus)
observed, = GoalCannotRun.violations(held_bus, "lead")
row = held_bus.goals.todos.get(observed.orders[0])
reassigned = held_bus.goals.update_goal("outsider", ReissuedOrderGoalAction.for_todo(row, "lead"))
assigned = held_bus.goals.todos.get(row.id)
generation = held_bus.goals.open_goal_store().require_generation(observed.goal.id)
with held_bus.bus.locked(), pytest.raises(TodoError):
StandingRule.enforce_all(held_bus, "lead", (observed,))
assert held_bus.registry.require("worker").goal == observed.goal
assert held_bus.registry.require("outsider").goal == reassigned
assert held_bus.goals.todos.get(row.id) == assigned
assert held_bus.goals.open_goal_store().require_generation(observed.goal.id) == generation


def test_reused_enforcement_rejects_a_new_idle_goal(checkout_bus, caplog):
from agent_comms.commander.standing import ReassignedWheelSpin
from agent_comms.goals import GoalChangedError, NoGoal
Expand Down
Loading