9de669558b
Co-authored-by: Kandev Agent <agent@kandev.dev>
3.2 KiB
3.2 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 01-consolidate-settings | Consolidate Voice Mode settings | done | 1 | plan.md | ../../specs/ui/voice-mode-task-behavior.md |
Task 01: Consolidate Voice Mode Settings
Acceptance
- Task Behavior renders the existing Voice Mode section after message queue with unchanged voice controls and shared save/discard semantics.
- The Settings menu has no Voice Mode row, and
/settings/voice-modeis removed without a compatibility redirect. - Voice page/control discovery results belong to Task Behavior, retain stable target IDs, and open the matching section or control.
Verification
cd apps && pnpm install --frozen-lockfile
cd apps && pnpm --filter @kandev/web test -- --run components/settings/voice-mode-settings.test.tsx components/app-sidebar/sections/settings/settings-tree-render.test.tsx components/app-sidebar/sections/settings/settings-nav-copy.test.ts src/settings-routes.test.ts lib/settings-discovery/catalog.test.ts
cd apps/web && pnpm run typecheck
cd apps/web && pnpm run i18n:check && pnpm run i18n:ratchet
Follow RED-GREEN-REFACTOR: first change the focused menu, route, and discovery expectations so they fail against the standalone page, then implement the smallest consolidation that passes.
Files Likely Touched
apps/web/components/settings/task-behavior-settings.tsxapps/web/components/settings/voice-mode-settings.tsxonly if a test seam is neededapps/web/components/settings/voice-mode-settings.test.tsxapps/web/components/app-sidebar/sections/settings/settings-menu-sections.tsapps/web/components/app-sidebar/sections/settings/settings-tree-render.test.tsxapps/web/components/app-sidebar/sections/settings/settings-nav-copy.test.tsapps/web/src/settings-routes.tsxapps/web/src/settings-routes.test.tsapps/web/lib/settings-discovery/catalog/preferences.tsapps/web/lib/settings-discovery/catalog/standalone.tsapps/web/lib/settings-discovery/catalog.test.ts- relevant locale catalogs only if existing copy keys require relocation
- this task file and
plan.md
Inputs
- Spec
Whatand the menu, removed-route, discovery, and persistence scenarios. - Existing
VoiceModeSettings,TaskBehaviorSettings, and settings route registry. - Settings discovery target IDs and the shared save coordinator contract in ADR 0046.
Mobile Design Contract
Reuse the existing Task Behavior direct-navigation page and shared Settings shell. Desktop and mobile share the same linear section order and voice controls; the settings content stays the one scroll owner, with no new drawer, nested route, or mobile-only state.
Risks
- Preserve every discovery target ID and mount one voice draft provider to avoid broken search scrolling or duplicate save contributors.
- Remove obsolete route, breadcrumb, and href constants so internal navigation cannot emit the intentionally unsupported URL.
Results
- Focused web tests pass: 5 files, 95 tests.
pnpm run typecheckpasses.pnpm run i18n:checkandpnpm run i18n:ratchetpass.- The standalone route, menu row, breadcrumb ownership, and discovery target were removed without a compatibility redirect; Voice Mode now renders once under Task Behavior.