行为
0001-Sprint1规划会议 » 历史记录 » 修订 2
« 上一页 |
修订 2/5
(差异)
| 下一页 »
Huarui Lin, 2026-04-13 11:52
Sprint 1 规划会议 Agenda:工程脚手架与架构护栏落地¶
会议目标:拒绝“纯技术”Sprint,将脚手架转化为“零偏移数据管线与强制规约护栏”的垂直切片;敲定跨团队依赖契约,输出首版架构决策记录(ADR)。
参会角色:项目经理(PM)、算法/研发工程师、基础架构/运维工程师、数据资产管理员(特邀)。
会议时长:60 分钟
强制准入条件:全员已阅读《最终设计规约 v1.0》及《系统架构与工程规范基线》。
议程一:架构对齐与企业级业务价值定义(15 mins)¶
主导人:PM
讨论焦点:
- Sprint 1 价值重塑:明确本 Sprint 并非单纯“搭框架”,而是为企业级数据管线铺设“防出轨铁轨”(AST强拦截、SHA-256血缘、T-1参数化基建)。
-
NFRs(非功能性需求)确认:
- 性能底线:确认 Docker 构建与 CI 空跑的资源消耗预期。
- 安全与合规底线:确认非 root 运行、敏感参数(若有)环境变量化策略。
- 可审计性:确认 JSON 结构化日志的字段基线。
议程二:跨团队依赖与前置契约敲定(15 mins)¶
主导人:PM、基础架构/运维
讨论焦点:
-
基础设施契约:
-
[需提供/确认] Gitea Action Runner 在 64GB 实体机上的 Docker cgroup 内存限制凭证/配置确认(要求
memory=50g)。 - [需提供/确认] 实体机访问阿里云 Docker/PyPI 镜像源的连通性测试结果。
-
[需提供/确认] Gitea Action Runner 在 64GB 实体机上的 Docker cgroup 内存限制凭证/配置确认(要求
-
数据资产契约:
-
[需提供/确认] 数据资产管理员确认
fund_basic_info表新增的 4 列(insert_datetime等)不会被业务方频繁更名或变更类型,支持我们在data_loader中做硬编码SELECT投影丢弃。
-
[需提供/确认] 数据资产管理员确认
议程三:核心 Story 拆解与 ADR(架构决策记录)输出(20 mins)¶
主导人:研发工程师
讨论焦点(不深挖代码实现,仅定技术路线与决策):
-
依赖隔离策略(S1-01):
-
[需决策]
pyproject.toml依赖版本策略:允许 Patch 级浮动(^1.0.0)还是全量锁死?若第三方库隐式依赖 Pandas,防御边界划在哪里(仅阻断src/手写,还是阻断全局构建环境)?
-
[需决策]
-
配置中心演进路线(S1-02):
- [可复用逻辑指出] 确认 Pydantic 强类型加载器的 Schema 设计,不仅服务本阶段,需确保其能直接被 Step 5 MLflow 参数持久化复用,避免重复造轮子。
-
规约拦截器工程化(S1-04):
-
[需决策] AST 拦截脚本的“魔法数字黑名单”维护方式:是硬编码在脚本内,还是抽离为
.magic_numbers配置文件以降低后续维护成本?
-
[需决策] AST 拦截脚本的“魔法数字黑名单”维护方式:是硬编码在脚本内,还是抽离为
议程四:M1 验收标准终审与技术债预防(10 mins)¶
主导人:PM
讨论焦点:
- Done 标准无歧义对齐:逐条过审 M1 的硬卡点(CI 0 Error、参数 0 偏差、main 分支保护生效)。
-
技术债预防登记:
- 识别本 Sprint 可能引入的“临时妥协”(如:为了跑通 CI 暂时写了一个 Mock 测试用例),必须在 Redmine 提前建单登记清理 Deadline,严禁带入 Sprint 2。
会议产出物要求:
会后需由研发工程师在 Gitea /docs 目录下提交首份 adr/001-s1-scaffolding-and-guardrails.md,记录本次会议敲定的技术选型与决策理由。
由 Huarui Lin 更新于 4 天 之前 · 2 修订