Files
Neo-ZQYY/docs/audit/changes/2026-03-24__lookback_days_60_to_90.md
Neo 14a12342b5 chore(audit): 补追 96 份未入仓审计孤本 — 覆盖 2026-02-26 ~ 2026-04-08
这些审计记录原本堆积在 docs/audit/changes/changes/ 嵌套误产物目录下(由开发机迁移
79d3c2e 前后的不明批量操作产生)。由于同期 .gitignore 屏蔽了 docs/audit/ 全目录,
它们从未入过 git 任何分支 history。删除即永久丢失。

按 docs/specs/audit-gap-recovery/tasks.md 阶段 1 执行,将全部 96 份 D 类孤本
(主目录无同名、git history 亦无记录)复制到 docs/audit/changes/ 主目录入仓。

涵盖主题: P1-P18 全栈集成 / 多模块累积变更 / ETL bug 修复 / 业务日切 /
   召回与任务引擎改造 / 租户管理与审批 / 董事会财务 / 客户与助教详情 /
   DDL 基线合并 / Kiro 到 Claude Code 迁移

阶段 2(B 类内容漂移 1 份)和阶段 4(嵌套目录删除)独立推进。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 06:35:42 +08:00

6.1 KiB
Raw Blame History

变更审计记录lookback_days 从 60 天扩大到 90 天

字段
日期 2026-03-24 10:28:13
Prompt-ID P20260324-102813
Session-ID 8d0daac8
Session 路径 docs/audit/session_logs/2026-03/24/36_e6cfbf4c_085324

操作摘要

将关系指数RS/MS/ML及全局 INDEX 层的 lookback_days 默认值从 60 天扩大到 90 天。原因:助教小燕历史服务过的客户中有 3 个(梅、蔡总、罗先生)因超出 60 天回溯窗口不在关系指数表中,扩大到 90 天覆盖更多有效关系对。

变更原因

调查发现助教小燕历史服务过 6 个客户,但其中 3 个因超出 60 天回溯窗口而不在关系指数表中。扩大到 90 天可覆盖更多有效关系对,减少因窗口过窄导致的客户丢失。

影响范围

数据库ETL 库 dws.cfg_index_parameters

  • RS lookback_days: 60 → 90
  • MS lookback_days: 60 → 90
  • ML lookback_days: 60 → 90

代码变更

文件 变更内容
apps/etl/connectors/feiqiu/tasks/dws/index/relation_index_task.py DEFAULT_PARAMS_RS/MS/ML["lookback_days"] 60→90.get() fallback 60→90
apps/etl/connectors/feiqiu/tasks/dws/index/base_index_task.py DEFAULT_LOOKBACK_DAYS 60→90
apps/etl/connectors/feiqiu/tasks/verification/index_verifier.py 默认参数 lookback_days=60 → 90
apps/etl/connectors/feiqiu/orchestration/flow_runner.py verifier fallback 60→90
apps/etl/connectors/feiqiu/config/defaults.py index_lookback_days 60→90
apps/etl/connectors/feiqiu/.env INDEX_LOOKBACK_DAYS=60 → 90
.env.template INDEX_LOOKBACK_DAYS=60 → 90

文档变更

文件 变更内容
apps/etl/connectors/feiqiu/docs/etl_tasks/index_tasks.md RS/MS/ML 参数清单 lookback_days 60→90
apps/etl/connectors/feiqiu/docs/business-rules/index_algorithm_cn.md 默认天数描述 60→90
docs/architecture/etl-feiqiu-architecture.md RS lookback_days 60→90

未变更(不在范围内)

  • WBI/NCI 的 lookback_days_recency=60会员活跃判定窗口NEW/OLD/STOP 分群),与 RS/MS/ML 的服务回溯窗口是不同概念
  • member_index_base.pyDEFAULT_RECENCY_LOOKBACK_DAYS=60:同上
  • DDL 基线 docs/database/ddl/etl_feiqiu__dws.sql:种子数据中的旧值保留作为历史记录,实际值由数据库 UPDATE 覆盖
  • PRD 文档 关系指数PRD.txt:原始需求文档,保留历史原貌

本次对话文件变更

