# HANDOFF — 2026-10-30 (design standard landed; token sweep in flight) ## State - Branch `main`, worktree clean. **Seven design commits, unpushed** (push at your checkpoint): `565b8db` DESIGN.md standard · `f2bf577` Tokens.xaml + guard · `84c335a` fonts bundled · `ffdf3b6` sans wired into the window · `4ef84f2` Controls.xaml · `0275e30` shell (top bar, window, scene strip; mono telemetry). - **The app is half-converted on purpose:** theme, shell and readouts are tokenised; the left panel, preview pane and dialogs still carry the old palette. - `DESIGN.md` is normative; `Themes/Tokens.xaml` is its implementation. Blue `#38bdf8` is the only interactive accent; red `#ff5451` is live/record only; `#e94560` is retired from chrome. ## Next action Continue the sweep, one surface per commit, adding each file to `DesignTokensTests.Converted_surfaces_carry_no_raw_colour`: `Controls/LeftPanel.xaml` (101 hexes) → `Controls/PreviewPane.xaml` (110) → `Controls/OverlayHost.xaml` + the dialogs (~85) → the VM/service brush literals (`MainViewModel.Streaming.cs`, `MainViewModel.Audio.cs`, `NotificationService.cs`). ## Landmines - **Never tokenize the on-stream renderers or user data:** `Services/AlertRenderer.cs`, `ChatBoxRenderer`, `Compositor/*`, `BrandFlashPresenter`, `Models/BorderColorPalette.cs`, `Models/Source.cs` chat-colour defaults. Those paint the broadcast picture, not app chrome. - `Themes/Tokens.xaml` is the only file allowed a raw hex; the guard lists converted files, so a surface that regresses fails the test. - A red settings control is a bug now — red means live/record. Sliders and toggles are blue. - Pre-existing: the **full test suite hangs** (WASAPI teardown). Per-class runs are the way. ## Pending - **Launch once** to confirm Inter/JetBrains Mono render and the blue accent reads right — the fonts resolve by pack URI, which no test can prove. - Vertical-tier camera check; webcam-cadence take in the failing geometry.