Skip to content

feat(web): tasks board — org tasks as kanban/list with prompt-first create#3865

Open
rafavalls wants to merge 2 commits into
mainfrom
rafavalls/tasks-board
Open

feat(web): tasks board — org tasks as kanban/list with prompt-first create#3865
rafavalls wants to merge 2 commits into
mainfrom
rafavalls/tasks-board

Conversation

@rafavalls

@rafavalls rafavalls commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a Tasks board at /$org/tasks showing the org's tasks (threads) as a kanban or list, driven entirely by real data — no mocks.

  • Columns are the real thread statuses: in progress, needs review, done, failed (the virtual expired status buckets into failed but is never written back). Status icons/colors reuse lib/task-status.ts so the board speaks the same language as the tasks panel.
  • Drag to move: dropping a card on another column persists the status through ThreadManager.setStatus (optimistic + server).
  • Live data: reads the same useThreads() store the sidebar uses, so cards update as runs progress; "Load more" pages through history.
  • Filters: Linear-style multi-select chips for Agent (from the agents actually present on the board) and Origin (started by a person vs automation-triggered), plus a list/board layout toggle.
  • New task: a prompt-first dialog — describe the task, pick the agent (defaults to Decopilot), and the prompt is handed to a freshly created thread via the autosend channel (the same handoff the chat uses for follow-up tasks), so the agent starts working immediately.
  • Sidebar gets a Tasks entry between Home and Library.

Testing

  • bun run check, bun run lint, bun run fmt all pass (the 2 lint warnings are pre-existing on main in packages/sandbox/daemon/org-fs).
  • UI extracted from the product-redesign mockup branch and rewired onto real threads.

🤖 Generated with Claude Code


Summary by cubic

Adds a Tasks board at /$org/tasks to view and manage org tasks as a kanban or list. Supports live updates, drag-and-drop status changes, filters, and a prompt-first flow to create and start tasks immediately.

  • New Features

    • Tasks board with real statuses as columns (in progress, needs review, done, failed; expired shows under failed but isn’t persisted).
    • Drag a card between columns to persist status via the thread store (optimistic + server).
    • Live data from useThreads() with “Load more” pagination.
    • Filters: Agent (from agents on the board) and Origin (manual vs automation). Toggle between list and board.
    • New task dialog: write a prompt, pick an agent (defaults to Decopilot), create a thread, and autosend the prompt so work starts right away.
  • Bug Fixes

    • Wrapped the board in the routed content card so it renders inside the standard page chrome (not on the sidebar background).

Written for commit 852279a. Summary will update on new commits.

Review in cubic

rafavalls and others added 2 commits June 12, 2026 14:46
…reate

Adds /$org/tasks: the org's tasks (threads) on a board whose columns are
the real thread statuses (in progress, needs review, done, failed).
Dragging a card to another column persists the status through the thread
store; data comes from the same useThreads() store the sidebar uses, so
rows stay live as runs progress. Linear-style filters narrow by agent and
by origin (manual vs automation-triggered), with a list layout toggle.

New task is a prompt-first dialog: the prompt is handed to a freshly
created thread via the autosend channel (same handoff the chat uses), so
the chosen agent starts working immediately. Sidebar gets a Tasks entry
between Home and Library.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The board rendered bare on the sidebar background; every routed page sits
in the rounded card shell (see Library). Wrap the page in the same chrome.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant