这些审计记录原本堆积在 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>
6.1 KiB
6.1 KiB
变更审计记录: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.py的DEFAULT_RECENCY_LOOKBACK_DAYS=60:同上- DDL 基线
docs/database/ddl/etl_feiqiu__dws.sql:种子数据中的旧值保留作为历史记录,实际值由数据库 UPDATE 覆盖 - PRD 文档
关系指数PRD.txt:原始需求文档,保留历史原貌
本次对话文件变更
新增文件
docs/audit/prompt_logs/prompt_log_20260324_102813.mddocs/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 改为 90;execute()方法中.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 = 60→90 - 修改结果:所有继承
BaseIndexTask的指数任务默认回溯天数统一为 90
apps/etl/connectors/feiqiu/tasks/verification/index_verifier.py
- 变更类型:修改
- 原始原因:校验器的
lookback_days默认值需与计算任务一致,否则校验窗口与计算窗口不匹配 - 思路分析:
__init__参数lookback_days: int = 60→90 - 修改结果:INDEX 层覆盖率校验和补齐操作使用 90 天窗口
apps/etl/connectors/feiqiu/orchestration/flow_runner.py
- 变更类型:修改
- 原始原因:编排层创建 verifier 时的 fallback 值需同步
- 思路分析:
flow_runner.py中构造IndexVerifier时的 fallback60→90 - 修改结果:编排层与校验器默认值一致
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=60→90 - 修改结果:ETL 模块运行时环境变量为 90
.env.template
- 变更类型:修改
- 原始原因:模板文件是新环境部署的参考,需反映当前默认值
- 思路分析:
INDEX_LOOKBACK_DAYS=60→90 - 修改结果:新部署环境默认使用 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