4.3 KiB
4.3 KiB
审计记录:移除旧版指数(RECALL/INTIMACY)+ ML last-touch 清理
- 日期:2026-02-13(Asia/Shanghai)
- Prompt 摘要:用户要求根据代码与文档差异分析结果,执行 9 项修改指令,包括删除旧版 RecallIndexTask/IntimacyIndexTask、修复 WBI STOP_HIGH_BALANCE 评分 bug、移除 ML last-touch 备用路径、更新文档等。
直接原因
旧版 RecallIndexTask 已被 WBI+NCI 替代,IntimacyIndexTask 已被 RelationIndexTask(RS/OS/MS/ML)替代。用户明确要求彻底删除旧版代码、数据库对象和所有引用,不保留向后兼容。同时修复 WBI 中 STOP_HIGH_BALANCE 会员不参与评分的逻辑 bug,以及将 ML 数据源锁定为人工台账唯一真源。
修改文件清单
已删除文件
| 文件 | 原因 |
|---|---|
tasks/dws/index/recall_index_task.py |
旧版召回指数任务,已由 WBI+NCI 替代 |
tasks/dws/index/intimacy_index_task.py |
旧版亲密指数任务,已由 RelationIndexTask 替代 |
docs/bd_manual/DWS/main/BD_manual_dws_member_recall_index.md |
对应表已 DROP |
逻辑变更文件
| 文件 | 变更摘要 |
|---|---|
tasks/dws/index/winback_index_task.py |
STOP_HIGH_BALANCE 会员参与评分(bug fix) |
tasks/dws/index/relation_index_task.py |
移除 _apply_last_touch_ml 方法、source_mode/recharge_attribute_hours 参数 |
tasks/dws/index/base_index_task.py |
docstring 更新(RECALL/INTIMACY → WBI/NCI/RS 等) |
tasks/dws/index/__init__.py |
移除 RecallIndexTask/IntimacyIndexTask 导出 |
tasks/dws/__init__.py |
移除 RecallIndexTask/IntimacyIndexTask 导入 |
orchestration/task_registry.py |
移除 DWS_RECALL_INDEX/DWS_INTIMACY_INDEX 注册 |
tasks/verification/index_verifier.py |
移除 RECALL/INTIMACY backfill 分支 |
GUI 变更文件
| 文件 | 变更摘要 |
|---|---|
gui/models/task_registry.py |
移除两个 TaskDefinition |
gui/models/task_model.py |
移除两个 TASK_CATEGORIES 条目 |
gui/widgets/task_panel.py |
移除 intimacy checkbox 引用、DWS_RECALL_INDEX 过滤 |
gui/utils/app_settings.py |
移除 index_intimacy_check 属性 |
数据库变更文件
| 文件 | 变更摘要 |
|---|---|
database/schema_dws.sql |
移除 recall/intimacy 表 DDL,更新注释 |
database/seed_index_parameters.sql |
移除 RECALL/INTIMACY 参数行,移除 ML legacy 参数,升级至 v3.0 |
database/seed_scheduler_tasks.sql |
移除 DWS_INTIMACY_INDEX |
database/migrations/20260213_remove_legacy_index.sql |
新增:DROP 旧表、DELETE 旧参数 |
database/migrations/20260208_relation_index_manual_ml.sql |
移除 source_mode INSERT |
文档变更文件
| 文件 | 变更摘要 |
|---|---|
docs/index/20260208.txt |
全面更新算法描述(NCI touch_multiplier、WBI 双层抑制等) |
docs/index/index_algorithm_cn.md |
移除 INTIMACY 章节,更新版本说明/参数/运行策略 |
docs/开发笔记/更新关系指数.txt |
追加 2026-02-13 实施更新说明 |
测试变更文件
| 文件 | 变更摘要 |
|---|---|
tests/integration/test_index_tasks.py |
移除 intimacy 测试/表检查,更新 imports |
风险评估
- 回归范围:DWS 指数计算(WBI/NCI/RS/OS/MS/ML)、GUI 任务面板、调度注册
- WBI STOP_HIGH_BALANCE 评分修复:低风险,原先这些会员 raw_score=NULL 无运营价值,现在参与评分是正确行为
- ML last-touch 移除:低风险,用户确认仅使用人工台账
- GUI intimacy checkbox 移除:低风险,对应任务已不存在
- 迁移脚本 DROP TABLE:不可逆,但用户确认不需要向后兼容
回滚要点
- 代码回滚:
git revert即可恢复所有文件 - 数据库回滚:迁移脚本中的 DROP TABLE 不可逆,需从备份恢复或重建表+重跑旧任务
- 参数回滚:重新执行旧版 seed_index_parameters.sql
验证步骤
- 单元测试:
pytest tests/unit --ignore=tests/unit/test_dws_tasks.py— 238 passed ✓ - Python 代码无 intimacy/recall_index 残留:
grep -r "intimacy\|recall_index\|IntimacyIndex\|RecallIndex" --include="*.py"— 0 matches ✓ - 诊断检查:所有修改的 Python 文件通过 getDiagnostics ✓
- 迁移脚本验证块:执行后应输出所有计数为 0、表存在为 false
- 集成测试(需数据库):
TEST_DB_DSN="..." pytest tests/integration/test_index_tasks.py