Skip to content

P55: New-session dialog takes model and thinking from the shared model selector - #729

Merged
trissim merged 1 commit into
mainfrom
fix/p55-new-session-dialog
Oct 16, 2026
Merged

trissim merged 1 commit into
mainfrom
fix/p55-new-session-dialog

Conversation

@trissim

@trissim trissim commented Oct 16, 2026

Copy link
Copy Markdown

P55: the new-session dialog asked for a pi binary, had its own model and thinking fields beside the model selector, and had both Task and Prompt boxes. Depends on Core OpenHCSDev/agent-comms#1070, which deletes pi_bin and prompt from New/Fork (Core only ever used Prompt as an override of Task) and declares model/thinking_level as catalog fields.

Toad change:

  • ThreadAction.collect prepares the declared fields through Core (TargetAction.prepare_fields()) before opening the dialog, so catalog fields carry their discovered choices.
  • CommandDialog renders each catalog field as a CatalogField button. It opens the existing model search, with recents, ranking and "Connect a provider…" (provider login, then catalog refresh). Choosing a model refreshes the thinking catalog for that model.
  • model_switcher.py: search, ranking, recents and the Connect row move into a ModelSelection base. The prompt's ModelSwitcher and the dialog's CatalogFieldSelection declare only their choices, current value, what selecting does and what connecting does.

Taken from forms-migration's 1b9f893 and 72ced63 on #670 without their scratch files or pins, and adapted to Core main: prepare_fields() without Comms, and the picker is renamed so it does not shadow Core's CatalogSelection. #670 should drop those two commits.

Real UI check: isolated Xvfb :254, plain st, isolated AGENT_COMMS_ROOT with copied sessions, this branch plus Core #1070. The dialog shows Name, Task, Tags, Project, Model and Thinking level, with no pi binary and no Prompt. Clicking Model opens the shared model search (444 models plus Connect a provider). One session, p55-dialog-check, was created and attached; its footer shows openai-codex/gpt-6.1-sol · high, and the registry stores model openai-codex/gpt-6.1-sol, thinking high and an empty task (so no input was sent). Ctrl+Q exited cleanly with no crash file. No automated tests (Toad policy).

The agent-comms pin moves to the #1070 merge at install time.

🤖 Generated with Claude Code

…l selector

The command dialog prepares catalog-backed fields through Core
(TargetAction.prepare_fields) before opening, and renders each one as a
CatalogField that opens the existing model search and provider
connection. ModelSwitcher's search, ranking, recents and Connect row
move into a ModelSelection base; the prompt's ModelSwitcher and the
dialog's CatalogFieldSelection only declare their choices, current
value, selection and provider-connection actions.

Lifted from forms-migration's 1b9f893 and 72ced63 on #670 without
their scratch files or pins, and adapted to Core main: prepare_fields()
takes no Comms, and the dialog picker is named CatalogFieldSelection so
it does not shadow Core's CatalogSelection.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 16, 2026 22:08

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@trissim
trissim merged commit 2f0836e into main Oct 16, 2026
1 of 2 checks passed
@trissim
trissim deleted the fix/p55-new-session-dialog branch October 17, 2026 20:51
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.

2 participants