Repository navigation
Separate commander service identity from heartbeat rendering - #2938
Merged
Merged
Conversation
trissim
marked this pull request as ready for review
October 23, 2026 22:10
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-src at ce03d72, every finding: |
Goals, OwnerRequest and Registration were read only by requested_by and commanders, which now live on CommanderService. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
OwnerLifecycle imported the full CommanderHeartbeat watch pass merely to identify its sender and find live commanders. CommanderService now owns sender, requested_by and commanders; CommanderHeartbeat inherits that parent and keeps its rendering/watch behavior. OwnerLifecycle uses CommanderService directly.
At head 034e869, both moved methods are AST-identical, including docstrings. The sender has one declaration. A source inventory parsed 952 src/tests Python files with no omissions and found no owner_lifecycle.CommanderHeartbeat imports or named monkeypatches. Existing heartbeat consumers remain unchanged through inheritance. The heartbeat file changes only its parent import, base class, and the three deleted members, preserving the narrow overlap with #2469.
Import evidence
Base ffe4841, installed core-83bf48ffe interpreter, PYTHONPATH set to this worktree's src. Both CLI imports exit 0. No tests run.
Before:
After:
commander_heartbeat, heartbeat_frame and ui_model.unit_state disappear from the CLI import. standing_rules remains through threads -> native_tools -> native_tool_call -> storage_rules. These lines establish removed imports; no wall-time gain is claimed.
Next wrong edge: threads.py:647 explicitly imports pi_durable_backend and pi_native_backend before AgentBackend.seal at :649. The declaration module thereby loads the runtime implementation: pi_durable_backend.py:26 imports native_child, and :36 imports pi_events. The after trace records pi_durable_backend at 153 ms cumulative; this edge was not edited.
Assumed: none.