# Tasks — MS16+MS17 Pages & Data Integration > 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 | | ----------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | ------------ | ----------------- | ----------------- | -------- | ---- | -------------------------------------------------------------------- | | PG-PLAN-001 | done | Plan MS16+MS17 task breakdown, create issues + milestone | #466-#469 | — | — | | PG-FND-001,PG-FND-002,PG-API-001,PG-API-002,PG-API-003 | orchestrator | 2026-02-22T21:20Z | 2026-02-22T21:35Z | 15K | — | Planning complete. PR #470 merged. | | PG-FND-001 | done | Custom 404 page — Branded not-found page matching design system, navigation back to dashboard | #466 | web | feat/404-page | PG-PLAN-001 | PG-VER-001 | worker | 2026-02-22T21:35Z | 2026-02-22T21:43Z | 10K | — | PR #472 merged. Global + authenticated 404 pages. | | PG-FND-002 | done | Settings root/index page — Category cards linking to Credentials, Domains, Personalities, Workspaces subpages | #466 | web | feat/settings-root | PG-PLAN-001 | PG-VER-001 | worker | 2026-02-22T21:35Z | 2026-02-22T21:42Z | 12K | — | PR #471 merged. 4 category cards with icons. Issue #466 closed. | | PG-API-001 | done | Wire /tasks page to real API — Replace mockTasks with fetchTasks() calls, add loading/empty/error states | #467 | web | feat/tasks-real-api | PG-PLAN-001 | PG-PAGE-003,PG-VER-001 | worker | 2026-02-22T21:44Z | 2026-02-22T22:05Z | 18K | — | PRs #473+#475 merged. Mock removed. Tests updated. | | PG-API-002 | done | Wire /calendar page to real API — Replace mockEvents with fetchEvents() calls, add loading/empty/error states | #467 | web | feat/calendar-real-api | PG-PLAN-001 | PG-VER-001 | worker | 2026-02-22T21:44Z | 2026-02-22T22:00Z | 18K | — | PR #474 merged. Mock removed. Issue #467 closed. | | PG-API-003 | done | Wire /knowledge pages to real API — Replace mockEntries/mockTags across list, detail, search, graph, stats pages | #467 | web | feat/knowledge-real-api | PG-PLAN-001 | PG-VER-001 | worker | 2026-02-22T22:06Z | 2026-02-22T22:25Z | 25K | — | PR #476 merged. 238 lines of mock data removed. | | PG-PAGE-001 | done | Projects list page — Card/table layout, CRUD, wire to /api/projects. Create API client (projects.ts) | #468 | web | feat/projects-page | PG-PLAN-001 | PG-PAGE-002,PG-VER-001 | worker | 2026-02-22T22:06Z | 2026-02-22T22:30Z | 30K | — | PR #477 merged. 809 lines. Create/delete dialogs. | | PG-PAGE-002 | done | Project Workspace page — Single-project view with tasks, agent sessions, settings. Wire to /api/projects/:id, /api/tasks, /api/runner-jobs | #468 | web | feat/workspace-page | PG-PAGE-001 | PG-VER-001 | worker | 2026-02-22T22:31Z | 2026-02-22T22:50Z | 35K | — | PR #479 merged. Tabbed view + runner-jobs client. Issue #468 closed. | | PG-PAGE-003 | done | Kanban board page — Drag-and-drop columns for TaskStatus (NOT_STARTED, IN_PROGRESS, PAUSED, COMPLETED, ARCHIVED). Wire to /api/tasks | #468 | web | feat/kanban-page | PG-API-001 | PG-VER-001 | worker | 2026-02-22T22:31Z | 2026-02-22T22:50Z | 40K | — | PR #478 merged. @hello-pangea/dnd for DnD. Optimistic updates. | | PG-PAGE-004 | done | File Manager page — Tree/list view of knowledge entries with CRUD + search. Wire to /api/knowledge | #468 | web | feat/file-manager | PG-PLAN-001 | PG-VER-001 | worker | 2026-02-22T22:51Z | 2026-02-22T23:05Z | 30K | — | PR #481 merged. List+grid views, search, create, delete. | | PG-PAGE-005 | done | Logs and Telemetry page — Log viewer with timestamp/level/source/message. Filtering + auto-refresh. Wire to /api/runner-jobs, job steps, events | #468 | web | feat/logs-page | PG-PLAN-001 | PG-VER-001 | worker | 2026-02-22T22:51Z | 2026-02-22T23:00Z | 30K | — | PR #480 merged. Auto-refresh, expandable rows, filters. | | PG-PAGE-006 | done | Profile page — User profile linked from sidebar user card. Wire to /api/users/me/preferences | #468 | web | feat/profile-page | PG-PLAN-001 | PG-VER-001 | worker | 2026-02-22T23:06Z | 2026-02-22T23:20Z | 20K | — | PR #482 merged. User card, preferences, sign out. | | PG-VER-001 | done | Cross-page theme + responsive verification — Fix tests, verify all routes in build | #469 | web | feat/theme-verification | PG-FND-001,PG-FND-002,PG-API-001,PG-API-002,PG-API-003,PG-PAGE-001,PG-PAGE-002,PG-PAGE-003,PG-PAGE-004,PG-PAGE-005,PG-PAGE-006 | PG-DOC-001,PG-VER-002 | worker | 2026-02-22T23:21Z | 2026-02-22T23:35Z | 12K | — | PR #483 merged. 3 test failures fixed. All 5125 tests pass. | | PG-DOC-001 | in-progress | Documentation updates — TASKS.md, manifest, scratchpad, PRD status updates | #469 | — | — | PG-VER-001 | PG-VER-002 | orchestrator | 2026-02-22T23:36Z | | 10K | | | | PG-VER-002 | not-started | Deploy to Coolify + smoke test — Deploy to mosaic.woltje.com, verify all pages accessible, auth working, no console errors | #469 | — | — | PG-DOC-001 | | | | | 15K | | | ## Summary | Metric | Value | | ------------- | ------------------------------ | | Total tasks | 15 | | Completed | 13 | | In Progress | 1 (PG-DOC-001) | | Remaining | 1 (PG-VER-002) | | PRs merged | #470-#483 (14 PRs) | | Issues closed | #466, #467, #468 | | Milestone | MS16+MS17-PagesDataIntegration |