# Tasks INDEX — haixun-console

> Phase B 主線：T001–T022  
> Phase C/D：T100+ / T200+ 預留（未建檔）

| ID | Title | Milestone | Status | Est. lines |
|----|-------|-----------|--------|------------|
| T001 | Scaffold apps/web (Vite React TS) | M0 | done | ~120 |
| T002 | Harbor design tokens + global CSS + fonts | M1 | done | ~150 |
| T003 | UI primitives (Button Input Card …) | M1 | done | ~180 |
| T004 | App shell layout + desktop nav + mobile dock | M1 | done | ~180 |
| T005 | Router + route table + placeholder pages | M1 | done | ~150 |
| T006 | Mock auth session + login page + guard | M2 | done | ~160 |
| T007 | Domain types + repo interfaces + createRepos | M3 | done | ~180 |
| T008 | Mock repos + localStorage + seed data | M3 | done | ~200 |
| T009 | Crew page (accounts list + mock connect) | M4 | done | ~160 |
| T010 | Studio list page (plays) | M5 | done | ~120 |
| T011 | Studio wizard shell + stepper + draft persist | M5 | done | ~160 |
| T012 | Wizard steps: topic + crew (lead/cast) | M5 | done | ~160 |
| T013 | Wizard script steps (speakers include lead) | M5 | done | ~180 |
| T014 | Wizard preview + schedule + submit to outbox | M6 | done | ~180 |
| T015 | Outbox list + detail timeline | M7 | done | ~160 |
| T016 | Outbox simulate publish + retry rules | M7 | done | ~180 |
| T017 | Mock jobs + progress timer | M8 | done | ~150 |
| T018 | Notification center + bell menu | M8 | done | ~160 |
| T019 | Today dashboard page | M8 | done | ~150 |
| T020 | Scout placeholder + Settings (datasource) | M9 | done | ~120 |
| T021 | Seed example play root→cast→lead | M9 | done | ~100 |
| T022 | RWD polish + build smoke checklist | M9 | done | ~120 |

## How to work

1. Pick next `todo` whose Depends on are `done`.  
2. Set status `doing` → implement only that task → acceptance → `done`.  
3. Do not start T100+ until Phase B human OK.
