# 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          |
