Opportunity
In OverviewView.tsx, generating an AI summary requires two sequential API calls: (1) POST /api/ai/terminals/:id/summary to generate the text, then (2) PATCH /api/terminals/:id to persist the descriptionOverride. The "Refresh All" feature does this N times in parallel, making 2N API calls when N would suffice.
The client also maintains a summaryActivityMap in localStorage to track which terminals need refreshes — this tracking logic belongs server-side.
Analysis
Low-medium impact, low complexity. Add an optional persist: true parameter to the existing summary endpoint, or create a POST /api/ai/terminals/:id/auto-summary that generates and saves in one step. Move the activity tracking server-side into terminal metadata.
Action
Investigate and validate this opportunity. Determine the right implementation approach following TDD.