Skip to content

Choose model and effort for mentioned agents - #856

Draft
baxen wants to merge 1 commit into
baxen/session-debugfrom
baxen/model
Draft

baxen wants to merge 1 commit into
baxen/session-debugfrom
baxen/model

Conversation

@baxen

@baxen baxen commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Mentioning your own Claude Code or Codex agent exposes a model/effort control for its next run. The control appears immediately while discovery fills in a loading state. Choices are sent as owner-scoped message tags; an unpicked turn returns to the agent defaults, and unsupported model/effort choices are rejected by the existing service/runtime boundaries.

The picker uses the existing IconButton, Menu and Popover owners with the effort slider. Codex discovery reuses #852’s shared server. Claude discovery reads an existing session or uses a temporary process that is released after reading; it never assigns the shared warm spare to an agent merely to inspect settings. Cached own-model metadata survives a first-turn override.

Stack: #838 → #852 → session viewer (baxen/session-debug) → this PR → metadata → adoption → v1 retirement. Base is baxen/session-debug; review only this layer. The complete stack is mirrored to baxen/next for human testing.

Validation: 124 runtime/hook tests passed, 268 composer tests passed, TypeScript passed. Independent integration review found two lifecycle/default-discovery defects; both were fixed with regressions. Manual automated-browser harness exercised pending → ready, keyboard focus, slider changes and popup bounds in Chromium and WebKit, both themes, narrow/wide widths and enlarged text (12 combinations). No permanent browser cases added; pending-state assertions use held promises in the existing component tests. Native and human acceptance of the combined stack remain pending.

Stack index: #838 → #852 → #855 → #856 → #857 → #858 → #859. Local baxen/next at 7a645d346 has the exact same tracked tree as the complete tip 261db4c78. Its temporary integration commit preserves fast-forward ancestry from the existing squashed green history. All newly opened PRs are drafts; native human acceptance is pending.

Mentioning your own Claude Code or Codex agent shows a gauge in the
composer. Its popover is an effort slider with the model name in the
slider's tab; the name opens a compact menu of the agent's models. The
pick rides on that message as `model` and `effort` tags for that agent,
and the host honors them only from the owner and only for listed models
and levels.

- Codex passes the pick to `turn/start` for that turn only.
- Claude Code lists models from `initialize`, sends `set_model` and
  `apply_flag_settings` ahead of the picked turn, and restores its own
  on the next unpicked one.
- The slider opens at the effort an unpicked run uses (Claude Code's
  session effort, Codex's configured effort or the model's default);
  moving back to it is no pick.
- A configured Codex model its CLI does not list keeps the picker, with
  the listed models still pickable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Squashed-from: baxen/model
Squashed-head: 053cee0dba93bb946f544c0c87804ceee90a49ef
Signed-off-by: Bradley Axen <baxen@squareup.com>
Co-authored-by: Codex <noreply@openai.com>
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