Skip to content

Separate commander service identity from heartbeat rendering - #2938

Merged
trissim merged 2 commits into
mainfrom
perf/commander-service
Oct 23, 2026
Merged

trissim merged 2 commits into
mainfrom
perf/commander-service

Conversation

@trissim

@trissim trissim commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

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:

import time:      8766 |      22280 |                       agent_comms.standing_rules
import time:       802 |        802 |             agent_comms.heartbeat_frame
import time:      6205 |      21314 |             agent_comms.ui_model.unit_state
import time:      2334 |      24753 |           agent_comms.commander_heartbeat

After:

import time:     11494 |      29458 |                       agent_comms.standing_rules

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.

@trissim
trissim marked this pull request as ready for review October 23, 2026 22:10
Copilot AI balanced review requested due to automatic review settings October 23, 2026 22:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

debt-src at ce03d72, every finding:

grew LintFindings:src/agent_comms/bus_route_counts.py +1
grew NoneAbsence:src/agent_comms/input_attempt.py +1
grew Unformatted:src/agent_comms/commander_service.py +1
introduced NoneAbsence:src/agent_comms/input_attempt.py at lines [210]

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>
@trissim
trissim merged commit 616a50e into main Oct 23, 2026
5 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants