Claude Code 的压缩会丢弃仍在磁盘上的数据
发布: (2026年2月22日 GMT+8 13:14)
2 分钟阅读
原文: Dev.to
Source: Dev.to
发生了什么
压缩过程删除了仍被元数据引用的物理文件。这是一次元数据↔磁盘的顺序/竞争条件——删除在持久化元数据确认之前就已发生,导致对已缺失数据的活跃引用。
为什么重要
- 静默腐败:应用程序默认压缩是安全的。
- 当文件消失而索引仍指向它们时,可能出现丢失的向量、损坏的会话,或仅在高负载或恢复期间才显现的错误。
给构建者的建议
- 停止盲目删除。
- 使用保留窗口和两阶段删除(标记 → 确认 → 删除)。
- 使用
fsync/原子重命名。 - 实施端到端完整性检查并频繁快照。
- 为压缩运行混沌测试。
Reference: Claude Code’s compaction discarded data still on disk — bug report & discussion