Files
kandev/docs/specs/agents/settings-profile-layout.md
T

97 lines
5.2 KiB
Markdown

---
status: shipped
created: 2026-08-13
owner: kandev
---
# Simplify the agent settings profile layout
## Why
The agent settings page repeats the profile count and profile creation action
in a separate sub-header inside every agent card. This adds a second hierarchy
between the agent identity and its profiles and makes the primary action harder
to associate with the agent it changes.
## What
- On `/settings/agents`, each configured agent card exposes its existing **New
profile** action in the card header, on the right with the other agent-level
actions. The action continues to open that agent's profile creation flow at
`/settings/agents/<agent>?mode=create`.
- An agent without a saved profile keeps one **Setup profile** action in its
card header. It does not show a second profile-creation action in an empty
profile area.
- The profile list body no longer renders a profile-count or empty-state
header row. When profiles exist, the saved profile rows appear directly in
the card body. When no profiles exist, the card header remains the only
setup entry point.
- The installed-agent section keeps its existing terminal and refresh/rescan
actions. The refresh/rescan action appears immediately before the existing
agent-creation action, and the agent-creation action is the rightmost action
in that toolbar. The current agent-creation behavior and translated label
remain unchanged.
- Existing profile rows, profile links, duplicate/delete actions, agent status
badges, authentication controls, and runtime-update controls keep their
current behavior.
- On a full desktop viewport (at least 1024px wide), each profile row shows
compact icon-only **Duplicate** and **Delete** action buttons directly in the
row action area. The buttons retain translated accessible names, are small
and vertically centered. Hovering or focusing either button shows a tooltip
with its translated action name, and the row does not show the three-dots
profile-actions trigger at this width.
- Below the full desktop boundary, including compact desktop, tablet, and
mobile viewports, each profile row keeps the three-dots profile-actions
trigger and exposes **Duplicate** and **Delete** in its overflow menu. Inline
action buttons are not rendered in these viewports.
- The desktop and mobile layouts expose the same actions and outcomes. On a
narrow touch viewport, card-header actions remain visible, reachable with a
touch target of at least 44px, and do not create document-level horizontal
overflow. The settings content keeps its existing scroll owner.
## Scenarios
- **GIVEN** a configured agent with one or more profiles, **WHEN** the user
opens `/settings/agents`, **THEN** the agent card header shows **New
profile** on the right, the profile rows appear directly below it, and no
profile-count text or separate count/action row is rendered.
- **GIVEN** an agent with no saved profile, **WHEN** the user opens
`/settings/agents`, **THEN** the card header shows **Setup profile**, no
profile-count or empty-state action row is rendered, and clicking the action
opens that agent's profile creation flow.
- **GIVEN** the installed-agent section is visible, **WHEN** the user reads
its right-side toolbar, **THEN** refresh/rescan is immediately followed by
the agent-creation action, which is the rightmost action, while the terminal
action remains available.
- **GIVEN** a configured agent card, **WHEN** the user clicks **New profile**,
**THEN** the browser navigates to that agent's profile creation route and
the existing profile rows remain unchanged.
- **GIVEN** a profile row in a viewport at least 1024px wide, **WHEN** the user
views the row, **THEN** compact icon-only **Duplicate** and **Delete** buttons
with translated accessible names are visible inline, vertically centered,
and the three-dots profile-actions trigger is absent. Hovering or focusing an
inline button shows a tooltip with the matching translated action name.
- **GIVEN** a profile row in a viewport narrower than 1024px, **WHEN** the user
opens the profile-actions trigger, **THEN** the overflow menu contains
**Duplicate** and **Delete**, and no inline action buttons are rendered.
- **GIVEN** a profile row with inline actions or overflow actions, **WHEN** the
user activates **Duplicate** or confirms **Delete**, **THEN** the existing
duplicate or delete behavior completes without changing the profile link or
other row metadata.
- **GIVEN** a phone viewport below 768px, **WHEN** the user opens the agents
settings page, **THEN** the card-header creation action and the section
toolbar actions remain visible and touch-reachable, the profile rows remain
vertically usable, and `document.documentElement.scrollWidth` does not
exceed `window.innerWidth`.
## Out of scope
- Changing the profile editor, agent discovery, agent installation, or the
backend/API contracts.
- Changing the duplicate or delete operation, confirmation flow, profile link,
or store synchronization behavior.
- Renaming the existing translated **New profile**, **Setup profile**, refresh,
or agent-creation labels.
- Changing the profile count text used by unrelated task or picker surfaces.
- Changing the settings sidebar hierarchy or the `/office/agents` surface.