ELNOR REPO READER TEXT MIRROR Original path: Current Specs/DOC20/DOC20_R4_3_DELTA_V7_11_6_ALT.md Source repo: /Users/OpenClaw1/Elnor/Elnor Specs Git branch: main Git commit: dbaa25962edc11ab30e8d4ca1715f9ae5bf77331 Generated: 2026-06-09T01:23:58.539Z --- # DOC20 R4.2 → R4.3 Spec Delta: V7.11.6 Alt — Vertical Tabs, Workspaces, Nav Restructure **Date:** 2026-04-08 **Source:** V7.11.6 Alt mockup session (V1 through V8, 8 iterations) **Mockup:** `Q_UNIFIED_WORKSPACE_V7_11_6_ALT_V8.jsx` (1,547 lines) **Revision:** R4.3 --- ## CHANGELOG ENTRY | Date | Context | Sections | Summary | |------|---------|----------|---------| | 2026-04-08 | V7.11.6 Alt mockup session — vertical tabs, workspaces, nav restructure, bookmark improvements, icon fixes | §0.4, §1.6 (updated), §1.12 (new), §6.20.2 (rewritten), §6.20.4–6.20.7 (replaced by §6.20.4A), §6.20.7B (new), §6.20.9 (updated), §6.20.13–14 (updated), §6.20.17 (updated), §6.23 (updated), §6.24 (updated), §6.26 (new — Workspaces), §7 (schemas), §8 (commands) | R4.3: Vertical Tabs, Workspaces, Nav Restructure — Nav pane restructured from flat list into three collapsible sections (Pages, Tabs, Workspaces) with accent-blue headers and 2px tinted dividers. Vertical tab list becomes the primary tab management surface (always visible in Nav pane regardless of horizontal tab bar state). New `showHorizontalTabs` toggle hides horizontal tab bar for clean vertical-only workflow; browser auto-switch disabled when horizontal tabs hidden. Chats promoted from dedicated section to expandable Page entry with disclosure arrow (up to 6 items). New Workspaces system for saving/restoring entire view configurations (tabs, split state, browser mode) with auto-save on switch, timestamp-labeled unsaved state, named workspaces with color/pin/rename/delete. Tab group management enhanced: 3-dot menus with rename/color picker/New Tab in Group/Close Group/Ungroup/Delete Group; tab groups button 3-dot dropdown for Create New Tab Group + group list. Individual tab right-click: Close, Duplicate, Pin, Rename, Add to Group submenu, New Group, Remove from Group, Move to Right Pane. Close All per pane in split view. Left nav rail expanded from 6→8 items (added horizontal tabs toggle, moved chat column into views cluster). Sidebar icon differentiated from Columns icon. Incognito icon changed I.Mask→I.EyeOff. Incognito Tab restored to [+] dropdown. NavIcon renders SVG in [+] dropdown Open section. Bookmarks: X-to-delete on hover, right-click rename context menu. Recent Pages: collapsible, default collapsed, X to clear. Search bar labels: "Selection"/"All". Browser tab spacing improved. Status bar tabs count removed. | --- ## §0.4 — Core Design Choices (APPEND) Add after the split view bullet: - **Vertical tabs.** The Nav pane's Tabs section is a full vertical tab list that is always visible regardless of whether the horizontal tab bar is shown. The `showHorizontalTabs` toggle (left rail) hides the horizontal tab bar for a clean, vertical-only workflow. When hidden, the browser column does NOT auto-switch modes based on active tab type — user stays in Nav mode unless manually switching. This is the Chrome-equivalent "Show Vertical Tabs" feature, adapted for a workspace that manages more than web pages. - **Workspaces.** Saved view configurations — all open tabs, tab groups, split view state, active tabs, browser column mode — persist as named workspaces. Auto-save on switch. Unnamed working state displays a timestamp. Workspaces enable instant context-switching between cases, projects, or workflows. - **Nav pane as scrollable column.** The Nav pane uses a single scrollable column layout (not flex-competing sections). Pages, Tabs, and Workspaces each take their natural height and stack contiguously. No whitespace gaps. The entire column scrolls as one unit when content exceeds browser column height. --- ## §1.6 — Unified Workspace Shell (REPLACE) Replace the current bullet list with: The Q Unified Workspace is the primary interface for the entire Q app. The workspace shell provides: - a **universal tab system** supporting 9 content types (note, doc, web, clips, chat, room, task, todo, utility) with optional Chrome-style horizontal tab bar (R4, R4.3); - a **vertical tab list** in the Nav pane as the primary tab management surface, with tab groups, search, and per-pane split view management (R4.3); - a **4-mode browser column** (Nav, Browser, Notes, Web) where the Nav tab is restructured into three collapsible sections: Pages, Tabs, Workspaces (R4.3); - a **left nav rail** (8 items — Q logo, Quick Command toggle, browser toggle, horizontal tabs toggle, split view toggle, chat column toggle, Activity with badge, Settings) (R4.3 — updated); - a **session system** for temporal workspace organization; - a **split view** for side-by-side panes (R4), with Left/Right Pane management in vertical tabs (R4.3); - a **floating palette** (always-on-top mini workspace, see §1.8) (R4); - a **workspaces system** for saving and restoring entire view configurations (R4.3). The workspace shell is defined in §6.20. ### §1.12 — Workspaces System (NEW) A Workspace is a saved snapshot of the entire view configuration: all open tabs (with their positions and group assignments), tab groups, split view state (on/off, which tabs in which pane, divider position), browser column mode and state, active tab in each pane, and right panel state. Workspaces enable instant context-switching: "I'm working on Henderson. Switch to Brooge." — one click saves the current state and loads the target workspace. Workspace behavior: - **Auto-save on switch.** When switching from a named workspace, the current state is silently saved to that workspace. No "do you want to save?" prompts. - **Unnamed working state.** If the user is not in a named workspace and switches to one, the current state is saved as an unnamed entry displaying a timestamp (e.g., "Apr 8, 3:30 PM"). This entry always sits at the top of the Workspaces list. It is overwritten by each subsequent unnamed save. Right-click → "Save as Workspace…" promotes it to a named workspace. - **Named workspaces** support rename, color assignment (10-color picker), pin to top, and delete. See §6.26 for full specification. --- ## §6.20.2 — Left Nav Rail (REPLACE) The left nav rail contains exactly **8** items organized into sections (R4.3 — updated from 6): ``` ┌──────┐ │ Q │ ← Q logo (26×26px, accentBtn bg, white text) │ │ │ ⚡ │ ← Quick Command / Floating Palette toggle (⌥Space) — Zap icon │ ⎕ │ ← Browser column toggle (⌘B) — Sidebar icon (single left vertical line) │ ≡ │ ← Horizontal tab bar toggle — List icon. Shows/hides horizontal tab bar. │ ⫼ │ ← Split View toggle — Columns icon (single center vertical line). See §6.24. │ 💬 │ ← Right chat column toggle — MsgCircle icon │------│ ← Divider (20px wide, #444) │ 🔔 │ ← Activity — opens utility tab. Red badge (8px) for unread notifications. │ ⚙ │ ← Settings — opens utility tab │------│ ← Divider (#444) │ │ │ flex │ ← Spacer └──────┘ ``` - Width: 44px fixed - Background: bgSidebar (#131820) - Icons: 16px, color #888 inactive / #fff active (active = corresponding panel is open) - Buttons: 32×32px, borderRadius sm, no border - Dividers: 20px wide, #444 (R4.3 — brightened from #333) - Quick Command button tooltip shows `(⌥Space)` **Icon changes (R4.3):** - **Sidebar** icon: rectangle with single vertical line at the left third (`M3.75 4.875c0-.621... M8.25 3.75v16.5`). Distinct from Columns. - **Columns** icon: rectangle with single vertical line through center (`M3.75 4.5h16.5c... M12 4.5v15`). Distinct from Sidebar. - The views cluster (Browser → Horizontal Tabs → Split View → Chat Column) groups all layout toggles together above the first divider. Activity and Settings sit below it. **`showHorizontalTabs` toggle behavior:** - When ON (default): horizontal tab bar is visible above the main content area. Browser column auto-switches mode based on active tab type (notes → Notes mode, web → Web mode, etc.). - When OFF: horizontal tab bar is hidden. Browser column does NOT auto-switch — stays in current mode unless user manually switches. The Nav pane's vertical tab list becomes the sole tab navigation surface. A thin accent border still appears on the content area edge. --- ## §6.20.4A — Nav Tab: Restructured Layout (NEW — replaces §6.20.4, §6.20.5, §6.20.6, §6.20.7, §6.20.7A) The Nav tab is restructured from a flat list into **three collapsible sections** within a single scrollable column (R4.3). Each section takes its natural height — no flex competition, no whitespace gaps. The entire Nav pane scrolls as one unit. #### Section headers All three section headers share the same styling: - Font: 11px, fontWeight 700, textTransform uppercase, letterSpacing .06em - Color: `accentBtn` (#31588c) — the Q brand blue - Chevron: size 9, also accentBtn color, toggles between ChevR (collapsed) / ChevD (expanded) - Clicking the header toggles collapse. When collapsed, only the header text shows. #### Section dividers Each section has `borderBottom: 2px solid ${accentBtn}25` — a 2px accent-blue-tinted line (25% opacity). This provides clear visual separation between Pages, Tabs, and Workspaces. --- #### §6.20.4A.1 — PAGES section The Pages section replaces the old Chats section (§6.20.4) + Activity link (§6.20.5) + Pages section (§6.20.6). **Chats as expandable Page entry:** Chats is no longer a separate section. It is a row in the Pages list with a disclosure arrow: ``` ▾ PAGES 🔔 Chats ▸ ← clicking "Chats" opens the Chats management page ★ Henderson prep chat 2m ← expanded: up to 6 items (pinned first, then recent) ● Brooge research 1h ● Daily standup 3h ☑ Tasks 📁 Projects 💾 Knowledge 💬 Forums & Panels 👤 Agents 🔌 Skills & Connectors ◇ Overlays & Prompts 🪣 Context Buckets ⚙ Settings ``` - The disclosure arrow (▸/▼) is to the right of "Chats", size 11, color `textSec`. Click to expand/collapse the inline chat list. - The expanded list shows up to **6 items**, prioritized: pinned chats first (up to 6), then most recent to fill remaining slots. - Clicking the "Chats" label itself opens the Chats management page as a utility tab — this IS the "See All" action. - Page items: fontSize 12.5px, padding "5px 10px", gap 7, NavIcon size 13. - Expanded chat items: fontSize 10.5px, padding "3px 10px", indented 12px from left. All other pages render as simple clickable rows with NavIcon + label. Clicking opens the corresponding utility tab. --- #### §6.20.4A.2 — TABS section The Tabs section replaces the old Open Tabs (§6.20.7) and Tab Groups (§6.20.7A) sections. It is the primary tab management surface. **Header with action buttons:** ``` ▾ TABS 🔍 ⊞ ⋮ ``` The header line contains (right-aligned, only shown when section is expanded): 1. **Search** button (🔍) — toggles inline search field. When active, filters the tab list by title. 2. **Tab Groups** button (⊞) — toggles the Tab Groups list below the search. 3. **Tab Groups 3-dot** button (⋮) — opens a dropdown: - "Create New Tab Group" (+ icon) — prompts for name, creates group with auto-assigned color - Divider - List of all existing tab groups with colored dot + name. Clicking a group expands it and switches to its first tab. **Tab list:** All open tabs render as a vertical list. Tab groups appear first (collapsible), then ungrouped tabs. *Tab group rendering:* ``` ● Research ▼ ⋮ 📄 Case law search × 📄 EDGAR results × 📄 Expert CV × ``` - Group header: colored Dot (6px) + label (fontWeight 550, color textSec, fontSize 11.5px) + collapse arrow (right of name, size 11, group color) + 3-dot menu (Dots icon, size 10, color textSec, opacity .5→1 on hover). - Group header has `margin: "0 2px"` matching all tab rows. - Collapse arrow is to the **right** of the group name, not the left. Color matches the group's assigned color. - Grouped tabs: padding `"3px 8px 3px 22px"` with `borderLeft: 2px solid ${groupColor}20`. The right padding (8px) matches ungrouped tabs for X button alignment. *Ungrouped tab rendering:* ``` 📄 Henderson MTD brief × 🌐 Paramount MIL — PACER × 💬 Brooge research chat × ``` - fontSize 11.5px, padding "3px 8px", margin "0 2px". - Active tab: backgroundColor `accentBtn+"08"`, fontWeight 600. - Hover (non-active): backgroundColor bgInput. - Close X: size 9, color textTer, opacity .4→1 on hover. Aligned at same right position across all tab types. **X button alignment rule:** All tab rows (grouped, ungrouped, different sections) use identical right padding (8px) and margin (0 2px) so the X close buttons form a clean vertical column. *Bottom actions:* ``` + New tab × Close all ``` "New tab" (left, accent on hover) and "Close all" (right, red on hover). Shown in both split and non-split modes. In split mode, the left pane shows its own "Close all" for left pane tabs only. **Tab context menu (right-click on any vertical tab):** | Action | Behavior | |--------|----------| | Close | Closes the tab | | Duplicate | Creates a copy | | Pin | Pins the tab | | Rename | (notes only) Prompts for new name | | --- | separator | | Add to {Group Name} | (per existing group) Moves tab into group | | New Group… | Creates new group containing this tab | | Remove from Group | (if in group) Removes tab from group | | --- | separator (split mode only) | | Move to Right Pane | (split mode only) Moves tab from left to right pane | **Tab group context menu (3-dot or right-click on group header):** ``` ┌─────────────────────────┐ │ [Research____________] │ ← rename input (auto-focused) │ ● ● ● ● ● ● ● ● ● ● │ ← 10-color picker (14px circles) │─────────────────────────│ │ + New Tab in Group │ │ Close Group │ ← collapses group (does not delete) │─────────────────────────│ │ Ungroup │ ← removes group, tabs become ungrouped │ 🗑 Delete Group │ ← red — deletes group AND all its tabs └─────────────────────────┘ ``` **Drag-and-drop:** Tabs can be dragged into a group by dropping on the group's tab area. The dropped tab's `group` field is set to the target group ID. **Split view in vertical tabs:** When split mode is active, the Tabs section shows two labeled subsections: ``` ← LEFT PANE + ● Henderson MTD brief × 📄 Paramount brief × + New tab × Close all ───────────────────────────────── → RIGHT PANE + 📄 Christensen_CV.pdf × × Close all ``` - Left Pane header: ArrowL icon (size 10) + "LEFT PANE" (fontSize 10.5, fontWeight 600, color accentBtn, uppercase) + [+] button - Right Pane header: ArrowR icon (size 10) + "RIGHT PANE" (fontSize 10.5, fontWeight 600, color green, uppercase) + [+] button - Each pane has its own "Close all" at the bottom (shown when pane has tabs). - Tab groups only appear in the left pane tab list. Right pane tabs are always ungrouped. - Right-click on a left pane tab includes "Move to Right Pane" option. --- #### §6.20.4A.3 — WORKSPACES section See §6.26 for full specification. The Workspaces section renders at the bottom of the Nav pane: ``` ▾ WORKSPACES + 🕐 Apr 8, 3:30 PM ← unsaved state (italic, timestamp) ● Henderson Trial active ← named, orange dot, "active" badge 📌 ● Brooge Discovery ⋮ ← pinned, blue dot, 3-dot menu ● Daily Workflow ⋮ 💾 Save current as workspace ``` - Header has [+] button (right-aligned) for creating a new blank workspace. - Unsaved state at top with Clock icon, timestamp in italic. - Named workspaces with colored Dot, name, optional pin icon, 3-dot menu on hover. - "Save current as workspace" link at bottom. - Pinned workspaces sort to top. --- ## §6.20.7B — Nav Pane Auto-Switch Behavior (NEW) When `showHorizontalTabs` is ON (horizontal tab bar visible), the browser column auto-switches mode based on the active tab's content type: | Active tab type | Browser column mode | |----------------|-------------------| | note, clips | Notes | | web | Web (Bookmarks) | | chat, utility, todo | Nav | | doc | Browser | When `showHorizontalTabs` is OFF (vertical tabs only), **auto-switch is disabled**. The browser column remains in its current mode unless the user manually clicks a mode tab. This prevents disorienting mode switches when navigating via the vertical tab list. This behavior is controlled by the `browserAutoSwitch` setting. Default: `true` when horizontal tabs visible, `false` when hidden. Can be overridden in Settings. --- ## §6.20.9 — Bookmarks Browser Mode (UPDATE) Append to the existing bookmarks section: **Bookmark item interactions (R4.3):** - **X to delete on hover.** Each bookmark item shows an X button (size 9, color textTer) on the right edge when hovered. Opacity transition 0→1. Click to delete with toast confirmation. - **Right-click context menu.** Right-clicking any bookmark opens: - Rename — prompts for new title - Open in New Tab - separator - Delete (red, trash icon) **Recent Pages (R4.3):** - The Recent Pages section is **collapsible** with a chevron header. - **Default: collapsed.** User clicks the header to expand and see browsing history. - Header has an **X button** (right-aligned) to clear all recent pages. - When expanded, shows recent pages with favicon, title, and time-ago indicator. --- ## §6.20.13–14 — Chrome-Style Tab Bar (UPDATE) Append: **Horizontal tab bar conditional rendering (R4.3):** The entire horizontal tab bar (including the [+] dropdown and split view toggle) is conditionally rendered based on `showHorizontalTabs`. When hidden, no horizontal tab UI is shown above the content area. **Non-active tab spacing (R4.3):** Non-active browser mode tabs have `borderLeft` and `borderRight` set to `${borderLight}40` for visual separation between tabs. This prevents tabs from visually merging at narrow widths. --- ## §6.20.17 — Status Bar (UPDATE) Remove the "tabs" count from the status bar. The status bar shows: - Session timer (Clock icon + Xh Ym) - Clips count (Scissors icon + N clips) The tab count is removed as redundant — the vertical tab list provides this information at a glance. --- ## §6.20.30J — [+] Dropdown (UPDATE — 3 items) 1. **Incognito icon.** The incognito tab option uses `I.EyeOff` (Lucide slashed-eye icon), not `I.Mask`. This matches the incognito indicator on tabs themselves. 2. **Incognito Tab option.** The [+] dropdown Create section includes "Incognito Tab" (EyeOff icon, color textTer) after "New Web Tab". 3. **NavIcon in Open section.** The Open section uses `` to render proper SVG icons, not raw string references. --- ## §6.23 — Icon System (UPDATE) Add to the icon assignment table: | Context | Icon ID | Source | |---------|---------|--------| | Incognito tab/indicator | `EyeOff` | Lucide — slashed eye. Replaces `Mask`. | | Browser column toggle (left rail) | `Sidebar` | Custom — rectangle with single vertical line at left third | | Split view toggle (left rail) | `Columns` | Custom — rectangle with single vertical line at center | | Horizontal tabs toggle (left rail) | `List` | Heroicons — three horizontal lines | | 3-dot menu | `Dots` | Custom — three vertical dots (12/12.75/18.75 centers, strokeWidth 2.5) | **Sidebar vs Columns icon disambiguation (R4.3):** - `Sidebar`: left-weighted split (`M8.25 3.75v16.5` — line at ~34% from left) - `Columns`: center split (`M12 4.5v15` — line at 50%) These are visually distinct at 16px rendering size. The Sidebar icon suggests "open/close a side panel" while Columns suggests "split into two equal panes." --- ## §6.24 — Split View (UPDATE) Append: **Split view in vertical tabs (R4.3):** When split mode is active, the Nav pane's Tabs section displays two labeled subsections: Left Pane and Right Pane. See §6.20.4A.2 for full rendering spec. Each pane has independent [+] and "Close all" buttons. The split view toggle is accessible from the left nav rail (always visible) regardless of horizontal tab bar state. --- ## §6.26 — Workspaces (NEW) ### §6.26.1 — Overview A Workspace is a named, persistable snapshot of the user's entire view configuration. It enables instant context-switching between different work contexts (cases, projects, daily workflows) by saving and restoring: - All open tabs (with their content type, title, icon, URL/note ID/chat ID) - Tab group assignments and group state (collapsed/expanded) - Split view state (on/off, which tabs in which pane, divider position) - Active tab in each pane - Browser column mode and state - Right panel state (open/closed, which tab) ### §6.26.2 — Workspace Schema ```typescript interface Workspace { id: string; // "ws" + timestamp name: string | null; // null = unsaved state saved_at: string; // ISO timestamp, updated on every auto-save color: string | null; // 10-color picker, null for unsaved pinned: boolean; // pinned workspaces sort to top isUnsaved: boolean; // true = unnamed working state // Snapshot fields: tabs: TabSnapshot[]; // all tabs in left/main pane activeTabId: string | null; splitMode: boolean; splitTabs: TabSnapshot[]; // tabs in right pane (if split) splitActiveTabId: string | null; splitWidth: number; // right pane percentage browserMode: string; // "nav" | "browser" | "notes" | "bookmarks" rightOpen: boolean; rightTab: string; tabGroups: TabGroupSnapshot[]; } interface TabSnapshot { id: string; type: string; // "note" | "doc" | "web" | "chat" | ... icon: string; title: string; color: string; group?: string; // tab group ID url?: string; // for web tabs noteId?: string; // for note tabs chatId?: string; // for chat tabs } interface TabGroupSnapshot { id: string; label: string; color: string; collapsed: boolean; } ``` ### §6.26.3 — Switch Behavior 1. User clicks a named workspace in the Workspaces list. 2. If currently in a named workspace: auto-save current state to that workspace's snapshot. 3. If currently in unnamed state: auto-save to the unnamed workspace entry (overwrite previous unnamed state). 4. Load the target workspace's snapshot: close all current tabs, open saved tabs, restore tab groups, restore split view, restore browser mode, set active tabs. 5. Set `activeWorkspaceId` to the target workspace ID. ### §6.26.4 — Workspace Context Menu Right-click or 3-dot (⋮) on any named workspace: ``` ┌─────────────────────────┐ │ [Henderson Trial_____] │ ← rename input (auto-focused) │ ● ● ● ● ● ● ● ● ● ● │ ← 10-color picker │─────────────────────────│ │ 📌 Pin to Top │ ← toggles pinned state │─────────────────────────│ │ 🗑 Delete Workspace │ ← red, trash icon └─────────────────────────┘ ``` ### §6.26.5 — EC Commands ``` WorkspaceCreateCommand { name, color } WorkspaceSaveCommand { workspace_id, snapshot } WorkspaceSwitchCommand { workspace_id } WorkspaceRenameCommand { workspace_id, name } WorkspaceColorCommand { workspace_id, color } WorkspacePinCommand { workspace_id, pinned } WorkspaceDeleteCommand { workspace_id } ``` ### §6.26.6 — Nav Pane Rendering - Section header: "WORKSPACES" in accent blue, with [+] button for new workspace. - Unsaved state: Clock icon + formatted timestamp (e.g., "Apr 8, 3:30 PM"), italic, at top of list. - Named workspaces: sorted by pinned first, then by saved_at descending. - Each workspace: optional Pin icon (if pinned) + colored Dot (7px) + name + "active" badge (if active) + 3-dot menu (opacity .4→1 on hover). - "Save current as workspace" link at bottom (Save icon + text, color textTer → accentBtn on hover). --- ## §6.20.9 — Browser Search Bar (UPDATE) The scope toggle in the browser search bar uses: - **"Selection"** (when filtering to current view/scope) — replaces "This View" - **"All"** (when searching everywhere) — replaces "Everywhere" --- ## §7 — Schemas (ADDITIONS) Add `WorkspaceSchema` per §6.26.2. Add to `TabSchema`: ```typescript // Existing fields... incognito?: boolean; // incognito tab flag // Icon field uses string IDs per §6.23, including "eyeOff" for incognito ``` ## §8 — Commands (ADDITIONS) Add Workspace commands per §6.26.5. Add: ``` ShowHorizontalTabsCommand { visible: boolean } BrowserAutoSwitchCommand { enabled: boolean } ``` --- ## §12 — Cross-Doc Obligations (ADDITIONS) | Target | Obligation | Status | |--------|-----------|--------| | DOC21/22 | Vertical tab list rendering, workspaces section, 3-collapsible-section Nav layout, workspace context menus, tab group 3-dot menus | PENDING | | EC Core | Workspace CRUD commands, workspace snapshot persistence, ShowHorizontalTabs/BrowserAutoSwitch settings | PENDING | --- ## Summary of Sections Modified | Section | Action | Description | |---------|--------|-------------| | §0.4 | APPEND | Vertical tabs, workspaces, scrollable nav pane design choices | | §1.6 | REPLACE | Updated workspace shell description (8-item rail, vertical tabs, workspaces) | | §1.12 | NEW | Workspaces system overview | | §6.20.2 | REPLACE | Left nav rail expanded 6→8 items, icon disambiguation, divider color | | §6.20.4–7 | REPLACED BY §6.20.4A | Old flat Nav sections replaced by 3-section structure | | §6.20.4A | NEW | Full spec: Pages (with expandable Chats), Tabs (vertical list, groups, split panes), Workspaces | | §6.20.7B | NEW | Auto-switch behavior spec | | §6.20.9 | UPDATE | Bookmark X-to-delete, right-click rename, collapsible Recent Pages | | §6.20.13–14 | UPDATE | Conditional horizontal tab bar, non-active tab borders | | §6.20.17 | UPDATE | Tabs count removed from status bar | | §6.20.30J | UPDATE | Incognito icon, incognito dropdown option, NavIcon in Open section | | §6.23 | UPDATE | 5 new icon entries, Sidebar/Columns disambiguation | | §6.24 | UPDATE | Split view vertical tab management | | §6.26 | NEW | Complete Workspaces system spec (6 subsections) | | §6.20.9 (search) | UPDATE | "Selection"/"All" labels | | §7 | ADD | WorkspaceSchema, TabSchema incognito field | | §8 | ADD | Workspace commands, ShowHorizontalTabs, BrowserAutoSwitch | | §12 | ADD | Cross-doc obligations for DOC21/22 and EC Core |