Skip to content

feat(tasks): group related threads with shared workbenches - #11587

Closed
adam-peter wants to merge 36 commits into
pingdotgg:mainfrom
adam-peter:t3code/implement-t3code-plan
Closed

adam-peter wants to merge 36 commits into
pingdotgg:mainfrom
adam-peter:t3code/implement-t3code-plan

Conversation

@adam-peter

@adam-peter adam-peter commented Sep 13, 2026 •

Copy link
Copy Markdown

What Changed

Adds optional Tasks for related agent threads across web, desktop, and mobile.

  • Group threads across projects on one environment. Each task has a primary project; threads keep their own checkouts and belong to at most one task.
  • Create empty tasks, add existing threads through drag-and-drop or a searchable picker, and start new threads through the normal draft flow with the task preselected.
  • Keep the sidebar’s existing ordering and lifecycle sections. Expanded tasks preview six threads by default, with a configurable limit and remembered Show all state.
  • Share files, terminals, and browser tabs across a task’s threads, anchored to its primary project. Diffs remain per thread.
  • Settle, snooze, pin, archive, or delete a task as a unit. Settlement respects member guards; explicitly un-settling restores members’ previous states. New activity brings the task back, and deletion keeps threads by default.

Why

Research, implementation, and review often span several conversations. Tasks keep that work together, preserve the workbench when switching conversations, and provide one place to manage attention. Ungrouped threads continue to work as before.

Architecture

  • Add a server-owned task aggregate and optional thread membership using the existing event-sourced command, decider, and projection pipeline. Lifecycle cascades remain atomic and replayable.
  • Share grouping and lifecycle derivation in client-runtime, with separate web and mobile renderers. Capability checks and opt-in task streams preserve compatibility with older clients and servers.
  • Separate task workbench ownership from thread execution context, with server authorization and resource cleanup. Reuse existing draft creation and mobile queued-creation paths.

Details: Product decisions · Original design discussion. These are sanitized, unlisted copies; the design discussion records the initial design, including choices revised during implementation.

Validation

Focused lifecycle, compatibility, grouping, workbench, and sidebar tests and scoped typechecks passed during implementation. The latest sidebar drag fix passed 111 tests. Native-client and remote/tunnel runtime verification remains pending.

UI Changes

Before/after screenshots and an interaction video are pending. This is a draft for discussion of the overall feature scope.

Checklist

  • This PR is small and focused
    • I will split this into separate PRs and create a stack later
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

@github-actions github-actions Bot added size:XXL 1,000+ changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Sep 13, 2026
@juliusmarminge

Copy link
Copy Markdown
Member

Thanks for the PR. We're not taking changes to the orchestration and provider layers right now: that part of the server is being rewritten for V2, and merging into the current code would either conflict with or be thrown away by that work.

Closing for now. If this is still an issue once V2 lands, please reopen (or open a fresh PR against the new code) and we'll take a proper look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants