# 2026-07-02 M4C-BUNDLE05 ## 用户目标 作为 `Coder@m4c` 领取统一台账 `P-20260701-app-codex-plugin-acceptance-bundle` 的 `M4C-BUNDLE-05`,修复 / 复核 Mindraw Codex plugin 侧问题: - sidebar preview 的 `编辑` button 和 canvas double-click 必须打开同一项目画布的 Mindraw desktop App。 - preview source-required / stale / wrong target 时不得展示旧图并报告 `READY + blockers=[]`。 - 回写统一台账、输出正式 m4c QA、刷新 installed cache、提交 m4c `03-O` 正式输出区。 ## 已完成事项 - 更新 `~/plugins/mindraw`: - `scripts/mindraw-canvas-service.mjs` 增加 `openStatus` 可见反馈,`编辑` / double-click 成功后显示 `Opened in Mindraw`。 - `/api/preview` 只在 `READY` 且 preview 可用时返回图片;blocked 状态返回 409 JSON。 - HTTP / sidebar smoke 增加 open-edit 与 source-required fail-closed 回归。 - `lib/project-canvas.mjs` 将无显式 blocker 的 preview failure 归一为 `MINDRAW_PREVIEW_SOURCE_REQUIRED`。 - `README.md` 补充 open-edit 与 preview fail-closed 语义。 - 刷新 plugin cachebuster 并安装:`mindraw@personal 0.1.0+codex.20260702064821`。 - 完成 source / installed validation、`npm run check`、HTTP / MCP / sidebar smoke、SkillSpector SAFE、live installed spot check 和敏感扫描。 - 输出正式 QA:`p.mindrawforcodex/03-O/K2.项目管理/联调QA/2026-07-02-M4C-BUNDLE-05SidebarEditAndPreviewGuard.md`。 - 更新 m4c `03-O/C1.source/CODEGRAPH.md`、`03-O/K2.项目管理/README.md`、m4c 顶层 `INDEX.md` 和主台账 `02-P/plan-progress.markdown`。 - m4c `03-O` commit:`1e069f902e4ef51e89e2eac883480a723057dbcf`。 ## 关键结论 - `M4C-BUNDLE-05` 结论:`PASS_FOR_M4C_BUNDLE_05 / PM_NOTIFY_READY=yes`。 - `Open Mindraw in sidebar for this project.` 当前只预览 project latest-created canvas,不消费任意 `mindraw://...documentId...elementId...` Frame link。 - 用户 `我是 / 我说` 内容不一致的 App 侧 freshness / target guard 已由 `MD-BUNDLE-04` 处理;用户旧 `1.2.1 / Build202607021050` DMG 不含该 App 修复,是否重打新 DMG 由 PM 决策。 ## 未决问题 - PM 需决定:是否先让用户复验 sidebar edit activation,或先派发新的 Mindraw App DMG 后再复验完整 MEXP13。 - 如产品需要从 `mindraw://` Frame link 直接打开对应 sidebar preview target,需要另拆 target-link sidebar entry 任务。 - m4c `03-O` 中存在本轮前已有的无关脏改:`K1.业务知识/README.md`,本轮未处理。