edit | blame | history | raw

Mindraw 文件系统故障证据会话记录

用户目标

从 checkpoint 435b2af8f9ec2aa37f796948a5f4582183fb6a06 只关闭 FILE-04 + SEC-03,为 package/scene/manifest/asset 的真实生产 I/O 补固定故障矩阵,证明失败时原 bytes/SHA、temp、sentinel 与 replacement 安全。

已完成事项

  • 建立固定 scope/stage 的 test-only fault plan,production 默认仍调用真实 filesystem。
  • 为 scene/manifest、Unix AssetStore、Windows SafeIO 与 package create 接入 production I/O 边界原型。
  • production-core 覆盖 temp-create、short-write/full、flush、sync、rename、final-open、final-verify、cleanup、read-only 与 replacement。
  • 主 save 回滚错误不再静默吞掉;final verification 移到 authoritative rename 前。
  • Rust 136/136、frontend 248、doctor 15、build、probe contract 12 通过;Windows x64/ARM64 compile 通过;六 target 4 PASS / 0 compile fail / 2 Linux cross environment blocked。

关键决策

未生成 Review Gate。两次独立预审确认 pathname-based verify -> renameidentity-check -> unlink 仍存在同 UID replacement TOCTOU;继续增加 pathname recheck 不能形成安全证明。终态固定为 BLOCKED_SAFE_IDENTITY_ATOMICITY,下一步必须先做平台 exact-authority architecture。

文件变更

  • 工作树中保留未提交原型:src-tauri/src/fs_fault.rssrc-tauri/src/lib.rssrc-tauri/src/asset_store.rssrc-tauri/src/windows_safe_io.rsCODEGRAPH.mdCHANGELOG.md
  • 阻塞责任报告:02-P/MEXP16-CrossPlatform127/architecture/md-127-xplat-fs-fault-evidence-01-blocked-20260814.md

核心事实 / 变更快照

  • 变更对象:文件系统故障证据 seam。
  • 事实来源:上述未提交 diff、两次独立预审、Rust/target compile 结果。
  • 变更前:生产路径无法固定表达完整故障矩阵。
  • 原型后:矩阵可表达,但 exact identity commit/cleanup authority 未闭环,不能交审。
  • 范围边界:未改变文件格式、命名、UI、图片/PDF/Tab/file-entry;未产生安装包或平台支持结论。

未决问题与后续建议

另立 MD-127-XPLAT-FS-EXACT-AUTHORITY-ARCH-01,分别评估 Darwin/Linux/Windows 同对象 commit/delete 的公开 API;架构结论通过后再决定继续原型或回退未提交 diff。

可复用命令 / Runbook

用途:复核当前原型的 Rust 与 Windows compile-only 状态。前置条件:位于跨平台 worktree,保持当前未提交原型。

cargo test --locked --manifest-path src-tauri/Cargo.toml
cargo check --locked --manifest-path src-tauri/Cargo.toml --target x86_64-pc-windows-msvc
cargo check --locked --manifest-path src-tauri/Cargo.toml --target aarch64-pc-windows-msvc
npm run xplat:build-probe

验证:Rust 应为 136/136;Windows 两 target compile PASS;六 target 当前应为 4 PASS / 0 FAIL_COMPILE / 2 Linux cross environment blocked。清理/恢复:本记录不授权 reset、checkout 或删除原型;由后续 PMO 派工决定。