项目

一般

简介

行为

Sprint 5 规划会议纪要

会议主题:Sprint 5(第 4 阶段:S5 - 标准化与 Spearman 降维)架构规划与防线确立
会议时间:2026年04月25日
参会角色:架构师(主讲)、研发负责人(决策)
会议基调:锁定“空间换时间”全局原则与“内存防爆”底线,确立 S5 阶段的绝对物理拓扑。


一、 会议核心决议汇总

1. 架构基线修正(DRY 原则向内存红线让步)

  • 决议:正式批准 S5 训练阶段(面对 3000 万行数据)豁免复用 core.standardization_math(纯 NumPy 算子),强制采用 Polars 表达式原地 Apply 拓扑,以守住 50GB cgroup 内存红线。
  • 闭环动作:作为豁免代价,必须在 Sprint 5 交付前修改 2-dry_module_list.md 中该模块的“被依赖方”说明,明确标注 S5 豁免复用的物理原因,确立 S6 推理作为唯一复用事实。
    2. 数据流加载边界与配置契约
  • 决议:废除任何硬编码年份逻辑。S5 动态时间窗口通过在 config.yaml 中新增 s5.data_start_year 与 s5.data_end_year 收敛,由 core.config_loader.py 启动时强校验。
  • 决议:S5.4 Spearman 阶段的按年流式加载,强制复用 core.stream_engine 模块实现按年流式加载与内存释放。
    3. S5.1 截面聚合与双形态参数拓扑
  • 决议:推理长表必须基于 S3 全量数据的最小/最大日期极值,在 S5.1 阶段动态生成绝对自然日历表并落盘为 calendar_dim.parquet,严禁硬编码。
  • 决议:针对底层物理排序键冲突(默认 ["net_value_date", "fund_id"] 与推理长表强制要求的 ["feature_name", "date"] 冲突),同意升级 core.physical_storage_contract。在其 sink_parquet_strict() 方法签名中新增 override_sort_keys: Optional[List[str]] = None 参数,符合开闭原则。
    4. core.stream_engine 内存断言演进路线
  • 决议:废除硬编码 3GB 断言的死锁设计。采用“配置化 + 硬天花板”演进方案:阈值抽离至 config.yaml(如 engine.stream_max_memory_peak_gb),但在引擎内部强制设定 final_assert_limit = min(config_value, 15.0)。既释放大机器性能红利,又锁死物理毁灭的绝对底线。
    5. S5.4 Spearman 环境自适应开关
  • 决议:在 config.yaml 中落地 spearman.load_mode 枚举强校验(仅允许 yearly_chunked 或 full_load),生产环境默认值强制锁定为 yearly_chunked。
    6. 纯业务防线确认(无分歧,全员对齐)
  • 确认 S5.2 标准化 Apply 严禁将 3000 万行宽表 Unpivot(死刑级禁止项),必须在实体表状态下执行等值 Join。
  • 确认 S5.3 训练 Join 必须强制锁死三键 ["fund_id", "net_value_date", "segment_id"],且毒样本截断基于 is_feature_complete 哨兵列在 Join 后强制覆写 label=0。
    7. 物理产出与持久化契约
  • 确认降维后的最终特征子集采用 JSON 格式物理落盘为 final_feature_list.json。

二、 会议待办事项清单

序号 待办事项 责任方 交付物/验证标准 关联决议
1 架构文档降级更新 架构师 更新后的 2-dry_module_list.md 决议 1
2 配置中心扩展 研发 config.yaml 新增 S5 年份配置、流式引擎峰值配置及 Spearman 模式配置;core/config_loader.py 增加 Pydantic 校验 决议 2, 4, 5
3 核心存储模块升级 研发 升级后的 core.physical_storage_contract.py 及对应单测覆盖 决议 3
4 核心流式引擎演进 研发 演进后的 core.stream_engine.py(包含 15GB 硬天花板拦截逻辑)及对应单测覆盖 决议 4
5 S5.1 自然日历表生成逻辑 研发 产出 calendar_dim.parquet 的代码逻辑及 Schema 校验单测 决议 3
6 S5.2 IEEE 754 拦截防线实施 研发 封杀 Inf 击穿 LightGBM 的 Polars 表达式逻辑及边界测试 决议 6
7 S5.4 Spearman 数学防线实施 研发 按“按年分块算秩 -> 显式锁定平均秩 -> 强制中心化 -> Pearson 展开项累加 -> 对称化截断”链路实施 决议 5
8 最终产物交付与 Schema 校验 研发/QA 产出 standardization_params_wide.parquet、standardization_params.parquet、final_feature_list.json,并通过 CI Schema 对称差红线 决议 7

纪要结语:本次规划会议成功拆解了 S5 阶段在千万级面板下的所有物理内存陷阱与底层冲突。所有核心防线均实现了“单一真实来源(DRY)”或“空间换时间”的企业级兜底,未遗留任何悬而未决的架构缝隙。研发团队可基于本纪要直接开展排期与编码工作。

由 Huarui Lin 更新于 5 个月 之前 · 2 修订