用途与实际影响
这项功能怎样使用
为什么需要它
相同附件没必要在每一份会话备份里重存;但变动的数据库仍会占新空间。冷盘上的点只有文件齐全且自己通过核对,才算一份独立副本。
举个实际例子
两份对话都用过同一张图片,G 盘可共用那张图片的保存文件。H 盘没接上就说明冷备未完成;接上后按现有任务复制并检查,不因目录出现就说可以恢复。
最后我会得到什么
知道 G 盘和 H 盘各有哪些完整会话点;H 盘真实核对通过后才称那处冷副本可用。
正常时
这份会话所需文件齐全,H 盘再独立核对完成时各自标成功。
发现问题时
H 盘未接不影响已验 G 点,只把冷副本标为未完成。
入口不可用或证据不足时
任何引用文件缺失或损坏时停这份点的恢复,说明具体缺口。
从哪里开始
在已接入的 AI 对话中查询某个 Codex 会话备份点是否已到 G 或 H;H 冷备由 PCConfig 的既有任务处理。
需要准备什么
- 要找的点位或日期
- G 与 H 介质状态
从开始到拿到结果
- 1
先查 G 盘这份会话是否完整
系统核对这份会话用到的每个文件与清单;相同附件可共用一份保存,变动的数据库仍需新副本。
- 2
H 可用时再同步
现有冷任务复制点所需对象,校验 H 端完整后才发布 H 指针并清理可退役旧对象。
- 3
说明真正完成到哪
H 未连接时明确跳过;指针更新但清理未完成也只报告已完成阶段。
技术实现与依据
这里保留实现、关键条件、精确入口、历史记录和验证结果。
9月14日回读桌面G/H同点、两点保留与H随G收敛完成回执;9月7日合成测试保留原日期关键规则与设计选择
去重粒度是完整文件;相同字节复用,变化后的大数据库会占新空间。
点清单发布后不由正常备份就地修改,哈希用于检出差异,不是对所有损坏的免疫保证。
桌面无profile的Hot自动保留当前与前一点,验证后删除过期点和无引用对象;次机配置档仍可显式Prune。H在完整复制核验G有效保留集合后清理H独有旧点和对象,最新恢复不会并回源中已删文件。
H 不可用时跳过;连接介质本身不会新增即时触发器。
本模块用到的名词
- Content-Addressed Storage(内容寻址存储)
- 一种数据存储模式,文件的存储路径直接由其内容的哈希值决定,内容变则路径变,内容同则天然去重。
- Bit Rot Defense(静默位翻转防御)
- 长期冷备介质可能因磁性或电荷衰减导致个别位翻转,通过强制性的 SHA-256 闭包校验和可以在恢复前及时发现数据损坏。
专业定义
相同对象复用;H 没连接就明确冷备未完成
解决什么
减少重复文件占用,避免不完整对象集被当成可用备份点。
当前怎样实现
- Get-ObjectPath 使用 SHA-256 哈希前两位分目录,其余哈希定位对象。
- Test-CodexConversationPoint 核对 schema(数据结构)、清单/闭包哈希、计数/字节和每个独有对象。
- Validate范围是选定Hot或Cold点引用的对象,不是全盘检查;默认写本地进度,-ReadOnly则不写进度,两者均不修改对象。
- FinalizeCold/SyncCold核验G当前及全部有效点,复制缺少对象并独立验证H;先发布H current(当前状态),再清理H独有点和无引用对象,回读剩余集合后才写cold_retention_status=complete。较新捕获失败不妨碍复制已有完整旧点。
执行流程
- 1
按完整文件内容算 SHA-256。
- 2
同哈希对象存在且有效则复用,否则写入新对象并回读。
- 3
生成该点的 manifest(清单)/closure,引用对象完整才更新 G current(当前状态)。
- 4
现有 PCConfig 冷任务在 H 可用时增量复制 cold-payload,不直接复制 G 指针。
- 5
H点校验通过后发布H指针,再清H独有点及无引用对象并回读;全部完成才报告冷备成功,中途失败保留实际已完成阶段。
边界
- 桌面Hot固定两点保留仍须容纳当前及前一点引用的对象;次机Prune仅适用于匹配的已绑定存储。保留点先完整验证,目录形态、指针或清单变化则拒绝清理。
- H写入阶段允许未完成复制;点校验后发布指针,随后收敛H独有旧点和对象,剩余集合回读完成才发完整成功回执。指针已更新本身不证明后续清理完成。
失败与恢复
- H 不可用
- 既有冷任务记录 H_unavailable 并跳过;本轮只读检查不能代替该任务的执行回执。
- 点或对象哈希不符
- Test-CodexConversationPoint 返回 point_closure_invalid、current_pointer_closure_mismatch 或 content_object_invalid 等相应错误;不发布成功指针。
真实入口
tools\Invoke-CodexConversationBackup.ps1CAS 对象写入、闭包校验与 FinalizeCold 逻辑
CONVERSATION_BACKUP.md对话冷热备架构、CAS 拓扑与存储规范说明
tools\test-codex-conversation-backup.ps1对象去重、清单原子切换与校验测试
如何验证
- 9月7日三个人工点的dedup_verified与restore_verified均为true,仅作旧测试证据;9月12日正式源码已新增冷点复制与profile清理,本轮未运行新测试或生产对象核验。
- 历史9月12日05:41Z G/H当时指针同为20260912T041508Z-8cec9794,实际清单/闭包哈希分别匹配;H原生cold-last于05:22:41Z complete/readback_verified=true,7167文件/49,655,464,859字节。9月8日同点和9月9日H不可用仅保留历史;本次只读小元数据,没有重复全对象校验或执行冷同步。
与其他模块的关系
负责会话点的存储与核验;PCConfig拥有既有跨盘调度,引擎的FinalizeCold/SyncCold可追加复制完整热备点,再独立校验冷点。次机profile另有明确的有界清理。
