以 Mindraw coder 身份只领取 MD-MEXP05-02,修复 PM-MEXP05-GATE 独立 review 的两个 No-Go 阻断项:AssetStore temp symlink escape,以及 save / repair 后续 scene 或 manifest 写失败后残留本轮新增 blob。
CODEGRAPH.md、MEXP05 QA 文档和相关全局研发 / QA / 会话记忆规则。src-tauri/src/asset_store.rs 与 src-tauri/src/lib.rs 的原子 temp 写入,改为 OpenOptions::create_new(true),预置 temp symlink / 旧 temp 文件 fail-closed。drawing.excalidraw 或 manifest.json 写失败时只删除这些本轮新增 blob,不删除既有资产,不自动清理 orphan。mexp05_preexisting_asset_temp_symlink_does_not_write_outsidemexp05_save_manifest_failure_removes_only_new_blobmexp05_repair_scene_failure_removes_new_blob_and_preserves_package02-P/qa/mindraw-mexp05-assetstore-authority-check.md、02-P/plan-progress.markdown、CODEGRAPH.md、CHANGELOG.md。inlineCache=required,不做 AssetStore API transport,不做 m4c 真实 smoke,不打包、不递增版本、不进入 H8 / formal release。INDEX.md 本轮不新增入口;QA 文档已说明无需更新理由。工作区中 INDEX.md 仍有接手前并行修改,未回滚。PM-MEXP05-GATE 复跑 independent review / Gate,不标 PM Gate GO。cargo test --manifest-path src-tauri/Cargo.toml mexp05:11 PASS。cargo test --manifest-path src-tauri/Cargo.toml mindraw_package_tests:40 PASS。cargo test --manifest-path src-tauri/Cargo.toml:61 PASS。cargo check --manifest-path src-tauri/Cargo.toml:PASS。npm run test:run -- src/lib/imageImportPersistence.test.ts src/lib/imageImport.test.ts src/lib/obsidianExcalidraw.test.ts src/store/useStore.test.ts src/lib/mindrawAppWriteApi.smoke.test.ts:5 files / 64 tests PASS。npm run build:PASS,仅既有字体解析、dialog 动静态导入和 chunk size warning。git diff --check:PASS。src-tauri/src/asset_store.rs 与 MEXP05 QA 的隐私 / path 泄漏扫描:无命中。PM-MEXP05-GATE 复跑 independent review / Gate。