Repository navigation
Persist commander notices and optional-order head verdicts - #2469
Merged
Merged
Conversation
# Conflicts: # src/agent_comms/commander/standing.py
# Conflicts: # src/agent_comms/commander/standing.py # src/agent_comms/commander_heartbeat.py # src/agent_comms/connector.py # src/agent_comms/skills/comms-commander/SKILL.md # tests/test_holder_standing_rules.py # tests/test_order_progress.py # tests/test_todos.py
This was referenced Oct 21, 2026
# Conflicts: # src/agent_comms/commander_heartbeat.py # src/agent_comms/connector.py # src/agent_comms/standing_rules.py # src/agent_comms/tools.py # tests/test_holder_standing_rules.py
trissim
marked this pull request as ready for review
October 23, 2026 22:33
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
|
debt-tools at d5c7576, every finding: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commander heartbeat observations now survive connector replacement: committed Info attachments own the last handled observation, unchanged passes send nothing, and urgent packets lead with at most five new decisions and publish every other new current observation under ALSO CURRENT. ServicePassStore records each commander's completed pass, including quiet passes and the completed prefix before another recipient fails.
PR verdicts now persist by repository, PR number and resolved full head, independently of an order. HeadVerdictTool supplies the same implementation to native/CLI and connector callers. judge ok/back --pr N --head SHA handles orderless reviews; linked rejection records the strike and revised order together, revises the goal and notifies the holder. The existing GitHub reader also finds overdue orderless heads.
Installation carry
HeadReviews in tools/cutover/carry_head_reviews.py declares TodoStore as its only store input. The existing installer discovers it through CarryChain. PreparedMigration.carry (installer/upgrade.py:929-935) runs the carry under maintenance before reconcile-stores in both practice and the backed-up live migration. Apply refuses a caller without that root's maintenance hold.
The carry moves embedded reviewed-head verdicts into StoredHeadReview and removes their old Todo.verdicts entries in one SQLite transaction. A later pass sees no embedded records and changes nothing. It derives each PR from the recorded order history, requiring one unique link in the Todo's repository. It preserves actor, quote, previous assignment, exact head and EventTime; no missing time or order ID is invented.
Carry proof on the private copy at 9fa56f5 (carry code is unchanged by this send-back):
The 72-line copy-only scratch converter was deleted. The real one-shot carry remains outside src for the next installation and is retired after that live carry; production has no old-format reader, alias or fallback. The live store was not changed by this work.
Caller migration and deletions
Current unit-state import sites:
from agent_comms.ui_model.unit_state import UnitStatefrom agent_comms.ui_model.unit_state import UnitStatefrom .ui_model.unit_state import UnitStatefrom agent_comms.ui_model.unit_state import UnitStatefrom agent_comms.ui_model.unit_state import UnitObservation, UnitStatefrom agent_comms.ui_model.unit_state import UnitStatefrom agent_comms.ui_model.unit_state import AwaitingCommander, UnitStatefrom agent_comms.ui_model.unit_state import UnitStatefrom agent_comms.ui_model.unit_state import AwaitingCommander, Blocked, DeliveredUnclosed, Detached, Idle, Moving, Spinning, StalledOnNothing, Stuck, UnitState, Unreadablefrom agent_comms.ui_model.unit_state import AwaitingCommanderfrom agent_comms.ui_model.unit_state import UnitStatefrom agent_comms.ui_model.unit_state import UnitState, Unreadablefrom agent_comms.ui_model.unit_state import AwaitingCommander, Blocked, Detached, UnitStateCommanderHeartbeat now inherits main's CommanderService; sender and commander selection remain declared once. CommanderUpdate's publication check and latest-packet read use that parent directly, with the two watch-class local imports deleted.
Phase 4
ReviewQueuePhase requires ClassDeclared("HeadReviewRecord", ("src/agent_comms/todos.py",)) plus RulesetGates. A ruleset alone cannot declare an unimplemented verdict store finished. This evidence is unchanged by the review repairs; the recorded main/branch comparison at 9fa56f5 was false/true.
Review repairs at 328a7ac
The five edited files parse. Grep across src/tests/tools finds no due.why, HeadVerb, judge head, or the old deferred-packet test name. No suites run and no passing-test claim is made for this head.
Assumed: none.