# Tasks — MS20 Site Stabilization > 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 | | ----------- | ----------- | ---------------------------------------------------------------------------------------- | ----- | ------- | ----------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------ | ------------ | ---------- | ------------ | -------- | ---- | ------------------------------------------------------------------------------------------- | | SS-PLAN-001 | done | Plan MS20 task breakdown, create milestone + issues, populate TASKS.md | — | — | — | | SS-WS-001,SS-ORCH-001,SS-API-001,SS-UI-001 | orchestrator | 2026-02-27 | 2026-02-27 | 15K | ~15K | Planning complete | | SS-WS-001 | done | Fix workspace context for domain creation — domains page POST sends workspace ID | #534 | web | fix/workspace-domain-project-create | SS-PLAN-001 | SS-WS-002 | worker-1 | 2026-02-27 | 2026-02-27 | 15K | ~37K | PR #536 merged. CreateDomainDialog + wsId threading. QA remediated | | SS-WS-002 | done | Fix workspace context for project creation — projects page POST sends workspace ID | #534 | web | fix/workspace-domain-project-create | SS-WS-001 | SS-VER-001 | worker-1 | 2026-02-27 | 2026-02-27 | 10K | 0K | Already working — projects/page.tsx uses useWorkspaceId correctly | | SS-WS-003 | done | Fix useWorkspaceId localStorage initialization — ensure workspace ID persists from login | #534 | web | — | SS-PLAN-001 | SS-VER-001 | — | 2026-02-27 | 2026-02-27 | 15K | 0K | Already in main — auth-context.tsx has WORKSPACE_STORAGE_KEY persistence. PR #546 closed. | | SS-ORCH-001 | done | Fix orchestrator 502 — diagnose and fix proxy connectivity to orchestrator service | #534 | web,api | fix/orchestrator-connectivity | SS-PLAN-001 | SS-ORCH-002 | worker-6 | 2026-02-27 | 2026-02-27 | 25K | ~30K | PR #542 merged. Proxy config + CORS + health endpoint. | | SS-ORCH-002 | done | Fix WebSocket "Reconnecting to server..." — cookie auth + CORS + withCredentials | #534 | web,api | fix/websocket-reconnect | SS-ORCH-001 | SS-VER-001 | worker-8 | 2026-02-27 | 2026-02-27 | 15K | ~25K | PR #547 merged (auth fix), PR #548 (test), PR #549 (CORS origins). All green. | | SS-API-001 | done | Implement personalities API — controller, service, DTOs, Prisma model for CRUD | #534 | api | feat/personalities-api | SS-PLAN-001 | SS-UI-002 | worker-2 | 2026-02-27 | 2026-02-27 | 30K | ~45K | PR #537 merged. Full CRUD, migration, field mapping. Review: 3 should-fix logged | | SS-API-002 | done | Implement /users/me/preferences endpoint — wire to UserPreference model | #534 | api | feat/user-preferences-endpoint | SS-PLAN-001 | SS-VER-001 | worker-4 | 2026-02-27 | 2026-02-27 | 15K | ~18K | PR #539 merged. Added PATCH endpoint + fixed /api prefix in profile/appearance pages | | SS-UI-001 | done | Credential management UI — enable Add Credential button, create/view forms, wire to API | #534 | web | feat/credential-management-ui | SS-PLAN-001 | SS-VER-001 | worker-9 | 2026-02-27 | 2026-02-27 | 25K | ~25K | PR #545 merged. Full CRUD forms, credential type switching, API wiring. | | SS-UI-002 | done | Fix personalities page — dark mode Formality dropdown, save functionality, wire to API | #534 | web | fix/personalities-page | SS-API-001 | SS-VER-001 | worker-5 | 2026-02-27 | 2026-02-27 | 15K | ~10K | PR #540 merged. Select dark mode, 204 handler, deletePersonality type. Review: 3 should-fix | | SS-UI-003 | done | Terminal page route — create /terminal page with full-screen terminal panel | #534 | web | feat/terminal-page-route | SS-PLAN-001 | SS-VER-001 | worker-3 | 2026-02-27 | 2026-02-27 | 10K | ~15K | PR #538 merged. /terminal page + sidebar link. Review: 2 should-fix logged | | SS-UI-004 | done | Add favicon.ico and fix dark mode polish | #534 | web | fix/favicon-polish | SS-PLAN-001 | SS-VER-001 | worker-7 | 2026-02-27 | 2026-02-27 | 5K | ~8K | PR #541 merged. favicon.ico added + layout metadata | | SS-VER-001 | done | Verification — full site test, deploy, smoke test | #534 | web,api | fix/websocket-cors-origins | SS-WS-002,SS-WS-003,SS-ORCH-002,SS-API-002,SS-UI-001,SS-UI-002,SS-UI-003,SS-UI-004 | SS-DOC-001 | orchestrator | 2026-02-27 | 2026-02-27 | 15K | ~20K | All pages verified. PR #548 test fix, PR #549 CORS fix. Deployed pipeline 680. | | SS-DOC-001 | in-progress | Documentation — update PRD status, manifest, scratchpad, close mission | #534 | — | — | SS-VER-001 | | orchestrator | 2026-02-27 | | 5K | | | ## Summary | Metric | Value | | --------------- | ---------------------- | | Total tasks | 14 | | Completed | 13 | | In Progress | 1 (SS-DOC-001) | | Remaining | 0 | | Estimated total | ~215K tokens | | Used | ~263K tokens | | Milestone | MS20-SiteStabilization | ## Dependency Graph ``` PLAN-001 ✓ ──┬──→ WS-001 ✓ ──→ WS-002 ✓ ──→ VER-001 ✓ ──→ DOC-001 (in-progress) │ ├──→ WS-003 ✓ ──→ VER-001 ✓ │ ├──→ ORCH-001 ✓ ──→ ORCH-002 ✓ ──→ VER-001 ✓ │ ├──→ API-001 ✓ ──→ UI-002 ✓ ──→ VER-001 ✓ │ ├──→ API-002 ✓ ──→ VER-001 ✓ │ ├──→ UI-001 ✓ ──→ VER-001 ✓ │ ├──→ UI-003 ✓ ──→ VER-001 ✓ │ └──→ UI-004 ✓ ──→ VER-001 ✓ ``` ## PRs Merged (14 total) | PR | Title | Branch | | ---- | ------------------------------------------------------------------ | ----------------------------------- | | #536 | fix(web): add workspace context to domain creation | fix/workspace-domain-project-create | | #537 | feat(api): implement personalities CRUD API | feat/personalities-api | | #538 | feat(web): add dedicated /terminal page route | feat/terminal-page-route | | #539 | feat(api): implement /users/me/preferences endpoint | feat/user-preferences-endpoint | | #540 | fix(web): fix personalities page dark mode theming and wire to API | fix/personalities-page | | #541 | fix(web): add favicon.ico | fix/favicon-polish | | #542 | fix(web,api): fix orchestrator proxy 502 connectivity | fix/orchestrator-connectivity | | #543 | chore(orchestrator): update MS20 task tracking for S3 | — | | #544 | fix(web): convert favicon.ico to RGBA format for Turbopack | fix/favicon-rgba | | #545 | feat(web): implement credential management UI | feat/credential-management-ui | | #547 | fix(web,api): fix WebSocket authentication for chat real-time | fix/websocket-reconnect | | #548 | fix(web): update useWebSocket test for withCredentials | fix/websocket-test-assertion | | #549 | fix(api): use getTrustedOrigins() for WebSocket CORS | fix/websocket-cors-origins |