Repository navigation
feat(orca): peer homes, fresh session per task, bin/peer coordinator helper - #20
Merged
Merged
Conversation
…helper - bin/peer: dispatch (role line prepended, /clear or new terminal), tell (mail + nudge), watch (token-free wait: any non-heartbeat message, SIZE, STALL), pending, sizes, list, release - orca.md: named homes, one team Run, unacked batch as the unhandled-report list, peer rules, fresh-per-task lifetime with --keep for same-change follow-ups - handoffs.md: hand-over note when a session ends mid-work Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
31 checks: dispatch modes and refusals, role line and model flags, tell delivery outcomes, pending/watch batches, SIZE once per session, STALL, transcript lookup by home marker, release. Poll interval and watch limit made overridable for the tests. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <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.
First of three PRs from feedback on running 9 peers with one coordinator. This one covers Orca coordination: items 1–3 and 5–9, plus the peer-side rules.
What changes
bin/peer, the coordinator's helper:dispatchadds the role line, runs/clearbefore a new task (or starts a new terminal when/clearcan't work), applies the Role models line, and records the home.tellsends the message and types a nudge into the peer's terminal, because an idle peer never reads its inbox.watchis a background wait that costs no tokens. It wakes on any peer message except heartbeats, a peer over the size limit (SIZE), a terminal quiet for 20 min (STALL), or the time limit.pending,sizes,listandreleasecover the rest.workflow/orca.md:dt-dev-1,dt-reviewer, …) with the worktree chosen per dispatch, and one Run for the whole team.--keeponly for follow-ups on the same change.ask, never a status message.Peer clear thresholdsetting becomesPeer size limit(default 400k).workflow/handoffs.md: a hand-over note (done / state / left, markedpartial) when a session ends mid-work.Design notes
/clearis the default. A new terminal is used for--restart, a different worktree, or a chat-mode worker; restart on purpose for new MCP servers or after an Orca update.--keepin the reviewer session that wrote the review (what worked in practice). Before, the reviewer was cleared before every review.Testing
claude plugin validate .passes; its 5 warnings are the same as on main.tests/*.shpass.peer sizes,list, project-line parsing and argument errors were run against a throwaway registry pointing at real peer transcripts. The sizes match a separate transcript-size script exactly.tests/peer.shrunsbin/peeragainst a fakeorcaCLI (tests/fake-orca) and checks the exact Orca calls each command makes. Its 31 checks cover:dispatchmodes (new, fresh with/clear,--keep, restart for a new worktree or a chat-mode worker,--restart) and every refusal;telloutcomes (delivered, queued, unconfirmed) and--reply;pendingandwatch: heartbeat-only batches acked automatically, a status message wakingwatch,SIZEonce per session,STALL;release.worker-list/worker-showoutput; a live run on a real project is still the last check.Not in this PR
/dev-team:board,bin/board-drift).standards/. That drift check is also what will tell existing projects about thePeer size limitrename.🤖 Generated with Claude Code