# 回写记忆模板

<!--
用途：在任务完成、方向切换或发现新规律后更新 memory-bank。
触发：完成一轮实现、形成新决策、当前焦点变化时。
-->

## 什么时候需要回写

- 当前目标已经变化
- 最近改动会影响下一轮判断
- 发现新的系统模式或约束
- 做出了值得保留的决策

## 先读

- `memory-bank/active-context.md`
- `memory-bank/progress.md`
- `memory-bank/decisions.md`
- `memory-bank/system-patterns.md`

## 回写目标

### `memory-bank/active-context.md`

- 当前目标
- 最近变更
- touched files
- 下一步
- 本文件是短期上下文快照，不是长期日志
- `Recent Changes` 只保留最近 3-5 条仍影响后续判断的变化
- `Touched Files` 只保留当前 Plan / 下一轮仍相关的文件
- `Next Steps` 只保留接下来最优先的 1-3 步
- 更新时整理/替换旧上下文，不做无限追加

### `memory-bank/progress.md`

- 读取 `plan-status`：Plan 队列与机器状态
- 只更新上半部分的人类摘要，不修改状态块
- 上半部分是短期状态快照，不是长期日志
- `Recent Changes` 只保留最近 3-5 条对恢复上下文有价值的变化
- 更新时整理/替换旧摘要，不要把 `Recent Changes` 当作无限追加日志

### `memory-bank/decisions.md`

- 为什么这样做
- 备选方案是什么
- 影响范围是什么

### `memory-bank/system-patterns.md`

- 模块边界
- 不变量
- 扩展路径
- 禁止破坏的约束

## 规则

- 只回写长期有价值的信息
- 临时聊天内容不要写进去
- 高变化信息放 `active-context`，稳定技术模式放 `system-patterns`
- 流程规则或项目私有约束变更写入 `AGENT_RULES.local.md`
- `progress.md` 的 `plan-status` 状态块只由 `main_loop.py` 或
  `playbook.py -record-plan` 维护
- 摘要应与 `plan-status` 保持一致
- 摘要区保持短期状态快照；长期历史依赖项目归档记录、Plan 文件和
  `decisions.md`

## 禁止事项

- 手工改写 `<!-- plan-status:start/end -->`
- 把临时聊天内容、未验证猜测写进摘要

## 输出协议

```markdown
## Updated Files
- ...

## New Context
- ...

## Outstanding Risks
- ...
```

## 停止条件

- 如果没有值得沉淀的信息，则停止并说明

---

**最后更新**：{{DATE}}
