release / web (push) Successful in 1m19s
release / go (push) Successful in 1m48s
release / govulncheck (push) Successful in 18s
release / integration (push) Successful in 4m29s
release / android (push) Successful in 4m16s
release / Build signed APK (push) Successful in 4m38s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 14s
release / Verify release artifacts (tag releases only) (push) Skipped
Settings and Notification settings were hand-rolled ElevatedCards, each with its own padding, title style and row layout, and several rows carried two- and three-line explanations. They are now built from one vocabulary in theme/Section.kt: Section (the plate), SettingRow (title, one short line, an optional icon, the control at the end), SwitchRow and ChoiceRow (the whole row toggles or opens the choices), RowValue, RowSpinner, RowChevron, Muted. The plate is Minstrel's own raised surface with its radius tokens, so the app keeps its look. Sign out, sync and clear cache are rows, not loose buttons; the theme, leveling, loudness target and storage caps are choice rows; the About card (also the update sheet on Home) shows the version as a value and the update as a row with its one button. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>