跳转至

Archive

在干净的基线上,把范围较大的现有包快照成一组冻结、有证据支撑的上下文文件, 再生成或刷新当前的产品与架构摘要。

在你项目的会话里发出请求:

智能体 会话中的请求
Claude Code 插件 /memory-bank:memory-bank-archive
Codex 插件 $memory-bank:memory-bank-archive
DSH /memory-bank-archive

不需要参数。你也可以说明想描绘哪个包、哪段上下文。如果是直接装到技能目录里的, 请参见 调用前缀。

何时使用

用在 init 之前:范围较大的现有包需要先做一次仓库描绘预检。之后, 上下文发生实质变化时,再生成后继快照。

Init 会判断要不要先做一次 Archive 预检,并把结论告诉你。如果需要,请先明确发起 Archive,再回到 Init。小而内聚的包可以直接进入初始化;跨越多个稳定上下文的 边界则要先送到这里。这里刻意不设文件数或行数阈值:自动生成的客户端可能很大, 概念上却很简单;支付模块可能很小,架构上却很密集。

它会产出什么

产出的是事实,不是路线图。归档文件里绝不出现可执行的任务状态,也绝不进入状态 顺序或目标顺序。

tabilet/docs/archive-C01.md    提交 4f8c… 时的公共客户端 API
tabilet/docs/archive-T01.md    提交 4f8c… 时的传输与进程生命周期
tabilet/docs/archive-A01.md    提交 4f8c… 时的产物捕获与存储

tabilet/memory-bank/product.md         当前产品与领域摘要
tabilet/memory-bank/architecture.md    当前系统摘要,外加归档注册表

它需要为每段上下文确立目的与归属、领域概念与不变量、组件与数据流、公共契约与 依赖、持久化、安全与运行行为,并说明这段上下文实际是怎么验证的。每一条论断都能 指回仓库里的证据。

测试缺失,或者文档之间互相冲突,都记作证据缺口,不会悄悄变成一个里程碑。

三个阶段

调研。 先读智能体说明、文档、清单文件、构建与 CI 配置、包边界、入口点、公共 接口、测试和部署文件,然后选出一个内聚的边界,涵盖产品、归属和验证三方面。再 确定基线:Git 存在时,用完整 HEAD 提交处的干净工作区;否则就用一份显式标为 unversioned 的快照,代价是来源信息更弱,你得接受这一点。

给出方案。 展示边界、上下文划分、通道含义、覆盖范围、证据根、后继决策,以及 每一项文件操作。这些你没全部批准之前,什么都不写。

写入。 在随附的写入契约下执行已批准的操作。

归档通道

归档文件命名为 tabilet/docs/archive-<LANE><NN>.md。字母用来分类稳定的产品领域 或归属上下文,数字是该通道内的快照先后顺序。

归档通道独立于状态通道。archive-T01 并不意味着有 status-T01,两者也都不 决定执行优先级。划分要看持久的上下文,绝不按功能、冲刺、评审发现项、团队名称、 文档类型或源码目录来分。

覆盖范围有 partial、blocked、verified 三种。当 Archive 是 Init 的必需预检 时,边界内的每段上下文都必须达到 verified,初始化才能继续。

冻结

归档一旦通过验证,就在记录的提交处冻结,之后的代码不会再去改写它。上下文发生 实质变化时,给它下一个尚未使用的后继 ID。product.md 和 architecture.md 则继续 描述当前的事实。

这条界线要几个月后才显出价值:当前架构告诉智能体现在有什么;归档则说明在某个 已知基线上确立了哪些内容,并不假装自己仍然是最新的。

它不会做什么

Archive 写的是事实。它不会创建或修改里程碑、候选方向、状态行、目标输入、提交或 外部状态。仅仅是移动文件,或者做一次不改变高层事实的内部重构,都不足以让你为它 建后继版本。