Skip to content

Commit 4570918

Browse files
authored
Merge pull request #5679 from loopx-project/codex/todo-retirement-callers-20261005
refactor(todos): retire unused Python frontier selector facades
2 parents 6bfa358 + 882c761 commit 4570918

3 files changed

Lines changed: 51 additions & 89 deletions

File tree

‎loopx/control_plane/todos/frontier_revision.py‎

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""Compact, complete revisions for Todo advancement frontiers."""
1+
"""Complete source codecs and index transport for the typed Todo frontier owner."""
22

33
from __future__ import annotations
44

@@ -96,23 +96,6 @@ def _request(operation: str, **facts: Any) -> dict[str, Any]:
9696
return result
9797

9898

99-
def _checkpoint_tuple(value: Any) -> tuple[str | None, str | None, bool] | None:
100-
if value is None:
101-
return None
102-
if value["complete"]:
103-
return value["frontier_revision"], value["frontier_updated_at"], True
104-
return None, None, False
105-
106-
107-
def selectable_advancement_frontier_revision(
108-
source_items: list[dict[str, Any]] | None, *, agent_id: str | None,
109-
) -> tuple[str | None, str | None, bool]:
110-
result = _checkpoint_tuple(_request("select", rows=frontier_source_facts(source_items),
111-
agent_id=normalize_todo_claimed_by(agent_id))["checkpoint"])
112-
assert result is not None
113-
return result
114-
115-
11699
def build_advancement_frontier_revision_index(
117100
source_items: list[dict[str, Any]],
118101
) -> dict[str, Any]:
@@ -127,10 +110,3 @@ def attach_advancement_frontier_revision_index(
127110
) -> None:
128111
if role == "agent":
129112
summary["advancement_frontier_revision_index"] = build_advancement_frontier_revision_index(source_items)
130-
131-
132-
def advancement_frontier_revision_from_index(
133-
value: Any, *, agent_id: str | None,
134-
) -> tuple[str | None, str | None, bool] | None:
135-
return _checkpoint_tuple(_request("read", index=value,
136-
agent_id=normalize_todo_claimed_by(agent_id))["checkpoint"])

‎tests/control_plane/test_frontier_revision_scope.py‎

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
import pytest
66

77
from loopx.control_plane.todos import frontier_revision
8+
from loopx.control_plane.goals.goal_frontier.long_todo_chain import (
9+
long_todo_chain_successor_checkpoints,
10+
)
811

912
from loopx.control_plane.todos.frontier_revision import (
10-
advancement_frontier_revision_from_index,
1113
build_advancement_frontier_revision_index,
12-
selectable_advancement_frontier_revision,
1314
)
1415

1516

@@ -36,31 +37,29 @@ def test_excluded_unclaimed_work_does_not_rearm_this_agents_frontier():
3637
after = deepcopy(before)
3738
after[1]["priority"] = "P0"
3839
after[1]["updated_at"] = "2026-09-02T00:00:00Z"
39-
for source in (before, after):
40-
direct = selectable_advancement_frontier_revision(source, agent_id="worker-a")
41-
indexed = advancement_frontier_revision_from_index(
42-
build_advancement_frontier_revision_index(source), agent_id="worker-a",
43-
)
44-
assert direct == indexed
45-
assert selectable_advancement_frontier_revision(before, agent_id="worker-a") == (
46-
selectable_advancement_frontier_revision(after, agent_id="worker-a")
47-
)
48-
assert selectable_advancement_frontier_revision(before, agent_id="worker-b") != (
49-
selectable_advancement_frontier_revision(after, agent_id="worker-b")
50-
)
40+
before_index = build_advancement_frontier_revision_index(before)
41+
after_index = build_advancement_frontier_revision_index(after)
42+
assert before_index["by_agent"] == after_index["by_agent"]
43+
assert before_index["unclaimed"] != after_index["unclaimed"]
44+
# The excluded-only lane must remain explicit even without claimed work.
45+
assert before_index["by_agent"][0]["agent_id"] == "worker-a"
46+
assert before_index["by_agent"][0]["complete"] is True
5147

5248

5349
def test_duplicate_identity_cannot_be_a_complete_frontier():
5450
source = rows()
5551
source[1]["todo_id"] = source[0]["todo_id"]
56-
assert selectable_advancement_frontier_revision(source, agent_id=None) == (None, None, False)
52+
index = build_advancement_frontier_revision_index(source)
53+
assert index["all"] == index["unclaimed"] == {"complete": False}
5754

5855

5956
def test_removing_exclusion_rearms_newly_available_work():
6057
source = rows()
61-
before = selectable_advancement_frontier_revision(source, agent_id="worker-a")
58+
before = build_advancement_frontier_revision_index(source)
6259
source[1].pop("excluded_agents")
63-
assert selectable_advancement_frontier_revision(source, agent_id="worker-a") != before
60+
after = build_advancement_frontier_revision_index(source)
61+
assert after["by_agent"] == []
62+
assert before["by_agent"][0]["frontier_revision"] != after["unclaimed"]["frontier_revision"]
6463

6564

6665
def test_v0_codec_preserves_unicode_hash_and_microsecond_ordering():
@@ -72,17 +71,23 @@ def test_v0_codec_preserves_unicode_hash_and_microsecond_ordering():
7271
expected = "todo_frontier_revision_v0:" + sha256(encoded.encode()).hexdigest()[:24]
7372
source = [{**material[1], "completed_at": "2026-09-01T08:00:00.000001+08:00"},
7473
{**material[0], "updated_at": "2026-09-01T00:00:00.000002Z"}]
75-
assert selectable_advancement_frontier_revision(source, agent_id=None) == (
76-
expected, "2026-09-01T00:00:00.000002Z", True)
74+
checkpoint = build_advancement_frontier_revision_index(source)["all"]
75+
assert checkpoint["complete"] is True
76+
assert checkpoint["frontier_revision"] == expected
77+
assert checkpoint["frontier_updated_at"] == "2026-09-01T00:00:00.000002Z"
7778

7879

7980
def test_legacy_agent_spelling_in_index_remains_readable():
8081
source = rows()[:1]
8182
source[0]["claimed_by"] = "Worker A"
8283
index = build_advancement_frontier_revision_index(source)
8384
index["by_agent"][0]["agent_id"] = " Worker\u0085A "
84-
assert advancement_frontier_revision_from_index(index, agent_id="worker-a") == (
85-
selectable_advancement_frontier_revision(source, agent_id="Worker A"))
85+
result = long_todo_chain_successor_checkpoints(
86+
source, agent_id="worker-a", triggers=[], obligation_id="replan-test",
87+
candidates=[], frontier_revision_index=index,
88+
)
89+
assert result is not None
90+
assert result["trigger_checkpoints"][0]["frontier_revision"] == index["by_agent"][0]["frontier_revision"]
8691

8792

8893
def test_large_frontier_transport_preserves_exact_v0_identity_and_tail_edits():
@@ -92,10 +97,9 @@ def test_large_frontier_transport_preserves_exact_v0_identity_and_tail_edits():
9297
assert len(encoded.encode()) > 2 * 1024 * 1024
9398
expected = "todo_frontier_revision_v0:" + sha256(encoded.encode()).hexdigest()[:24]
9499
source = [{**item, "updated_at": "2026-09-01T00:00:00Z"} for item in material]
95-
assert selectable_advancement_frontier_revision(source, agent_id=None) == (
96-
expected, "2026-09-01T00:00:00Z", True)
97-
assert advancement_frontier_revision_from_index(
98-
build_advancement_frontier_revision_index(source), agent_id=None,
99-
) == (expected, "2026-09-01T00:00:00Z", True)
100+
checkpoint = build_advancement_frontier_revision_index(source)["all"]
101+
assert checkpoint["complete"] is True
102+
assert checkpoint["frontier_revision"] == expected
103+
assert checkpoint["frontier_updated_at"] == "2026-09-01T00:00:00Z"
100104
source[-1]["text"] += " Material edit at the tail."
101-
assert selectable_advancement_frontier_revision(source, agent_id=None)[0] != expected
105+
assert build_advancement_frontier_revision_index(source)["all"]["frontier_revision"] != expected

‎tests/control_plane/test_goal_frontier_replan_rules.py‎

Lines changed: 19 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919
select_goal_frontier_replan_rule,
2020
)
2121
from loopx.control_plane.todos.addition import require_replan_successor_scope
22+
from loopx.control_plane.goals.goal_frontier.long_todo_chain import (
23+
long_todo_chain_successor_checkpoints,
24+
)
2225
from loopx.control_plane.todos.frontier_revision import (
2326
TODO_FRONTIER_REVISION_INDEX_SCHEMA_VERSION,
24-
advancement_frontier_revision_from_index,
2527
build_advancement_frontier_revision_index,
2628
)
2729
from loopx.control_plane.todos.summary_item import compact_todo_summary_item
@@ -337,58 +339,38 @@ def test_frontier_revision_index_preserves_complete_agent_lane_semantics() -> No
337339
},
338340
]
339341
original = build_advancement_frontier_revision_index(source_items)
340-
current_revision = advancement_frontier_revision_from_index(
341-
original,
342-
agent_id="current-agent",
343-
)
344-
unclaimed_revision = advancement_frontier_revision_from_index(
345-
original,
346-
agent_id="new-agent",
347-
)
348-
all_revision = advancement_frontier_revision_from_index(original, agent_id=None)
349-
assert current_revision is not None and current_revision[2] is True
350-
assert unclaimed_revision is not None and unclaimed_revision[2] is True
351-
assert all_revision is not None and all_revision[2] is True
342+
current_revision = original["by_agent"][0]
343+
assert current_revision["agent_id"] == "current-agent"
344+
unclaimed_revision = original["unclaimed"]
345+
all_revision = original["all"]
346+
assert current_revision["complete"] is True
347+
assert unclaimed_revision["complete"] is True
348+
assert all_revision["complete"] is True
352349

353350
other_agent_change = deepcopy(source_items)
354351
other_agent_change[1]["priority"] = "P0"
355352
changed_other = build_advancement_frontier_revision_index(other_agent_change)
356-
assert advancement_frontier_revision_from_index(
357-
changed_other,
358-
agent_id="current-agent",
359-
) == current_revision
360-
assert advancement_frontier_revision_from_index(
361-
changed_other,
362-
agent_id="new-agent",
363-
) == unclaimed_revision
364-
assert advancement_frontier_revision_from_index(
365-
changed_other,
366-
agent_id=None,
367-
) != all_revision
353+
assert changed_other["by_agent"][0] == current_revision
354+
assert changed_other["unclaimed"] == unclaimed_revision
355+
assert changed_other["all"] != all_revision
368356

369357
unclaimed_change = deepcopy(source_items)
370358
unclaimed_change[2]["priority"] = "P0"
371359
changed_unclaimed = build_advancement_frontier_revision_index(unclaimed_change)
372-
assert advancement_frontier_revision_from_index(
373-
changed_unclaimed,
374-
agent_id="current-agent",
375-
) != current_revision
376-
assert advancement_frontier_revision_from_index(
377-
changed_unclaimed,
378-
agent_id="new-agent",
379-
) != unclaimed_revision
360+
assert changed_unclaimed["by_agent"][0] != current_revision
361+
assert changed_unclaimed["unclaimed"] != unclaimed_revision
380362

381363

382364
def test_frontier_revision_index_rejects_malformed_agent_rows() -> None:
383-
assert advancement_frontier_revision_from_index(
384-
{
365+
assert long_todo_chain_successor_checkpoints(
366+
_long_chain_source_items(), agent_id="current-agent", triggers=[],
367+
obligation_id="replan-test", candidates=[], frontier_revision_index={
385368
"schema_version": TODO_FRONTIER_REVISION_INDEX_SCHEMA_VERSION,
386369
"all": {"complete": False},
387370
"unclaimed": {"complete": False},
388371
"by_agent": "not-a-list",
389372
},
390-
agent_id="current-agent",
391-
) == (None, None, False)
373+
) is None
392374

393375

394376
def test_todo_succession_gap_prefers_exact_lifecycle_settlement() -> None:

0 commit comments

Comments
 (0)