Repository navigation
Sonny: an agent's name in the conversation opens that agent - #435
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGD5ibBa7HcUjyc7FL9
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: afce418d85
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGD5ibBa7HcUjyc7FL9
807d7eb to
c2f34c7
Compare
|
@codex review Generated by Claude Code |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 02cc2a8f85
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
@codex review Generated by Claude Code |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0bfbce87d3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Generated by Claude Code |
A reply that points to another agent ("tally.halves has a question for
you") left the person to find it in /status. Now any word that is a bot's
name, wherever the one renderer draws it (a reply, a row of task updates,
"↳ From calc.neg", the pane's text), opens that agent in the pane, as a
roster click does. As GitHub links an @name only when the account is
there, a dotted word is asked about once with the daemon's `bots` lookup
and links only when a bot has that name; it is drawn in the agents' blue
and, like every button, never underlined. On a row a click opens
elsewhere, the name opens the agent and the rest of the row what it did.
The keyboard path reuses /status's keys: it opens with the agent named
last on screen already picked, so /status then Enter opens it.
lead.md and task.md say to write an agent's whole name when pointing the
person to it, where that helps them act.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013jkdGD5ibBa7HcUjyc7FL9
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGD5ibBa7HcUjyc7FL9
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGD5ibBa7HcUjyc7FL9
…e's own 's is kept A name drawn before its agent was made stayed plain: the answer that it was no agent's name was kept for good. Such an answer, or an unanswered lookup, now holds 30 seconds, and a task the lead starts is known at once. A path ending in 's is tried whole before the 's is taken off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGD5ibBa7HcUjyc7FL9
…s keys Each lookup waited in the main loop, so a slow daemon held the screen and the keys for as long as every word took. The words go to one background job a batch at a time, each waiting at most 2 seconds; the loop takes the answers once the job is done. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGD5ibBa7HcUjyc7FL9
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGD5ibBa7HcUjyc7FL9
|
Codex Review: Didn't find any major issues. You're on a roll. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
2039a1a to
fa34584
Compare
Requested by George · project thread
What
When the conversation names another agent, the name is a click that opens that agent in the pane, as a roster click does. This works in lead replies, the "↳ Task updates · …" rows, "↳ From calc.neg ▸", the /status card's text and whatever the pane draws. It's useful when a task asks a question or has a finding: you go there in one click.
A reply naming tally.halves, clicked: the task opened in the pane
How: one mechanism in the one renderer
Screen::find_linksalready turns a word into a file link when the file exists. The same resolver now also turns a word intosonny:agent/BOTwhen a bot has that name.links::Namesasks the daemon once per dotted word that may be a name (bots {"name": word, "limit": 1}) and caches the answer. A word that only looks like a name stays plain, like GitHub linking@nameonly when the account exists. When an answer arrives,Screen::relinkmakes the next draw find links again. Your own bot is never linked.'s. A trailing possessive is no part of a name or a path (tally.readme'slinkstally.readme).Watch.pickalready on the agent named lowest on screen (Screen::last_agent), so/statusthen Enter opens the agent a reply just pointed to. The design-system thread agreed to this approach./status opened with tally.halves, the agent named last, already picked
Prompts
George asked that agents name agents more deliberately once names are clickable, without overdoing it. lead.md (after "Lead a reply with what needs the person…") and task.md now say to write an agent's whole name, such as
shop.fix, when pointing the person to it, where it helps them act. This is a default that memory can override, per #410.Not covered
Checks
cargo test -p sonny --bin sonny: 536 passed. New tests:links::may_name,Namesasks once and links once known, and a screen test (name opens the agent in blue on a row that opens elsewhere,'sand the sentence's dot excluded, no OSC 8).cargo clippy -p sonny --all-targetsclean,cargo fmt.Generated by Claude Code