ELNOR REPO READER TEXT MIRROR Original path: Design Mockups/DOC20 Mockups/V7_4_THROUGH_V7_11_COMPLETE_SPEC_DELTA.md Source repo: /Users/OpenClaw1/Elnor/Elnor Specs Git branch: main Git commit: dbaa25962edc11ab30e8d4ca1715f9ae5bf77331 Generated: 2026-06-09T01:23:58.539Z --- # Q Unified Workspace — Complete Spec Delta V7.4 → V7.11 **Generated:** April 6, 2026 **Scope:** Every mockup change from V7.3 baseline through V7.11 **Purpose:** Self-contained reference for DOC20/DOC21/DOC22/DOC72 spec integration --- ## PART A: V7.4 → V7.6.7 (from V7.4 Build Notes) ### A1. Note Canvas — Editable with Module Islands **DOC20 §6.14** - Note content area: fully `contentEditable` — all space between modules is typeable - Modules render as bordered "island" components embedded in flowing text - Editable paragraph gaps enforced between modules - New module type: **Note Block** — boxed, movable note (distinct from ambient canvas text) - Final editable area at bottom ensures typing below last module - TipTap note: modules = custom NodeView extensions; ambient text = standard paragraphs ### A2. Tab Groups — Auto-Save + Nav Section **DOC20 §6.3, §6.4** - Tab groups auto-persist on creation and change - "Save Group" removed from group context menu - New Nav tab section: **Tab Groups** — collapsed by default, count badge, click to reveal group ### A3. Split Screen — Independent Panes **DOC20 new §6.XX (Split View)** - Split icon at far right of tab bar (Columns icon) - Two side-by-side panes with draggable vertical divider - Each pane: own tab bar, active tab, content area - Left pane keeps browser column toggle; right does not - Close button on right pane → single view + "tabs merged" toast - Split focus tracked — clicking in pane sets it active - Each pane independently supports its own right panel ### A4. Document Title — Clickable + Right-Click Menu **DOC20 §6.12** - Title in toolbar: clickable → opens in default app - Right-click context menu: Show in Finder, Open in Default App, Copy Ref (EC internal reference), Copy Path, Copy File Name - "Ref" button in doc toolbar for quick ref copy ### A5. Ask Panel — Simplified **DOC20 §6.16** - Compact top section (collapsible): context ref line, agent + "Send In" on same row, letter-badge avatar - Agent selector: compact dropdown - Send In: Inline / New Chat / Existing Chat (replaces redundant Output mode + Send in) - "Send with" (replaces "Context scope"): Document only / All comments + referenced portions / Select comments - "Additional instructions": single optional textarea - "Include session clips": single checkbox - Config collapses after first send - Inline agent response with "Continue in full chat →" link ### A6. Status Bar — Zoom Slider **DOC20 §6.17** - Font: 11px, padding: 5px - Zoom slider (Word-style): minus/range/plus/percentage label - Click percentage → reset to 100% - Range: 50% to 200%, CSS `transform: scale()` with width compensation - Status bar spans full workspace width (not under right panel) ### A7. Browser Column Tabs — Improved Styling **DOC20 §6.4** - Label font: 11.5px - Active: fontWeight 700, panel background, subtle border outline, rounded top corners, negative margin overlap - Inactive: lighter background, no border, lower weight ### A8. "Knowledge Manager" → "Knowledge" **DOC20 §6.4, [+] menu, page references** ### A9. Per-Tab Right Panel State **DOC20 §6.16** - Right panel state resets on tab switch - Utility tabs: panel auto-closes - Content tabs: panel closes, can reopen fresh ### A10. Bookmarks Bar **DOC20 §6.19** - Thin horizontal bar below web browser toolbar - Populated from special "Bookmarks Bar" folder (`isBar: true`) - Favicon-style color badge + title per bookmark - "⋯" button for editing - Toggle via settings (`bmBarVisible`) - Only visible on web tab type ### A11. Floating Command Palette — Original Design **DOC20 new §6.20** - Toggle: ⚡ in left nav rail, or ⌥Space keyboard shortcut - Dark floating window: 560px wide, centered, dark theme (#1a1d23), 12px corners, heavy shadow - Three modes: Chat (persistent messages, screen capture toggle, New Thread), Note (scratchpad), Command (search + quick actions) - Electron: separate BrowserWindow, `alwaysOnTop:true`, `frame:false` - Chat persistence: `chat_type:"quick_command"`, visible in Q chat list with ⚡ indicator - Screen capture: DOC3 §4.3 screenshot adapter, single-frame mode, ephemeral 24h --- ## PART B: V7.6.8 → V7.9.6 (Reconstructed from diffs — PREVIOUSLY UNDOCUMENTED) ### B1. Floating Palette Expanded to 4 Tabs **DOC20 §6.20** - Added **To Do** tab (4th tab alongside Chat, Note, Command) - Tab bar: pill buttons with accent highlight - Settings gear icon added to tab bar (right side) — shows model/think level - Close (X) button on far right ### B2. Palette Chat Mode — Full Redesign **DOC20 §6.20.1** - **Chat selector dropdown** at top — shows recent chats, starred chats, "Browse all…" link - Chat renaming inline (click title → editable, Enter to save) - Dedicated chat ID tracking (`fpSelectedChatId`) - Messages with avatars (Av component), author names, timestamps - Attach button (+) for files - Send arrow button (I.Send) - Red camera icon for screen capture toggle (distinct from other icons) - "Open in Q ↗" opens chat in full workspace - Screen capture indicator: red text "Screen capture on" - ~~New Thread link~~ (removed in V7.11) ### B3. Palette Note Mode — Selector + Toolbar **DOC20 §6.20.2** - **Note selector dropdown** — shows existing notes, "Create new…" option - Note creation modes: blank note, from template - Note rename inline - Toolbar: Bold, Italic, Underline buttons - Auto-save indicator - "Ask" button at bottom — sends note content to agent ### B4. Palette To-Do Mode — Full System **DOC20 §6.20.3 (NEW)** - **To-do list selector dropdown** — shows all lists, "Create new list" option - List creation with name input - List rename inline - Per-task: checkbox, text, expand toggle, calendar/date button - Per-subtask: checkbox, text, delete - Inline editing of task text (click to edit) - Add task input at bottom - Add subtask input (appears on expand) - Done section (collapsible) - Defaults panel (collapsible): reminder timing, agent assignment - List-level "Ask" button at bottom footer **Unified To-Do data model:** - Single `fpTodoLists` array — shared data pool - Three view surfaces: (1) palette to-do tab, (2) note canvas to-do modules, (3) standalone to-do tabs - `fpActiveTodoList` tracks which list is selected - Each list: `{id, name, noteId, tasks:[{id, text, done, sub:[{id, text, done}]}]}` ### B5. Calendar Module **DOC20 §6.14.X (NEW — Note Canvas Module)** - Insertable as a module block in notes via [+] Add Module → Calendar - Also insertable as standalone — block type `"calendar"` **Calendar views:** - `calModes`: Month, Week, Day, List - Month: grid with day numbers, event dots, click day to filter - Day: hour-by-hour timeline - List: chronological event list with configurable max items and day range - Week: placeholder (noted as not fully built in mockup) **Calendar header:** - Month/year display with ← → navigation - View mode selector (Month/Week/Day/List pills) - Search button (toggles search input) - Custom views dropdown (saved filter configurations) - [+] new event button - Settings gear - Ask button (sends calendar context to agent) **Event data model:** - `initCalEvents`: array of `{id, title, date, time, endTime, cal, color, location, notes, reminders:[]}` - Events linked to calendars (`cal` field) **Event Editor (inline):** - Title, date, time, end time fields - Calendar selector dropdown - Location input - Notes textarea - Reminders: method (notification/email/sms) × timing (5m/15m/30m/1h/1d) - Add/remove reminders - Save/Delete/Cancel buttons - Copy ref button (EC reference) - Ask agent about event button **Calendar Settings panel (collapsible, 4 tabs):** 1. **Instructions** — textarea for agent standing instructions, model selector (Gemini 2.5 Pro, Claude, etc.), think level (Quick/Standard/Deep) 2. **Sources** — Outlook calendars list with checkboxes, "Connect new calendar" button, New Calendar creation (name + color picker) 3. **Sync** — master calendar toggle, exclude specific calendars from master, auto-refresh settings 4. **Notices** — calendar-specific notification rules, deadline advance warning settings **Outlook calendar integration:** - `outlookCals`: array of `{id, name, color, checked, shared}` - Checkboxes to include/exclude calendars - Shared calendar indicator - "Exclude from master" per-calendar toggle **Agent governance:** - Agent active toggle (green dot indicator) - Agent instructions textarea - Model selection dropdown - Think level selector ### B6. Note Canvas Module Expansion **DOC20 §6.14** - Module picker redesigned with two steps: `pickerStep` = "choose" | "feed_presets" - Available modules: Note Block, To Do, Link Existing To Do, Activity Feed (with preset selection), @Agent Thread, Notice Bar, Calendar - Feed presets: System Activity, System Notices, Gate Approvals, Active Operations, Morning Summary, Email Watch, Deadline Tracker - Feed presets have tabs: system | agent - Each module: drag handle, collapse/expand, delete button, title ### B7. Browser Scope Expansion — Notes/To-Do/Calendar **DOC20 §6.4** - Notes browser tab now has scope toggles: **Notes** | **To Do** | **Cal** - `noteBrowserScope`: Set of active scopes (can have multiple active) - When "To Do" scope active: shows to-do lists in the notes browser with type badges - When "Cal" scope active: shows calendar items with type badges - Type badges: small colored label (e.g., "To Do" in teal, "Cal" in amber) ### B8. To-Do Standalone Tab **DOC20 §6.XX (NEW)** - Opening a to-do list from browser/palette creates a standalone tab (`type:"todo"`) - Tab header: icon + editable title + "Defaults" button + "Pop Out" button + "Ask" button - Full task list with checkboxes, subtasks, done section - Per-task date/reminder popover (`taskDatePopover`): date input, time input, reminder toggles - List-level defaults panel: default reminder timing, agent assignment - Auto-switches browser to "nav" mode ### B9. Palette Key Commands System **DOC20 §6.20** - Key capture mode: press to record shortcut combo - `fpCapturedKey`: stores current palette toggle shortcut (default: "⌘Space") - `fpKeyCapture`: boolean for capture overlay state - `fpHandleKeyCapture`: captures key combo and formats display string - Capture overlay: "Press your shortcut combo" + example + Cancel - Quick Actions list shows current shortcut next to toggle command - Footer shows hotkey hint ### B10. Chat Design Refinements **DOC20 §6.15 (Chat Tab)** - Chat messages: avatar (Av component) + author name + timestamp + body - Send button: arrow icon (I.Send), separate from attach - Attach button: Plus icon for file attachment - Toolbar area (note/web/doc): "Ask" button simplified to just "Ask" (removed agent name to save space) ### B11. Tab Context Menu **DOC20 §6.3** - Right-click on any tab → context menu - Options: Close, Close Others, Close to Right, Move to Split Pane, Add to Group (submenu with existing groups + "New Group"), Duplicate, Pin/Unpin - Tab drag-and-drop for reordering ### B12. New Tab Dropdown **DOC20 §6.3** - [+] button at end of tab bar - Opens dropdown with sections: New Note, New To Do, New Chat, Open (nav pages list) - Each option has icon + label + color --- ## PART C: V7.10 (Icon Overhaul + Browser Fixes) ### C1. SVG Icon System **DOC20 new §X.X, DOC21** - All emoji icons replaced with SVG icon components - Primary: Heroicons (outline). Selective swaps from Lucide (Scissors, Sun, Spark, Folder, Globe, Plug, ListTodo) and Tabler (Bucket, Subtask) - `Ic`: base SVG renderer (strokeWidth 1.5, round caps/joins, 24px viewBox) - `I`: object mapping 60+ icon names → Ic-based components - `TabIcon({type, icon, size})`: renders tab icons from `tabIconMap`, handles utility tabs via `navPageIcons` - `NavIcon({id, size})`: renders nav page icons - `navPageIcons` map: activity→Bell, tasks→Subtask, projects→Folder, knowledge→Database, forums→MsgCircle, agents→User, skills→Plug, overlays→Layers, buckets→Bucket, settings→Settings - `tabIconMap`: note→FileText, doc→File, web→Globe, clips→Scissors, chat→MsgCircle, todo→ListTodo, room→Users, task→List, panel→Grid, forum→MsgCircle, utility→Settings ### C2. Icon Assignments (Complete Table) | Surface | Icon | Source | |---------|------|--------| | Notes tab | FileText | Heroicons | | Document tab | File | Heroicons | | Web tab | Globe | Heroicons (fallback; favicons in real build) | | Clips tab | Scissors | Lucide | | Chat tab | MsgCircle | Heroicons | | To Do (all surfaces) | ListTodo | Lucide (checkbox squares + lines + checkmark) | | Tasks nav page | Subtask | Tabler (hierarchical boxes) | | Skills & Connectors | Plug | Lucide | | Context Buckets | Bucket | Tabler | | Save action | Save (floppy disk) | Lucide | | Pin (always-on-top) | Pin (thumbtack) | Lucide | | Web tab color | #64748B (slate gray) | — | ### C3. Browser Column Fixes **DOC20 §6.4** - Comment count indicators **REMOVED** from all note list items - Draggable splitter: notes folder tree / item list (`noteSplitterPos`, default 140px) - Draggable splitter: bookmarks tree / items (`bmSplitterPos`, default 180px) - Type badge backgrounds: `transparent` (was tinted) ### C4. Places Scope — Collection Filtering **DOC20 §6.4** - Collection filter dropdown: colored dot per collection, folder icon for "All" - Collection data: `[{name:"All",color:null},{name:"Active Cases",color:"#31588c"},{name:"Research",color:"#2E8B57"},{name:"Templates",color:"#D97706"}]` - Dropdown trigger shows selected collection's dot or folder icon - X button works on ALL place items including missing status ### C5. Saved Views Overhaul **DOC20 §6.4** - "Current" and "No Project" built-in views **REMOVED** - Default views: Recent (built-in), Deadlines this week (user), Active matters (user) - User views: Edit (pencil) and Delete (X) icons - "Save current view": subtle text link with save icon (not prominent button) - Save popover: text input for view name, Enter to save, Escape to cancel ### C6. Naming Changes - "Conversations" → **"Chats"** in nav section header - "Knowledge Manager" → **"Knowledge"** (from V7.4, confirmed) ### C7. To-Do Ask Button Simplification **DOC20 §6.14, §6.20** - **REMOVED:** Per-task ⚡ Spark on every task row, per-subtask ⚡ Spark, `@Agent` button at bottom of expanded tasks - **KEPT:** Single list-level "Ask" button (standalone tab header + palette footer) - Sends full list as context; user types specific question in chat --- ## PART D: V7.11 (Chrome Tabs + Palette Sidebar) ### D1. Chrome-Style Tab Bar **DOC20 §6.3 (REPLACES prior tab styling)** **Tab bar:** `#e8eaed` background, `gap:0`, padding `4px 4px 0 4px` **Active tab:** white (`c.bgPanel`), `borderRadius:"8px 8px 0 0"`, `borderBottom:2px solid c.bgPanel` (white, uniform height), `zIndex:2`, `minWidth:28` **Inactive tab:** `#dfe2e6`, `borderBottom:2px solid ${c.border}50`, `borderRight:1px solid ${c.border}30` (faint separator), text color `#585c60`, `marginRight:1` **All tabs:** `flex:"1 1 0"` (proportional shrinking), `padding:"0 2px 0 5px"`, `height:32`, `gap:3` ### D2. Tab Groups — Chrome-Style **DOC20 §6.3 (REPLACES prior tab group design)** **Architecture:** `display:"contents"` on group wrapper — all tabs (grouped and ungrouped) are direct flex children. Uniform proportional shrinking. **Group label:** Tab-shaped container with inner colored pill (`borderRadius:4`, white text, 11px weight 450). `flex:"0 0 auto"`, `paddingRight:3` (border extends through padding to connect with tab borders). Same shape collapsed or expanded. **Grouped inactive tabs:** `group.color+"12"` background, `2px solid ${group.color}` bottom border, `1px solid ${group.color}25` right border **Grouped active tab:** `2px solid ${group.color}` on top+left+right, `2px solid c.bgPanel` bottom (white). Creates continuous colored outline. **Group context menu:** Inline rename input + 10-color picker dots + New Tab in Group, Ungroup All, Close Group, (separator), Delete Group ### D3. Floating Palette V2 — Sidebar Architecture **DOC20 §6.20 (MAJOR REDESIGN)** **Layout:** ☰ button at far left of tab bar (red badge when unread). Chat/Note/To Do tabs persist (states preserved). Sidebar (170px) slides out LEFT — main panel stays anchored at 560px, total width becomes 730px. **Sidebar container:** Own bordered panel, `borderRadius:"12px 0 0 12px"`, left shadow, `flexShrink:0` **Sidebar contents:** 1. Command bar — input, placeholder "Command…", no icon 2. Section links: Notices (Bell, with unread badge), Activity (Spark) 3. Divider 4. Quick Actions header (+ customize button): Watch, Run procedure, New note, Search knowledge, Key Commands 5. Bottom: Mute toggle + hotkey indicator **When section selected:** Content renders in main pane (same area as tabs); tabs temporarily hidden but state preserved. Click any tab → dismiss section view, return to tab content. ### D4. Notification Inbox (Linear-Style) **DOC20 §6.20.X (NEW)** **Inbox controls:** Filter pills (All/Unread/Snoozed), "Mark all read", unread count, Silent indicator **Card anatomy:** Left colored accent bar (unread) | Source dot + label + timestamp + dismiss X | Title (12px bold) | Description (10.5px) | View + Dismiss buttons | Snooze (Clock + "Snooze" + chevron) **Source colors:** Calendar=#D97706, Agent=#7C3AED, Email=#3B82F6, System=#6B7280 **Card states:** Unread (accent bar), Read (no accent), Snoozed (dimmed), Dismissed (removed) **Snooze options (to build):** 15 min, 1 hour, 4 hours, Tomorrow, Custom ### D5. Activity Feed Mode **DOC20 §6.20.X (NEW)** - Chronological feed in main pane: icon + description + timestamp - Sources: agent actions, system events, calendar flags, task completions - Click → "Open in Q" (navigate to relevant tab) - Read-only awareness surface ### D6. Pin (Always-on-Top) **DOC20 §6.20** - Thumbtack icon (Lucide pin) in upper right of palette tab bar - Toggles Electron `win.setAlwaysOnTop(true/false)` - When pinned: icon highlights with accent color + tinted background ### D7. Silent Mode **DOC20 §6.20** - Bell icon at sidebar bottom, "Mute"/"Silent" label - Suppresses: sounds, glow, auto-show. Badge counts still update. - Visual: red icon, "Silent" in Notices header ### D8. Notification Settings **DOC20 §6.17 (Settings page, NOT in sidebar)** Delivery matrix: Source × Method (Badge/Glow/Sound/Popup/Auto-show) | Source | Badge | Glow | Sound | Popup | Auto | |--------|-------|------|-------|-------|------| | Agent completions | ✅ | ❌ | ❌ | ❌ | ❌ | | Calendar alerts | ✅ | ✅ | ✅ | ✅ | ❌ | | Email flags | ✅ | ✅ | ❌ | ✅ | ❌ | | Gate approvals | ✅ | ✅ | ✅ | ✅ | ✅ | | System errors | ✅ | ✅ | ✅ | ✅ | ❌ | Sound picker: Chime/Tap/Bell/Drop/None. Focus hours: time range. Badge position: Menu bar/Palette border/Both. ### D9. Chat Panel Cleanup - "New Thread" **REMOVED** (available via dropdown) - Empty footer div removed - Screen capture indicator: only shows when active - Input padding reduced --- ## PART E: Cross-Cutting / DOC72 / Architectural ### E1. DOC72 Entity Mapping (from discussion, not yet in spec) - **Two-layer data architecture:** Layer 1 = EC application tables, Layer 2 = DOC72 entity graph - To-do items → `obligation` nodes - To-do lists → `work_product` with `entity_subtype:"todo_list"` - Calendar events → `obligation` with `source_type:"calendar_event"` - Calendars → `world_entity` - New edge types: `subtask_of`, `belongs_to_list`, `synced_to_calendar` ### E2. DOC21/DOC22 Updates Needed - DOC21: Icon system spec, tab bar spec, tab group spec, notification card spec, sidebar panel spec, calendar module spec - DOC22 Page Inventory: Notices (palette sidebar view), Activity (palette sidebar view), Key Commands (utility page), remove "⌘ Command" tab ### E3. DOC20 Content Registry (§6.18.2) - New content types to register: `todo_list`, `calendar_event`, `quick_command_chat` - Module presets: register as content type under `ELNOR_MEMORY/task_system/module_presets/` ### E4. Naming Decisions (Confirmed) - Browser "Nav" tab → **Keep "Nav"** - Browser "Notes" tab → **Keep "Notes"** (scope toggles clarify) - Nav section → **"Chats"** (was "Conversations") - Web tab favicon → **Globe as fallback** (favicons in real build) --- ## PART F: PENDING / NOT YET BUILT 1. Toolbar collapse behavior (Word-style, deferred until TipTap) 2. Web browser settings expansion (28 subsections specced but not in mockup) 3. Native app companion windows (deferred) 4. Version dropdown unification 5. Right chat column (separate mockup to merge in) 6. TipTap integration for notes editor 7. Places: right-click "Add to collection", Cmd+click multi-select 8. Snooze dropdown options (15m, 1h, 4h, Tomorrow, Custom) 9. Notification delivery tiers wiring (EC→palette) 10. Ask button payload serialization (to-do list → chat context) 11. DOC20 §6.18.2 content registry additions 12. Module presets registration 13. Chrome extension support UI 14. Full notes/bookmark folder management (simplified in mockup) 15. Palette: notification auto-show behavior (Electron window management) 16. Palette: sound playback (Electron audio API) 17. Palette: opacity reduction when unfocused + pinned --- ## PART G: AUDIT ADDENDUM — Items Found in Code Audit *Added after systematic diff of V7.3 → V7.11 code.* ### G1. Tab Color Map Changes **DOC20 §6.3** - `tabColors` object updated: - `web`: `#D97706` (amber) → `#64748B` (slate gray) — matches Globe icon color - `chat`: `#2E8B57` (green) → `#1a5276` (dark blue) — distinct from doc green - `todo`: `#0891B2` (teal) — NEW, added for To Do tab type - All other colors unchanged ### G2. Tab Icon Format Migration **DOC20 §6.3** - `initTabs` icon field changed from emoji strings (`"📝"`, `"📄"`, `"🌐"`) to string IDs (`"note"`, `"doc"`, `"web"`) — consumed by `TabIcon` component via `tabIconMap` lookup - All `openTab()` calls now pass string IDs instead of emoji - This is a data format change, not just visual — affects tab serialization ### G3. Module Block Type Rename **DOC20 §6.14** - Module block type `"tasks"` renamed to `"todo"` for consistency with tab type and UI labeling - `renderBlock` handles both `b.type==="tasks"` and `b.type==="todo"` for backwards compatibility - `insertBlock("todo")` creates new blocks with `"todo"` type ### G4. Chat Tab Rendering Updates (Full Workspace) **DOC20 §6.15** - Chat tab in full Q workspace (not palette) updated with: - Avatar component (Av) for message authors - Author name + timestamp per message - Send button with dedicated style (primary button) - Input field placeholder: `Message ${agent.name}…` - Chat title editable in header - These parallel the palette chat mode but in the main workspace context ### G5. Left Nav Rail Button Additions **DOC20 §6.1** - Added: **Split View** button (Columns icon) — toggles split screen mode - Added: **Quick Command** button (Zap icon) — toggles floating palette, tooltip shows `(⌥Space)` - These are below the existing Browser and Chat Column buttons ### G6. Per-Task Date/Reminder Popover Detail **DOC20 §6.14** - `taskDatePopover` state: `{blockId, taskId}` — tracks which task has popover open - Popover contents: date input, time input, reminder preset selector ("None", "At time", "5m before", "15m before", "30m before", "1h before", "1 day before") - Accent border when open, subtle background tint - Available in both renderBlock to-do modules AND standalone to-do tab ### G7. Palette Chat — Selected Chat Tracking **DOC20 §6.20.1** - `fpSelectedChatId`: tracks which chat from the chat list is loaded in the palette - Changing selection loads that chat's messages into the palette view - "Browse all…" link at bottom of chat dropdown opens nav in full workspace ### G8. Verification Notes - Thread module (inline @Agent thread) — unchanged from V7.3 baseline - Feed module (activity feed blocks) — unchanged from V7.3 baseline - Notice Bar module rendering — `b.type==="bar"`, renders as accent-colored bar with bell icon + title + dismiss X. Added in V7.4+, unchanged since - Bubble menu (text selection actions) — unchanged from V7.3 baseline (Summarize, Clip, Rewrite, Expand, Shorten) - Comment system (selectedCmIds, toggleCmSelect) — unchanged from V7.3 baseline - Tracked changes display (showMarkup, acceptChange, rejectChange) — unchanged from V7.3 baseline - Find bar, downloads panel, session timer, incognito tabs — all unchanged from V7.3 baseline - Note folder CRUD, note sort, bookmark folder CRUD — all unchanged from V7.3 baseline