跳到主要内容

第二十八节 — M0 工程包指针

这一节回答:M0 走通骨架实施所需的字段级 schema、Pydantic 模型、SQLite DDL、CLI 规格、Mock fixture、凭证正则、audit payload schema、bootstrap 模板、CI 模板等"工程材料"在哪里?

M0 工程包独立成 task-oriented 文档

M0 走通骨架实施所需的全部工程材料不在主架构文档中展开,而是集中在独立的 task-oriented 文档:

projects/finbayes/engineering/engineering-packs/m0-walking-skeleton.md

该文档专为工程化落地 Agent(Codex / Claude Code)一次性 load + 直接消费而设计,含 15 节:

§内容
§1M0 范围与 walking skeleton 链路
§2M0 接口子集表(6 子系统 × implement/stub/skip = 34 个签名固定的接口)
§3M0 核心 Pydantic 模型 v0(5 个 types.py 完整代码 + placeholder 类型节)
§4M0 SQLite DDL v0(4 张业务表 + 1 张元表,含 PRAGMA / 索引)
§5AuditEvent.payload 按 event_type 字段集(10 种 event 的 schema)
§6M0 CLI 命令规格(5 命令 + 流式输出 + JSON 输出 + 6 个退出码)
§7M0 Mock Provider Fixture 规范(目录 + hash 算法白名单 + Provider API 变化检测)
§8M0 5 条样例输入 + 期望"能力清单"(含可 eval 的 pytest_check 表达式)
§9M0 5 类凭证 Negative Test Fixture(含 expected_reject_category 与 confidence)
§10凭证识别正则基线 v0(5 类 Python pattern + BIP-39 词表 source + Luhn 算法)
§11M0 输出判定规则 v0(不依赖 LLM-as-judge,退化为 Pydantic + 人工 5 条 checklist)
§12工程实施仓发现路径协议(OpenSpec task packet 必备字段)
§13工程实施仓 Bootstrap 模板(pyproject + 工具链 + uuid4 + Pydantic ConfigDict + Exception 类层级 + 日志脱敏)
§14M0 三检 Review Gate CI 模板
§14.5CI 接口规范(7 个未提供脚本/测试的接口定义)
§14.6M0 baseline 文件位置与格式
§15与主架构 / ADR 的承接

约 1640 行,工程实施 Agent 可一次 load。

为什么独立成文件

理由说明
上下文负担主架构 6500 行 + M0 工程包 1600 行 合并为 8000+ 行,工程实施 Agent 一次性 load 占 75-85% context,多文件操作易爆
task-oriented vs architecture-oriented主架构是"FinBayes 是什么"(业务建模 + 系统全景 + 横向贯穿),M0 工程包是"M0 怎么做"(task packet 级别的可执行材料),消费路径不同
与 ADR-001 / ADR-003 范式一致Walking Skeleton + 里程碑切片 + OpenSpec task packet —— 每个 milestone 一个独立工程包是范式的自然映射
演化路径清晰M1-M7 各起独立工程包(m1-state-confirmation.md 等),不污染主架构

Agent 消费路径

Agent 任务应 Load 的文档
M0 实施engineering-packs/m0-walking-skeleton.md + 主架构 §17(边界)+ 主架构 §27(代码仓位置)作 cross-check
架构 Review / 战略保真度审计主架构全文
ADR 起草主架构 §23 + 相关章节 + 调研产物
M1+ 实施(未来)对应 engineering-packs/m{N}-*.md + 主架构横向贯穿章节

后续里程碑工程包(待起草)

里程碑工程包文件状态
M0 走通骨架engineering-packs/m0-walking-skeleton.md✅ 已起草
M1 状态化(候选两步写入 + 完整 8 表)engineering-packs/m1-state-confirmation.md待起草
M2 任务类型扩展(复盘 + 关注流 + clarify)engineering-packs/m2-task-types.md待起草
M3 入口扩展(TUI + Web API)engineering-packs/m3-multi-entry.md待起草
M4 市场扩展(US Stocks)engineering-packs/m4-market-extension.md待起草
M5 主动信号(失效条件触发 + Channel)engineering-packs/m5-proactive-signal.md待起草
M6 评估闭环(LLM-as-judge)engineering-packs/m6-eval-loop.md待起草
M7 演化能力(migration + Prompt 版本化)engineering-packs/m7-evolution.md待起草

横向贯穿关注点(边界 / 可观测性 / 演化)的工程切片合订:engineering-packs/horizontal-concerns-bundle.md(待起草)。

与其他章节的关系

  • M0 范围与 walking skeleton 链路上位 → §25 与里程碑/任务的对应
  • 三检 Review Gate 上位 → §26 审计点
  • 业务对象 Pydantic 模型上位 → §4 业务对象与关系
  • 子系统接口上位 → §9 每个子系统的内部组件
  • 状态机定义上位 → §11 状态对象生命周期
  • 数据存储 DDL 上位 → §15 数据存储划分
  • 凭证识别策略上位 → §17 边界与安全
  • 审计 trail 上位 → §18 可观测性
  • 测试体系上位 → §20 测试体系
  • 代码物理位置上位 → §27 代码仓位置映射