项目

一般

简介

0001-Sprint1规划会议 » 历史记录 » 版本 1

Huarui Lin, 2026-04-13 11:47

1 1 Huarui Lin
# Sprint 1 规划会议 Agenda
2
3
---
4
**会议目标**:锁定 M1 交付标准,对齐 Story 实施细节,确认基础设施前置依赖。
5
**参会角色**:项目经理(PM)、算法/研发工程师、基础架构/运维工程师。
6
**会议时长**:60 分钟
7
**强制准入条件**:所有参会人已通读《最终设计规约 v1.0》第 7 节工程质量规范。
8
## 议程一:红线重申与 M1 交付基线对齐(10 mins)
9
**主讲人**:PM
10
11
---
12
**核心内容**:
13
1. **唯一真相源声明**:明确所有讨论以规约为准,拒绝“我觉得这样更好”的主观发散。
14
2. **M1 Done 标准硬卡点回顾**:
15
   - CI 空跑流水线在 Gitea 触发成功,0 Error。
16
   - `config.yaml` 与规约 7.2 节参数 100% 吻合(0 偏差)。
17
3. **架构铁律宣贯**:明确 DuckDB/Polars 防火墙在后续 Step 的约束,以及本 Sprint 需为此做的基建准备。
18
19
---
20
## 议程二:Story 细化与防偏移机制拆解(25 mins)
21
22
**主讲人**:研发工程师(主导)、PM(卡控)
23
**逐条过审**:
24
1. **S1-01 工程根目录与依赖隔离**
25
   - 确认 `pyproject.toml` 中核心依赖版本范围(Polars, DuckDB, LightGBM 等)。
26
   - **卡控点**:如何确保 Poetry 依赖树中不会间接引入 Pandas(需在依赖声明中显式排除或通过 CI 验证)。
27
2. **S1-02 核心业务参数中心**
28
   - **可复用逻辑指出**:基于 Pydantic 的配置加载器不仅服务于 Step 1,其强类型校验机制可直接复用于后续 Step 5 的 MLflow 参数持久化一致性校验。
29
   - 确认环境变量覆盖的优先级逻辑(例如:`FUND_MODEL__LABEL__TARGET_RETURN=0.25` 能否正确覆盖 YAML)。
30
3. **S1-03 数据血缘与日志基建**
31
   - **防偏移重点**:`hash.py` 必须强制采用流式读取(Chunked Reading)。结合章程中“原始净值表 920MB”的数据基线,若采用一次性 `read()` 将直接触发 OOM,违反资源安全底线。
32
4. **S1-04 CI 空跑红线与 AST 拦截**
33
   - **优化点指出**:AST 拦截脚本(`lint_ast.py`)的“魔法数字黑名单”需设计为可配置文件(如 `.magic_numbers blacklist`),避免后续新增合规参数时频繁修改 AST 解析代码。
34
   - 确认拦截范围:除了 `import pandas`,需涵盖 `from pandas import` 等变体。
35
5. **S1-05 双轨制技术真相源初始化**
36
   - 确认 `docs/architecture_baseline.md` 的内容与规约的强绑定关系。
37
38
---
39
## 议程三:基础设施与工具链前置确认(15 mins)
40
41
**主讲人**:基础架构/运维工程师、PM
42
**核心内容**:
43
1. **Gitea Action Runner 状态确认**:
44
   - 64GB 实体机上的 Runner 是否已注册并处于 `Online` 状态?
45
   - **关键约束确认**:Runner 调用的 Docker 执行环境,是否已严格配置 `memory=50g` 的 cgroup 限制?(对应章程风险 R-1 防御)。
46
2. **Gitea 分支保护规则配置**:
47
   - 确认 `main` 分支已勾选“禁止直接推送”及“PR 合并前必须通过 CI 检查”。
48
3. **内部镜像源连通性**:
49
   - 确认实体机是否能顺畅访问阿里云 Docker 镜像源与 Python PyPI 镜像源(避免构建超时)。
50
51
---
52
## 议程四:待决项锁定与下一步行动(10 mins)
53
54
**主讲人**:PM
55
**核心内容**:
56
- 梳理本次会议遗留的需决策项。
57
- 分配 Story 至具体责任人,确认预计完成时间节点。
58
- 约定 Daily Stand-up 的基本形式。