Agent chat: slim inline file and reference links

Merged
TE
11d ago
+300-44

Leo (2026-10-26), word for word: "lawrence said this looked a bit big :x the cmux.json part... we can slim down the padding a bit and maybe make it more... nice? what's up with the lock symbol? and why is it not colored at all? why does it even have the padding? why is it bold".

Inline file, folder, PR, URL and symbol references now share the surrounding text's size and regular weight, without fill or padding. Icons use the link tint. The lock meant outside-project or other-machine locality, rather than read-only status; that information stays in translated hover text, and file opening and confirmation policies are unchanged.

Gallery: agent-pane.inline-chips

Gallery agent-pane.inline-chips compares the previous look with three alternatives: minimal (selected), accent labels and a hairline. The selected style keeps the text line clear and adds colour through the icon. Reference: cmux-design-references apps/claude/live/transcript-markdown-rendering.png; the gallery comparison uses public synthetic paths only.

Validation at 5d4726a9337be9cef90bcb1198e98b1bc8febf9b:

  • Regression commit 19b7e96ac55: missing locality tooltip fails and six rendered line-height cases fail by 2–3 px on the old styling.
  • 20 focused tests, six scoped gallery checks, typecheck and changed-file lint pass. Full lint has four unchanged warnings in DynamicWorkflow.gallery.tsx and chat-environment-scroll-stability.test.tsx.
  • Hosted browser run 40251577656: 10/10 pass, including all six light/dark 12/14/20 px geometry cases. FAST_CHECKS_RECEIPT binds source and final source to 5d4726a9337be9cef90bcb1198e98b1bc8febf9b.
  • Gallery run 40251492917: all eight frames ready at that SHA. I inspected every frame; minimal is selected because the hairline still outlines a tall wrapping path and full accent labels add more colour than needed.
  • Final repair 2377c0496495824634d29d6d9159d62337eb4a52 adds only the release highlight's missing Try it action; its digest entry validator returns no problems. Renderer, tests and gallery source match the captured/reviewed head exactly.
  • Independent Codex gpt-6-astra xhigh: SHIP at 5d4726a9337be9cef90bcb1198e98b1bc8febf9b, static-only. Final-head interdiff review is SHIP at 2377c0496495824634d29d6d9159d62337eb4a52; it verified the action in the catalog and Try It allowlist. Primary source review agrees: host open/confirmation policy and remote file isolation are unchanged.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Before/after (synthetic gallery fixture at 320 px; the before arm reconstructs the old padding, weight and fill):

ThemeBefore stylingSelected minimal
Darkbefore darkafter-minimal dark
Lightbefore lightafter-minimal light
Other gallery variants considered
ThemeAccent labelsHairline
Darkafter-accent darkafter-hairline dark
Lightafter-accent lightafter-hairline light

Review (Codex gpt-6-astra xhigh): SHIP at 2377c0496495824634d29d6d9159d62337eb4a52

Primary review: SHIP at that head. The interdiff is only the validated release-note action; no renderer, tests, or capture fixture changed.

CI reconciliation: fast gates themselves passed. The failed status post, review link, intent-warning patch read and gallery comment are installation-quota HTTP 403s. The aggregate cmux-next check names only the untouched release-compile-derived-data script test; the runner compile failed during setup. The release-note test's inline-file-reference finding is fixed at the final head; its other finding names untouched update-with-running-agents.md, and API-tag finalization is unchanged infrastructure. The broad native and gallery-health jobs are not this web styling change's focused verification.

Agent session: big-red