跳到主要内容

Controller Recovery Protocol

状态:Active / Controller 可恢复运行协议 最后更新:2026-05-13 用途:定义 Program Controller、Labs-FinTecAI Admin、个人域 Agent 和团队域 Agent 在会话中断、上下文爆炸或新会话接手时如何恢复职责、任务状态和协作边界

1. 背景

FinTec AI Ecosystem 的推进正在同时依赖多个长期 Controller:

  • Labs-FinTecAI Admin:治理仓库、知识库、入口、发布和生态层推进;
  • FinClaw Controller
  • Data Horizon Controller
  • AI Trading Matrix Controller
  • 后续 Reinforcement Learning EngineFinancial Expert Foundation Model
  • open-cowork Controller

这些 Controller 经常在长会话中承担连续任务。若上下文压缩失败或会话无法恢复,新会话会丢失角色设定、当前任务、启用协议、工作范围和未完成状态。

本协议的目标是把 Controller 的可恢复状态移出聊天上下文,沉淀到仓库内的轻量外部状态面。

2. 三层状态模型

每个 Controller 采用三层状态:

层级路径用途修改权限
Canonical Statecontrollers/<controller-id>/state.md已接受、已吸收、可用于恢复的主状态对应 Controller 或 Labs-FinTecAI Admin
Lane Statecontrollers/<controller-id>/lanes/<lane-id>.md某个人、个人域 Agent、团队域 Agent 或 open-cowork 批次的工作状态lane owner
Checkpointcontrollers/<controller-id>/checkpoints/<date>-<lane>-<topic>.mdappend-only 的完成证据、回写建议或恢复锚点lane owner 创建;Controller/Admin 吸收

state.md 是恢复入口,不是正式事实源。正式事实仍在 baseline/registry/projects/references/evaluation/packets/governance/ 中。

3. 冲突隔离规则

  • 普通 Agent 不直接修改其他 lane;
  • 普通 Agent 不直接修改 canonical state.md,除非本轮任务明确授权;
  • 每条 lane 只记录自身任务、读取范围、改动文件、验证证据和回写建议;
  • 多个 lane 对同一事实或入口提出不同建议时,不在 lane 内互相覆盖,由 Controller/Admin 通过 checkpoint 合并;
  • 公共入口、manifest、sidebar、llms 和发布闭环仍由 Labs-FinTecAI Admin 收束;
  • 文件范围仍受 governance/document-change-scope-policy.mdDOC_CHANGE_SCOPE 校验约束。

4. 新会话恢复流程

任何新会话接手 Controller 职责时,按以下顺序读取:

  1. controllers/README.md
  2. controllers/registry.md
  3. controllers/<controller-id>/state.md
  4. 当前 lane 文件,如果本会话属于某个个人域、团队成员或 open-cowork 批次;
  5. 最新未吸收 checkpoint;
  6. state.md 中列出的最小 authoritative docs。

不要从全仓库扫描恢复,不要读取全部历史 packet。

5. Controller State 最小结构

每个 state.md 至少包含:

  • Controller 身份;
  • 负责范围;
  • 不负责范围;
  • authoritative docs;
  • 当前状态;
  • 当前任务队列;
  • 最近 checkpoint;
  • 默认 lane 命名规则;
  • 默认验证命令;
  • 恢复指令;
  • 是否存在未吸收 checkpoint。

6. Lane State 最小结构

lane 文件建议格式:

# Lane: <lane-id>

状态:
owner:
所属 Controller:
创建日期:
最后更新:

## 1. 本 lane 目标

## 2. 允许读取 / 修改范围

## 3. 当前任务状态

## 4. 已读取材料

## 5. 已修改文件

## 6. 验证证据

## 7. 阻塞 / 风险

## 8. 建议回写

## 9. 下一步

7. Checkpoint 最小结构

checkpoint 文件建议格式:

# Checkpoint: <topic>

日期:
Controller:
lane:
状态:Proposed / Absorbed / Superseded

## 1. 完成事项

## 2. 改动文件

## 3. 验证证据

## 4. 需要吸收到 state.md 的内容

## 5. 需要进入 sync / escalation / public entrypoint 的内容

## 6. 下一步

8. 吸收规则

Controller/Admin 吸收 checkpoint 时:

  1. 判断 checkpoint 是否只是 lane 过程记录,还是应更新 canonical state;
  2. 若更新 state,只写当前恢复所需的最小状态;
  3. 若影响正式事实源,转入项目文档、sync、escalation 或 public entrypoint 修正;
  4. 在 checkpoint 中标记 AbsorbedSuperseded
  5. 不把长过程、完整聊天记录或工程细节搬进 state.md

9. 完成定义

一个 Controller 恢复面可用,必须满足:

  • state.md 可让新会话恢复角色和下一步;
  • lane 不互相覆盖;
  • checkpoint 可追踪完成批次;
  • Controller 状态不替代正式事实源;
  • 新会话不需要读取完整历史会话;
  • 恢复指令短到可以直接复制给新 Agent。