2.5 KiB
| kind | slug | title | plan_slug | epic_slug | status | priority | tenant_id | owner | cursor_todo_id | updated_at |
|---|---|---|---|---|---|---|---|---|---|---|
| task | direct-agent-chat | Chat directly with saved agents | workspace-communications | agent-participation | ready | P1 | global | unassigned | null | 2026-10-22 |
Task summary
Let users select an active saved agent in the AI Chat tab and start or resume a durable direct conversation with its pinned version and policies.
Description
Add an agent selector and persistent direct-agent conversations to Chat mode. Starting a conversation pins an agent version for reproducibility; updates may be adopted explicitly. Each send is workspace-authorized and enqueues through the durable job contract using the selected agent's policies. This task owns conversation authorization, version pinning, history, selection, and enqueueing—not harness execution, streaming projection, final-message persistence, or notifications.
Subtasks
- Add direct-agent conversation and membership/message linkage with generated migration and workspace-scoped API.
- Add Chat-mode agent selector, new/resume conversation flows, and explicit version-update handling.
- Enqueue messages through the durable job contract and expose stable conversation/source identifiers for the delivery layer.
- Add tenant isolation, disabled-agent, version pinning, cancellation, and conversation-history tests.
Owner or assignee
unassigned
Status
ready
Estimation
L
Acceptance criteria
-
Selection uses the canonical registry API; a same-workspace agent is not automatically usable or entitled to the user's other conversations/project objects.
-
Context reads/tools require scoped reviewed grants and current authority; creating a direct chat never silently grants private project/object access. Reuse durable message/author contracts rather than inventing agent identities.
-
Users can select only active agents they are authorized to use and can resume their own permitted conversations.
-
Every conversation and run pins an immutable agent version; updates never silently change an existing conversation.
-
Agent instructions, tool/context policy, budget, model role, and harness route are enforced server-side.
-
Conversation messages and enqueued jobs preserve workspace, pinned version, source, and audit linkage; streaming/tool/approval rendering is supplied by the shared delivery task.
-
pnpm lint && pnpm type-check && pnpm testpass.
Links to related Epic / Plan
- Epic:
./Epic-agent-participation.md - Plan:
../Plan-workspace-communications.md