# T008 — Mock repos + localStorage + seed > Status: `done` > Completed: 2026-07-09 > Milestone: `M3` > Est. change: `~200 lines` ## Goal 全部 mock repository 讀寫 localStorage;首次進入寫入 seed 帳號/通知/job。 ## Depends on - T007 ## Inputs - Spec §8.1 keys、§8.5 mock 原則 - keys 前綴 `harbor.*` ## Outputs ### 程式變更 | 路徑 | 動作 | 說明 | |------|------|------| | `apps/web/src/data/mock/*.ts` | add | 各 repo 實作 | | `apps/web/src/data/mock/seed.ts` | add | 初始資料 | | `apps/web/src/data/createRepos.ts` | edit | 接上 mock | ### 行為變更 - 至少 2 個 usable ThreadsAccount - 1 job running 或 demo、1 unread notification(可選) - CRUD ThreadPlay / Outbox 可用(即使 UI 尚未接) ## Out of scope - 模擬發送狀態機完整邏輯可簡化,細節在 T016 強化 ## Acceptance - [ ] 重整後 seed 不重複爆量(idempotent seed) - [ ] 手動在 console 或暫用 dev helper 可 list accounts - [ ] `npm run build` 通過 ```bash cd apps/web && npm run build ```