# Tasks INDEX — growth-loop

> Plan：`../plan.md`（**approved**）  
> Spec：`../spec.md` §9（OC / CU / AL / AH / IR / WS / RG）  
> 後端根：`apps/backend` · 前端根：`apps/web`  
> Status：**approved**（2026-07-20 使用者「task ok」）· phase=`implemented`  
> Updated：2026-07-20 · 30/30 done

## 範圍硬規則

| 規則 | 內容 |
|------|------|
| 加值層 | 不重寫海巡／Outbox 主流程；送出後 hook Outcome |
| 健檢不扣點 | WeeklyCheckup **禁止**寫 Usage 扣點／meter |
| 歸因降級 | API 缺訊號仍交付手動成交＋觸達（OC-08） |
| 健康分 | &lt;40 擋自動送、手動路徑必須可用 |
| 邀請 | 單層、首次付費、Starter+100／Pro+300、月上限 50% |
| Workspace | 同租戶；方案仍綁 Member；P1 自審 only |
| Remove | Insights 真管線、P2 市集／破冰／UTM／benchmark、多層現金回饋、新灰帽玩法 |
| 契約 | goctl `.api`→gen；logic／module；envelope 102000；uid 數字；時間 ns UTC |

## INDEX

| ID | Title | M | Kind | Status | Est |
|----|-------|---|------|--------|-----|
| T300 | api shells outcomes checkups health workspaces | M0 | feat | done | ~160 |
| T301 | mongo indexes growth-loop collections | M0 | feat | done | ~120 |
| T302 | fe domain types and repo interfaces | M0 | feat | done | ~150 |
| T310 | outcome domain model and repository | M1 | feat | done | ~180 |
| T311 | outcome hooks scout outbox publish | M1 | feat | done | ~160 |
| T312 | outcome observe job 72h | M1 | feat | done | ~180 |
| T313 | outcome api summary list conversion | M1 | feat | done | ~180 |
| T314 | fe outcomes today usage scout | M1 | feat | done | ~200 |
| T315 | test m1 outcomes integration | M1 | test | done | ~200 |
| T330 | weekly checkup model and job | M2 | feat | done | ~180 |
| T331 | checkup api no usage debit | M2 | feat | done | ~160 |
| T332 | asset learning persona brand fields | M2 | feat | done | ~140 |
| T333 | fe checkup report and learning ui | M2 | feat | done | ~180 |
| T334 | test m2 checkup asset integration | M2 | test | done | ~180 |
| T350 | account health model recompute job | M3 | feat | done | ~180 |
| T351 | health gate auto send throttle | M3 | feat | done | ~160 |
| T352 | fe health badge today warn | M3 | feat | done | ~140 |
| T353 | test m3 health integration | M3 | test | done | ~160 |
| T365 | invite reward on first paid plan | M4 | feat | done | ~180 |
| T366 | invite rewards api and fe page | M4 | feat | done | ~150 |
| T367 | test m4 invite reward integration | M4 | test | done | ~140 |
| T380 | workspace model backfill default | M5 | feat | done | ~180 |
| T381 | workspace api resource filter | M5 | feat | done | ~180 |
| T382 | draft review gate auto send | M5 | feat | done | ~160 |
| T383 | workspace monthly report pdf | M5 | feat | done | ~180 |
| T384 | fe workspace shell review export | M5 | feat | done | ~200 |
| T385 | test m5 workspace integration | M5 | test | done | ~180 |
| T400 | test matrix p0 p1 acceptance | M6 | test | done | ~200 |
| T401 | smoke fe be growth-loop | M6 | test | done | ~150 |
| T402 | gap doc p2 and signal probe | M6 | docs | done | ~100 |

**合計：30 tasks**（feat 22 · test 7 · docs 1）

## 建議實作順序

```text
T300 → T301 → T302
  → T310 → T311 → T312 → T313 → T314 → T315
  → T330 → T331 → T332 → T333 → T334
  → T350 → T351 → T352 → T353
  → T365 → T366 → T367
  → T380 → T381 → T382 → T383 → T384 → T385
  → T400 → T401 → T402
```

## 閘門

- ~~tasks 批准~~ → **`ready-to-implement`**
- 實作時**指定 T###** 才寫碼；一次一題（建議從 **T300** 起）
