# Product run: haixun-console | Field | Value | |-------|--------| | Goal | 從零重寫:地基 → 前端 mock → 接真;多帳互回(reply 含 lead) | | Phase | **tasks / ready-to-implement** | | Requirements | **approved** | | Spec | **approved** | | Plan | **approved** | | Legacy | `old/` 封存 | | Updated | 2026-07-09 | ## Delivery order ```text M0–M9 (T001–T022) → Phase B mock UI M10 → 人審 B OK M20+ (T100+) → Phase C live API(尚未拆細) ``` ## Artifacts | File | Status | |------|--------| | [requirements.md](./requirements.md) | approved | | [spec.md](./spec.md) | approved | | [plan.md](./plan.md) | approved | | [tasks/INDEX.md](./tasks/INDEX.md) | **22 tasks ready** | ## Start implementing ```text 從 T001 開始 docs/product/haixun-console/tasks/T001-scaffold-apps-web.md ``` 完成一題就把 INDEX 狀態改成 `done`,再做下一題。 ## Defaults - `apps/web` greenfield · Harbor Desk · Speakers = lead ∪ cast(reply 可選 lead) - B 可純前端 · mock localStorage · Scout 占位