Skip to content

Match hover-card model metadata to the composer - #67

Merged
brsbl merged 8 commits into
mainfrom
bb/align-hover-card-model-reasoning-thr_bwikffmsvp
Aug 19, 2026
Merged

Match hover-card model metadata to the composer#67
brsbl merged 8 commits into
mainfrom
bb/align-hover-card-model-reasoning-thr_bwikffmsvp

Conversation

@brsbl

@brsbl brsbl commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • match the Thread Hover Cards model and reasoning row to the composer's current typography, colors, spacing, provider icon size, and tooltip wording
  • show Claude Code model names the same way as the composer (Sonnet 5, not Claude-Sonnet-5), including decimal versions such as Opus 4.8 (1M)
  • align permission metadata to the same 12px/15px baseline as model and reasoning, with a distinct semantic icon for every mode: folder-edit for Accept Edits, shield-check for Auto, and unlock for Full Access
  • mute the safe/default Accept Edits and Auto treatments while preserving Full Access as the emphasized warning state
  • visually separate permission metadata from the model/reasoning group with an 8px effective gap
  • preserve the existing folder-edit and eye mappings for legacy Workspace Write and Read Only values
  • keep every unrelated hover-card interaction and layout unchanged
  • cover the shared presentation contract with focused DOM and CSS assertions

The plugin renders into an injected DOM surface, so it cannot directly reuse the host's React ModelReasoningPicker. This change intentionally mirrors the composer's presentation semantics and shared color tokens without adding a new SDK or host dependency.

Before

The reasoning label is smaller and fainter than the composer, and the provider icon is 13px.

Before: hover-card model and reasoning metadata use the older smaller presentation

After

The hover card now matches the composer: 12px/15px metadata, a 16px provider icon, grouped model/reasoning, and a quieter safe permission state.

After: Auto is visibly quieter than model and reasoning

Narrow desktop verification:

After at 900 by 760: the grouped metadata remains clear and inside the viewport

Permission hierarchy

Accept Edits and Auto are intentionally muted; Full Access retains the stronger warning treatment.

Accept Edits

Accept Edits: muted folder-edit icon and label

Auto

Auto: muted shield-check icon and label

Full Access

Full Access: emphasized warning icon and label

Reviewed final state

The single review found and fixed one P1: preserve the decimal in current Claude model IDs. The exact final head now renders claude-opus-4-8[1m] as Opus 4.8 (1M).

Reviewed final head: Claude Opus 4.8 with muted Auto permission

Verification

  • one /ottonomous:review branch at 151241a48; one validated P1 fixed; no re-review and no P2 expansion
  • real BB desktop dev app at get-bb/bb@d81fee6f4; review-affected state recaptured on exact final head 2424a0ab5
  • real Claude Code thread using claude-opus-4-8[1m], medium reasoning, and automatic approval
  • focused test covers Opus 4.8 (1M) while preserving Sonnet 5
  • npm run check --workspace=bb-plugin-thread-hover-cards
  • npm run artifacts -- plugins/thread-hover-cards
  • git diff --check

BB-Thread-ID: thr_bwikffmsvp

@brsbl
brsbl marked this pull request as ready for review August 19, 2026 12:43
@brsbl
brsbl merged commit 1f50bf7 into main Aug 19, 2026
13 checks passed
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