Repository navigation
Sonny: task updates in a row gather into one row; /status opens the agent clicked; margin_opens - #384
Merged
Merged
Conversation
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: 4cac240770
ℹ️ 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".
…tus opens the agent clicked Messages between agents that come one after another, with nothing the agent said between them, are one row that counts them (3 task updates); a click lists them and a click on one opens it, with what the agent did about it while saying nothing (a steer, a memory save) under it rather than a row of its own. Quiet rows one after another sit together, a reply right under its message has no Worked-for line, and task updates name a margin note, an approval wait or a quiet task in a few words. A click on an agent in /status opens it in the pane, and back returns to /status, still read. The margin tool asks for a date where currency matters and keeps questions out of notes only as the sole place they are asked; the lead keeps one note per open item, cleans up across the folder's leads, and checks what is written down before asking anyone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGEQoLgfchzWVjvsAVP
… news it holds Codex ends every turn with its Worked-for line, so it stays. Claude Code's collapsed read groups drew complaints once they stopped naming files, so the row gathering messages between agents names the agents too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGEQoLgfchzWVjvsAVP
…ning an agent Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGEQoLgfchzWVjvsAVP
…luster drawn /status rows carry the agent's bot, so another lead of the folder (shown as "first lead" or "lead NAME") opens by its name, and a named lead's own row is the one left unlinked. A message a page drawn again put in a newer cluster resolves to the cluster whose rows are drawn. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGEQoLgfchzWVjvsAVP
… opens it A note the agent puts up or changes opens the margin again even after Esc closed it, by default, under whatever is open over it, as VS Code's task reveal shows a task's output. "unless-closed" leaves it closed after Esc until /margin, and "never" opens it only with /margin. Emptied, or opened to look at with nothing in it, the margin stays until Esc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGEQoLgfchzWVjvsAVP
lydakis
force-pushed
the
claude/project-thread-z1a7qa
branch
from
October 30, 2026 00:10
317cf81 to
11a3249
Compare
… new note Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jkdGEQoLgfchzWVjvsAVP
Merged
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.
Requested by George · project thread
What changes
A lead that hears from many tasks built up a stack of
↳ Task updatesrows, each with the lead's own coordination calls (a steer, a memory save) drawn under it. The agent's words are what matter, so the rest now collapses. This follows how Codex groups adjacent activity into one cell (Explored, its activity groups keep details between calls without breaking the group) and how Claude Code collapses consecutive reads. Claude Code's collapse drew complaints once it stopped naming the files, so the row here still says whose news it holds.↳ 3 task updates · calc.add, calc.neg, calc.div ▸. A click lists them, one row each. A click on one opens it. A single message still draws as itself./verbosedraws every call as before.calc.neg noted,calc.neg took a note away,calc.neg needs you,calc.neg quiet. Before, a margin note line spilled its whole sentence./statusopens it in the pane. Names are in the agents' blue.‹(or Ctrl+[ from the conversation) goes back to/status, which is still read while you are away from it. The footer counter already opened/status(Sonny: a lead shows its tasks' margin notes, and the footer counts agents at work #367). It works in this run too.[sonny] margin_openssays when a note opens it. Before, it closed once it held nothing. That included a margin the person had just opened to look at, which was annoying. Now, emptied or opened empty, it stays until Esc or/margin. By default (always), a note the agent puts up or changes opens it again even after Esc closed it, under whatever is open over it. This is how VS Code'srevealsetting shows a task's output.unless-closedkeeps the old rule: closed with Esc, it stays closed until/margin.neveropens it only with/margin, and notes are drawn in the conversation until then./configsteps through the three values.lead.md: the margin doubles as the person's list of open items. Each item gets one note under a stable id, kept current in place and removed once done, and the reply becomes a one-line pointer.lead.md: a cleanup covers every lead of the folder, not only yours.lead.md: check what is written down (code, docs, tickets, chat history) before asking anyone, and say what was checked.Not changed: the
Worked for …line. Codex ends every turn with it.Screenshots
Three task updates gathered (a real daemon, a scripted model, Sonny in kitty, clicks through X):
A click lists them:
A click on one opens it, with the steer the lead sent about it:
negclicked in/status, opened in the pane with‹back to/status:The lead took its only note away, and the margin stays open:
Closed with
/margin, then a new note: it opens again:Tests
cargo test -p sonnypasses (468),cargo test -p agent-clientpasses,cargo clippy -p sonny -p agent-client --all-targets -- -D warningsandcargo fmt --checkare clean. New and changed tests cover the following:/statuslinks on every agent except this window's ownmargin_opensvalue: staying once emptied, reopening after Esc,/margininnever, and parsing the keyGenerated by Claude Code