feat(studio): unify Agent presets in the composer status row

Problem: Session composition controls competed with task actions in the
bottom toolbar, and the adjacent ellipsis did not explain how to manage
presets.

Root cause: Composition selection and management were rendered as separate
controls below the input. Floating menu placement also missed fold changes
published after window resize and the end of layout transitions.

Fix: Place one Agent presets menu beside the run status, show sources and
capability notes, and group management below a separator. Preserve locked
bindings and explicit new-conversation actions. Reuse the existing Picker
with per-choice action identities, disabled-row keyboard navigation and
current-state semantics; refresh shared floating anchors after reflow.
Update bilingual guides, release notes and before/after screenshot evidence.

Verification: All 633 frontend test files / 5,225 tests pass, including
selection/management, keyboard focus, pending/failure, lock/new-session,
source identity and responsive positioning regressions. Typecheck,
production build, gofmt, go vet, make lint, make check, and required
boot/builtin suites pass. Browser light/dark, wide/390px and resize recovery
were verified with synthetic fixtures.
This commit is contained in:
SivanCola committed 2026-10-18 00:01:26 +08:00
1 parent 9717c4ff2c
commit f2e2f1f460
33 files changed
+367 -57

No files matched your search

+3 -1
View File
@@ -14,7 +14,9 @@ It uses Reasonix's runtime; it does not load Harness's Cordis plugins.
## Choosing and editing
Choose **Agent** beside the composer before the first prompt. Once a prompt is
Choose the composition beside the run status at the top of the composer before
the first prompt. One menu lists compositions with their sources and capabilities;
**Manage Agent presets…** opens the management page below the choices. Once a prompt is
accepted, the conversation keeps its binding.
Queued work, pending questions and