Skip to main content

Module baseline

Module baseline 

Source
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§

Baseline
全 bundle 的基线:._meta 所在目录的相对路径 → 快照。
Snap
一个分支的基线快照。

Functions§

load
读取基线。文件缺失 / 损坏一律退化为「无基线」:只关闭历史检查,不阻断主流程。
record
登记单个分支的当前状态(单个写命令用)。
record_scan
以一次扫描的结果校准基线(str sync / str branch rm 用)。