Symptom

Settings panel section headings inconsistently mixed primary blue and unstyled/tertiary gray within the same app. Nightly UX audit (2026-06-11) identified 5 screens where headings like “Data Point Tags:”, “Query Parameters:”, “Headers:”, “Existing Archives:”, “Restore”, “Schedule”, and “Generated cron:” used either titleMedium without a color, or labelMedium without a color — causing them to inherit the theme default (gray/muted) instead of the primary blue used by “Backend”, “Response Format”, “Input Nodes” and other headings elsewhere.

Root cause

No shared SectionHeading composable was enforced — each file authored its own inline Text(...) for heading text, choosing style and color ad hoc. The reference pattern (titleSmall + colorScheme.primary) was used correctly in EditLLM.kt, ExecutorEditComponents.kt, and others but was missed when writing EditLambda, EditOutboundWebHook, EditBackup, and CronExpressionEditor.

Fix

Standardized 7 heading calls across 4 files to style = MaterialTheme.typography.titleSmall, color = MaterialTheme.colorScheme.primary:

Prevention

When adding a new in-settings section heading, match the established token: style = MaterialTheme.typography.titleSmall, color = MaterialTheme.colorScheme.primary. A SectionHeading(text: String) composable in ExecutorEditComponents.kt or CommonLayout.kt would make this the only valid call site and prevent drift — consider extracting one if a third heading is ever added to any file.