# Tasks — MS18 Theme & Widget System

> Single-writer: orchestrator only. Workers read but never modify.

| id          | status | description                                                                                                                                                | issue | repo | branch                           | depends_on                                             | blocks                                      | agent        | started_at | completed_at | estimate | used | notes                                                                                |
| ----------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | ---- | -------------------------------- | ------------------------------------------------------ | ------------------------------------------- | ------------ | ---------- | ------------ | -------- | ---- | ------------------------------------------------------------------------------------ |
| TW-PLAN-001 | done   | Plan MS18 task breakdown, create milestone + issues, populate TASKS.md                                                                                     | —     | —    | —                                |                                                        | TW-THM-001,TW-WDG-001,TW-EDT-001,TW-KBN-001 | orchestrator | 2026-02-23 | 2026-02-23   | 15K      | ~12K | Planning complete, all artifacts committed                                           |
| TW-THM-001  | done   | Theme architecture — Create theme definition interface, theme registry, and 5 built-in themes (Dark, Light, Nord, Dracula, Solarized) as TS files          | #487  | web  | feat/ms18-theme-architecture     | TW-PLAN-001                                            | TW-THM-002,TW-THM-003                       | worker       | 2026-02-23 | 2026-02-23   | 30K      | ~15K | PR #493 merged                                                                       |
| TW-THM-002  | done   | ThemeProvider upgrade — Load themes dynamically from registry, apply CSS variables, support instant theme switching without page reload                    | #487  | web  | feat/ms18-theme-provider-upgrade | TW-THM-001                                             | TW-THM-003,TW-VER-002                       | worker       | 2026-02-23 | 2026-02-23   | 25K      | ~12K | PR #494 merged                                                                       |
| TW-THM-003  | done   | Theme selection UI — Settings page section with theme browser, live preview swatches, persist selection to UserPreference.theme via API                    | #487  | web  | feat/ms18-theme-selection-ui     | TW-THM-001,TW-THM-002                                  | TW-VER-002                                  | worker       | 2026-02-23 | 2026-02-23   | 25K      | ~10K | PR #495 merged                                                                       |
| TW-WDG-001  | done   | Widget definition seeding — Seed 7 existing widgets into widget_definitions table with correct sizing constraints and configSchema                         | #488  | api  | feat/ms18-widget-seed            | TW-PLAN-001                                            | TW-WDG-002                                  | worker       | 2026-02-23 | 2026-02-23   | 15K      | ~8K  | PR #496 merged                                                                       |
| TW-WDG-002  | done   | Dashboard → WidgetGrid migration — Replace hardcoded dashboard layout with WidgetGrid, load/save layout via UserLayout API, default layout on first visit  | #488  | web  | feat/ms18-widget-grid-migration  | TW-WDG-001                                             | TW-WDG-003,TW-WDG-004,TW-WDG-005            | worker       | 2026-02-23 | 2026-02-23   | 40K      | ~20K | PR #497 merged                                                                       |
| TW-WDG-003  | done   | Widget picker UI — Drawer/dialog to browse available widgets from registry, preview size/description, add to dashboard                                     | #488  | web  | feat/ms18-widget-picker          | TW-WDG-002                                             | TW-VER-001                                  | worker       | 2026-02-23 | 2026-02-23   | 25K      | ~12K | PR #498 merged                                                                       |
| TW-WDG-004  | done   | Widget configuration UI — Per-widget settings dialog using configSchema, configure data source/filters/colors/title                                        | #488  | web  | feat/ms18-layout-management      | TW-WDG-002                                             | TW-VER-001                                  | worker       | 2026-02-23 | 2026-02-23   | 30K      | ~8K  | PR #499 merged (bundled with WDG-005)                                                |
| TW-WDG-005  | done   | Layout management UI — Save/rename/switch/delete layouts, reset to default. UI controls in dashboard header area                                           | #488  | web  | feat/ms18-layout-management      | TW-WDG-002                                             | TW-VER-001                                  | worker       | 2026-02-23 | 2026-02-23   | 20K      | ~8K  | PR #499 merged (bundled with WDG-004)                                                |
| TW-EDT-001  | done   | Tiptap integration — Install @tiptap/react + extensions, build KnowledgeEditor component with toolbar (headings, bold, italic, lists, code, links, tables) | #489  | web  | feat/ms18-tiptap-editor          | TW-PLAN-001                                            | TW-EDT-002                                  | worker       | 2026-02-23 | 2026-02-23   | 35K      | ~12K | PR #500 merged                                                                       |
| TW-EDT-002  | done   | Markdown round-trip + File Manager integration — Import markdown to Tiptap, export to markdown + HTML. Replace textarea in knowledge create/edit           | #489  | web  | feat/ms18-markdown-roundtrip     | TW-EDT-001                                             | TW-VER-001                                  | worker       | 2026-02-23 | 2026-02-23   | 30K      | ~10K | PR #501 merged                                                                       |
| TW-KBN-001  | done   | Kanban filtering — Add filter bar (project, assignee, priority, search). Support project-level and user-level views. URL param persistence                 | #490  | web  | feat/ms18-kanban-filtering       | TW-PLAN-001                                            | TW-VER-001                                  | worker       | 2026-02-23 | 2026-02-23   | 30K      | ~10K | PR #502 merged                                                                       |
| TW-VER-001  | done   | Tests — Unit tests for new components, update existing tests, fix any regressions                                                                          | #491  | web  | feat/ms18-verification-tests     | TW-WDG-003,TW-WDG-004,TW-WDG-005,TW-EDT-002,TW-KBN-001 | TW-VER-002,TW-DOC-001                       | worker       | 2026-02-23 | 2026-02-23   | 25K      | ~8K  | PR #503 merged; 20 new tests (1195 total)                                            |
| TW-VER-002  | done   | Theme verification — Verify all 5 themes render correctly on all pages, no broken colors/contrast issues                                                   | #491  | web  | —                                | TW-THM-003,TW-VER-001                                  | TW-DOC-001                                  | orchestrator | 2026-02-23 | 2026-02-23   | 15K      | ~3K  | All themes validated; gantt.css has 3 pre-existing hardcoded colors (not MS18 scope) |
| TW-DOC-001  | done   | Documentation updates — TASKS.md, manifest, scratchpad, PRD status updates                                                                                 | #491  | —    | feat/ms18-doc-verification       | TW-VER-001,TW-VER-002                                  | TW-VER-003                                  | orchestrator | 2026-02-23 | 2026-02-23   | 10K      | ~5K  | PR #504 merged                                                                       |
| TW-VER-003  | done   | Deploy to Coolify + smoke test — Deploy, verify themes/widgets/editor/kanban all functional, auth working, no console errors                               | #491  | —    | —                                | TW-DOC-001                                             |                                             | orchestrator | 2026-02-23 | 2026-02-23   | 15K      | ~5K  | Deployed, HTTP 200, login page renders, no console errors                            |

## Summary

| Metric        | Value                  |
| ------------- | ---------------------- |
| Total tasks   | 16                     |
| Completed     | 16 (all tasks)         |
| In Progress   | 0                      |
| Remaining     | 0                      |
| PRs merged    | #493–#505              |
| Issues closed | #487, #488, #489, #490 |
| Milestone     | MS18-ThemeWidgets      |
