{"content":"IDBots dev journal — commit 6e7a5193: refactor: rename Delegated Tasks fold to Autonomous Tasks\n\nWHY\n「委派任务」/ \"Delegated Tasks\" was the third name for the sidebar folder that collects machine-started cowork sessions, and the owner rejected it too: delegation describes a HAND-OFF, but the rows inside are runs the Twin Bot drives itself — long-term task advances and orchestration turns it opens and keeps working without the owner in the loop. The final name is 自主任务 / \"Autonomous Tasks\", which says HOW those rows run instead of implying who handed them to whom.\n\nWHAT CHANGED\nPure rename, no behaviour change — the same keys, identifiers and strings were introduced two commits ago (bad8b550-era fold work), so nothing here is deployed state except the i18n labels themselves.\n- i18n keys AND values, both locale blocks: coworkDelegatedTasks -> coworkAutonomousTasks (委派任务 -> 自主任务 / Delegated Tasks -> Autonomous Tasks), coworkDelegatedTasksCount -> coworkAutonomousTasksCount ({count} 个自主任务 / {count} autonomous tasks), coworkDelegatedTasksUnread -> coworkAutonomousTasksUnread (values unchanged), coworkMoveToDelegated -> coworkMoveToAutonomous (移入自主任务 / Move to Autonomous Tasks), coworkMoveOutOfDelegated -> coworkMoveOutOfAutonomous (移出自主任务 / Move out of Autonomous Tasks).\n- Identifiers: shouldFoldIntoDelegatedTasks -> shouldFoldIntoAutonomousTasks, SessionsByDelegatedFold -> SessionsByAutonomousFold, splitSessionsByDelegatedFold -> splitSessionsByAutonomousFold, isInDelegatedFold -> isInAutonomousFold, onToggleDelegatedFold -> onToggleAutonomousFold (+ the sidebar's handleToggleAutonomousFold / listOnToggleAutonomousFold, the list's toggleAutonomousFold / noopToggleAutonomousFold, the item's inAutonomousFold / autonomousFoldLabel), and the renderer-only menu key 'delegated-fold' -> 'autonomous-fold'.\n- DOM hook: data-testid=\"delegated-tasks-section\" -> \"autonomous-tasks-section\".\n- Doc comments across src (sessionAutoGrouping, Sidebar, CoworkSessionList, CoworkSessionItem, CoworkSearchModal, sessionListRevealBudget, coworkSlice, services/cowork, renderer types + electron.d.ts, coworkStore, sqliteStore) and the test headers. The sessionAutoGrouping module doc was rewritten rather than sed'd: it used to justify the OLD name (\"runs the app delegated on their behalf\") and now explains the new one (\"the Twin Bot drives them autonomously, without the owner in the loop\").\n\nDELIBERATELY UNCHANGED (deployed names and other concepts)\n- The DB column `fold_override`, the `cowork:session:foldOverride` IPC channel, setSessionFoldOverride / updateSessionFoldOverride.\n- AUTO_TASKS_EXPANDED_STORAGE_KEY and its stored value 'coworkAutoTasksExpanded' (renaming the key would silently reset every install's fold preference).\n- isAutoCreatedSession, autoOrigin, the autoSessions prop, the [编排任务] orchestration/twin-delegation concepts (acceptance_delegate, twin_delegate, longTermDelegationAnchor), and every \"delegated worker\" string in the orchestration prompts.\n\nVERIFICATION\nnpx tsx --test tests/sessionAutoGrouping.test.ts tests/coworkUnreadAutoOrigin.test.ts tests/trackedTaskDecisionBadge.test.ts tests/browserCoworkSlice.test.ts = 31 pass / 0 fail; node --test tests/i18nEnglishCoverage.test.mjs tests/sidebarNavigation.test.mjs tests/coworkSessionFoldOverride.test.mjs = 14 pass / 0 fail; plus a wider sweep green (coworkSessionAutoOrigin, orchestrationOriginMigration, coworkSessionItemCopyMenu, browserSessionHomeEntryStatic = 13 pass; sessionListRenderBudget, coworkSessionAvatars, browserSessionHomeBadge, sessionViewGrouping, orchestratorSessionTitle, coworkSessionSortAnchor = 45 pass); pnpm run compile:electron and pnpm run build (tsc + vite) clean.\n\nFinal grep over src/ and tests/ for 委派任务|DelegatedTasks|DelegatedFold|InDelegated|MoveToDelegated|MoveOutOfDelegated|delegated-tasks-section returns only two hits, both in tests/orchestratorSessionTitle.test.ts:33/36 — a Chinese natural-language objective string used as a fixture for the [编排任务] orchestration-title feature, i.e. the delegation concept this change is explicitly told to keep, not a fold reference. No fold-facing name survives anywhere.\n\nFiles: src/renderer/services/i18n.ts, src/renderer/utils/sessionAutoGrouping.ts, src/renderer/components/Sidebar.tsx, src/renderer/components/cowork/CoworkSessionList.tsx, src/renderer/components/cowork/CoworkSessionItem.tsx, src/renderer/components/cowork/CoworkSearchModal.tsx, src/renderer/components/cowork/sessionListRevealBudget.ts, src/renderer/store/slices/coworkSlice.ts, src/renderer/services/cowork.ts, src/renderer/types/cowork.ts, src/renderer/types/electron.d.ts, src/main/coworkStore.ts, src/main/sqliteStore.ts, tests/sessionAutoGrouping.test.ts, tests/coworkSessionFoldOverride.test.mjs, tests/coworkSessionAutoOrigin.test.mjs, tests/sessionListRenderBudget.test.mjs","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}