Skip to content

feat(chat): task pill and session tabs replace the branch pill - #6425

Open
rafavalls wants to merge 1 commit into
rafavalls/task-owns-branchfrom
rafavalls/task-pill-session-tabs
Open

feat(chat): task pill and session tabs replace the branch pill#6425
rafavalls wants to merge 1 commit into
rafavalls/task-owns-branchfrom
rafavalls/task-pill-session-tabs

Conversation

@rafavalls

@rafavalls rafavalls commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

Stack 2 of 3 — targets rafavalls/task-owns-branch (#6424), not main.

The workspace header's context control becomes the task rather than the branch, since a task now owns the branch its sessions share. This is the bulk of the diff.

  • TaskPill — switch task, or add the current chat to the board.
  • SessionTabs — the task's sessions as tabs, with live per-session status and a "new chat in this task" action.
  • TaskCrumb — the linked task, as a crumb back to the board.
  • threadStatusStyle / statusPriority move into task-board/config so the board and the session tabs render status identically. A failed run whose failure is settled history (superseded, or died after already delivering — isResolvedRunFailure) no longer paints as an actionable error; painting those red is what made cards the reviewers had approved look broken.
  • The task dialog grows a sessions list and comment & re-run, which threads feedback through TASK_BOARD_ITEM_RERUN into the re-run's prompt (the API side is included here rather than split off, since the dialog needs the feedback field to typecheck).

Testing

  • tsc --noEmit clean on apps/web and apps/api.
  • 28 tests pass across the pills specs and enqueue-super-agent.test.ts.

Notes for the reviewer

task-dialog.tsx is a large diff; the sessions list and the comment & re-run control are the substance, the rest is the surrounding restructure. BranchPill itself is not deleted — branch-picker.tsx still uses it.

🤖 Generated with Claude Code


Summary by cubic

Switches workspace context from branch to task: the chat header replaces the branch pill with a TaskPill and SessionTabs, plus a TaskCrumb back to the board. Unifies status styling (resolved failures no longer paint as errors) and adds comment & re-run in the task dialog.

  • TaskPill: switch task or add the current chat to the board; shows branch in the tooltip; loose chats read “No task.”
  • SessionTabs: tabs for a task’s sessions with live per-session status; includes “New chat in this task;” hidden for loose chats.
  • TaskCrumb: quick link back to the task on the board.
  • Status rendering: move threadStatusStyle and statusPriority to task-board/config; board and tabs render status identically; settled failures (e.g., superseded or after-delivery deaths) no longer render as actionable errors.
  • Task dialog: sessions list and “Comment & re-run;” feedback flows through TASK_BOARD_ITEM_RERUN into the rerun prompt; new i18n keys added (en and pt-BR).
  • API/tooling: TASK_BOARD_ITEM_RERUN input now accepts optional feedback; rerun prompt copy leads with “Changes were requested;” tests updated. BranchPill remains in use in branch-picker.tsx.

Migration

  • If you invoke TASK_BOARD_ITEM_RERUN directly, you may now pass feedback to steer reruns; no breaking change.
  • Update any copy assertions expecting “A reviewer requested changes” to “Changes were requested.”

Written for commit 946ed06. Summary will update on new commits.

Review in cubic

The workspace header's context control becomes the TASK rather than the
branch, since a task now owns the branch its sessions share:

- TaskPill: switch task, or add the current chat to the board.
- SessionTabs: the task's sessions as tabs, with live per-session status
  and a "new chat in this task" action.
- TaskCrumb: the linked task, as a crumb back to the board.
- threadStatusStyle/statusPriority move to task-board/config so the board
  and the session tabs render status identically. A `failed` run whose
  failure is settled history (superseded, or died after delivering) no
  longer paints as an actionable error.
- Task dialog grows a sessions list and comment & re-run, which threads
  feedback through TASK_BOARD_ITEM_RERUN into the re-run's prompt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claude PR authored by a coding agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant