# 内容、记忆与备份的去向

## 缓存中的内容先分类

HTTP、IndexedDB、Local Storage 或旧快照可保存仅存在于缓存中的云端对话、工具调用、申诉文字、附件和作品。文件名叫 Cache，不代表全可丢弃。

对拟清理记录先区分认证/传输外壳与用户正文。只对候选数据解码；遇到未知格式、压缩失败、截断或无法判断唯一性的内容，保留该项并报告，其他已确认批次不必一起等待。

保全用户需要的原文、原顺序、完整工具块和原媒体字节。请求/响应头、Cookie、token、完整带身份 URL、账户 API envelope 不混入普通内容档案。正文内的历史身份引用属于原文，除非另获要求不擅自改写，也不承诺档案匿名。

内容清单逐项记录中性来源编号、类型、长度、SHA-256、必要的来源映射；私有原路径映射与对外交付摘要分开。重复快照只有在内容相等得到证明时才合并。压缩包必须重新打开核验每个成员，文本汇编需核对每段的字节偏移、长度和哈希。

不完整 SSE、稀疏 range 文件、缩略图与未缓存外链、缺失原上传分别标注。不要将缓存恢复称为完整云端导出，也不要自动打开外链补下载。

## 自动记忆与指令单独处理

常见入口是当前配置根的 `projects/<project>/memory/` 和全局 `CLAUDE.md`；项目级指令、显式配置的其他记忆目录、旧备份另列。以[当前记忆文档](https://code.claude.com/docs/en/memory)和实际配置确认自动加载入口。

- 用户只要求旧认证清理：保留记忆与指令，并说明它们可能影响未来会话。
- 用户要求“离线保留再删除”：先完成可读的原文档案和逐段核验，再删除精确获准路径；位置应在任何 AI 自动加载目录之外。
- 用户要求永久删除且明确不保留：不自行额外留一份原文；必要临时回滚仍在验收后按该意图处理。
- 删除旧文件与关闭未来自动记忆是两项决定；不顺便改开关。告知正常使用仍可能产生新文件。

若保护基线包含后获准删除的记忆文件，用 `remaining = original - exact_authorized_paths` 验证剩余全部哈希与索引。目录也用精确清单，不放宽为整个 `projects/**`。不能用新快照自我比较来声称与最初一致。把最新集合与授权增量同步给后续任务。

## 明确获准后，才对历史内容去标识

普通账号清理默认保留历史原文。用户明确把目标扩大到旧线程/档案中的关联标识后，实施内容级清理；此前“保留正文”的默认规则不能被用来只清派生副本却声称原件已完成。

先画实际来源关系：原始线程/元数据、从缓存恢复的唯一内容、阅读器或导出包、全文索引、安装包资源、媒体内嵌副本、回滚材料。逐类标明“本次实际修改 / 派生后重建 / 独立封存保留”。不要用“读取时隐藏”代替用户要求的落盘清除；临时过渡方案也必须明确尚未改哪一层。

- 从已确认旧字段和上下文建立精确规则，保留必要关系时用一致且无碰撞的中性别名。同名业务联系人、公共邮箱、第三方账号/订单 ID、共享协议常量不跟着替换。
- 文本搜索不能替代结构检查：按实际格式处理 JSON/JSONL、转义 JSON 字符串、工具 stdout 中嵌入对象、编码字段和容器内容。姓名/邮箱/组织字段需绑定到确证的旧账号对象或历史账号配置输出，不能只按字面全局抹除。
- 图片、截图或其 base64 内嵌副本单独检查。OCR 是定位线索，不是无残留保证；按当前用户授权和图像工具规则处理。若获准精确遮盖，核对目标区域及非目标像素；同步替换全部获准的内嵌原图，不只改预览图。不要因底层政策要求某种改图入口而擅自绕过。
- 保持消息/工具块顺序、角色、来源引用、事件行界限和非目标正文。逐项比较批准变换前后的实际重建结果；数量相同不够。JSON 表示变化需证明键值、类型、数值、数组顺序及重复键语义未损失，不能以“重新序列化了”掩盖差异。
- 来源内容改变后更新实际依赖它的校验值、路径映射、派生文档、搜索索引、图库/附件元数据及已安装副本。只允许数据表示的变化，不能因保留旧虚拟路径就漏更新其内容证明。
- 私有规则表、原值到别名映射、OCR 文本、事务原件也会保留旧值；验收后按约定退役，或作为明确选定的恢复材料封存，不能忘在活跃工作目录。

若用户要求“一个日常来源＋一个封存备份”，就不要再常驻一套完整正文给阅读器。需要从已退役缓存恢复的唯一内容，可以成为明确登记的日常来源；阅读器不得静默回退到封存旧原件。此约束按用户要求适用，不禁止其他任务使用有必要且已获准的索引或多份档案。

## 可读性也是保全验收的一部分

优先使用已有可用的导出或阅读方式，不为了清理自动新建应用。选择的交付必须能实际阅读：按需要检查一条短记录、一条有代表性的长记录、完整工具输出、媒体以及检索定位。长记录不能卡在加载、截断或丢失前文；若失败，修复已采用方案并复验后再称保全完成，不只报告构建/单测通过。

只修改数据时不用重复所有应用测试；新增来源方式、打包或读取代码时，验证实际安装物、权限范围和界面。以真实依赖为准，别为通过验收给予不必要的广泛文件/网络权限。读取器修复不应重新复制旧正文或改变已清理的来源。

## 副本分开管理

| 副本 | 用途 | 何时处理 |
|---|---|---|
| 私有回滚原件 | 恢复本次实际改动，可能含登录状态和旧身份 | 相关验收通过并符合当前保留决定后退役；尚需回滚则保留且明确剩余状态。 |
| 独立封存恢复包 | 用户明确保留的离线恢复材料，可以含原值 | 核实不自动加载、无活动引用/回退后，记为有意保留；不计入日常环境未清理项。 |
| 内容档案 | 保留用户作品/历史，可能含正文中的身份引用 | 按用户指定保留；不要当垃圾缓存清走。 |
| 脱敏审计证据 | 解释改动与检查范围 | 保留计数、摘要、版本、状态与验证结果，不复制真实凭据或完整旧响应。 |

封存的判断靠实际使用关系，不只靠 ZIP 扩展名或移出旧目录。若当前配置仍引用它、任务会自动解包恢复，或工具仍从中读取正文，就仍在运行来源范围内。反之，已经核实离线封存且用户决定保留的原值，不妨碍当前环境清理完成，不要反复作为未完成项。

归属不明的旧备份不随本任务一起删除。对本任务创建的原件、事务暂存、私有 SQLite 副本、标签恢复清单、失败解包及临时运行库，首次创建就登记去向与依赖；收尾一次核对。

永久退役前确认没有唯一未保全内容，没有仍引用原件的恢复脚本，实际目标和保护项验收已通过。删除后回读精确路径，按每套恢复材料更新 `rollback_available`：临时原件已退役，而另有经验证封存包时，应记录“封存恢复可用、临时原件不可用”，不能简单全局标成 true 或 false。旧报告可保留为历史，但不能继续当有效回滚入口。

旧 `.app` 回滚包也可能被系统索引成重复应用。用户只要一个正式入口时，验收最终应用后退役本任务旧安装副本并核对注册/索引结果，不去全局重置其他应用记录。统计清退量按实际文件/底层对象去重；跨多轮复制再删除的逻辑字节不当作磁盘净释放量累计。

普通文件删除不证明磁盘扇区、APFS/Time Machine 快照、云同步或服务端都物理清零。不要为追求这个说法额外清理系统快照或无关备份。
