项目

一般

简介

行为

Sprint 1 回顾会议纪要:工程脚手架与架构护栏落地复盘

会议日期:2026-04-15
项目名称:基金量化定投选基系统 (2026-04-11-01)
会议目标:对照 M1 Done 标准,客观评估 S1 基建切片交付质量;闭环规划会遗留的跨团队依赖契约;沉淀企业级工程标准,识别技术债与性能风险,为 Sprint 2 数据管线扫清障碍。
参会角色:项目经理(Henry Lin)、算法/研发工程师、基础架构/运维工程师。


一、 会议确认项

  1. CONF-01 M1 基础硬指标闭环:确认 CI 空跑流水线在 Gitea 触发成功,0 Error;依托 Pydantic 强校验,config.yaml 参数与规约第七节实现代码级 100% 一致,零偏移。
  2. CONF-02 架构防腐层设计决策闭环:针对规划会 CONF-05 演进约束的复核,正式确认 config.py 维持当前高内聚嵌套结构。拒绝为迎合 MLflow 原生入参而破坏全局配置的可读性,明确将“嵌套转扁平”的逻辑作为 S5 阶段 MLflow 组件自身的防腐层职责。
  3. CONF-03 基础设施契约闭环:确认实体机 Gitea Action Runner 的 Docker cgroup memory=50g 限制已由运维侧配置生效,凭证配置文件已归档至 Redmine,底层资源依赖盲区清零。
  4. CONF-04 数据资产契约闭环:确认《四核心字段稳定性承诺函》已由数据资产管理员正式签署并提供,已归档至 Redmine。S2 阶段在 data_loader 中对 fund_basic_info 新增 4 列进行硬编码 SELECT 投影丢弃的策略,已获合法性与稳定性背书。
  5. CONF-05 S2 环境准入就绪:确认研发本地开发环境已完成 DuckDB 的安装,并通过 import duckdb 连通性验证,S2-01 数据加载模块无物理环境阻塞。
  6. CONF-06 架构合规基线归档:确认规划会要求的产出物 docs/adr/001-scaffolding-guardrails-decisions.md 已按规范提交至 Gitea 仓库,架构决策可追溯性合规。

二、 会议待办项

编号 责任人 任务描述 截止时间 验收标准
TODO-01 研发工程师 CI 性能熔断预案触发监控 Sprint 2 持续 当 S2 引入 DuckDB 真实 I/O 后,若单次完整 CI 执行总耗时超过 180 秒,立即触发预案,执行 Runner capacity 调优或拆分。
TODO-02 研发工程师 S1 占位 Mock 测试代码物理销毁 S2-01 交付同步 允许 S1-04 遗留的占位测试代码暂留 main 分支,但必须在 S2-01(数据加载模块)单测交付的同一个 PR 中,作为前置条件同步物理删除,严禁流入 S2 后续阶段。

三、 会议风险项

编号 风险描述 应对策略/熔断机制 跟踪机制
RISK-01 单 Gitea Act Runner 串行策略在 S2 引入 I/O 负载(DuckDB)后,存在 CI 反馈时间显著膨胀导致阻塞研发节奏的风险。 暂不进行预防性扩容(选择容忍),设定明确的量化熔断阈值(180秒),超时再启动基建调整。 作为 TODO-01 录入项目管理工具,S2 首次包含 I/O 单测的 PR 合并时重点观测。

四、 Sprint 1 规划会决策复核闭环

基于本次回顾会议,对《Sprint 1 规划会议纪要》中的核心架构决策进行实战复盘与状态锁定:

  1. [已落地] AST 级 src/ 扫描防御 Pandas 策略:双防线(Pre-commit + CI)已验证有效,且已实现黑名单参数化。
  2. [已决策防腐] 配置中心 MLflow 复用策略:已确立防腐层边界(对应本次 CONF-02),避免过度设计。
  3. [已闭环] 跨团队依赖凭证:规划会 TODO-01(cgroup 限制)与 TODO-02(承诺函)均已在 Redmine 获得实物归档闭环。

五、 Sprint 1 交付物全景验收清单

以下为对照《规划会议纪要》全景清单的最终物理交付状态核销:

分类 文件路径 规划核心约束 S1 验收状态
工程配置 pyproject.toml 声明核心依赖,禁显式 pandas,PyPI 源指向清华源。 ✅ 已交付
工程配置 .pre-commit-config.yaml 引入 ruff 与本地 AST 拦截钩子。 ✅ 已交付
工程配置 .gitea/workflows/ci.yml PR 触发,包含 AST Lint、双源切换、并行拓扑。 ✅ 已交付
业务参数 config/config.yaml 与规约 7.2 节 100% 吻合,零魔法数字。 ✅ 已交付
规约拦截 scripts/check_forbidden_imports.py 扫描 src/,拦截违禁依赖,参数化黑名单。 ✅ 已交付
核心源码 src/utils/config.py Pydantic 强类型单例,支持环境变量覆盖,维持嵌套结构。 ✅ 已交付
核心源码 src/utils/logging.py JSON Handler,强制注入 step, module 等标准字段。 ✅ 已交付
核心源码 src/utils/hash.py 流式读取计算 SHA-256,大文件 Chunk 自动提升。 ✅ 已交付
质量保障 tests/* 覆盖核心工具类逻辑及 CI 空跑占位测试(已登记清理债)。 ✅ 已交付
技术真相 docs/adr/001-scaffolding-guardrails-decisions.md 记录核心工程选型与决策理由。 ✅ 已归档

会议闭环状态:✅ 全部议程结束,S1 规划会遗留依赖已 100% 兑现,M1 标准达成。研发团队可依据本纪要及 TODO 项正式切入 Sprint 2(数据加载与清洗)实施。

Huarui Lin 更新于 2 天 之前 · 2 修订