## Why Orchestrator flow runs (research, code-review, investigate, architectural-analysis) and arena battles produce rich reports and analysis, but there is no dedicated UI to browse past results. The only way to see completed runs is through the `NewPaneMenu` in the workspace (ephemeral, per-session) or by re-entering a specific run id. Arena battle history is similarly buried — only visible in the pane that opened it during the session. The `/analytics` page (token analyzer) and the `/settings` page (themes/providers) are standalone route pages accessible from the sidebar. A results page at `/results` completes this pattern — a permanent, browsable archive of all analysis outputs and arena battles, accessible regardless of session. ## What Changes 1. **Nav button**: Add a "Results" nav button to the sidebar, **above the existing Token Analytics button**, linking to a new `/results` route. Uses a `ScrollText` icon from lucide-react. 2. **Results page** (`/results`): A new standalone page with two tabs — "Analysis Runs" (orchestrator flow runs) and "Arena Battles" — showing history with status, timing, and summary info. Each tab has its own list with loading/error/empty states. 3. **No backend changes**: Both `GET /api/coder/runs?project_id=` and `GET /api/coder/battles?project_id=` already return the needed data with correct schema. The page calls both endpoints independently. 4. **Project context**: The page requires a `project_id`. On mount, it loads the first project from the sidebar context, or shows a project selector when none is active. ## Capabilities ### New Capabilities - `results-page`: Standalone route page at `/results` with two tabs — **Analysis Runs** (orchestrator flows: research, code-review, investigate, architectural-analysis, etc.) and **Arena Battles** (battle history). Each tab shows a list with status dot, name/type, band/battle-type, model, timing, and error indicator. Completed runs show a "View Report" action; completed battles show "View Analysis". - `results-nav-button`: Sidebar nav button (above Token Analytics) using `ScrollText` icon from lucide-react, linking to `/results`. ### Modified Capabilities - *(No existing capabilities have requirement changes — this is net-new.)* ## Impact - **apps/web/src**: New page (`pages/Results.tsx`), new route in App.tsx, new nav button in ProjectSidebar.tsx. No API changes — reuses existing `api.runs.list()` and `api.battles.list()` client methods. - **No server/coder changes**: Both list endpoints already exist with correct schema. No new routes, schemas, or data processing needed. - **No schema changes**: All data is already persisted.