Remove the TUI Style settings section and dead style.* settings keys #42

Closed
opened 2026-07-20 10:38:17 +00:00 by hugo · 1 comment
Owner

Context

The TUI settings panel has a "Style" section (crates/bds-server/src/tui.rs, SettingSection::Style, around line 2072) offering "Theme (system/light/dark)" and "Content width" fields backed by the global settings keys style.theme and style.content_width (defaults in crates/bds-core/src/engine/settings.rs lines 38–39). No code anywhere reads these values — the section edits dead settings. The real Style concept is the project picoTheme (Pico CSS theme), and per decision the Pico theme editor is GUI-only (separate issue).

Task

  1. Remove SettingSection::Style from the TUI: the enum variant, its entry in SettingSection::ALL, the field_specs arm, the label mapping (settings.nav.style in the TUI section labels), and the field-label keys tui.settingTheme / tui.settingContentWidth from all five locales/ui/*.ftl files if nothing else uses them.
  2. Remove the dead default settings keys style.theme and style.content_width from crates/bds-core/src/engine/settings.rs. Check bds-cli config output paths and any settings listing tests that enumerate defaults and update them.
  3. Update specs/tui.allium SettingsPanel rule: the section list becomes Project, Editor, Content, AI, Technology, Publishing, Data, MCP (drop Style). Validate with the installed allium CLI (allium check specs/*.allium — no new warnings).
  4. Note: do NOT remove the GUI settings-sidebar settings.nav.style entry — the GUI keeps the Style tab (Pico theme editor).

Definition of done

  • TUI settings show 8 sections; no style.* keys remain in code, defaults, or locales (except GUI nav/tab labels).
  • cargo test --workspace passes; allium check clean.
## Context The TUI settings panel has a "Style" section (`crates/bds-server/src/tui.rs`, `SettingSection::Style`, around line 2072) offering "Theme (system/light/dark)" and "Content width" fields backed by the global settings keys `style.theme` and `style.content_width` (defaults in `crates/bds-core/src/engine/settings.rs` lines 38–39). **No code anywhere reads these values** — the section edits dead settings. The real Style concept is the project `picoTheme` (Pico CSS theme), and per decision the Pico theme editor is GUI-only (separate issue). ## Task 1. Remove `SettingSection::Style` from the TUI: the enum variant, its entry in `SettingSection::ALL`, the `field_specs` arm, the label mapping (`settings.nav.style` in the TUI section labels), and the field-label keys `tui.settingTheme` / `tui.settingContentWidth` from all five `locales/ui/*.ftl` files if nothing else uses them. 2. Remove the dead default settings keys `style.theme` and `style.content_width` from `crates/bds-core/src/engine/settings.rs`. Check `bds-cli config` output paths and any settings listing tests that enumerate defaults and update them. 3. Update `specs/tui.allium` `SettingsPanel` rule: the section list becomes Project, Editor, Content, AI, Technology, Publishing, Data, MCP (drop Style). Validate with the installed `allium` CLI (`allium check specs/*.allium` — no new warnings). 4. Note: do NOT remove the GUI settings-sidebar `settings.nav.style` entry — the GUI keeps the Style tab (Pico theme editor). ## Definition of done - TUI settings show 8 sections; no `style.*` keys remain in code, defaults, or locales (except GUI nav/tab labels). - `cargo test --workspace` passes; `allium check` clean.
hugo added the bug label 2026-07-20 10:39:47 +00:00
Author
Owner

Implemented in 25fe22a. Removed the dead TUI Style section so the panel now exposes exactly Project, Editor, Content, AI, Technology, Publishing, Data, and MCP; removed the style.theme and style.content_width defaults and their TUI labels from all five locales; and updated specs/tui.allium while preserving the GUI-only Style tab. Added regression coverage at the core defaults, CLI config listing, and TUI section/field boundaries. Verified against the issue, the bDS2 baseline, and the Allium contract with no completeness gaps found. Gates passed: allium check and analyse, cargo fmt --all --check, cargo machete --with-metadata, cargo outdated --workspace --root-deps-only --exit-code 1, cargo clippy --workspace --all-targets -- -D warnings, cargo build --workspace, cargo test --workspace, i18n completeness, and git diff --check.

Implemented in 25fe22a. Removed the dead TUI Style section so the panel now exposes exactly Project, Editor, Content, AI, Technology, Publishing, Data, and MCP; removed the style.theme and style.content_width defaults and their TUI labels from all five locales; and updated specs/tui.allium while preserving the GUI-only Style tab. Added regression coverage at the core defaults, CLI config listing, and TUI section/field boundaries. Verified against the issue, the bDS2 baseline, and the Allium contract with no completeness gaps found. Gates passed: allium check and analyse, cargo fmt --all --check, cargo machete --with-metadata, cargo outdated --workspace --root-deps-only --exit-code 1, cargo clippy --workspace --all-targets -- -D warnings, cargo build --workspace, cargo test --workspace, i18n completeness, and git diff --check.
hugo closed this issue 2026-07-20 12:42:17 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: hugo/RuDS#42