Three parts:
- ProgramaApp.swift split: DEBUG windows, SettingsView's sections (body is one 1,130-line computed property), settings enums, design-system helpers, Commands scene. Clean seams cut it to ~a fifth.
- File-watcher logic exists three times (twice in ProgramaConfig.swift, once in KeyboardShortcutSettingsFileStore.swift) and the in-file copies have already drifted in retry/backoff behavior. One watcher helper.
- Config-system boundaries: the general-purpose settings.json store lives in a file misleadingly named KeyboardShortcutSettingsFileStore.swift; GhosttyConfig and settings.json both write the same sidebar-tint UserDefaults keys with no declared precedence; every setting is enumerated twice by hand (@AppStorage list vs resetAllSettings()) with no compiler link. The store's ~40 hand-written parse blocks could become a declarative table (the sibling programa.json store proves the idiom).
From the 2026-07-09 nuclear review (10 module reviewers + Codex cross-model pass, disprove-first). Line refs are against the reductive-audit branch (PR #81).
Three parts:
From the 2026-07-09 nuclear review (10 module reviewers + Codex cross-model pass, disprove-first). Line refs are against the
reductive-auditbranch (PR #81).