The graph ROOT node is structural. It and blank user history rows are excluded before authority rendering. The Chat Completions adapter also omits empty user strings and text blocks, while retaining image-only messages. Stored history remains unchanged.
Copy link uses a shared clipboard helper: trusted desktop IPC, browser clipboard, then selection fallback. Native IPC requires the UI origin and owning main frame, accepts bounded strings, and provides no clipboard read API. Success is shown only after a successful write; failures remain explicit. Sidebar and pane menus use the same helper. This corrects native menu callbacks whose browser clipboard activation has expired. Sidebar context menus use the existing renderer popover, so selecting an action does not depend on native popup dismissal ordering.
Acceptance: focused history/provider tests, clipboard fallback and sender authorization tests, TypeScript, documentation links, independent specification and quality review, and the standard production App refresh. No provider account changes, automatic replay, or history deletion.