edit | blame | history | raw

MD-EDC-07 当前基线整合

用户目标

8eba6a9fa82e12dd5e24a71a876e4a75f4d90c3f 为固定有效基线创建隔离 worktree,保护 Finder 图片拖入、PDF Import、多文档 Tab、Mindraw metadata、App API / preview / 保存生命周期,并按当前复杂架构最小移植 MD-EDC-06/FIX-02 已复核行为;不得整体 merge/rebase、修改脏主工作区、提交、推送、打 DMG 或改 m4c。

已完成事项

  • 创建 worktree /Users/ar/Projects/Mindraw-worktrees/md-edc-07-current-baseline,branch codex/md-edc-07-current-baseline-integration,HEAD 保持 8eba6a9
  • 机械确认图片、PDF、Tab、Mindraw metadata、App API、preview 与保存生命周期源码/测试入口存在。
  • 按当前架构整合默认 .mindraw 当前目录新建、YY.MMDD-NN.mindraw 命名、listener 单实例、create queue、后端 sibling temp + atomic rename。
  • 更新隔离 worktree 的 CODEGRAPH.mdINDEX.mdCHANGELOG.md
  • 生成 Review Gate crg-64c2192c0b94 与 review-ready evidence,并写入 PMO 台账/inbox。

核心事实 / 变更快照

  • 变更前:createNewFile() 固定 Desktop 创建时间戳 .excalidrawisCreatingNewFile 会丢弃并发动作;菜单 effect 依赖 store state/action,存在异步 orphan listener 风险;package 创建直接写最终目录。
  • 变更后:App 优先 current directory,其次 active document directory / last explicit directory,无目录显式选择;默认 YY.MMDD-NN.mindraw;快速动作 promise queue 串行且不丢弃;listener effect 单实例并处理 cleanup-before-listen-resolve;Rust 同级隐藏 temp 完整写入后原子 rename,并发冲突重新分配两位序号。
  • 保留范围:Finder 图片拖入、PDF Import、8 文档 Tab、AssetStore、App API、preview freshness、save / dirty lifecycle、productName=Mindraw、bundle id com.mindraw.desktop、About metadata。
  • 不变边界:Finder PDF 拖入仍为 Backlog;未 merge / commit / push / DMG / m4c / QA。
  • 验证:前端 src 31 files / 240 tests;doctor 15 tests;Rust 77 tests;生产 build、cargo check、diff check、敏感扫描 PASS。rustfmt 未安装,cargo fmt --check 未能运行。

文件变更

隔离 worktree:CHANGELOG.mdCODEGRAPH.mdINDEX.mdsrc-tauri/src/lib.rssrc/hooks/useMenuHandler.tssrc/hooks/useMenuHandler.lifecycle.test.tsxsrc/lib/newDocumentName.tssrc/store/useStore.tssrc/store/useStore.test.ts

治理证据:02-P/MEXP15-SignedNotarizedDMG/review/md-edc-07-current-baseline-integration-review-ready-crg-64c2192c0b94.md、统一台账与 PMO inbox。

未决问题与下一步

PMO 应先派代码审核员复核 crg-64c2192c0b94。只有 Review PASS 后,固定 QA 019f4ffd-ae0f-7493-aaf3-e826fcb490b6 才能执行完整 QA。Coder 不自行进入 QA。

可复用命令 / Runbook

用途:复核当前 integration worktree 的前端、Rust、构建和差异门禁。

前置条件:位于 /Users/ar/Projects/Mindraw-worktrees/md-edc-07-current-baseline;依赖已就绪;不要求提交。

npm run test:run -- src
npm run doctor:mindraw:test
npm run build
cargo test --manifest-path src-tauri/Cargo.toml
cargo check --manifest-path src-tauri/Cargo.toml
git diff --check

验证:前端 240 tests、doctor 15 tests、Rust 77 tests 全绿,build/check 退出码为 0。

清理/恢复:本轮没有临时系统状态;不要删除含未提交整合 diff 的 worktree。搜索关键词:MD-EDC-07crg-64c2192c0b94current-baseline-integration