Expand description
E_REVISION_STALE 的历史基线(._cache/revisions.json)。
规范 §6.1 的 E_REVISION_STALE 是「updated_at 变化但 revision 未前进」——这是
历史相关判定,单看一份 ._meta 无从下手(created_at / updated_at / revision
都是自描述的,文件本身不携带「上一版」)。
因此由写入端在每次成功写盘后登记当前快照,校验端只读比对:
- 写入端:
str的全部写命令(经cmd::save_meta)与str sync(经record_scan); - 校验端:
crate::validate读基线,updated_at变了而revision未前进即报码。
基线文件是派生数据:位于 ._cache/(格式保留名、不入 entries 清单、.gitignore
已排除),删掉即关闭这项检查;str sync 会按当前扫描结果整份重建,因此不会积累陈旧条目。
Structs§
Functions§
- load
- 读取基线。文件缺失 / 损坏一律退化为「无基线」:只关闭历史检查,不阻断主流程。
- record
- 登记单个分支的当前状态(单个写命令用)。
- record_
scan - 以一次扫描的结果校准基线(
str sync/str branch rm用)。