dashboard: provider badge on task cards + timeline rows (cursor:composer-2 / claude-code:sonnet-4-6) #955
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#955
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User story
As an operator scanning the board and timeline, I want a small inline badge showing which provider + model executed a task ("via cursor:composer-2", "via claude-code:sonnet-4-6"), so I can correlate behavioural differences and cost variance with the underlying engine without clicking into the row.
Context
Today nothing in the UI distinguishes a cursor-backed run from a claude-code-backed run. Multiple agent types now mix providers (dev=cursor, code-lead=claude, designer=claude, etc.) and the chips help when:
Acceptance criteria
Server / SSE
TaskRecordalready carriesmodel. Addprovider: AgentProvider(already a type in@claude-hooks/shared) so the UI doesn't have to infer.task_historyrow + the live SSE envelope both exposeprovider. New columntask_history.provider TEXT NOT NULL DEFAULT 'claude-code'plus a one-shot backfill from the agent type config.provider.Frontend
<ProviderBadge provider model>component. Compact pill shape, uses Tokyo Night palette, lucide icon per provider where one fits (square sparkle for cursor, asterisk for claude-code, generic chip for others).unknown(legacy row before the migration ran), render a neutral "?" chip with a tooltip explaining the missing data.prefers-reduced-motion— no spin/pulse animation on the badge.Tests
providermigrates toclaude-codeand renders correctly.Out of scope
References
AgentProvidertype already exists in@claude-hooks/shared.apps/web/CLAUDE.mdfoundation primitives (badge follows pill radius + token color rules).