Symptom

UX audit found that secondary-action buttons in settings panels used filled Button() (primary solid) in some places — “Add Tag” (Lambda), “Add Task” (TaskList), “Test” and “Refresh Nodes” (Server) — while the most common pattern, “Add Input Node”, uses OutlinedButton. The inconsistency made some buttons look like primary save actions instead of secondary context operations.

Root cause

No shared secondary-action button composable existed for settings panels. Each panel author picked the Material3 component that felt right locally, with no reference to a catalog-wide pattern. The filled Button() is the most prominent Compose option, leading to overuse in contexts where a secondary (outlined) style is appropriate.

Fix

Changed four buttons from Button() to OutlinedButton() to match the “Add Input Node” canonical pattern used across the catalog:

Updated spinner colors in Test and Refresh Nodes from onPrimary (correct for filled buttons) to primary (correct for outlined buttons whose content color defaults to primary).

Prevention

When adding a secondary action button to a settings panel — any button that is not the node’s primary save/confirm action — use OutlinedButton and match the “Add Input Node” precedent in ExecutorEditComponents.kt. The filled Button() style should be reserved for primary, irreversible, or highest-prominence actions. A future shared SettingsActionButton composable wrapping OutlinedButton would codify this at the call site.