新增文件

  • docs/audit/prompt_logs/prompt_log_20260324_102813.md
  • docs/audit/session_logs/2026-03/24/36_e6cfbf4c_085324/main_01_8d0daac8.md

删除文件

  • docs/audit/session_logs/2026-03/24/36_e6cfbf4c_085324/main_01_fd2ad307.md(被 8d0daac8 supersede

改动注解

apps/etl/connectors/feiqiu/tasks/dws/index/relation_index_task.py

  • 变更类型:修改
  • 原始原因RS/MS/ML 三个指数的默认回溯窗口 60 天不足以覆盖部分低频但有效的客户关系对
  • 思路分析:DEFAULT_PARAMS_RS/DEFAULT_PARAMS_MS/DEFAULT_PARAMS_ML 三个字典中的 lookback_days 从 60 改为 90execute() 方法中 .get("lookback_days", ...) 的 fallback 值同步从 60 改为 90确保即使配置表未加载也使用新默认值
  • 修改结果RS/MS/ML 计算时回溯 90 天的服务记录和充值记录,覆盖更多有效关系对

apps/etl/connectors/feiqiu/tasks/dws/index/base_index_task.py

  • 变更类型:修改
  • 原始原因:基类常量 DEFAULT_LOOKBACK_DAYS 作为所有指数任务的全局默认值,需与子类保持一致
  • 思路分析:单行常量修改 DEFAULT_LOOKBACK_DAYS = 6090
  • 修改结果:所有继承 BaseIndexTask 的指数任务默认回溯天数统一为 90

apps/etl/connectors/feiqiu/tasks/verification/index_verifier.py

  • 变更类型:修改
  • 原始原因:校验器的 lookback_days 默认值需与计算任务一致,否则校验窗口与计算窗口不匹配
  • 思路分析:__init__ 参数 lookback_days: int = 6090
  • 修改结果INDEX 层覆盖率校验和补齐操作使用 90 天窗口

apps/etl/connectors/feiqiu/orchestration/flow_runner.py

  • 变更类型:修改
  • 原始原因:编排层创建 verifier 时的 fallback 值需同步
  • 思路分析:flow_runner.py 中构造 IndexVerifier 时的 fallback 6090
  • 修改结果:编排层与校验器默认值一致

apps/etl/connectors/feiqiu/config/defaults.py

  • 变更类型:修改
  • 原始原因:配置默认值字典是所有配置的最终 fallback 层
  • 思路分析:DEFAULTS["run"]["index_lookback_days"] 从 60 改为 90
  • 修改结果:即使 .env 和环境变量均未设置,配置系统也返回 90

apps/etl/connectors/feiqiu/.env

  • 变更类型:修改
  • 原始原因ETL 模块本地环境变量需同步
  • 思路分析:INDEX_LOOKBACK_DAYS=6090
  • 修改结果ETL 模块运行时环境变量为 90

.env.template

  • 变更类型:修改
  • 原始原因:模板文件是新环境部署的参考,需反映当前默认值
  • 思路分析:INDEX_LOOKBACK_DAYS=6090
  • 修改结果:新部署环境默认使用 90 天窗口

apps/etl/connectors/feiqiu/docs/etl_tasks/index_tasks.md

  • 变更类型:修改(文档同步)
  • 修改结果RS/MS/ML 参数清单中 lookback_days 描述更新为 90

apps/etl/connectors/feiqiu/docs/business-rules/index_algorithm_cn.md

  • 变更类型:修改(文档同步)
  • 修改结果:算法说明文档中默认天数描述更新为 90

docs/architecture/etl-feiqiu-architecture.md

  • 变更类型:修改(文档同步)
  • 修改结果:架构文档中 RS lookback_days 描述更新为 90

回滚方式

UPDATE dws.cfg_index_parameters
SET param_value = 60
WHERE index_type IN ('RS', 'MS', 'ML')
  AND param_name = 'lookback_days';

代码侧将所有 90 改回 60 即可。

验证 SQL

SELECT index_type, param_name, param_value
FROM dws.cfg_index_parameters
WHERE param_name = 'lookback_days'
  AND index_type IN ('RS', 'MS', 'ML');
-- 预期:三行均为 90.000000