Repository navigation
tui3: make a team from this chat — + New from this session, then /helpers - #1881
Merged
Merged
Conversation
…it for helpers A person deep in a piece of work can now turn it into a team effort with the conversation that knows the work in charge. `/helpers` (or `+ Make team` beside Tasks in the right-hand column of a chat in no team) makes a new top-level team with the conversation in front as its manager in one store edit, narrows the strip to it, and once the store has taken the edit sends the conversation one turn: propose two or three helpers, ask, start nobody until the person agrees. The person answers in words. Yes is team_start under the usual approval posture; no is the new team_dissolve, which forgets a team that has never held anyone but its manager (no member, former member, subteam or Traffic). It is on the belt only while that is true, for every team however it was made, and the store checks again under its lock. Every rule a team made on the Teams page meets is met here: a fresh name, the next colour, one conversation managing one team and its subteams, and the store's refusal taking the window back. The manual's team manager page has the command, when it is not offered, and cancelling. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The column button beside Tasks is gone. The Teams dropdown's last row, under a rule, is now always `+ New from this session`: it puts `/helpers` and a default ask in the message box, in place of what was there (kept on the drafts ring), and sends nothing until the person presses enter. Because the row is always there, the `Teams ▾` chip shows with no teams yet; only over --host to an engine without teams is it absent. The dropdown no longer prints an up/down, enter, esc footer. Nothing hidden is sent any more. /helpers sends exactly the words after it, and a bare /helpers sends the default ask and shows it in full in the transcript. The ask is in the person's words and names no tool; the model knows it manages the team from the role note every manager gets. A helper the manager starts opens as a tab on that team's strip: when the manager is in front, the strip is set to the team's overlay, without moving focus or the draft. The cursor no longer lands on the new row when no team is shown, and the long-list window follows the cursor's line, now that a rule sits between the teams and the last row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With a team's overlay on the strip, the Teams dropdown no longer offers `+ New from this session`, and /helpers refuses with `/helpers works with no team selected · clear <team> with × first, or use + Add subteam on Teams for a team inside it`. The team /helpers makes is always top-level, and making it from inside another team's overlay read as nesting. Nesting keeps its own doors: + Add subteam on Teams, and a manager's sub-team start. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`/helpers makes this conversation the manager of a new team` joins the tips, after /task's. It is armed only where /helpers would act: after the first exchange, with no team selected, in a conversation that manages none, never on home. It retires the first time /helpers is typed or the Teams dropdown's `+ New from this session` is chosen. The table is twenty-five tips now, and the hints page says so. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
After the person's fourth message, an interactive conversation in no team is told once, in a note of its own, that it may end a reply with one sentence suggesting a team when the work is long and has parts a few helpers could take on at once: "Want to bring in some helpers? Type /helpers and I'll suggest who." Only the person can make the team; the note says so, and says never for small work, never instead of the work, and never again once suggested or declined. It is a note and not a paragraph of prompts/system.md because the page is the fixed prefix every request pays for, held under a budget that only shrinks, and the suggestion only fits a conversation that has gone on. Tasks' workers, automation runs, home's ask here and conversations already in a team are never told. The team manager page says why the chat suggested it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On an ordinary launch every team edit goes through the engine's teams door, which stamps a new member's join time. A member started by team_start always joins after the start that made it was written, and the join bound in the Traffic delivery dropped that start: nothing was addressed to the member, the start watch never woke it, and helpers sat idle while the manager reported them running. The unit test missed it because it added the member with no join time. A member's own start, addressed to its handle within the start grace, is now exempt from the bound; every other line from before the join is still withheld, which the new test also holds. The default /helpers ask no longer says "Don't start anyone until I agree", which the memory that notices rules kept as a standing project rule. It now says what happens next in this exchange: "I'll answer yes, ask for changes, or cancel." Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ZeroPoint95
marked this pull request as ready for review
October 19, 2026 18:59
Choosing the Teams dropdown's row used to fill the message box and nothing else, and the change below was easy to miss. The row now makes the team the moment it is chosen: this conversation becomes its manager, the strip narrows to it and the column turns to its Traffic on the same frame, and the box is given `/helpers` and the ask for the next step. /helpers now asks the team the conversation in front manages for helpers, and makes no team. In a conversation that manages none it changes nothing and says to use + New from this session. A /helpers sent before the store has the row's team is held until it does, so the manager's first step already knows it is one. A refused save empties the box again. The default ask is one sentence: "Suggest two or three helpers for this work, and I'll say yes, change them, or cancel." The tip, the one-time suggestion note, the command rows, the manual and the change entry say where the team is made now. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rsation The click still makes the team at once, under its folder's name, so the strip changes on the frame. Beside the line, the naming role is asked once (five seconds at most, on the cheap naming model) for one or two words naming the work, from the conversation's title or opening words, and the team takes the answer. The rename is a teams-store edit applied only while the team still has the name it was made with and no other team has the new one, so a name the person chose here or in another window is never replaced, and a team that is gone stays gone. A failure, a timeout or an answer that is not a name leaves the folder's name. The receipt says the final name once; a name that arrives after it is said on its own line. session's NameTeamWords asks the short question and cuts to the limit; NameTeam is the group's three. Teams.Name carries an optional words field; an engine without it answers the group's question and the surface cuts the answer to two words. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…elpers # Conflicts: # internal/manual/chat_test.go
…to zeropoint95/bring-in-helpers
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.
Makes a team from the conversation you're in, with that conversation as manager:
+ New from this sessionin Teams ▾, then/helpersto bring in helpers.+ New from this session(last row of Teams ▾, only with no team selected) makes a top-level team at once, this chat as manager, and selects it — the strip and column change on the click/helpers Suggest two or three helpers for this work, and I'll say yes, change them, or cancel.Teams.Namegains an optionalwordslimit)/helpers [words]asks the team this chat manages for helpers and sends exactly your words; it makes no team, and elsewhere says to use the rowteam_dissolve: the manager can take back a team that never held anyone but itself; the tool leaves at the next boundary once anyone joins or Traffic is written, including rotated Traffic.Disbandon Teams also worksteam_startwake on an ordinary launch despite the engine's stampedjoined_at. The membership records its admitted Traffic start ID, so only its own brief crosses that join boundary; reused handles, former memberships, and unrelated pre-join starts or directives do not replay old assignments. Remote edits preserve that identity.How to test:
make pr-readymake build, thenscripts/clean-run.shin a scratch folderTeams ▾→+ New from this session— the team appears at once and is renamed within a few seconds/helperssays to use the row and changes nothingValidation at
23e4f4576b8d1f11afee834d3bfea60d08163f47:BASE=1a5c885a45d35a303a03a6110b9f617d729dcfd9 make pr-ready SHARDS=4passed; every selected suite passed on its first run, including full command, session, and UI suites.make build, and the Windows cross-build passed.🤖 Generated with Claude Code