日期:2026-07-08
项目:Mindraw / P2.mindrawforcodex
任务:M4C-EDC-05
计划:P-20260707-signed-notarized-dmg
处理 CM1 上发现的跨项目 stale canvas blocker:在全新空项目执行 Open the Mindraw canvas for this project. 后,点击 编辑 / Edit 打开了上一轮实验遗留的有内容 .mindraw。要求只在 m4c plugin / sidebar / service 范围修复,不改 Mindraw 主 App、DMG、签名、公证或 release metadata,不实现 arbitrary target-link entry。
0.1.3+codex.20260708220005,cachebuster 对应 M4C-EDC-05。http://127.0.0.1:<port>/?project=<hash>。/api/state、/api/preview、/api/open-edit 校验 request project hash,不匹配时 fail-closed:MINDRAW_PROJECT_CONTEXT_MISMATCH。/api/open-edit 打开前校验 latest canvas canonical path 必须位于当前 project root 的 MindrawCanvas/ 下。/api/identity 区分同项目 service 与其他项目 / 未知固定端口占用;其他项目占用 43227 时使用下一可用端口。/Users/ar/plugins/mindraw 保持 symlink adapter,source 与 installed cache、packaged install source 已对齐。mindraw-canvas-service.mjs、start-canvas.sh、README、skill wording、plugin manifest。/Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin//Users/ar/plugins/mindraw/Users/ar/.codex/plugins/cache/personal/mindraw/0.1.3+codex.20260708220005/Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/43227,API 未绑定 project context;Codex sidebar 复用旧 URL 时可能将新项目 Edit 发给旧项目 service。MindrawCanvas/ 下;启动遇到其他项目固定端口服务时跳到下一端口。.mindraw internals,不做 target-link entry,preview 继续 fail-closed。deefeaab12a4949052c6b154ca23d9e7b14a2f85bed9809a84efd3dfaab672c26e4371e50568d2f9030077f5de7a24d9ce54489abe6111ffea2dbe4805b268becrg-7b229c2a68c8,状态 pending REVIEW-M4C-EDC-05。/Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin/.codex-plugin/plugin.json/Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin/scripts/mindraw-canvas-service.mjs/Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin/scripts/start-canvas.sh/Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin/README.md/Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin/skills/mindraw-open-canvas/SKILL.md/Users/ar/Projects/Mindraw/P2.mindrawforcodex/02-P/MEXP15-SignedNotarizedDMG/m4c-edc-05-project-scoped-preview-service-check-20260708.md/Users/ar/Projects/Mindraw/P2.mindrawforcodex/02-P/MEXP15-SignedNotarizedDMG/m4c-edc-05-project-scoped-preview-service-check-20260708.json/Users/ar/Projects/Mindraw/P2.mindrawforcodex/02-P/MEXP15-SignedNotarizedDMG/m4c-edc-05-review-request-crg-7b229c2a68c8.md/Users/ar/Projects/Mindraw/P2.mindrawforcodex/INDEX.md/Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/CODEGRAPH.md/Users/ar/Projects/Mindraw/INDEX.md/Users/ar/Projects/Mindraw/02-P/plan-progress.markdown/Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/npm run check、smoke、HTTP、lifecycle、MCP、sidebar smoke 均退出 0。project-scoped service avoids stale fixed-port project and rejects mismatched sidebar context。open-edit fails closed when sidebar project context does not match the service project。shasum -a 256 -c SHA256SUMS.txt 对 candidate root 通过。SAFE / LOW / score=0。CAUTION / MEDIUM / score=21 / TM1 scripts/mindraw-canvas-service.mjs:6,需 review 接受。用途:复跑 M4C-EDC-05 m4c plugin project-scoped sidebar service 关键验证。
前置条件:当前 canonical source 为 /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin;Playwright 依赖来自 Codex primary runtime。
设置和验证命令:
npm run --prefix /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin check
PYTHONPATH=/tmp/mindraw-m4c-validator-pyyaml python3 /Users/ar/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin
node /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin/scripts/mindraw-canvas-service.mjs smoke-lifecycle --report /Users/ar/Projects/Mindraw/P2.mindrawforcodex/02-P/MEXP15-SignedNotarizedDMG/m4c-edc-05-smoke-lifecycle-source-20260708.json
node /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin/scripts/mindraw-canvas-service.mjs smoke-http --report /Users/ar/Projects/Mindraw/P2.mindrawforcodex/02-P/MEXP15-SignedNotarizedDMG/m4c-edc-05-smoke-http-source-20260708.json
PLAYWRIGHT_NODE_MODULES=/Users/ar/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/node_modules node /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin/scripts/mindraw-canvas-service.mjs smoke-sidebar --report /Users/ar/Projects/Mindraw/P2.mindrawforcodex/02-P/MEXP15-SignedNotarizedDMG/m4c-edc-05-smoke-sidebar-source-20260708.json --out /Users/ar/Projects/Mindraw/P2.mindrawforcodex/02-P/MEXP15-SignedNotarizedDMG/m4c-edc-05-sidebar-source
shasum -a 256 -c /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/SHA256SUMS.txt
清理 / 恢复:candidate marketplace add/remove 证据已在 candidate plugin/evidence/ 中保存;若本机需要回退 plugin,可重新安装上一版 M4C-EDC-04 install source 或按 candidate plugin/rollback-plugin.md remove-only 处理。
搜索关键词:M4C-EDC-05、MINDRAW_PROJECT_CONTEXT_MISMATCH、project-scoped service、0.1.3+codex.20260708220005、crg-7b229c2a68c8。
REVIEW-M4C-EDC-05 尚未回写 crg-7b229c2a68c8 的通过或阻塞结论。C1.source/mindraw-plugin/ 仍是既有 untracked source snapshot,长期 source freeze / clean archival 仍应由 PMO 后续收敛。crg-7b229c2a68c8。