Files
kandev/docs/plans/settings-composition/surface-inventory.md
T
2026-09-22 21:24:43 +01:00

7.4 KiB

Settings Surface Inventory

This inventory records the original migration coverage. It is a delivery record, not another product contract. The 2026-09-22 Task 06 refinement is pending. It supersedes the completed Task behavior row's collapsed-runtime presentation with tabs and concise optional help. Original completion claims below do not verify this refinement. The route source is apps/web/src/settings-routes.tsx, including its dynamic routes and integration route adapter. For each row, record changed components, retained specialized layouts, and exact rendered evidence during implementation. A shared primitive change alone does not prove that every caller conforms.

Family Entry files or directories Composition Work order Result
Task behavior components/settings/task-behavior-settings.tsx, task controls, system/message-queue-settings.tsx, system/session-capacity-settings.tsx, sleep-inhibition-settings.tsx Preference groups and runtime form disclosure 01 Complete. Four ordered groups keep runtime mounted behind a closed disclosure. Load, validation, and asynchronous save attention from queue, session, and sleep owners reveal it once while preserving later manual collapse. Queue/session contributors feed the group dirty marker, and focused component tests cover dirty, reset, save, and disclosure transitions.
Appearance and keyboard shortcuts components/settings/general-settings.tsx, appearance-account-sections.tsx, startup-page-settings-card.tsx Preference groups 02 Complete. Simple preference cards are rows inside one group frame, while menu/startup/metrics controls keep their specialized form bodies. Route targets, dirty state, and existing controls remain intact; the Appearance structural check verifies no row-owned card is nested in the group frame.
Notifications components/settings/notifications-settings.tsx, external-provider and event sections Preference groups and provider forms 02 Complete. The page template is frameless and sound, permission, provider, and event surfaces own their shared group frames. The component type-scale test and desktop/mobile structural checks verify grouped content without an extra page card.
Layouts and terminal/editors components/settings/layouts/, terminal-editors-settings.tsx, terminal-settings.tsx, editors-settings.tsx Preference/form groups, retained previews 02 Complete. The terminal/editors page is frameless with two group frames; terminal, editor, preview, and language-server bodies retain specialized geometry. The desktop structural check verifies the page-level frame is not duplicated.
Agents and profiles app/settings/agents/, components/settings/agent-profile-page.tsx, agent setup and profile children Resource and form groups 03 Complete. Installed-agent resource chrome and profile children preserve actions and dialogs; desktop and mobile agent layout checks passed.
Executors and profiles app/settings/executor/, app/settings/executors/, components/settings/profile-edit/, SSH and Kubernetes settings Resource/form groups, retained diagnostics 03 Complete. Executor/profile groups retain SSH and Kubernetes diagnostics; desktop and mobile executor spacing checks passed.
Utility agents, external MCP, prompts Corresponding routes under app/settings/, components/settings/prompts-settings.tsx Resource/form groups, retained editors 03 Complete. Utility, MCP, prompt, and editor surfaces use shared surrounding groups while retaining their specialized bodies; component and family matrices passed.
Workspaces and repositories app/settings/workspace/, components/settings/workspaces/, repository cards and forms Resource and form groups 04 Complete. Workspace settings and route sections use shared group chrome; the repository resource section is frameless so each repository card remains the single bordered surface; tabs, forms, and repository children retain their behavior; desktop/mobile family and workspace-tab checks passed.
Workflows and automations Workspace workflow routes, workflow forms, automation routes Group chrome around retained editors 04 Complete. Shared route sections are frameless around retained workflow editor cards, while repository-set rows and automation forms keep their owning surfaces; workspace/integration family coverage and the full settings matrix passed.
Integration connections and watches src/integration-settings-route.tsx, components/github/, gitlab/, jira/, linear/, azure-devops/, sentry/, native integration host forms Credential/form and resource groups 04 Complete. Integration route sections use shared group semantics; GitHub/Jira desktop checks and GitHub mobile checks passed, including repository-scope heading and save behavior.
Global and workspace secrets components/settings/secrets-settings.tsx and secret dialogs Resource/form groups 04 Complete. Secret list/form chrome is grouped while dialogs and credential behavior remain domain-owned; component and family matrices passed.
System, storage, status, updates, feature toggles components/settings/system/ and system route shells Resource/form groups, retained diagnostics 05 Complete. Data/logs, About, and system route surfaces use shared groups around retained diagnostics and tables; system family desktop/mobile checks passed.
Account, users, organizations, units components/settings/account/, system/users-table.tsx, system/organizations/, units/ Resource/form groups 05 Complete. Token, user, organization, and unit resource chrome is grouped while permissions and dialogs remain intact; system/account family desktop/mobile checks passed.
Plugin listing/details and host-provided settings app/settings/plugins/, components/settings/plugins/, native host settings chrome Resource/form groups with plugin-owned frame opt-out 05 Complete. Installed plugin and detail settings use shared groups; browse/canvas/plugin-owned bodies remain specialized, and integration routes explicitly preserve frameless plugin-owned content; full component and family matrices passed.

Paths in the table are relative to apps/web/. Existing redirect routes and the Settings index retain navigation behavior. Existing dialogs inherit field and action presentation without replacing their submission flow. Plugin-owned content is outside this repository's migration scope.

Retained specialized layouts

  • Workflow pipeline, sidebar/layout preview, drag ordering, and automation editors retain their interaction geometry.
  • Monaco, terminal, prompt, code, query, and log content retain technical fonts and editor sizing.
  • Tables retain columns and overflow within their owning surface. Their headings, helpers, and actions use the shared settings contract.
  • Health, connection, update, and permission states retain their semantic alert colors.
  • Destructive operations remain visibly separate and retain confirmation behavior.
  • Settings header tabs retain their current placement and URL behavior.

Evidence protocol

For each row, inspect its imported first-party forms and identify every composition exception. Mark a row complete only after its work-order commands pass and its desktop/phone evidence is recorded. Use seeded mock resources for empty and populated states. Do not mutate a developer instance. Record exact commands and outcomes, not screenshots alone or class-name inspection alone.