9dc22cd1e6
TDD(批次A Task4):classify/day_add/days_between 纯函数,供 Task6 宽表 生命周期 4 列计算。口径已确认:新客=首次互动≤7 天(含当天共 7 天)、 cooling [7,30)、沉睡≥30 天且历史≥5 条(对齐 churn real min_msgs=5)、 回流=当日互动(last_day==as_of)且前次间隔>30 天(严格大于,恰好 30 天不算);未激活或历史不足的长期静默返回 None。analytics 现有页暂不 切换(v2 §5 口径差异另标),不动 636 既有测试。 模块为纯叶子节点,禁止 import app.storage(防 storage→analytics 成环)。 7 例测试覆盖:new 窗口边界(as_of-6 含/不含)、回流 35/9/31 天与恰好 30 天、last_day==as_of 门槛、6/7/29/30 天落位、历史门槛 4/5、 day_add 跨月。全量 643 绿。 Co-Authored-By: Claude Code <noreply@anthropic.com>