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