对 M4C-EDC-05 做正式代码复核,Review Gate ID 固定为 crg-7b229c2a68c8。本轮只审 m4c plugin source / installed cache / packaged candidate,不审 Mindraw App DMG / 签名 / 公证,不替代 CM1 fresh-machine 复测、QA、PMO Gate、用户验收或公开分发判断。
M4C-EDC-05 声明范围内的 source、installed cache 和 packaged candidate。02-P/plan-progress.markdown:REVIEW-M4C-EDC-05 / Review Gate crg-7b229c2a68c8=PASS。.codex-sessionhistory/COMMANDS.md,记录本轮可复用验证命令入口。PASS。SkillSpector plugin-root TM1 at scripts/mindraw-canvas-service.mjs:6 人工接受:相关 fs/promises imports 用于本地 smoke / report harness、临时目录、mock runtime / mock open command 与报告文件操作;正常 service API 未暴露任意文件写删入口。C1.source/mindraw-plugin/ 仍是既有 untracked source snapshot,C2.builds/* 仍按边界被 .gitignore 忽略;本 PASS 不等于 source freeze、CM1 fresh-machine 复测、PMO Gate、用户验收或公开分发通过。P-20260707-signed-notarized-dmg 的 REVIEW-M4C-EDC-05 代码复核状态。REVIEW-M4C-EDC-05 为 active / waiting code review,M4C-EDC-05 候选仍不能交给 Owner 复验。crg-7b229c2a68c8=PASS,可交回 PMO 准备新版 CM1 recheck kit / runbook。0.1.3+codex.20260708220005。deefeaab12a4949052c6b154ca23d9e7b14a2f85bed9809a84efd3dfaab672c2。6e4371e50568d2f9030077f5de7a24d9ce54489abe6111ffea2dbe4805b268be。?project=<hash>,/api/state / /api/preview / /api/open-edit 校验 request project hash;open-edit 校验 latest canvas canonical path 在当前 project root 的 MindrawCanvas/ 下;固定端口被异项目 / 未知 service 占用时跳到下一可用端口;preview source-required 仍 409 fail-closed。02-P/plan-progress.markdown:MEXP15 状态更新为 Blocked / REVIEW-M4C-EDC-05 PASS / waiting CM1 recheck,任务卡和 Progress Log 回写 crg-7b229c2a68c8=PASS。.codex-sessionhistory/COMMANDS.md:新增 REVIEW-M4C-EDC-05 project-scoped preview service review 索引。.codex-sessionhistory/2026-07-09-REVIEW-M4C-EDC-05.md:保存本轮审核记录。用途:复查 M4C-EDC-05 source / installed cache / packaged candidate 一致性、SHA、validator、syntax check 与 smoke evidence。
前置条件:在 /Users/ar/Projects/Mindraw 下执行;candidate root 为 /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/;validator 需要本机已有 /tmp/mindraw-m4c-validator-pyyaml。
diff -qr /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin /Users/ar/.codex/plugins/cache/personal/mindraw/0.1.3+codex.20260708220005
diff -qr /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/install-source/plugins/mindraw
cd /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159 && shasum -a 256 -c SHA256SUMS.txt
npm run --prefix /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin check
npm run --prefix /Users/ar/.codex/plugins/cache/personal/mindraw/0.1.3+codex.20260708220005 check
npm run --prefix /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/install-source/plugins/mindraw check
PYTHONPATH=/tmp/mindraw-m4c-validator-pyyaml python3 /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/validate_plugin.py /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C1.source/mindraw-plugin
PYTHONPATH=/tmp/mindraw-m4c-validator-pyyaml python3 /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/validate_plugin.py /Users/ar/.codex/plugins/cache/personal/mindraw/0.1.3+codex.20260708220005
PYTHONPATH=/tmp/mindraw-m4c-validator-pyyaml python3 /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/validate_plugin.py /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/MEXP15-SignedNotarizedDMG/mindraw-plugin-0.1.3+codex.20260708220005-M4C-EDC-05-20260708221159/install-source/plugins/mindraw
验证结果:上述 diff 无输出;candidate SHA256SUMS.txt 全部 OK;三处 npm run check 退出 0;三处 validator 在设置 PYTHONPATH=/tmp/mindraw-m4c-validator-pyyaml 后均通过。证据 JSON / Markdown 另显示 source / installed / packaged smoke、HTTP smoke、lifecycle、MCP、sidebar 报告均 ok=true,HTTP smoke 覆盖 mismatched sidebar context 409 和 preview source-required 409,lifecycle smoke 覆盖 stale fixed-port cross-project service 隔离,敏感扫描无匹配。
搜索关键词:REVIEW-M4C-EDC-05、crg-7b229c2a68c8、MINDRAW_PROJECT_CONTEXT_MISMATCH、MINDRAW_PROJECT_CANVAS_SCOPE_MISMATCH、0.1.3+codex.20260708220005。
PM_NOTIFY_READY REVIEW-M4C-EDC-05 REVIEW_GATE=crg-7b229c2a68c8 RESULT=PASS。0.1.3+codex.20260708220005 的新版 CM1 fresh-machine 或 clean user 复测。cm1-m4c-edc-04-recheck-kit-20260708 作为串台修复复验包,因为其中 plugin 仍是 0.1.2+codex.20260708194340。/api/identity 输出或等效证据,确认没有复用旧项目 service。