3.3 KiB
FAIL
apps/ely-mark/web/src/main.js:87 — 模式切换销毁当前编辑器,时间线只记录离开时的正文,编辑器内部撤销产生的重做历史随之丢失,违反 PRD §14.3。真窗口打开 Alpha.\n,源码模式键入 v、Cmd+Z 撤销,切预览再回源码,Shift+Cmd+Z 后保存仍为 Alpha.\n,预期 vAlpha.\n;可视模式同样失败。对照组直接撤销、重做并保存得到 vAlpha.\n。第二轮跨模式跳转后的重做与连续撤销场景已通过,本项覆盖编辑器内部撤销后的模式切换。方向:将编辑器内的编辑、撤销和重做纳入文件的内容历史,切换时保留历史游标与可重做事务,并增加两种编辑模式经预览返回后的重做断言。证据:/tmp/ely-c143-r3-logs/local-redo.json、visual-redo.json、local-redo-control.json、r2-redo.json、r2-linear.json、r2-reverse.json。
crates/ely-files/src/session/registry.rs:101 — 原路径消失时使用首次登记的文件身份判重;正常原子保存已更换文件身份,改名间隙因此再次建立可写会话,违反 PRD §6.1。真窗口打开 a.md、Cmd+S 保存一次、改名为 b.md;隔离副本仅在文件系统改名成功后延迟完成回调两秒,期间经正常 open_file 打开 b.md。完成后两个标签都指向 b.md,登记号分别为 Some(0)、Some(1)。首次打开后直接改名的第二轮场景已有一个标签;保存后再改名仍失败。独立单测经 Session::load、save、rename_new、Sessions::open 同样得到 Fresh(1),预期 Focus(0);改名前刷新当前文件身份后,单测和真窗口竞争均保持一个会话。方向:让登记中的身份随原子保存更新,改名前占用实际文件身份并在完成时迁移,覆盖保存后改名期间打开目标的竞争。证据:/tmp/ely-c143-r3-logs/rename-native.log、rename-refresh.log、saved-rename-unit.log、saved-rename-refresh.log、rename-probe.diff、rename-refresh.diff。
apps/ely-mark/web/src/main.js:98 — 旧 shown 确认回调先读取并清空共享 asked,随后才检查请求代次,会删除较新构建期间排队的模式请求,违反 MARK-02。真 CEF 探针在隔离副本仅注入预览构建完成延迟 500 毫秒、可视 shown 确认延迟 300 毫秒:从源码请求可视并排队预览,可视等待确认时切源码,随后请求预览并立即再请求源码;旧可视确认在较新预览完成前清空排队的源码请求,最终显示预览。将代次检查移到读取与清空 asked 之前,同一探针最终显示源码。第二轮三次切换的原版断言已通过,本项覆盖旧确认与较新构建重叠。方向:旧回调在代次失效时直接退出,每个构建只读取和清理属于自己的排队请求,并增加上述连续请求回归。证据:/tmp/ely-c143-r3-logs/asked-native.log、asked-repair.log、asked-probe.diff、asked-latency.diff、asked-repair.diff。原版 mark-modes.sh、mark-content.sh、mark-session.sh 均独立通过,五个相关 crate 单测 143 通过、1 忽略,Doc/Table/Show/PDF/Mark 编译检查通过;完整记录为 /tmp/ely-c143-r3-logs/verification.log。原项目 854 个文件的散列保持一致,隔离源码、副本依赖、CEF 缓存与独立构建目录已在写结论前删除。