Status: done · Date: 2026-06-04 · Owner: Luci (Control Room Coder)
Board v2 lives in the mission-control repo (~/workspace/mission-control/),
which is its own git repo and is gitignored from the workspace repo this cr/
branch belongs to. The code change therefore landed there, not in this worktree:
git@github.com-mc:conrelma/mission-control.gitmastera8796ae — fix(MC-4654): apply dark mode across Board v2 surfacesluci-dashboard.service restarted; /board serving the fix (HTTP 200).This note is the worktree-side artifact for the harvest; the deliverable is the mission-control commit above.
/board (board_v2) rendered a dark outer shell (base.html) but the board's own
surfaces — topbar, columns, cards, chips, buttons — stayed light/white in dark
mode. Root cause: the three board_v2 templates each carried an inline <style>
block with hardcoded light hex (#ffffff surfaces, pastel chip fills, light
borders/text) that never referenced the theme tokens, so they didn't respond
when html[data-theme] flipped.
Routed every board-v2 surface/border/text through the shared theme tokens
(var(--surface|--surface2|--bg|--border|--text|--muted)) and the MC
translucent-semantic chip idiom (rgba(<sem>,0.15) bg + var(--sem) text) —
the same pattern the rest of MC uses, so the board now follows the theme.
Files (mission-control):
- templates/board_v2.html — topbar, controls, filter toggle/clear, live badge.
- templates/partials/board_v2_panel.html — column headers/badges, done-toggle, load-more, "Empty".
- templates/partials/board_v2_card.html — card surface, title/meta/id, all chips, quick-action buttons.
Council (4/5; Kimi timed out) confirmed dark mode is complete with excellent
contrast and flagged one real edge: in light theme the bright dark-mode
amber/green/red tokens composite to ~3:1 on their pale washes (AA fail for the
small chip text). Added html[data-theme="light"] dark-ink overrides for those
semantic chips/badges/buttons only (blue/purple light tokens are already dark
enough). The solid blue "New ticket" CTA is intentionally left theme-agnostic.
tests/test_board_v2_dark_theme.py (new) — asserts no
light surface fills return and the light-theme contrast overrides stay. Full
board suite green: 125 + 53.tests/mc4654-0{1..4}-*.png).