Skip to content

fix(assistant): align workspace rails and simplify nested surfaces - #289

Merged
chaxus merged 13 commits into
mainfrom
codex/assistant-layout-contract
Oct 21, 2026
Merged

chaxus merged 13 commits into
mainfrom
codex/assistant-layout-contract

Conversation

@chaxus

@chaxus chaxus commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Merge Verdict

[APPROVE] — The assistant shares explicit rendered alignment contracts, with regression evidence across sibling views and input modes.

Summary

The assistant title's outer button aligned while its text was inset, and its hover target expanded into unused toolbar space. Subpages accumulated different horizontal and vertical offsets. Align the title text, onboarding copy, content and field frames to one 16px rail; give back navigation an explicit shared column; and keep the title target sized to its content.

Apply the same owner rules across Models, Conversations, Sources and Artifacts, including populated disclosures and artifact import/editor/return states. Narrow headers place the readable translated title above the five actions. Fix coarse-input title compression, clipped keyboard focus outlines and missing group gaps found during rendered acceptance.

Refine History & data into one column of content-sized native secondary buttons. Remove the nested group frame, internal row rules and deletion divider while retaining each button's resting surface. Share the 16px checkbox/icon and 40px text columns across adjacent controls, with an explicit 8px target extension into the owned inline-start gutter. Keep 8px between buttons and 16px before destructive actions; only explicit confirmation uses solid danger fill. Preserve localization sync, 44px targets, hover/press/focus, busy guards, downloads and focus return.

Review the complete pane and record the purpose of each remaining boundary. The panel edge, editable field frames, major section boundary and keyboard focus outlines retain their distinct functions. Acceptance checks shared checkbox/icon/text columns, resting affordance in both themes and real interactions without mandating a decorative group enclosure.

Apply the same boundary audit across complete Models, Sources and Artifacts states. Remove cached-model/disclosure rules and redundant inset, the blanket workspace/artifact command outlines, and ranui cache-command host shadows through public styling hooks. Separate attached sources from search and keep removal beside the title while previews expand. Saved artifacts become flat full-width rows; export, paging, review and revision controls stay quiet, while Attach/Import/Save and explicit deletion confirmation retain their respective roles. Preserve actual picker/input frames, data table relationships, focus, async ownership and all existing state flows.

The companion ran standards and acceptance PR #434 defines the reusable rules. It changes documentation and test examples, so no ranui release or dependency upgrade is required here.

See the layout acceptance record and complete workspace boundary audit with renders. Separate commits retain scope/design, browser acceptance, shared CSS implementation, flat composition and verification records.

Risk Analysis

Risk Level Mitigation
Shared CSS affects sibling workspace states Low Inspect every view and nested artifact state; cover empty and populated content
Narrow/coarse input loses readable labels or targets Low 320px/360px windows, 432px desktop panel, long translations, target bounds and overlap assertions
Navigation loses focus or user draft Low Keyboard return checks, visible focus geometry and related workspace/history regression suites

Design Decisions

  • Distinguish actual text Ranges, outer frames, SVG viewports, control internals and hit areas during acceptance.
  • Keep the 16px content rail independent of the declared 48px/54px navigation-heading rail and framed-control text inset.
  • Read actual ranui selection parts through the existing testing seam; component APIs and shadow modes are unchanged.
  • Use headings, alignment and proximity for grouping while keeping standalone commands recognizable before hover. Each control may own a functional surface; a group enclosure must express a distinct boundary.
  • Preserve document writes, model loading, persistence and dependency versions. Layout geometry is owned by shared assistant CSS.

Code Concerns

No outstanding actionable findings after review. The coarse-title flex basis and focus-outline clipping found during review were fixed and checked in a fresh production preview.

Verification

  • Latest pnpm test: 252 files and 6,801 tests passed after the full workspace audit and source action classes. Runtime ownership and logic are unchanged. Earlier coverage details are recorded in the acceptance document.
  • pnpm lint:ts, pnpm format:check, pnpm build and git diff --check passed; 1,511 immutable evaluation artifacts retained.
  • Related Chromium sidebar/workspace/source/artifact/history regression run: 23 passed.
  • Final expanded layout suite: Chromium 7 passed; Firefox/WebKit 14 passed, with retries disabled.
  • Earlier flat-composition revision: Chromium history/layout suite 10 passed; Firefox/WebKit history-action suite 6 passed, with retries disabled. Includes full-pane screenshots, shared row geometry, icons and accessible names, translated labels, contrast, disabled/hover/pressed states, Enter/Escape, download and focus return. Focused runtime history/panel/write unit baseline: 274 passed.
  • Latest persisted-theme resting-affordance correction: Chromium History 3, Firefox/WebKit History 6 and Chromium shared-layout 7 passed without retries. Assertions compare adjacent checkbox/icon/text columns and resting fill against the actual canvas, alongside contrast and real interactions. The regression first failed against the previous geometry; acceptance caught and corrected a 4.475:1 danger contrast and an 8px overflow during implementation. Acceptance uses the product’s saved theme and asserts the effective theme before capture, closing a media-only Firefox coverage gap. Updated full-pane/light/dark/320px captures were visually reviewed. Latest lint/typecheck, formatting and ran docs/link gates passed; browser preview production builds succeeded.
  • Expanded Models/Sources/Artifacts audit: Chromium 20 cases and Firefox/WebKit 26 cases passed without retries. Covers local/service/expanded/cached/offline model settings, source search/excerpts/removal/error recovery, artifact import/list/text/table/slides/versions/export/deletion and AI revision/stop/stale/conflict recovery. After the rendered ranui host-shadow fix, cache use/delete/cancel/pending checks passed again in all three engines. The shadow assertion first failed against the inherited raised surface.
  • Both themes, English/Portuguese, fine/coarse pointers, long labels, actual ranui control text, hover, focus, populated disclosures and nested artifact save/return paths covered.
  • Reverse checks reject an 8px text-only shift with unchanged outer width, expanded title hit areas and displaced sibling content rails, then verify restoration.

The first concurrent coverage attempt hit an existing file-read timeout; an isolated complete rerun passed. Full repository browser/Docker execution and native browser zoom were outside this focused run.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Deploying document with  Cloudflare Pages  Cloudflare Pages

Latest commit: 3285b8c
Status: ✅  Deploy successful!
Preview URL: https://b391d761.document-7hm.pages.dev
Branch Preview URL: https://codex-assistant-layout-contr.document-7hm.pages.dev

View logs

@chaxus chaxus changed the title fix(assistant): align workspace content and header hit areas fix(assistant): unify layout and refine history actions Oct 20, 2026
@chaxus chaxus changed the title fix(assistant): unify layout and refine history actions fix(assistant): align workspace rails and simplify nested surfaces Oct 20, 2026
@chaxus
chaxus merged commit 37ecc5c into main Oct 21, 2026
19 checks passed
@chaxus
chaxus deleted the codex/assistant-layout-contract branch October 21, 2026 03:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant