Performance
- Inbox RUM boot marks for FCP diagnosis (BORD-995 remaining instrumentation). Client now emits the allowlisted marks that already passed both RUM layers (route + DB adapter) but had zero call sites:
shell_rendered,list_rendered,conversation_open,thread_shell_rendered,thread_hydrated,cache_paint. Each carriestotal_msfrom navigationStart (same clock asinbox_mount) so waterfalls vs FCP are possible. Warm Dexie apply firescache_paint+thread_hydrated; network apply keepsinbox_thread_direct_fetch/inbox_thread_state_applyand also emitsthread_hydrated. Gate floodinginbox_render_model(~0ms median) to duration ≥ 8ms or ~1% sample.
Verification
pnpm --filter app exec vitest run lib/inbox-boot-marks.test.ts lib/inbox-performance.test.ts components/inbox/use-conversation-cache-effect.test.ts app/api/telemetry/performance/route.test.tspnpm --filter @repo/database exec vitest run src/adapters/client-performance.test.tscd apps/app && npx tsc --noEmit