3.1 KiB
3.1 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| 03-responsive-task-actions-setting | Responsive Task Actions setting | done | 2 |
|
plan.md | ../../specs/tasks/requirements/mcp-task-agent-profile-default.md |
Task 03: Responsive Task Actions Setting
Acceptance
- Task Actions displays accessible Current task profile and Workspace default profile choices. Visible plain-language copy explains that the setting is used when an agent calls a task-creating Kandev MCP tool without
agent_profile_id, identifiescreate_task_kandevas the only affected tool for tasks and subtasks, namesspawn_session_kandevand UI-created tasks as unaffected, and explains the explicit-profile override. Each option describes what it does, when to choose it, and the cost risk of inheriting the current profile. Secondary tooltip help is keyboard- and touch-reachable but is not required to understand the setting. Missing or unknown server values selectcurrent_task. - Choosing a value updates the local settings draft. Save changes sends only
mcp_task_agent_profile_default; a failed save keeps the draft selected and leaves the stored preference unchanged. - HTTP boot hydration, WebSocket updates, reloads, and narrow mobile layouts preserve the selected value without clipped text or horizontal page overflow.
Verification
cd apps && pnpm --filter @kandev/web test -- lib/ssr/user-settings.test.ts lib/ws/handlers/users.test.ts components/settings/mcp-task-agent-profile-default-settings.test.tsx
cd apps/web && pnpm run typecheck
Files Likely Touched
apps/web/lib/types/http-user-settings.tsapps/web/lib/types/backend.tsapps/web/lib/state/slices/settings/types.tsapps/web/lib/state/slices/settings/settings-slice.tsapps/web/lib/ssr/user-settings.tsapps/web/lib/ssr/user-settings.test.tsapps/web/lib/ws/handlers/users.tsapps/web/lib/ws/handlers/users.test.tsapps/web/hooks/use-ensure-user-settings.test.tsapps/web/hooks/use-user-display-settings.tsapps/web/components/settings/editors-settings-state.tsxapps/web/components/settings/mcp-task-agent-profile-default-settings.tsxapps/web/components/settings/mcp-task-agent-profile-default-settings.test.tsxapps/web/components/settings/general-settings.tsxapps/web/components/settings/general-nav.ts
Dependencies
01-backend-preference-contractdefines the wire field and enum values.
Inputs
- Spec: What, API surface, mobile scenario, and failed-save scenario.
- Plan: Settings state and wire mapping; Task Actions control.
- Patterns:
ArchiveConfirmationSettingsfor the shared explicit-save workflow andVoiceModeSettingsfor accessible descriptive radio choices. - Follow
apps/web/AGENTS.mdand the/mobile-parityskill. Keep touch targets reachable and allow option descriptions to wrap at narrow widths.
Output Contract
Report state/wire/UI changes, responsive decisions, focused tests and typecheck results, files touched, blockers, and residual UI risks. Set this task to done and update its plan checkbox only after targeted verification passes.