M1 状态化 L8 验收清单(owner vibe-check)
用途:M1「状态化」核心功能(C1–C7)已全部落地并合入 FinBayes main
efc8aa6。本清单给 owner 一个亲手跑一遍、眼见为实的 L8 验收路径。L8 是人最终签字门(SVA-9 L8),主控不自签。
§1 一句话范围
M1 = 状态化 only(ADR-016)。要验收的是"价值能否沉淀为可复用资产、用户主权是否守住、记忆是否连续",不是认知质量本身(认知真算 = M1.5,密度 = M2,画像 = M2 静默写入见 ADR-007 §6)。
§2 怎么跑
本机(已激活 venv、已在 keychain 配好 provider 密钥):
cd <FinBayes 工程仓>
python scripts/m1_vibe_check.py # 默认 moonshot
# 或指定: python scripts/m1_vibe_check.py gemini
脚本会跑一段剧本并打印「做了什么 + 用户可读输出 / 状态变化」,末尾给出 5 条「人看点」自检表 + 临时 DB 路径(供深查 SQLite)。
§3 验收看点(逐条判 ✅ / ❓ / ❌)
| # | 能力 | 通过长相 | 切片 |
|---|---|---|---|
| 1 | 同会话多轮记忆 | 后一轮能接住前文指代("这个判断"指上一轮),不失忆 | C3/C4 |
| 2 | 多会话隔离 | 第二个会话聊别的标的,与默认会话互不串;list_sessions 显示多个会话 | C5 |
| 3 | 判断沉淀两步 | 记判断先生成 pending 候选、此刻 judgment_records 还没有它;用户 confirm 后才落库 | C1/C7 |
| 4 | 加关注两步 | 加关注同样 pending → confirm 才进 watchlist_objects | C6/C7 |
| 5 | 拉式纪律 | 普通问答后候选缓冲区新增 = 0——系统不每轮自动冒候选打扰 | C7 |
可选深查(看临时 DB):candidate_buffer(pending/confirmed 状态流转 + 7 天过期字段)、judgment_records / watchlist_objects(确认资产)、session_turns / session_summaries(记忆分层)、audit_events(每步留痕)。
§4 签字判定(SVA-9 L8)
- 全 ✅:M1 状态化 L8 通过 → 收口 M1,进入 M1.5(认知核实化)。
- 部分 ❓/❌:记录具体不对劲处 → 主控派切片整改后复跑。
- 边界自检(应始终成立):全程无买卖二元指令 / 无下单语义;删会话不级联删已确认资产;confirmed 写入只由显式 confirm 触发。
§5 关联
- 运行脚本:FinBayes
scripts/m1_vibe_check.py(演示脚本,不进 src、不被单测依赖)。 - 范围与拆分:ADR-016 M1=状态化 only、ADR-007 状态写入两步(含 §6 画像静默修订)。
- 当前状态单一事实源:CURRENT-MILESTONE。