2.7 KiB
2.7 KiB
id, title, status, wave, depends_on, plan, spec, role, model_tier
| id | title | status | wave | depends_on | plan | spec | role | model_tier | |
|---|---|---|---|---|---|---|---|---|---|
| 04-settings-update-ui | Add the Settings update UI | done | 3 |
|
plan.md | ../../specs/agents/requirements/runtime-updates.md | implementer | default |
Task 04: Add the Settings update UI
Acceptance
- Installed managed-agent cards expose a labeled update action with current to target version, queued/running/refreshing progress, bounded output, success/refresh-warning/failure states, and retry.
- HTTP rehydration and WebSocket snapshots/chunks keep update state accurate across disconnects without duplicating output; unmanaged agents omit the control and same-agent maintenance disables it.
- Desktop and phone layouts preserve the existing card composition, at least 44 px touch targets, vertical reachability, and no horizontal overflow.
Verification
cd apps && pnpm --filter @kandev/web test -- --run lib/state/slices/settings/settings-slice.test.ts lib/ws/handlers/agents.test.ts components/settings/agent-runtime-update-control.test.tsxcd apps/web && pnpm run typecheckcd apps && pnpm --filter @kandev/web lint
Files likely touched
apps/web/lib/types/http-agents.tsapps/web/lib/api/domains/settings-api.ts- Existing API export barrels under
apps/web/lib/api/ apps/web/lib/state/slices/settings/types.tsapps/web/lib/state/slices/settings/settings-slice.tsapps/web/lib/state/slices/settings/settings-slice.test.tsapps/web/lib/state/store.ts- Existing settings state re-export files
apps/web/lib/types/backend.tsapps/web/lib/ws/handlers/agents.tsapps/web/lib/ws/handlers/agents.test.tsapps/web/app/settings/agents/page.tsxapps/web/components/settings/installed-agent-card.tsxapps/web/components/settings/agent-runtime-update-control.tsxapps/web/components/settings/agent-runtime-update-control.test.tsx
Dependencies
Task 03 supplies the HTTP DTOs, state machine, conflict response, retained-job list, and WebSocket actions.
Inputs
- Spec
What,API surface,State machine, and desktop/mobile scenarios - Plan
API, state, and WebSocket hydrationandInstalled-agent update control - Existing
useInstallAgent,InstallAgentCard,InstalledAgentCard, settings slice, and agent WS handler - Mobile parity contract: visible labeled action, 44 px target, document scrolling, bounded internal log, no horizontal overflow
Output contract
Report intent/acceptance, base/head SHA, changed entry points, named spec
sections, risk tags (settings-ui, state-hydration, mobile-parity,
accessibility), exact targeted results, and uncertainties. Update only this
task file to done; do not edit plan.md.