Repository navigation
Conversation
Direct same-identity work to self_handoff and distinguish queue admission from execution in its receipt. Co-authored-by: Codex <[email protected]> Signed-off-by: Daniel Rouleau <[email protected]>
gilgtm
approved these changes
Nov 13, 2026
gilgtm
left a comment
Contributor
There was a problem hiding this comment.
🤖 No P0/P1 findings at 646f60a. Completed deep dual review of the full PR against main, including message-tool refusal, handoff routing, queue admission, and regression coverage.
Posted by duel-review skill [driver: codex(high), mode: deep-dual, review synthesized by codex(high)]
dr0uleau
deleted the
nexus/wake-same-agent-workers-for-cross-task-handoffs-89217684
branch
November 13, 2026 22:28
philazar
added a commit
that referenced
this pull request
Nov 13, 2026
…ve-client * origin/main: feat(solo): smooth chat recency reordering (#3502) Reject self-mentions that cannot wake another session (#3513) feat(status): offer don't clear for every status (#3515) Let plugin panels name their tab with panels.useTabTitle (#3251) fix(agents): report a conversation wake that fails before its turn starts (#2192) fix(usage): read Claude transcripts over 50 MB a page at a time (#3498) feat(agents): preview where interrupted agents were working before resume (#3494) perf(messages): close the editor and delete dialog on submit (#3493) feat(messages): quote selected message text into the composer (#2392) perf(toast): scope docked clearance to the toast host (#3489) fix(unread): undo exact captured ordinary reads conditionally (#3473) Signed-off-by: Philip Azar <[email protected]>
philazar
added a commit
that referenced
this pull request
Nov 13, 2026
Main now refuses self-mentions (#3513). The archive exemption for this agent still applies: its own name resolves to it and reaches that refusal instead of being hidden as archived. Co-authored-by: Coder1 <db50ef1f1688dc7f3e536c17351e8e994a7466bcbe009794f61d64355c0ffc2e@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Philip Azar <[email protected]>
wpfleger96
added a commit
that referenced
this pull request
Nov 14, 2026
…y-unreads * origin/main: (24 commits) [1/2] feat(agents): add a recommended agent setup (core) (#3344) test(browser): survive the live-stream restart a page-clock jump causes (#3442) chore(renovate): hold rusqlite below 0.41 for mesh-llm (#3438) test(browser): serve the diffs and CLI reload fixtures outside the navigation budget (#3445) test(browser): play the draft clip at rate 0 instead of looping it before the Play click (#3446) fix(status): reopen a status whose preset deadlines coincide as Today (#3449) fix(messages): tolerate a cancelled reaction-name chunk load (#3450) fix(pairing): tolerate /proc/net/tcp rows printed twice or missed (#3451) test(browser): wait on the signal each test asserts in local-agent-activity and message-navigation (#3444) Expose native channel headings to Solo sources (#3523) test(browser-host): run the 100,000-channel broker scale check alone in the measurements lane (#3447) fix(solo): keep every contributed destination action (#3516) fix(identity): report an issuer that keeps rate-limiting an agent as a limit (#2365) fix(identity): let a stuck at-launch sign-in copy its link (#2453) fix(profiles): open avatar previews on hover in compact density (#3510) feat(solo): smooth chat recency reordering (#3502) Reject self-mentions that cannot wake another session (#3513) feat(status): offer don't clear for every status (#3515) Let plugin panels name their tab with panels.useTabTitle (#3251) fix(agents): report a conversation wake that fails before its turn starts (#2192) ... # Conflicts: # tests/browser/message-management.spec.mjs
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.
Why
An agent can post a mention to its own identity in another conversation and receive a successful post receipt. The runner ignores that message, so the intended worker never wakes.
What
Message tools now refuse self-mentions and direct callers to
self_handoff. The handoff receipt states that the host queued work, with no claim of execution or completion.How
Reuse the existing authorized handoff path and its exact channel/thread routing. Keep the runner's self-message filter and replay protection. Queue admission can fail when the local runner is unavailable or full. Repeated handoff calls remain separate requests, and the queue does not survive host shutdown.
Risk
Agents that send self-mentions must use
self_handoffinstead. Ordinary posts and mentions of other agents keep their behavior.Testing
The self-mention regression failed before the fix: both message tools returned
sent <id>. It passed after the fix. Service checks exercised idle and busy recipients with a held active turn and confirmed exact thread routing and self-post replay suppression. No browser cases were added or removed.Shipping review at
646f60a8bef58523ea010e46383b8e09e28f75d4found no blockers across correctness, quality, performance, compatibility, testing, and risk. Manual app testing was explicitly waived for this narrow change. No app was installed or restarted. This change provides a queued handoff path; it does not steer an active turn.Generated with Codex