Skip to content

P263: supervise commander monitors and guard every loop - #1998

Closed
trissim wants to merge 6 commits into
mainfrom
fix/p263-commander-loops
Closed

trissim wants to merge 6 commits into
mainfrom
fix/p263-commander-loops

Conversation

@trissim

@trissim trissim commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

P263: one commander monitor process

Loop owns thread lifetime, per-thread line framing, failure traceback output and restart on the next supervisor tick. OverdueLoop, RotateLoop and ToolWatchLoop own their original bodies in place; the individual CLI entrypoints call those same classes. InboxLoop reuses the original Claude bridge and its retained delivery journal rather than copying or replaying its input loop. Class declarations register through init_subclass.

The existing commander CLI discovers loops.py's main through pkgutil; no second handwritten tools roster was added at cli.py:19. The skill now names one command instead of five monitors.

Watch guard extension: the supervisor writes its declaration-derived loop names in LoopsRecord and holds a group claim. Each worker holds the existing kernel-backed WatchClaim for exactly its own running lifetime. Guard reads those original locks and names every missing registered loop; no heartbeat, boolean health mirror, process-restart counter or traceback suppression is introduced. The hook stays stdlib-only.

Verification is not yet complete. No runtime installed or active watcher stopped. A live-bus fault-injection run must preserve the existing inbox binding and UNKNOWN delivery journal; if the old watcher holds its claim, the new inbox must report that refusal rather than steal it.

Assumed: existing CLI module discovery is the requested tools registration; the original inbox bridge remains the authority for uncertain input attempts. The additional guard instruction is part of the same P263 implementation.

Agent-Comms-Order: 75c30907a54c

Copilot AI balanced review requested due to automatic review settings October 19, 2026 21:12

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 reached their quota limit.

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.

@trissim

trissim commented Oct 20, 2026

Copy link
Copy Markdown
Contributor Author

Closed as stale by desktop merger mB: it supervises and guards commander/rotate.py and the old tool_watch loops, but main has deleted rotate.py and replaced that rotation with the Core board (P707, #2100). Its loop guards have nothing left to guard on main.

@trissim trissim closed this Oct 20, 2026
@trissim
trissim deleted the fix/p263-commander-loops branch October 20, 2026 14:30
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