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 的基本形式。 |