dsh-archive-agent-notes
按未来价值裁剪活跃的决策记录:新 note 有没有让旧记录过时?哪篇 implemented 该封存?哪篇 rejected 该删?
这是 .agents/skills/dsh-archive-agent-notes/SKILL.md 的中文精读。它管的是 M8 正文里那套「路径即状态」决策记录系统的收口动作:什么时候封存、什么时候删、怎么封。
什么时候触发
在 deepseek-harness 里新增、审计、裁剪、归档、恢复或 review Agent Note 时使用。核心职责:检查每篇新 note 是否让某篇活跃记录过时;按未来决策价值给 implemented note 分类;删掉那些已经挡不住「诱人错误」的 rejected note;执行 archived 三件套的冻结与清单规则。
裁剪活跃的决策语料,但不抹掉仍能指导工作的历史。逐篇做语义判断;字数和年龄只是发现线索,永远不是归档标准。也不许为了凑配额而归档。
先读契约
分类之前先读:.agents/notes/README.md(Agent Note 规则)、.agents/notes/archived/AGENTS.md(归档守则)、以及对应活跃生命周期的守则。判断一个理由是否仍然「拥有」或约束着什么,依据是:当前代码、配置、包文档、生成的目录、更新的 Agent Note、以及入站链接。
加新 note 时必查取代关系
每篇新 Agent Note 都会触发一次范围化审计:找出覆盖同一决策、机制或被否方案的活跃 note。写新 note 的同时完成分类:完全或部分取代——够格的 implemented 三件套在同一个 PR 里归档;部分取代或有独立价值的理由保留并交叉链接;过时的提案转为 rejected;不再能挡住可信错误的 rejected 整篇删掉。新属主吸收了旧 note 的全部独有论点时,套用合并规则。已知的匹配不许推给「以后全语料审计」。
按未来价值分类
| 生命周期 | 处置 | 判据 |
|---|---|---|
| implemented → 保持活跃 | 保留 | 它的理由、备选方案、负面保证、耐久/线上语义、所有权边界、安全规则或重新引入条件,仍可能指导未来的改动。长度无关。 |
| implemented → 归档 | 封存 | 决策已完整落地、正文不太可能再指导未来:一次性 UI 装饰、窄适配器、已关闭的小 bug、被取代的实现细节、当前行为在别处已显而易见的过程史 |
| proposed | 永不归档 | 活提案保持活跃;不再值得追就带着诚实的理由转 rejected,并满足 rejected 的格式要求 |
| rejected → 保留 | 只当护栏 | 仅当被否的提案仍是一个「诱人、可信的错误」,且 note 解释了它为什么输 |
| rejected → 删除 | 三件套整删 | 被否想法已过时、被取代、不再可信、或挡不住重复争论。修复或删除入站链接 |
校准样例(字数证明「大小不是判据」)
该归档的 implemented:
- 折叠的侧栏控制轨——533 词:已关闭的次要 UI 行为;
- Commander 参数适配器——1,498 词:大块实现细节,但未来设计杠杆很小;
- 文档图谱 atlas——920 词:已完成的文档机器,当前生成器就是权威。
该保留的 implemented:
- 事件溯源 session——248 词:基础性权威与耐久边界;
- 单一 Harness-home 解析器——596 词:跨产品的所有权规则;
- 项目 session 目录——628 词:耐久存储与身份策略;
- 并行 pre-push 门禁——400 词:边缘案例,但仍指导门禁调度与资源调优;
- 被砍掉的图片内容块——334 词:保留到多模态落地,因为它写明了协调一致的重新引入条件。
rejected 的去留:「折叠 compaction 包拆分」(426 词)保留——合并的诱惑仍然真实;「通过工具调用流式输出 workflow 进度」(972 词)删除——它的 ACP/UI 前提已过时;「砍掉 ACP 终端元数据」(362 词)删除——后来「automation-only ACP」的决策已经终结了这个问题。
归档一个 implemented 三件套
- 把完整的
foo.md、foo.zh.md、foo.i18n.yaml三件套从implemented/<kind>/移到archived/<kind>/——归档路径里故意没有implemented这一层。 - 正文零改动。只在两个语言文件的
Status: implemented正下方插入Archived: YYYY-MM-DD,两侧用同一个归档日期。 - 为这两处纯元数据编辑机械地重录 sidecar hash。不翻译、不重排、不更新事实、不修 note 内部的链接。
- 从活跃散文里搜入站链接:重定向到当前权威;仅在刻意引用历史快照时才改指归档路径;否则删掉。绝不去修复归档 note 里的出站链接。
- 跑
pnpm run verify-archived-agent-notes --write:只增模式先证明所有现存封条仍匹配,再只追加新三件套的 hash。之后跑常规验证器。
永不编辑、移动、翻译、重排或删除。归档 note 仍是合法的入站链接目标,但它们是历史快照,不是当前行为的权威。汇报时也不要声称归档 note 的出站链接有效——归档验证器故意从不检查它们。
验证与汇报
跑归档验证器的聚焦测试、pnpm run verify-archived-agent-notes、pnpm run doc-sync、pnpm run lint、git diff --check;其余证据按 dsh-pre-push-checks 选择。
汇报内容:保留的活跃 implemented 数、归档数、rejected 的保留/删除数、被否决的 proposed(如有),以及每个真正边缘的案例——带上字数和最终处置。