| name | ade-perf-boot |
| description | Performance patterns discovered for ADE's cold launch and "main screen" surfaces — welcome / project picker, recent projects list, project open flow, remote runtime connect, iOS pairing. Read before editing files in apps/desktop/src/main/main.ts, the App shell (apps/desktop/src/renderer/components/app/**), project bootstrap services (apps/desktop/src/main/services/projects/**, lanes/**), remote runtime services, or anything in the app's pre-tab boot path. Append-only knowledge base populated by ade-autoresearch runs. |
| metadata | {"author":"ade-autoresearch","version":"0.1.0","status":"seed"} |
ade-perf-boot
Patterns discovered for ADE's cold launch and main-screen surfaces. Each entry has run-traced provenance — do not delete entries without explicit user approval.
Scope
This tab covers the code paths that run before any per-tab UI is mounted, plus the project-level chrome that appears regardless of which tab is open:
- Cold launch — process spawn → main process bootstrap → renderer first paint → first interactive.
- Welcome / project picker — when no project is loaded.
- Recent projects — listing, rendering, icon resolution.
- Project open flow —
project.openRepo IPC, the load + bind path.
- Remote runtime —
remoteRuntime.listTargets, snapshot, connection lifecycle.
- iOS / phone pairing — pairing status, auth, etc.
- App shell chrome — sidebar, header, route transitions (the AppShell wrapping all tabs).
Use ade-autoresearch boot to run an optimization cycle against this surface.
Scenarios this tab is benchmarked against
Defined in apps/desktop/src/renderer/perf/scenarios/boot.ts:
boot.cold-paint — measures FCP / LCP / INP during cold launch (no driving).
boot.recent-projects — project.listRecent IPC + welcome render.
boot.open-project — project.openRepo round-trip for perf-pass.
boot.remote-runtime — remoteRuntime.listTargets cost.
boot.idle-welcome — 20s idle on welcome (no project) — catches background pollers.
boot.stress-launch — 2min idle from cold — catches startup leaks.
The "no project" scenarios should be run with --no-project so the welcome screen renders:
node scripts/run-perf-scenario.mjs boot.idle-welcome run-id --no-project
Patterns
No patterns recorded yet — populated by the first ade-autoresearch boot run.