# 2026-07-07 QA-EDC-05 复验记录 ## 用户目标 PMO 派工 `QA-EDC-05`,要求 QA 复验 `M4C-EDC-03` 修复后的 fresh-machine / clean-user 用户路径,确认上一轮用户实测 blocker 是否解除:Mindraw App 未手动启动时,Codex sidebar 的 `Edit` / 双击是否能对已有 latest-created `.mindraw` package 拉起 Mindraw;保存后 sidebar preview 是否刷新,或是否明确 fail-closed。 边界:不改 Mindraw App source、m4c plugin source、installed cache、build scripts、package metadata 或 candidate artifacts;不输出或记录 Apple ID、password、API key、private key、`.p12`、Keychain profile、token 或其他 secret。 ## 已完成事项 - 按顺序读取 `AGENTS.md`、`INDEX.md`、MEXP15 台账、`QA-EDC-05` 续派简报、QA-EDC-04 plan / partial report、用户 fresh path blocker、`MD-EDC-03` App 侧诊断、`M4C-EDC-03` 修复证据 / JSON / review request。 - 复核台账中 `REVIEW-EDC-04 / crg-eda4493ea1b8=PASS`。 - 只读核对候选:App DMG SHA、plugin tarball SHA、plugin candidate 文件存在、tarball 根目录结构、candidate JSON 均通过。 - 查看用户 blocker 截图:sidebar 显示 fail-closed preview,底部 `编辑` 附近显示 `MINDRAW_OPEN_PACKAGE_API_REQUIRED`。 - 因当前线程没有 fresh machine / clean macOS user / prepared rollback GUI environment,未执行真实 GUI 复验;输出 Owner runbook 和证据模板。 - 写入 QA-EDC-05 报告和 JSON,并回写 `02-P/plan-progress.markdown`、`INDEX.md` 和本机 `02-P/PMO_INBOX.md`。 ## 关键决策 - 本轮终态为 `PARTIAL QA-EDC-05 WAITING_FOR_OWNER_OPERATION`。 - 当前只完成前置证据和候选核对,不声明 QA PASS。 - 真实复验必须由 Owner / PMO 在 fresh machine、clean macOS user 或 prepared rollback GUI environment 执行并回传证据。 ## 核心事实 / 变更快照 - 变更对象:MEXP15 `QA-EDC-05` 状态和证据链。 - 事实来源: - `02-P/MEXP15-SignedNotarizedDMG/qa/qa-edc-05-fresh-machine-recheck-report-20260707.md` - `02-P/MEXP15-SignedNotarizedDMG/qa/qa-edc-05-fresh-machine-recheck-report-20260707.json` - `02-P/plan-progress.markdown` - 变更前:MEXP15 状态为 `Blocked / fresh-machine sidebar bootstrap failure / M4C-EDC-03 code review PASS / QA-EDC-05 active`。 - 变更后:MEXP15 状态为 `Blocked / fresh-machine sidebar bootstrap failure / M4C-EDC-03 code review PASS / QA-EDC-05 partial waiting Owner operation`。 - App candidate:`1.2.4 / Build202607071930`,DMG SHA256 `5a053f02910463507879b42bb63445810eae3bfb2a9730c65f753e32e5d74df3`。 - Plugin candidate:`0.1.1+codex.20260707231339`,marketplace `mindraw-mexp15-m4c-edc-03-20260707231839`,tarball SHA256 `9c196fdea953f316619ee321897e1ac4d2c4b030ef017737fc3597acd226d3ee`。 - Review Gate:`crg-eda4493ea1b8=PASS`,但该 PASS 不替代 fresh-machine 复测、PMO Gate、用户验收或公开分发判断。 ## 文件变更 - 新增:`02-P/MEXP15-SignedNotarizedDMG/qa/qa-edc-05-fresh-machine-recheck-report-20260707.md` - 新增:`02-P/MEXP15-SignedNotarizedDMG/qa/qa-edc-05-fresh-machine-recheck-report-20260707.json` - 修改:`02-P/plan-progress.markdown` - 修改:`INDEX.md` - 修改:`02-P/PMO_INBOX.md` - 新增:`.codex-sessionhistory/2026-07-07-QAEDC05复验.md` - 修改:`.codex-sessionhistory/COMMANDS.md` ## 可复用命令 / Runbook 用途:在 fresh machine、clean macOS user 或 prepared rollback environment 上复跑 `QA-EDC-05`,验证 M4C-EDC-03 修复后的 sidebar `Edit` / 双击是否能在 Mindraw 未手动启动时拉起 App。 前置条件: - 使用 App `1.2.4 / Build202607071930` signed / notarized DMG。 - 使用 plugin `0.1.1+codex.20260707231339`。 - 不在 Owner 主力环境直接覆盖或删除现有 App。 - 不记录任何 secret。 环境与 App 安装: ```bash sw_vers uname -m whoami if [ -d /Applications/Mindraw.app ]; then /usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' /Applications/Mindraw.app/Contents/Info.plist /usr/libexec/PlistBuddy -c 'Print :CFBundleVersion' /Applications/Mindraw.app/Contents/Info.plist else echo "NO_INSTALLED_MINDRAW_APP" fi DMG="/path/to/Mindraw_1.2.4_aarch64-Build202607071930.dmg" shasum -a 256 "$DMG" hdiutil verify "$DMG" xcrun stapler validate "$DMG" spctl --assess --type open --context context:primary-signature --verbose=4 "$DMG" MOUNT="$(mktemp -d /tmp/mindraw-qa-edc-05-mount.XXXXXX)" hdiutil attach -nobrowse -readonly -mountpoint "$MOUNT" "$DMG" ls -la "$MOUNT" ditto "$MOUNT/Mindraw.app" /Applications/Mindraw.app hdiutil detach "$MOUNT" rmdir "$MOUNT" /usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' /Applications/Mindraw.app/Contents/Info.plist /usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' /Applications/Mindraw.app/Contents/Info.plist /usr/libexec/PlistBuddy -c 'Print :CFBundleVersion' /Applications/Mindraw.app/Contents/Info.plist codesign --verify --deep --strict --verbose=4 /Applications/Mindraw.app spctl --assess --type execute --verbose=4 /Applications/Mindraw.app ``` Plugin 安装: ```bash PLUGIN_TGZ="/path/to/mindraw-plugin-0.1.1+codex.20260707231339-M4C-EDC-03-20260707231839.tar.gz" shasum -a 256 "$PLUGIN_TGZ" rm -rf /tmp/mindraw-plugin-m4c-edc-03 mkdir -p /tmp/mindraw-plugin-m4c-edc-03 tar -xzf "$PLUGIN_TGZ" -C /tmp/mindraw-plugin-m4c-edc-03 codex plugin marketplace add /tmp/mindraw-plugin-m4c-edc-03/install-source codex plugin add mindraw@mindraw-mexp15-m4c-edc-03-20260707231839 codex plugin list ``` Regression 条件: ```bash pkill -x Mindraw 2>/dev/null || true rm -f "$HOME/Library/Application Support/com.mindraw.desktop/runtime/write-api.json" ``` GUI 验证步骤: 1. 新开 Codex Desktop 线程,不手动启动 Mindraw App。 2. 输入 `Open the Mindraw canvas for this project.` 3. 截图 sidebar 初始状态。 4. 点击 `Edit` / `编辑`,再尝试双击 preview。 5. 确认 `/Applications/Mindraw.app` 被拉起并打开同一个 latest-created `.mindraw` package。 6. 在 App 中添加唯一文字标记并保存。 7. 回到 sidebar 刷新,确认预览显示新标记,或明确 fail-closed;不允许旧图显示但 `READY`。 8. 重启 Mindraw 和 Codex 后重复 `Edit` / 双击。 清理: ```bash codex plugin remove mindraw@mindraw-mexp15-m4c-edc-03-20260707231839 codex plugin list ``` 搜索关键词:`QA-EDC-05`、`WAITING_FOR_OWNER_OPERATION`、`MINDRAW_OPEN_PACKAGE_API_REQUIRED`、`0.1.1+codex.20260707231339`、`crg-eda4493ea1b8`。 ## 未决问题 - 仍需 Owner / PMO 在 fresh machine、clean macOS user 或 prepared rollback GUI environment 执行真实复验。 - QA 需要收到命令输出和截图后才能收敛 PASS / FAIL。 ## 后续建议 - PMO 给 Owner 派发报告中的 evidence template,要求回传环境、App install、plugin install、sidebar before/after、App after Edit、save refresh 和 restart retry 证据。 - 如果 Owner 仍复现 `MINDRAW_OPEN_PACKAGE_API_REQUIRED` dead-end,应直接按 `FAIL QA-EDC-05` 进入 m4c 继续修复,不要进入公开分发。