A consolidation release: the Lanes, Missions, and Run surfaces shed several legacy panels in favour of fewer, denser screens; the chat transcript adds an in-line file-changes panel; a new Quick Run menu and stacked-run tabs land on the Run page; and the renderer picks up batched user-preference persistence, a visibility-aware watchdog, and a unified warmup timer.Documentation Index
Fetch the complete documentation index at: https://ade-app.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
Workspace surface consolidation
Lanes UI streamlined
A round of legacy lane panels were retired in favor of the consolidated lane workspace:LaneInspectorPane,LaneRow,LaneTerminalsPanel,LaneConflictsPanel,LaneOverlayConfigPanel, and theTilingLayoutshell are gone — their roles fold intoLanesPageand the existing lane sidebar.- The standalone merge-simulation panel (
MergeSimulationPanel,ConflictFileDiff,extensionToLanguage) is removed; merge previews now ride through the unified Conflicts experience. LanePrPanel(and its tests) and the inline PR terminal (InlineTerminal) are removed; PR work is fully driven from the PRs page and the Path-to-Merge tab.- The
LaunchPanelterminal launcher is gone — the same actions live in the new Quick Run menu and the existing Work surface.
Missions UI consolidation
The bespoke mission micro-pages were absorbed into the main Missions experience:MissionControlPage,MissionPhaseBadge,UsageDashboard, andWorkerTranscriptPaneare removed — their content now renders insideMissionsPageand the associated panels there.- The
WorkerDetailSlideOutslideout for individual worker inspection was retired; the same details surface inside the worker timeline.
Run page replaces Project Home
The dedicatedProjectHomePage is removed. The Run tab (formerly “Project Home”) is the canonical place to start work, monitor processes, and browse stacked runs. Three new components ship with it:
QuickRunMenu— a Radix dropdown attached to the Run header that lists the project’s stack buttons (start, restart, stop, terminal) for the currently selected lane.RunStackTabs— a tab strip for switching between concurrently running stack entries on the Run page.- A repositioned
RunNetworkPanelandProcessMonitorcontinue to render under the lane selector with the same wiring.
Chat: in-line file-changes panel
A newChatFileChangesPanel renders the turn’s file diff summary directly inside the agent chat transcript using the existing MonacoDiffView. It replaces the older ChatTurnDiffPanel / ChatTurnDivider / ChatContextMeter triplet, which were retired together. The bottom drawer surfaces these per-turn diffs alongside Tasks, Subagents, and the existing tool log.
Conflict resolver cleanup
The standalonePostResolutionActions and ResolverTerminalModal views are removed; resolver flows now run through the conflict-resolver workspace without modal pop-overs.
Settings: Automations section retired
The Settings → Automations panel (AutomationsSection) is removed because the dedicated Automations tab covers the same surface area. The same applies to the legacy RuleCard automations component.
Chat readability
Wider assistant bubbles on large displays
Assistant message cards now scale up on wider screens. The bubble width changed from a flatmax-w-[78ch] to max-w-[min(96ch, 75%)], so long replies use more of a wide window without ever reaching edge-to-edge.
Tasks and Subagents panel typography
Type sizes acrossBottomDrawerSection, ChatTasksPanel, ChatSubagentsPanel, and ChatSubagentStrip were nudged up (9px → 11px, 10px → 12px, 11px → 13px) for legibility. Labels, descriptions, and buttons moved off the monospace fallback to the system sans, with monospace kept where it actually belongs (timestamps, task IDs, tool names, status badges). Icons and padding got a small bump for better visual weight.
SmartTooltip across the renderer
A newcomponents/ui/SmartTooltip.tsx provides the project’s standardized tooltip — used throughout the lane, run, chat, and CTO surfaces. Replaces a handful of one-off tooltip patterns with a single primitive.
Renderer performance
Watchdog paused when the tab is hidden
The 1 s renderer event-loop-stall watchdog inapps/desktop/src/renderer/main.tsx now starts and stops with document.visibilityState. Hidden windows no longer churn the interval, and the watchdog re-arms cleanly when the window comes back into focus.
Single warmup timer for project hydration
scheduleProjectHydration previously juggled two cascading timers (a 1 200 ms lane warmup and a 1 800 ms provider-mode warmup). Both are now driven by a single warmupTimer that fires after max(1 200, 1 800) ms and dispatches both refreshes together. Fewer redundant network probes after each project open.
Atomic user-preferences store
theme, terminalPreferences, and smartTooltipsEnabled now persist into a single ade.userPreferences.v1 JSON entry instead of three separate localStorage keys. The three legacy keys are still read as a one-time migration fallback, so existing installs keep their saved settings on first launch.
Module-scoped config objects
TheOutcomeDot color/icon map in IntegrationTab.tsx was lifted to a module-level OUTCOME_DOT_CONFIG constant so it stops being reconstructed on every render. EMPTY_TERMINAL_ATTENTION in AppShell.tsx was already module-scoped — verified during the audit.
Configurable terminal font family
appStore gained a DEFAULT_TERMINAL_FONT_FAMILY export (ui-monospace → SFMono-Regular → Menlo → Monaco → "Cascadia Mono" → "JetBrains Mono" → "Geist Mono" → monospace) and the terminal preferences now carry a fontFamily field so it can be customized later. Existing renderers fall back to the default if the field is missing.
Main-process services
PTY service rewrite
apps/desktop/src/main/services/pty/ptyService.ts was reworked (≈ 279 lines changed) to clean up session lifecycle and resize handling. Companion test updates land alongside.
Process service simplification
processService.ts shed roughly 350 net lines while keeping the same public surface, with substantial test coverage added (processService.test.ts +219). The result is a tighter process registry without behavioural drift in process.start logging or env propagation.
Agent chat service refactor
agentChatService.ts was reorganized (≈ 300 lines moved) and its tests gained ≈ 440 lines of new coverage to lock down the new shape. Tool-selection paths (refreshOpenCodeSessionToolSelection) and the Claude V2 message builder both got incremental fixes.
CTO state and operator tools
ctoStateService.tsgrew by ≈ 380 lines for richer pipeline / persona state tracking.ctoOperatorTools.ts(+142) and its tests (+232) round out the CTO operator API surface.
OAuth redirect flow
oauthRedirectService.ts (+730) and its tests (+549) flesh out the lane OAuth redirect flow — more failure modes covered, more states observable from runtimeDiagnosticsService.
Lane service hardening
laneService.ts (+128) and runtimeDiagnosticsService.ts (+55) tightened lane bring-up and runtime diagnostics; rebase / repair edge cases now have explicit handling.
Project + IPC plumbing
main.ts(+46) for desktop startup adjustments.registerIpc.ts(+18) for the new IPC routes.projectConfigService.ts,prService.ts,adeProjectService.tsreceived small targeted fixes.
Settings polish
GeneralSection.tsx(+46): general settings tweaks aligned with the new typography and tooltip primitives.ProxyAndPreviewSection.tsx(+21): proxy-and-preview UI cleanup.DiagnosticsDashboardSection.test.tsx: regression coverage added.
Test stability
A round of test drift caused by the UI consolidation was fixed across four files:TerminalView.test.tsx— addedDEFAULT_TERMINAL_FONT_FAMILYto theappStoremock andfontFamilyto theterminalPreferencesfixtures (8 tests).AgentChatMessageList.test.tsx— assertion updated to the widened bubble class (1 test).appStore.test.ts—fontFamilyadded to terminal-preference expectations and persistence checks switched to the unifiedade.userPreferences.v1store (2 tests).CtoSettingsPanel.test.tsx— tests now navigate to the correct sub-tab before querying the DOM; assertions for removed UI (Configured/Needs workbadges and theCTO runtimeheader) were dropped; tag and button matchers updated for the new layout (11 tests).
apps/desktop/src/shared/chatTranscript.test.ts file lands shared transcript-helper coverage.
Documentation
The on-site docs at ade-app.dev/docs received a readability pass on the densest settings, configuration, and tools pages: tighter ledes, clearer section openers, and short table-of-contents Cards at the top of long reference pages. A new## Applied section was appended to docs/OPTIMIZATION_OPPORTUNITIES.md describing the renderer optimizations that landed this release.
The internal architecture notes were reorganized: legacy docs/architecture/* and docs/final-plan/* trees were removed in favor of a new docs/features/* hierarchy with per-feature READMEs (lanes, missions, chat, cto, computer-use, terminals-and-sessions, sync-and-multi-device, automations, conflicts, files-and-editor, history, linear-integration, memory, onboarding-and-settings, pull-requests, workspace-graph, agents, context-packs, project-home). The overall docs layout is captured in a top-level docs/ARCHITECTURE.md and docs/README.md.
Tests
- All 8
apps/desktopvitest shards green; typecheck clean;npm run buildsucceeds. - New shared transcript helpers covered by
apps/desktop/src/shared/chatTranscript.test.ts. - Existing 35-test
appStore.test.tssuite migrated to the unified preferences store without losing coverage.