Skip to content

int lane test - #12

Closed
arul28 wants to merge 13 commits into
mainfrom
ade/integration-mlzrpyue-97ed4d5b
Closed

int lane test#12
arul28 wants to merge 13 commits into
mainfrom
ade/integration-mlzrpyue-97ed4d5b

Conversation

@arul28

@arul28arul28 commented Feb 23, 2026

Copy link
Copy Markdown
Owner

test

Summary by CodeRabbit

Release Notes

  • New Features
    • Copy text to clipboard functionality
    • Open files in external editors (VS Code, Cursor, Zed, Finder)
    • Organize lanes into folders with collapsible grouping
    • Improved terminal session management with filtering and quick-launch options
    • Mission plan progress visualization and lane cleanup tools
    • Agent teams support in mission execution policies
    • Reasoning effort configuration for mission planning

@coderabbitai

coderabbitaiBot commented Feb 23, 2026

Copy link
Copy Markdown
ℹ️ Recent review info

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Free

📥 Commits

Reviewing files that changed from the base of the PR and between 4982b08 and 497b947.

⛔ Files ignored due to path filters (5)
  • .claude/plans/velvet-mixing-rabin.md is excluded by !.claude/**
  • apps/desktop/package-lock.json is excluded by !**/package-lock.json
  • assets/claude.svg is excluded by !**/*.svg
  • assets/codex.svg is excluded by !**/*.svg
  • assets/terminal.svg is excluded by !**/*.svg
📒 Files selected for processing (34)
  • apps/desktop/package.json
  • apps/desktop/src/main/services/ipc/registerIpc.ts
  • apps/desktop/src/main/services/lanes/laneService.ts
  • apps/desktop/src/main/services/missions/missionPlanningService.ts
  • apps/desktop/src/main/services/orchestrator/aiOrchestratorService.ts
  • apps/desktop/src/main/services/orchestrator/executionPolicy.test.ts
  • apps/desktop/src/main/services/orchestrator/executionPolicy.ts
  • apps/desktop/src/main/services/orchestrator/orchestratorService.ts
  • apps/desktop/src/main/services/pty/ptyService.ts
  • apps/desktop/src/main/services/state/kvDb.ts
  • apps/desktop/src/preload/global.d.ts
  • apps/desktop/src/preload/preload.ts
  • apps/desktop/src/renderer/components/files/FilesPage.tsx
  • apps/desktop/src/renderer/components/lanes/LaneList.tsx
  • apps/desktop/src/renderer/components/lanes/LaneTerminalsPanel.tsx
  • apps/desktop/src/renderer/components/lanes/MonacoDiffView.tsx
  • apps/desktop/src/renderer/components/missions/MissionsPage.tsx
  • apps/desktop/src/renderer/components/missions/OrchestratorDAG.tsx
  • apps/desktop/src/renderer/components/missions/PhaseProgressBar.tsx
  • apps/desktop/src/renderer/components/missions/PolicyEditor.tsx
  • apps/desktop/src/renderer/components/missions/UsageDashboard.tsx
  • apps/desktop/src/renderer/components/terminals/LaunchPanel.tsx
  • apps/desktop/src/renderer/components/terminals/SessionCard.tsx
  • apps/desktop/src/renderer/components/terminals/SessionContextMenu.tsx
  • apps/desktop/src/renderer/components/terminals/SessionInfoPopover.tsx
  • apps/desktop/src/renderer/components/terminals/SessionListPane.tsx
  • apps/desktop/src/renderer/components/terminals/TerminalSettingsDialog.tsx
  • apps/desktop/src/renderer/components/terminals/TerminalsPage.tsx
  • apps/desktop/src/renderer/components/terminals/ToolLogos.tsx
  • apps/desktop/src/renderer/components/terminals/WorkViewArea.tsx
  • apps/desktop/src/renderer/components/terminals/useSessionDelta.ts
  • apps/desktop/src/renderer/components/terminals/useWorkSessions.ts
  • apps/desktop/src/shared/ipc.ts
  • apps/desktop/src/shared/types.ts
💤 Files with no reviewable changes (1)
  • apps/desktop/src/main/services/orchestrator/executionPolicy.ts

📝 Walkthrough

Walkthrough

This PR extends desktop capabilities across multiple systems: adds clipboard and external editor integration via IPC, introduces folder-based lane grouping with database migrations, refactors the terminal UI with new components and session management hooks, enhances mission orchestration with DAG layout using dagre and timing adjustments, adds folder metadata to lanes, and refactors FilesPage with theme support and editor session state.

Changes

Cohort / File(s)Summary
Package & Infrastructure
apps/desktop/package.json, apps/desktop/src/shared/ipc.ts, apps/desktop/src/shared/types.ts
Added dagre dependency; introduced IPC.appWriteClipboardText and IPC.appOpenPathInEditor channels; extended LaneSummary, CreateChildLaneArgs with optional folder field and MissionExecutionPolicy with useAgentTeams flag.
Preload & IPC Handlers
apps/desktop/src/preload/global.d.ts, apps/desktop/src/preload/preload.ts, apps/desktop/src/main/services/ipc/registerIpc.ts
Added writeClipboardText and openPathInEditor methods to global ade.app interface; implemented IPC handlers for clipboard writing and opening paths in external editors (finder, vscode, cursor, zed) with platform-specific logic and error handling.
Lane Management
apps/desktop/src/main/services/lanes/laneService.ts, apps/desktop/src/main/services/state/kvDb.ts, apps/desktop/src/renderer/components/lanes/LaneList.tsx
Added folder field to LaneSummary and propagated through lane creation API; migrated lanes table schema with new folder column; implemented folder-based lane grouping UI with collapsible sections and toggle state.
Files UI Refactoring
apps/desktop/src/renderer/components/files/FilesPage.tsx
Major refactoring introducing EditorViewMode, EditorThemeMode, per-project session state caching, localStorage persistence of editor theme, external editor integration, layout panel reconfigurations, and Monaco theme switching.
Mission & Orchestration
apps/desktop/src/main/services/missions/missionPlanningService.ts, apps/desktop/src/main/services/orchestrator/aiOrchestratorService.ts, apps/desktop/src/main/services/orchestrator/orchestratorService.ts
Extended mission planning prompt with ADE Platform Capabilities block and test constraint notices; adjusted health sweep interval (15s → 5s), added ensureThreadForTarget creation, folder metadata for auto-lanes, dagMaxWidth calculation for parallelism, and delayed autopilot startup trigger; increased autopilot parallelism cap (16 → 32) and hardened ramp-up locking with 2s wait.
Execution & DAG Layout
apps/desktop/src/main/services/orchestrator/executionPolicy.ts, apps/desktop/src/main/services/orchestrator/executionPolicy.test.ts, apps/desktop/src/renderer/components/missions/OrchestratorDAG.tsx
Removed synthesizeTeam function and its test suite; replaced manual depth/column computation in OrchestratorDAG with dagre graph layout, computing node positions and edges from dependency graph.
Terminal System - Core Components
apps/desktop/src/renderer/components/terminals/ToolLogos.tsx, apps/desktop/src/renderer/components/terminals/LaunchPanel.tsx, apps/desktop/src/renderer/components/terminals/SessionCard.tsx, apps/desktop/src/renderer/components/terminals/SessionContextMenu.tsx
Introduced new terminal UI components: ToolLogo rendering system with Claude/Codex/Shell logos, LaunchPanel for terminal launcher with profile support, SessionCard for session list display with status and actions, SessionContextMenu for context-aware session actions.
Terminal System - Session Management
apps/desktop/src/renderer/components/terminals/SessionInfoPopover.tsx, apps/desktop/src/renderer/components/terminals/SessionListPane.tsx, apps/desktop/src/renderer/components/terminals/WorkViewArea.tsx, apps/desktop/src/renderer/components/terminals/useSessionDelta.ts, apps/desktop/src/renderer/components/terminals/useWorkSessions.ts
Added session info popover with metadata and actions, session list pane with filtering (lane/status/search), work view area with tabs and grid modes, useSessionDelta hook for caching delta summaries, and comprehensive useWorkSessions hook managing session lifecycle, filtering, tabs, and launch/resume logic.
Terminal Settings & Refactoring
apps/desktop/src/renderer/components/terminals/TerminalSettingsDialog.tsx, apps/desktop/src/renderer/components/lanes/LaneTerminalsPanel.tsx, apps/desktop/src/renderer/components/terminals/TerminalsPage.tsx
Introduced centralized TerminalSettingsDialog for profile management and tracked mode persistence; refactored LaneTerminalsPanel to delegate settings to dialog, removing inline profile UI; refactored TerminalsPage from two-pane inline layout to modularized component-based architecture (SessionListPane, WorkViewArea).
PTY Management
apps/desktop/src/main/services/pty/ptyService.ts
Added createdAt timestamp to PtyEntry; introduced auto-close logic for tool-type PTYs (CLAUDE, CODEX, Aider, Cursor, Continue) that auto-closes 1500ms after detecting transition to shell prompt (waiting-input state); integrated cleanup of auto-close timers on disposal.
Mission UI Enhancements
apps/desktop/src/renderer/components/missions/PhaseProgressBar.tsx, apps/desktop/src/renderer/components/missions/MissionsPage.tsx, apps/desktop/src/renderer/components/missions/UsageDashboard.tsx
Added overall progress percentage and indicator to PhaseProgressBar; introduced terminal mission state filtering, dynamic plan-change messaging with originalStepCount tracking, lane cleanup action for failed missions, and plan progress overlays; added error state and empty-state UI to UsageDashboard.
Policy & Editor UI
apps/desktop/src/renderer/components/missions/PolicyEditor.tsx, apps/desktop/src/renderer/components/lanes/MonacoDiffView.tsx
Introduced Codex model detection, reasoning effort concept per phase with dynamic thinking levels, expanded phase row UI with Claude/Codex model grouping and Thinking select, safe update merging in updatePhase, and Agent Teams UI block; added theme prop to MonacoDiffView with effect-based Monaco theme switching.

Sequence Diagram(s)

sequenceDiagram
actor Renderer as Renderer Process
participant IPC as IPC Main
participant Electron as Electron APIs
participant Filesystem as Filesystem/Child Process
Renderer->>IPC: writeClipboardText(text)
IPC->>Electron: clipboard.writeText(text)
Electron-->>IPC: success
IPC-->>Renderer: void
Renderer->>IPC: openPathInEditor(rootPath, relativePath, target)
IPC->>Filesystem: resolve targetPath
alt target == "finder"
IPC->>Electron: open -a Finder {targetPath}
else target in [vscode, cursor, zed]
IPC->>Filesystem: spawn({cmd, args})
Filesystem-->>IPC: process started
end
Filesystem-->>IPC: success/error
IPC-->>Renderer: void or error
Loading
sequenceDiagram
participant TerminalsPage as TerminalsPage
participant useWorkSessions as useWorkSessions Hook
participant SessionListPane as SessionListPane
participant WorkViewArea as WorkViewArea
participant Backend as Backend APIs
TerminalsPage->>useWorkSessions: initialize
useWorkSessions->>Backend: fetch sessions
Backend-->>useWorkSessions: TerminalSessionSummary[]
useWorkSessions->>useWorkSessions: compute filtered/running/ended
useWorkSessions-->>TerminalsPage: work object
TerminalsPage->>SessionListPane: pass filtered sessions
SessionListPane->>TerminalsPage: onLaunchPty(laneId, profile)
TerminalsPage->>useWorkSessions: handleLaunchPty()
useWorkSessions->>Backend: create PTY session
Backend-->>useWorkSessions: sessionId
useWorkSessions->>useWorkSessions: update openTabs, refresh
TerminalsPage->>WorkViewArea: pass active session, view mode
WorkViewArea->>TerminalsPage: onSelectTab/onCloseTab
TerminalsPage->>useWorkSessions: close or select session
useWorkSessions->>Backend: update session state
Backend-->>useWorkSessions: success
useWorkSessions-->>TerminalsPage: refresh sessions
Loading
sequenceDiagram
participant OrchestratorDAG as OrchestratorDAG Component
participant Dagre as Dagre Library
participant Layout as Layout Computation
OrchestratorDAG->>Layout: start layout computation
Layout->>Dagre: create Graph()
loop for each step
Layout->>Dagre: graph.setNode(stepKey, {width, height})
end
loop for each step with dependencies
Layout->>Dagre: graph.setEdge(depId, stepId)
end
Layout->>Dagre: layout(graph)
Dagre-->>Layout: computed node positions
Layout->>Layout: map dagre x,y to col, row
Layout-->>OrchestratorDAG: LayoutNode[] with positions
OrchestratorDAG->>OrchestratorDAG: render nodes and edges
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@arul28