1.9 KiB
1.9 KiB
T531 — daily-quota-truncation-and-metering
Status:
done
Milestone:M2
Kind:feat
Est. change:~160 lines
Goal
完成後系統應:當日商機達方案上限時依分數保留高分、記 truncated_count 且不視為錯誤;巡的耗用以既有 meter+radar. source 記帳。
Depends on
- T530
Inputs
- Spec:
../spec.md§4.2.6、§4.9、§5.5、§9.5(QT-01、QT-02)、§6(RG-04 不新增 meter) - 既有:
apps/backend/internal/module/usage/**(meter、source、BYOK 與 platform gate)
Outputs
程式變更(預期路徑)
| 路徑 | 動作 | 說明 |
|---|---|---|
apps/backend/internal/module/radar/usecase/quota.go |
add | 讀當日已建立數+方案 max_daily_opportunities,回可建立額度 |
apps/backend/internal/module/radar/usecase/judge_persist.go |
edit | 判定完成後依 intent_score 由高至低取前 N 建立,其餘計入 truncated_count |
apps/backend/internal/module/radar/usecase/metering.go |
add | web_search/radar.sweep、ai_research/radar.judge 記帳;累加 Sweep credits_used |
行為變更
- 截斷是正常結果:Sweep 成功、回應帶
truncated_count,今日頁顯示提示(T545/T551)。 - 平台點數耗盡(非 BYOK):沿用既有 platform gate 錯誤行為;watch 不被刪除或停用(QT-02)。
- 為了先判分再截斷,判定筆數的硬上限為方案每日上限(spec §7 效能邊界)。
Out of scope
- 用量頁的 source 聚合呈現(T590)
- 前端提示文案(T551)
Acceptance
- SW-05:命中 40、上限 30 → 建立 30 筆最高分、
truncated_count=10 - QT-01:已達上限再 sweep → 不新增、回應帶
truncated_count、非錯誤 - RG-04:
soft_caps四分項加總仍等於monthly_credits - 指令:
cd apps/backend && go test ./internal/module/radar/... ./internal/module/usage/... -count=1