- · Grid of BoardCard components
- · Active board visually distinguished with ACTIVE badge
- · Click card → BoardDrawer slide-in panel
- · + New Board → NewBoardDialog
- · Archived boards hidden by default (toggle to show)
- · POST …/:slug/switch → { current: slug }
- · Gateway updates active board context
- · All task views re-scope to new board's db_path
- · Each board is an isolated SQLite file
- · No cross-contamination between boards
- · Overview tab: name, description, color, task counts
- · Switch to board / Delete / Archive actions
- · Edit tab: inline PATCH form
- · Task breakdown per column shown in Overview
- · Each BoardMeta carries its own db_path string
- · Kanban plugin routes task queries to that file
- · useBoards() fetches via TanStack Query
- · Mutations invalidate boardsKeys.list cache