跳到主要内容

ADR-011 · FB-RESUME · 长周期 Session 失忆防御协议

§0 决议简述

决议:建立 FB-RESUME 协议,保证 FinBayes 工程化长周期推进(M0-M7 数月)过程中,任何 session 切换 / /compact / context 爆炸 / Agent 失忆都能在 1 句话恢复完整状态。

触发原因:Step 10-13 的会话积累已经接近 context 阈值,Codex 实施期还要持续数周;不协议化保证状态硬化,必然在某次切换时丢失主线或决议。

§1 失忆的 3 类根源

#根源现象频率
F1Session 切换关闭 Claude Code 重开,新 session 零记忆每次启动
F2/compact 后细节丢失auto-compact 把对话压缩 70-90%,关键约束(如 SVA-9 第几层执行中)可能丢每次 compact
F3Context window 爆炸> 200K 后推理质量下降,注意力被前面无关历史吸走长会话累积

核心问题:依赖 Claude 的"上下文记忆"是脆弱的,必须把状态硬化到 git markdown

§2 协议 4 机制

机制 1 · 单一状态文件

新建 governance/workstreams/finbayes-arch-rewrite/CURRENT-MILESTONE.md,是项目当前推进状态的唯一事实源。包含:

  • 当前 milestone / phase / active PR
  • 已签 P0 决议清单
  • 已完成动作(按时间倒序)
  • 待办任务(按优先级)
  • 已知阻塞 / 风险
  • 关键文档锚点
  • SVA-9 9 层快查

写入规则:每次 PR merge / milestone 切换 / 重要决议 → update + git commit。

机制 2 · Resume Prompt 标准化

任何 session 启动 / compact 后,用户只说一句话

"按 SVA-9 + FB-RESUME 推进,读 CURRENT-MILESTONE.md 同步状态"

或更短:

"按 FB-RESUME 推进"

