feat: add threaded Agent group chats - #16
Merged
Merged
Conversation
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.
Agent discussions now start as group chats. Users choose Claude/Codex members, @ the Agents they want to hear from, and reply in threads. Creating a group starts no provider work. Private member chats remain separate, and returning preserves the selected thread and unsent draft.
“Continue together” adds an optional goal inside a thread without requiring Planner/Reviewer roles. Agents publish new findings and record agreement as explicit assessments. Completion requires current agreement from everyone, resolved issues, and settled turns. Pause, updates, recovery, and turn limits stay visible beside the conversation.
“Compare plans” remains an optional menu action. It reuses member settings in independent comparison sessions and returns the recommendation to an editable group draft. Source evidence is supplied to reviewers and the decision writer, and follow-up checks use the existing workflow governance. The preview now checks actual capacity before enabling Run.
The runtime persists thread-scoped messages, cursors, pending attention, and goal revisions. Read/post/assess tools bind identity to the caller. Mixed-provider acceptance also corrected repeated acknowledgement messages that could keep invalidating agreement.
Validation
npm run test:cipassed lint, production build, and 192 CI unit tests.Workspace members currently support read-only Claude and Codex. Comparisons retain the existing global workflow capacity limit, including idle and archived sessions. Mobile layouts below the Electron minimum width of 1024px are outside this acceptance.
Claude's read-only setting uses native plan permissions with edit tools disabled. The real UI run observed an allowed provider-owned plan file write under
~/.claude/plans/; the project fixture stayed unchanged. This is not an operating-system filesystem sandbox.Acceptance evidence
The final browser pass used eight real provider turns, leaving five idle sessions and no open requests, queue entries, or active leases. It verified completed mixed-provider Thread agreement, the human-gated comparison, full recommendation draft import, the supported 1024px layout, and capacity-only Run blocking.
Feature guide · UI acceptance and screenshots · Real-provider scenarios · Review and regression record
Completed group Thread with both Agents' assessments:
Supported narrow desktop layout: