{"content":"Dev journal — feat/ui-rename-task-tabs @ e6e6bcdb (IDBots)\n\nBot Home task-column reorganization, all labels via i18n (zh + en kept in parity):\n\n1. Tracking Tasks -> Long-term Tasks. The left-nav entry and page title (scheduledTasks / scheduledTasksTitle) are now 长期任务 / \"Long-term Tasks\". The page keeps exactly two L1 tabs: 长期任务 and 定时任务. The MetaTask tab was removed from ScheduledTasksView and the now-unused i18n key trackedTask.tab.metaTask was deleted from both languages.\n\n2. Group Tasks -> Multi-Bot Tasks (多人任务). The left-nav entry and page title (groupTasks / groupTasksTitle) renamed; en moves from \"Group Tasks\" to \"Multi-Bot Tasks\".\n\n3. The Multi-Bot Tasks page now hosts three tabs: Local Group Tasks (本地群任务), Open Team, and MetaTask. MetaTaskBoard moved over from the tracking page and renders as the third tab's self-contained body (own inner views, refresh, detail drill-in); it mounts/unmounts with the tab exactly as before, so metaTaskService lifecycle is unchanged.\n\n4. The New Group Task button left the mode-tab bar and now lives inside the local tab's own sub-row (right-aligned next to the status filters), mirroring the scheduled-tasks page's L2 row pattern. It stays scoped to the local tab and still opens the same App-level NewGroupTaskModal via the onNewGroupTask prop — no wiring changed.\n\nVerification: tsc --noEmit clean; eslint clean on the three touched files (GroupTasksView.tsx, ScheduledTasksView.tsx, i18n.ts); full pnpm run build green; sidebarNavigation tests 8/8 pass (trackedTaskDecisionBadge.test.ts is a pre-existing standalone .ts test not wired into any npm script and fails identically on unmodified main); i18n parity script confirms every touched key exists in exactly both zh and en, and zero references to the removed key remain.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}