项目

一般

简介

行为

Sprint 4 规划会议纪要:S4 业务标签生成与绝对边界防线落地

会议日期:2026-04-25
项目名称:基金量化定投选基系统 (2026-04-11-01)
会议目标:锁定 M4 交付标准,对齐 S4 绝对物理隔离与防越界防线,输出 S4 架构决策记录(ADR),确立“纯净标签零穿透”的数学管线基线。
参会角色:项目经理(Henry Lin)、算法/研发工程师。


一、 会议确认项

  1. CONF-01 S4 内存波峰红线:S4 处理单年数据时,由于严格过滤列(仅 4 列)且不加载 S3 特征宽表,内存波峰死锁在极低水位(预估 < 500MB)。
  2. CONF-02 S4 日志审计基线:S4 严禁打印单条基金的标签明细(防数据泄露与日志爆炸),但必须在 stderr 输出每个截面的 label > 0 样本总量统计摘要。
  3. CONF-03 S4 数据血缘入口双重保险断言:在按年循环读取 s2_{year}.parquet 时,采用读取 Parquet Footer 元数据的轻量级 Schema 校验,硬编码校验 4 个核心列,阻断脏数据流入。
  4. CONF-04 S4 净值纯净性断言全局阻断策略:在 DCA 闭式向量化公式计算前,若触发非正数或 NaN 断言,必须抛出 SegmentDataCorruptedError,由统筹器捕获并执行全链路 sys.exit(1),严禁局部容错继续跑残缺流水线。

二、 会议待办项

编号 责任人 任务描述 截止时间 验收标准
TODO-01 研发工程师 常量池 S4 列名补充 Sprint 4 交付前 在 src/core/constants.py 中补充 S4_OUTPUT_COLUMNS: list[str] = ["fund_id", "net_value_date", "segment_id", "label"]。
TODO-02 研发工程师 全局异常类扩展 Sprint 4 交付前 在 src/core/exceptions.py 中补充 SegmentDataCorruptedError 异常类,供 S4 净值纯净性断言使用。

三、 会议风险项

本轮无新增风险项。


四、 会议架构决策记录(ADR)产出要求

基于本次会议确认的 CONF-03 与 CONF-04,要求研发工程师在会后首个 PR 中,于 Gitea 仓库 /docs/adr/ 目录下提交 004-s4-label-generation-and-math-boundary.md,必须固化以下两点技术选型理由:

  1. 为何在已有 S2 落盘门禁的前提下,S4 仍需采用 Footer 级双重 Schema 断言。
  2. 为何在遇到非法净值时,选择全局阻断而非降级输出 label=0。

五、 Sprint 4 交付物全景清单(已对齐)

以下为本次会议最终锁定需新增/修改的文件及核心约束简述:

分类 文件路径 核心约束简述
核心常量 src/core/constants.py 新增 S4_OUTPUT_COLUMNS。
核心异常 src/core/exceptions.py 新增 SegmentDataCorruptedError。
核心源码 src/pipelines/s4/step_s4_label_generation.py 闭式向量化公式落地,Segment 隔离,0-based 转 1-based 偏移修正。
质量保障 tests/src/pipelines/s4/test_step_s4_label_generation.py 覆盖正常达标、极长尾部未达标、第 150 周截断边界三个极值单测。
技术真相 docs/adr/004-s4-label-generation-and-math-boundary.md 记录本次会议核心工程选型。

会议闭环状态:✅ 全部议程结束,无遗留阻塞项。研发团队可依据本纪要启动 Sprint 4 实施。

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