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