主控 Claude 收到后自动执行 hydration 序列:

  1. CURRENT-MILESTONE.md
  2. ADR-012-SVA-9-战略愿景对齐九层防御.md(如已存在)
  3. 读本文件(ADR-011-FB-RESUME-protocol.md
  4. 读最近 5 个 commit log
  5. pending-decisions-owner-map.md 中所有已签 P0 决议
  6. 在 ≤ 100 字内回报"我现在到了哪里 + 下一步做什么"

机制 3 · Pre-compact dump(硬化保险)

/compact 之前的强制硬化:

触发条件谁触发动作
用户明示"准备 compact"用户主控 dump 当前任务 / 决议 / 待办到 CURRENT-MILESTONE.md,git commit
主控自检 context > 70%主控自动同上
每个 milestone 完成主控强制同上
重大决议签字(如 MP-X)主控自动同上

任何 dump 必须 git commit。状态在 git 才算"硬化"。

机制 4 · 个人域 memory 锚点

个人域 Claude Code memory 索引(Labs-FinTecAI 项目级 MEMORY.md)加一行索引,指向 finbayes_sva9_resume.md

这样 Claude Code 任意启动自动加载这条索引,引导主控进入 FB-RESUME 流程。

§3 Resume Prompt 模板(标准化)

标准 prompt(用户用)

按 SVA-9 + FB-RESUME 推进。

或带上下文偏好(可选):

按 SVA-9 + FB-RESUME 推进。当前要点:<任务名>

例如:

按 SVA-9 + FB-RESUME 推进 P0-1 ~ P0-7

主控回报模板(≤ 100 字)

✅ FB-RESUME hydration 完成。
当前 milestone: <M0 / M1 / pre-M0>
当前 phase: <plan / execute / verify / 准备期>
当前 active PR: <#X / 无>
下一步: <一句话>
已知阻塞: <无 / 一句话>

§4 CURRENT-MILESTONE.md schema

文件必含 §1 ~ §11(详见 CURRENT-MILESTONE.md 本身)。关键字段:

current_milestone: <pre-M0 | M0 | M1 | ... | M7>
current_phase: <准备期 | plan | execute | verify | 验收>
active_pr: <#X | null>
signed_p0_decisions: [<MP-3>, <SVA-9>, <FB-RESUME>, ...]
known_blockers: [<B1 短描述>, ...]
next_action: "<一句话>"
last_updated: <ISO 8601>
last_updated_by: <agent | user>

§5 与 SVA-9 的关系

FB-RESUME 是 SVA-9 的协议级支撑(不在 9 层防御内,但是 9 层防御长跑的必要条件)。

维度SVA-9FB-RESUME
范围9 层防御 + Agent 分工 + L1 vibe check状态硬化 + session 恢复 + 失忆防御
目标100% 达到战略愿景长周期推进不丢主线
触发每个 PR / milestone每次 session 切换 / compact
关系FB-RESUME 让 SVA-9 能长跑数月不漂移SVA-9 是 FB-RESUME 的服务对象

两者并存:M0-M7 全程必须同时遵守 SVA-9(实施质量)+ FB-RESUME(推进连续性)。

§6 SOP · 何时强制 dump CURRENT-MILESTONE.md

触发场景必须 dump 字段必须 git commit?
PR opened§3 active PR
PR merged§3 / §5 / §6
Milestone 完成§1 / §3 / §6 / §9 / L1 vibe check 结果
P0 决议签字§2 已签 P0 清单
重大错误 / blocker 发现§7
/compact 前(用户明示 or 主控自检)全文件
Session > 24 小时未 update全文件刷新一次

§7 故障恢复场景

场景 A · 用户关闭 Claude Code 重开

用户: 按 FB-RESUME 推进
主控: [读 CURRENT-MILESTONE.md] ✅ hydration 完成
当前 milestone: pre-M0
当前 phase: SVA-9 P0 任务执行中
当前 active PR: 无
下一步: 继续 P0-1 起草 ADR-010
已知阻塞: B1 milestone-M0.yaml 真 schema 重写

场景 B · /compact 后细节丢失

同场景 A。CURRENT-MILESTONE.md 是文件不在 compact 范围内,永远准确。

场景 C · Context 爆炸推理质量下降

用户: context 太大了
主控: 立即 dump CURRENT-MILESTONE.md 当前快照 + git commit
用户: /compact
用户: 按 FB-RESUME 推进
主控: [恢复正常]

场景 D · 跨日 / 跨周续命

[Day 1 17:00] 主控收工前 dump CURRENT-MILESTONE.md(含明天接续点)
[Day 2 09:00] 用户开 Claude Code
用户: 按 FB-RESUME 推进
主控: [读文件] 继续昨天 P0-3 的不变量清单

场景 E · 跨 Agent 切换(Claude ↔ Codex)

Codex 接任务前必须读 CURRENT-MILESTONE.md。Archon workflow 在调 Codex 节点时把这份文件作为 anchor_doc 自动注入 Codex prompt。

§8 反模式(禁止)

  • 依赖 Claude 的"对话记忆" — context 一爆就丢
  • 状态只在 task list / TaskCreate 里 — Claude Code 重启 task list 可能不延续
  • 未 commit 的 CURRENT-MILESTONE.md 改动 — 不在 git 不算"硬化"
  • PR merge 后忘 update CURRENT-MILESTONE.md — 状态漂移
  • /clear(彻底清空)后不读 CURRENT-MILESTONE.md 就开始干活 — 必然丢上下文

§9 与既有协议的关系

既有FB-RESUME 怎么承接
governance/change-protocol.mdFB-RESUME 不替代变更协议;它是"状态可见性"层,change-protocol 是"决议合法性"层
个人域 Claude Code memory(Labs-FinTecAI 项目级 MEMORY.mdFB-RESUME 通过 memory 索引接入 Claude Code 自动加载
ADR-003 工程实施栈与协作FB-RESUME 作为协作的"持续性保障"层,承接 ADR-003 的多 Agent 分工
pending-decisions-owner-map.mdFB-RESUME 的 §2 已签 P0 决议清单引用此文件
Pre-commit hook (derive:check + verify:kb)FB-RESUME 的 dump 动作必须过 pre-commit

§10 关联资产