908 B
908 B
FAIL
crates/ely-files/src/session.rs:172 — finish_load() 与第 189 行 fail_load() 缺少加载任务有效性校验,旧加载回调会污染成功 reload 后的当前会话,违反 FILE-02 与 §6.1。两项隔离测试分别执行 Session::loading(path)、外部修改、reload() 成功、edit(),再投递初始加载的延迟成功或失败回调:成功回调将 Dirty 改成 Saved,此时 revision=1、saved_revision=0,记录的指纹长度从新版本的 20 字节退回旧版本的 7 字节;失败回调将状态改成 LoadFailed,begin_save() 返回 LoadFailed,阻止当前有效内容保存。现有 31 项测试通过,两项延迟加载探针均失败。修复方向:加载成功与失败回调只允许更新仍有效的加载任务,reload 使旧加载失效;补充重载并编辑后旧加载成功、失败回调的回归,验证状态、指纹和后续保存能力。