guke
|
b4fe20aaca
|
feat(welfare): 首页可见活跃信号定名 event=show + page=home(替换 home_view 占位)
前端确定"首页可见"埋点为 event=show + page=home(组合,非单一 event 名),故活跃口径
不能只改一个常量:
- activity.active_event_condition():首页可见(event=show & page=home)∪ 比价 ∪ 领券,
worker 子查询(last_active_subqueries)与 admin _attach_last_active 共用(单一真源);
ACTIVE_EVENTS 收窄为仅两个纯 event 名,HOME_VIEW_EVENT="show" + 新增 HOME_VIEW_PAGE="home"
- 测试:新增 show/home 算活跃、show/其他页不算的用例;_add_event 支持 page;口径常量断言更新
- seed 脚本 / spec / plan 同步 home_view → show+page=home
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-18 18:04:29 +08:00 |
|
guke
|
40c99afd92
|
feat(welfare): 完成不活跃清零-邀请金不清 + 预警编排 + worker + admin口径统一
- 清零改两桶(金币 + 折算现金);邀请奖励金物理隔离、不清(产品红线),仅快照入审计
- 预警编排 select_warn_candidates / run_warn_once / run_once(分档 + streak 去重);
notifier.warn 去掉 invite 参数(邀请金不清、不预警)
- 预警逐用户 try/except 隔离 + run_once 保证预警故障绝不阻塞清零(接真推送前必备)
- 每日 worker inactivity_reset_worker(文件锁 + 北京日守卫 + RUN_HOUR 门槛 + 总闸默认关)
+ main.py lifespan 接线
- admin 最近活跃口径改用共享 activity(移除 last_login_at、纳入 home_view 占位)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-18 17:32:52 +08:00 |
|
guke
|
eb15018322
|
test(welfare): 不活跃测试加 autouse 隔离夹具(清零余额+清活跃事件/审计),去掉临时 band-aid
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-16 19:13:25 +08:00 |
|
guke
|
a6cfef64a8
|
feat(welfare): 不活跃清零-选取与逐用户清零(三桶归零+审计+流水)
|
2026-07-16 18:54:40 +08:00 |
|
guke
|
7802aeb163
|
feat(welfare): 可插拔不活跃预警通知器 + LogNotifier 占位
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-07-16 18:47:50 +08:00 |
|
guke
|
f843e68d0f
|
feat(welfare): INACTIVITY_* 配置项 + warn stages 解析
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-07-16 18:47:02 +08:00 |
|
guke
|
108c175142
|
feat(welfare): 活跃口径共享模块-子查询与 last_active_expr
|
2026-07-16 18:40:36 +08:00 |
|
guke
|
e6f467a935
|
feat(welfare): 活跃口径共享模块-常量与北京0点cutoff助手
|
2026-07-16 18:39:51 +08:00 |
|
guke
|
0ec6b2bc56
|
feat(welfare): inactivity_reset_log + inactivity_notification_log 模型
|
2026-07-16 18:23:20 +08:00 |
|