# Specification: Selectable Thinking Monologs

## 1. Overview
The user currently cannot easily select and copy text from the "agent thinking" monologues (the `<thinking>` traces) displayed in the Discussion Hub. These traces are rendered using unselectable `imgui.text()` calls. The goal is to make these monologues interactable by introducing a UI toggle, similar to the existing `[Edit]`/`[Read]` toggle for regular discussion entries.

## 2. Functional Requirements
*   **Mode Toggle:** Introduce a toggle button (e.g., `[Pure]` / `[Read]`) within or adjacent to the "Monologue" collapsible header.
*   **"Read" Mode (Default):** Retains the current visual rendering (potentially enhanced with `markdown_helper` if formatting exists, or just standard text wrapping) optimized for reading.
*   **"Pure" Mode:** Renders the thinking trace content using the `render_selectable_label` pattern, allowing standard OS-level text selection and copying (Ctrl+C). It should remain read-only.
*   **State Persistence:** The toggle state (`thinking_read_mode`) should ideally be stored within the specific discussion `entry` dictionary to survive UI frame updates, similar to the main entry's `read_mode`.

## 3. Non-Functional Requirements
*   **Performance:** Switching modes should be instantaneous and not block the render loop.
*   **Consistency:** The toggle UI and text selection behavior must perfectly match the established patterns used for main discussion entries and system logs.

## 4. Acceptance Criteria
*   The user can expand a "Monologue" section, click a `[Pure]` button, and highlight/copy the raw text of the thinking trace.
*   Clicking `[Read]` restores the optimized reading view.
*   The visual layout of the Monologue header remains clean and aligned with the surrounding discussion entries.