User feedback: the dark/blue buttons with dark/black-looking text feel like bad UX. The board passed mechanical mc-design-qa layout checks, but fails the stricter popular-web-de...
StateDoneNext ActionClosedOwnerLuciRuntimeClosedAge3d ago
Ticket is done; runtime is closed.·profile claude_opus_1m_high
Description
MC-4909
User feedback: the dark/blue buttons with dark/black-looking text feel like bad UX. The board passed mechanical mc-design-qa layout checks, but fails the stricter popular-web-designs polish gate.
Target: Mission Control `/board` live surface.
Design reference direction: Vercel × Sentry structure with Linear/Raycast polish.
- Neutral-first palette; fewer saturated colors.
- Vercel-style shadow-as-border surfaces and precise typography/spacing.
- Sentry-style operational density, but disciplined hierarchy.
- Linear/Raycast polish: one primary action, muted metadata, tactile controls, restrained accent use.
Evidence from review:
- Current screenshot: /home/lucienne/.hermes/cache/screenshots/browser_screenshot_2d26d8851b2f45a689afecedab5ac2eb.png
- Previous mc-design-qa evidence shows layout passes but 320px action cramping remains a note.
Design audit verdict:
- Functional structure is good: toolbar, kanban lanes, card metadata, actions, filtered-zero/mobile work.
- Visual quality is not yet professional enough: too many accent colors, bright/generic blue CTAs, too many equal-weight buttons on every card, weak hierarchy, small/low-contrast metadata, and color-coded lanes/chips competing for attention.
- Treat this as a design gate failure even though layout QA passed.
Acceptance criteria:
1. Replace bright/generic blue primary card actions with professional high-contrast primary styling: near-black/charcoal or a single deep accent with white text. No dark/blue button may render with black/dark text or ambiguous contrast.
2. Reduce visible card actions by default: one primary action visible; secondary actions (`Done`, `Dismiss`, `Snooze`, etc.) become muted, menu/hover/secondary affordances without losing functional parity.
3. Simplify board color system: neutral foundation, one primary accent, semantic colors only in small chips/dots/icons. Lane headers should not be loud full-color identities.
4. Redesign card hierarchy: title first; next-action/status second; quiet metadata row (`MC-id · owner · project · age`); one primary CTA; secondary actions de-emphasized.
5. Strengthen typography/spacing: consistent 8px rhythm, readable metadata contrast, predictable card title wrapping.
6. Keep functional parity: ticket navigation, copy/open ticket ID, comments/glyphs, `Open request` / `Continue handoff`, `Done`, `Dismiss`, `Snooze`, Done history, filters, Mine, search, mobile tabs, filtered-zero reset all remain reachable unless explicitly product-approved otherwise.
7. Add/adjust tests where markup classes encode button/action hierarchy so future changes do not regress to equal-weight button clutter.
8. Run verification after implementation:
- focused board pytest via uv with requirements;
- `python3 tests/canary/run_board_battery.py`;
- fresh screenshots: desktop 1440x900, mobile 390x844, 320px reflow, filtered-zero mobile;
- console check;
- popular-web-designs design review must score at least 8/10 with no critical UX blockers;
- mc-design-qa must pass after the visual redesign.
Expected check-in: within 2 hours.
Activity
done
INTERACTIVE
Luci is working...
Details —
Done
· High
· Luci
▼
SState
Done
Closed
PPeople
TTiming / Details▼
api (human)
Mission Control
3d ago
3d ago
Advanced / Operator evidence
RRouting owner
ROperator console
Ticket is done; runtime is closed.MC is visibility-only. Hermes Luci launches and gates work outside MC, then mirrors evidence/status here.
WWorkflow
Start Dev Review + QA ▾
Select phases to include:
Agents
Review Gates
Decision
WAT routing: choose an agent, review gate, or decision. Buttons use the live runtime when one is attached.
[visibility-only] Queued message recorded for Hermes Luci. MC did not claim the ticket or spawn a runtime.
luci-board-manager3d ago
[visibility-only board-manager] Routed Luci-owned technical ticket to internal Kanban instead of MC runtime. Created mc-internal card t_14362f8f assigned to codexbuilder in isolated worktree /home/lucienne/workspace/state/kanban-worktrees/mc-4909-board-polish; verified task_run 214 is running with PID 176116 and /proc cwd set to that worktree. MC is parked as waiting/kanban_active until the Kanban handoff is gated; no MC pickup/runtime/send/harvest endpoint was used.
luci-board-manager3d ago
[visibility-only board-manager] Controller review rejected internal Kanban card t_14362f8f for one bounded technical blocker: the in-review `Approve` primary CTA combines `v2-qa-btn--done` with `v2-qa-btn--primary`, and the later done-color rule overrides the primary white text on charcoal (~3.23:1 contrast). Added the exact blocker to the same Kanban card, unblocked it, and redispatched codexbuilder in the existing isolated worktree `/home/lucienne/workspace/state/kanban-worktrees/mc-4909-board-polish` for a focused CSS/test/screenshot correction. MC remains parked as waiting / kanban_active:t_14362f8f; no MC runtime/pickup/send/harvest endpoints were used.
luci-board-manager3d ago
[visibility-only board-manager] Controller gate passed and closed MC-4909. Internal Kanban t_14362f8f produced board-polish commits 11fbf8f + 03555d9; I re-landed them cleanly as origin/master 01891f1 and live-serving cherry-picks 7fb1623 + 04f612f because the live checkout carries additional local commits. Verification: `uv run --with-requirements requirements.txt python -m pytest tests/test_board_v2.py -q` passed (200 passed, 12 subtests), `python3 tests/canary/run_board_battery.py` passed (13 pass, 0 fail, consoleErrors=0), `/api/health` returned HTTP 200, and `/board` contains the corrected `.v2-qa-btn--done:not(.v2-qa-btn--primary)` cascade. Completed internal Kanban t_14362f8f, which unblocked the Home follow-up card. No MC runtime/pickup/send/harvest endpoints were used.