118 lines
5.5 KiB
Markdown
118 lines
5.5 KiB
Markdown
# Tasks INDEX — haixun-backend(v3 · UI MUST)
|
||
|
||
> Plan:`../plan.md`
|
||
> Spec:`../spec.md` §9
|
||
> 對照:`../fe-spec-alignment.md`(**UI MUST + 真上傳 + Remove**)
|
||
> 後端根:**`apps/backend`**
|
||
> Status:**approved**(2026-07-10 使用者「ok同意」)· phase=`ready-to-implement`
|
||
|
||
## 範圍硬規則
|
||
|
||
| 規則 | 內容 |
|
||
|------|------|
|
||
| UI MUST | 只做現 UI 主路徑有呼叫/live 必需的能力 |
|
||
| 真上傳 | `media` attach = 真 multipart→持久 URL(T158) |
|
||
| Remove | 舊靈感、generateFromFormula、ScoutTopic、simulate/createMock 當 live 完成、Insights 真管線 |
|
||
| 路徑 | 全部後端碼在 **`apps/backend`** |
|
||
| 測試 | 每 M 有 integration 閘;T222 矩陣對齊 §9 |
|
||
|
||
## INDEX
|
||
|
||
| ID | Title | M | Kind | Status | Est |
|
||
|----|-------|---|------|--------|-----|
|
||
| T100 | migrate stand alone to apps backend | M0 | feat | done | ~180 |
|
||
| T101 | prune ecommerce modules | M0 | feat | done | ~160 |
|
||
| T102 | single etc config | M0 | feat | done | ~100 |
|
||
| T103 | envelope success 102000 | M0 | feat | done | ~120 |
|
||
| T104 | cmd init mongo indexes | M0 | feat | done | ~150 |
|
||
| T105 | cmd seeder separate | M0 | feat | done | ~140 |
|
||
| T106 | worker binary stub | M0 | feat | done | ~120 |
|
||
| T107 | testkit harness | M0 | test | done | ~180 |
|
||
| T108 | ci test policy | M0 | test | done | ~100 |
|
||
| T110 | member model numeric uid | M1 | feat | done | ~180 |
|
||
| T111 | auth login logout refresh me | M1 | feat | done | ~200 |
|
||
| T112 | auth profile password verify | M1 | feat | done | ~180 |
|
||
| T113 | auth register api | M1 | feat | done | ~160 |
|
||
| T114 | auth third party api | M1 | feat | done | ~180 |
|
||
| T115 | permission middleware | M1 | feat | done | ~140 |
|
||
| T116 | admin members crud | M1 | feat | done | ~200 |
|
||
| T117 | settings ai placement api | M1 | feat | done | ~160 |
|
||
| T118 | seeder admin member | M1 | feat | done | ~100 |
|
||
| T119 | test m1 auth admin integration | M1 | test | done | ~200 |
|
||
| T130 | threads oauth start callback | M2 | feat | todo | ~200 |
|
||
| T131 | threads account list refresh disconnect | M2 | feat | todo | ~150 |
|
||
| T132 | job model and api | M2 | feat | todo | ~180 |
|
||
| T133 | worker job runner | M2 | feat | todo | ~180 |
|
||
| T134 | notifications api | M2 | feat | todo | ~140 |
|
||
| T135 | fe live auth accounts jobs | M2 | feat | todo | ~200 |
|
||
| T136 | test m2 threads job integration | M2 | test | todo | ~200 |
|
||
| T150 | usage events summary byok schema | M3 | feat | todo | ~180 |
|
||
| T151 | usage meter platform vs byok | M3 | feat | todo | ~180 |
|
||
| T152 | ai proxy list models call | M3 | feat | todo | ~180 |
|
||
| T153 | exa search proxy | M3 | feat | todo | ~140 |
|
||
| T154 | usage plan purchase admin | M3 | feat | todo | ~160 |
|
||
| T155 | fe live settings usage byok | M3 | feat | todo | ~160 |
|
||
| T156 | test m3 usage byok integration | M3 | test | todo | ~200 |
|
||
| T157 | extension zip download | M3 | feat | todo | ~100 |
|
||
| T158 | media real upload | M3 | feat | todo | ~180 |
|
||
| T165 | personas crud analyze | M4 | feat | todo | ~180 |
|
||
| T166 | plays crud list submit | M4 | feat | todo | ~200 |
|
||
| T167 | compose mimic viral publish | M4 | feat | todo | ~180 |
|
||
| T168 | outbox api | M4 | feat | todo | ~150 |
|
||
| T169 | worker outbox publish threads | M4 | feat | todo | ~200 |
|
||
| T170 | ownposts and mentions | M4 | feat | todo | ~200 |
|
||
| T171 | fe live studio outbox | M4 | feat | todo | ~180 |
|
||
| T172 | test m4 studio outbox integration | M4 | test | todo | ~200 |
|
||
| T190 | inspire current ui only | M5 | feat | todo | ~200 |
|
||
| T191 | research and generate image | M5 | feat | todo | ~140 |
|
||
| T192 | scout brands products import | M5 | feat | todo | ~180 |
|
||
| T193 | scout brief and scan api path | M5 | feat | todo | ~180 |
|
||
| T194 | scout scan crawler path | M5 | feat | todo | ~200 |
|
||
| T195 | scout outreach homework | M5 | feat | todo | ~160 |
|
||
| T196 | test m5 inspire scout integration | M5 | test | todo | ~200 |
|
||
| T197 | fe live scout inspire | M5 | feat | todo | ~150 |
|
||
| T215 | invite member network apply | M6 | feat | todo | ~160 |
|
||
| T216 | invite admin tree move | M6 | feat | todo | ~180 |
|
||
| T217 | fe live invite | M6 | feat | todo | ~120 |
|
||
| T218 | smoke p0 p1 | M6 | test | todo | ~150 |
|
||
| T219 | test m6 invite integration | M6 | test | todo | ~160 |
|
||
| T220 | test fe be live integration | M6 | test | todo | ~200 |
|
||
| T221 | test contract security x | M6 | test | todo | ~150 |
|
||
| T222 | acceptance matrix ci gate | M6 | test | todo | ~180 |
|
||
|
||
## Counts
|
||
|
||
- **Total: 59**(feat 47 · test 12)
|
||
- **done: 19**(M0 + M1)
|
||
- **todo: 40**
|
||
|
||
## Milestone map
|
||
|
||
| M | Feat | Test 閘 | 狀態 |
|
||
|---|------|---------|------|
|
||
| M0 骨架 | T100–T106 | T107–T108 | **done** |
|
||
| M1 會員 Admin 設定 | T110–T118 | T119 | **done** | **done** |
|
||
| M2 OAuth Job 通知 FE 地基 | T130–T135 | T136 |
|
||
| M3 用量 BYOK AI 真上傳 擴充 | T150–T155 T157 T158 | T156 |
|
||
| M4 創作 Outbox 真發 | T165–T171 | T172 |
|
||
| M5 靈感(現UI) 海巡 | T190–T195 T197 | T196 |
|
||
| M6 邀請 整合 矩陣 | T215–T217 | T218–T222 |
|
||
|
||
## 建議開工序
|
||
|
||
1. ~~T100 → T108(M0)~~ **done**
|
||
2. ~~T110 → T119(M1)~~ **done**(含 FE live auth/admin/settings)
|
||
3. 下一槍:**M2** T130(Threads OAuth)→ T135 補 accounts/jobs live
|
||
4. 每 M 功能做完必做該 M 的 **test** task 才算 M 完成
|
||
5. 使用者指定 `T###` 才寫碼
|
||
|
||
## Remove 提醒(禁止當 task 交付)
|
||
|
||
```text
|
||
inspiration: list, saveIdea, generate, bookmark, listViral, spark*, searchTrends
|
||
ownPosts: generateFromFormula
|
||
scout: listTopics, saveTopic, removeTopic
|
||
live: simulateSuccess/RootFail 當完成;createMock 當 OAuth 完成
|
||
P2: Insights 真管線
|
||
```
|