Four small dead-or-stale items left behind by the 0.67 design work (#763 / #780 / #801). None affects behaviour; all of them mislead a reader. Grouped because they are one tidy-up pass over packages/web.
1. PaletteIcon is dead code
packages/web/src/components/icons.tsx:279-280 exports PaletteIcon. grep -rn 'PaletteIcon' packages/web/src returns that definition and nothing else.
It was the icon for the standalone "Appearance" sidebar entry, which existed only on the #780 feature branch and was deleted before merge. The sidebar on main has Home / Projects / Config / Discover (packages/web/src/components/AppShell.tsx:390-415); appearance lives inside Config. Nothing references the icon.
Fix: delete it, or leave it with a comment saying it is kept deliberately. Right now it reads as "something uses this".
2. theme.ts claims a Tailwind config that no longer exists
packages/web/src/lib/theme.ts:15:
…this hook flips the dark class on <html> and persists the choice. Tailwind is configured darkMode: "class".
There is no Tailwind config file — tailwind.config.js and postcss.config.js were deleted in #763 (git show 67e493f --stat). Tailwind v4 is configured in CSS via @tailwindcss/vite, and the dark variant is declared at packages/web/src/index.css:54:
@custom-variant dark (&:where(.dark, .dark *));
The behaviour is unchanged — index.css:49 says so explicitly ("restores the v3 darkMode: \"class\" behaviour") — but theme.ts sends a reader looking for a config file that is not there.
Fix: point at index.css:54 instead.
3. theme-terminal.css describes a theme count and a build script that do not exist
packages/web/src/styles/theme-terminal.css:2-7:
terminal — the eighth runtime theme.
…It is deliberately NOT emitted by scripts/build-themes.mjs: that generator lifts tokens out of the four original direction worktrees…
Three problems:
- There are four runtime themes, not eight:
THEMES at packages/web/src/lib/appearance.ts:56-77 is foundation, parchment, terminal, scifi.
scripts/build-themes.mjs does not exist (ls → no such file).
packages/web/src/styles/themes.css, which the same comment block refers to, does not exist either.
All four themes are now standalone hand-authored CSS files imported at packages/web/src/index.css:41-44; the generator was eliminated. The comment is a fossil of the exploration phase and now argues against something that was removed.
Fix: rewrite the header to describe what is true — a standalone theme file, registered in appearance.ts and preloaded in index.html.
4. AppearancePanel says "five" where there are four
packages/web/src/components/AppearancePanel.tsx:79:
Small enough to scan five of at once…
AppearancePanel.tsx:108:
Five previews at one hue therefore show five genuinely different accents…
Four themes ship, so four previews render. The surrounding reasoning at :105-111 is correct and worth keeping — it explains why each preview is solved against its own theme's chroma and targets rather than shown with its shipped accent. Only the count is stale.
Fix: four.
Severity: trivial for all four. Blocks no docs claim. Filed so they are recorded rather than re-discovered — items 3 and 4 in particular would each cost the next reader a few minutes proving the code is right and the comment is wrong.
Four small dead-or-stale items left behind by the 0.67 design work (#763 / #780 / #801). None affects behaviour; all of them mislead a reader. Grouped because they are one tidy-up pass over
packages/web.1.
PaletteIconis dead codepackages/web/src/components/icons.tsx:279-280exportsPaletteIcon.grep -rn 'PaletteIcon' packages/web/srcreturns that definition and nothing else.It was the icon for the standalone "Appearance" sidebar entry, which existed only on the #780 feature branch and was deleted before merge. The sidebar on
mainhas Home / Projects / Config / Discover (packages/web/src/components/AppShell.tsx:390-415); appearance lives inside Config. Nothing references the icon.Fix: delete it, or leave it with a comment saying it is kept deliberately. Right now it reads as "something uses this".
2.
theme.tsclaims a Tailwind config that no longer existspackages/web/src/lib/theme.ts:15:There is no Tailwind config file —
tailwind.config.jsandpostcss.config.jswere deleted in #763 (git show 67e493f --stat). Tailwind v4 is configured in CSS via@tailwindcss/vite, and the dark variant is declared atpackages/web/src/index.css:54:The behaviour is unchanged —
index.css:49says so explicitly ("restores the v3darkMode: \"class\"behaviour") — buttheme.tssends a reader looking for a config file that is not there.Fix: point at
index.css:54instead.3.
theme-terminal.cssdescribes a theme count and a build script that do not existpackages/web/src/styles/theme-terminal.css:2-7:Three problems:
THEMESatpackages/web/src/lib/appearance.ts:56-77isfoundation,parchment,terminal,scifi.scripts/build-themes.mjsdoes not exist (ls→ no such file).packages/web/src/styles/themes.css, which the same comment block refers to, does not exist either.All four themes are now standalone hand-authored CSS files imported at
packages/web/src/index.css:41-44; the generator was eliminated. The comment is a fossil of the exploration phase and now argues against something that was removed.Fix: rewrite the header to describe what is true — a standalone theme file, registered in
appearance.tsand preloaded inindex.html.4.
AppearancePanelsays "five" where there are fourpackages/web/src/components/AppearancePanel.tsx:79:AppearancePanel.tsx:108:Four themes ship, so four previews render. The surrounding reasoning at
:105-111is correct and worth keeping — it explains why each preview is solved against its own theme's chroma and targets rather than shown with its shipped accent. Only the count is stale.Fix: four.
Severity: trivial for all four. Blocks no docs claim. Filed so they are recorded rather than re-discovered — items 3 and 4 in particular would each cost the next reader a few minutes proving the code is right and the comment is wrong.