edit | blame | history | raw

2026-06-27 MEXP02 安装版

用户目标

Coder@mindraw 身份领取统一台账 P-20260626-m4c-handshake-coordinationMD-MEXP02-01,完成 M-体验02:可安装版 AI Frame Alpha 的 Mindraw 安装版 Alpha readiness。只领取 MD-*,不领取 M4C-*PM-*H*

已完成事项

  • 重新读取全局 / 项目 AGENTS.mdINDEX.mdCODEGRAPH.mdrelease-versioning.mddelivery-gate.mdqa-workflow.mdcode-governance.mdwork-continuity.mdsession-memory.md 和统一台账相关状态。
  • 审计候选包 03-O/C2.builds/releases/Build202606272239/,确认 DMG SHA256 与 manifest 一致,hdiutil verify PASS,DMG 挂载后包含 Mindraw.appApplications -> /Applications symlink。
  • 复制 DMG 内 release App 到隔离 QA 安装路径 /tmp/mindraw-mexp02-qa/app/Mindraw.app,解压 demo zip 到安全副本 /tmp/mindraw-mexp02-qa/demo/MEXP01-ai-frame-demo.mindraw
  • 使用隔离 HOME 启动非 debug release App:HOME=/tmp/mindraw-mexp02-qa/home-open open -n -a /tmp/mindraw-mexp02-qa/app/Mindraw.app /tmp/mindraw-mexp02-qa/demo/MEXP01-ai-frame-demo.mindraw
  • 验证安装版 App 生成 live runtime/write-api.json,外部进程读取 /health、HTTP capabilities、JSON-RPC mindraw.app.get_capabilitiesget_open_document_stateget_live_frame_context 均 PASS。
  • 运行 npm run doctor:mindraw -- --app /tmp/mindraw-mexp02-qa/app/Mindraw.app --app-api-capability ... --pretty,结论 appWriteLease=pass,唯一 warning 为 MINDRAW_BUILD_UNKNOWN
  • 产出 QA 证据:02-P/qa/mindraw-mexp02-installable-alpha-readiness.md02-P/qa/mindraw-mexp02-installable-alpha-readiness.json
  • 更新 03-O/C2.builds/releases/Build202606272239/release-manifest.json 的 post-package validation、03-O/C2.builds/README.mdINDEX.mdCODEGRAPH.md02-P/plan-progress.markdown

关键结论

  • Build202606272239 足以作为 M-体验02 的 Mindraw 侧输入,不需要重新打包。
  • 本轮不是 H8 / formal release,不做 Developer ID / notarize,不递增版本号,不更新 CHANGELOG.md
  • CFBundleVersion=0.8.3 没有暴露 build 编号,build 仍以 DMG 文件名、build-info.txtrelease-manifest.json 为准;这是 H8 前需要修正的剩余风险,不阻塞 MEXP02 Alpha。
  • m4c / 用户命令应使用 canonical realpath packagePath;/tmp 会被 macOS 解析成 /private/tmp,未规范化时会触发 PACKAGE_PATH_MISMATCH

验证命令

  • shasum -a 256 03-O/C2.builds/releases/Build202606272239/Mindraw_0.8.3_aarch64-Build202606272239.dmg
  • hdiutil verify 03-O/C2.builds/releases/Build202606272239/Mindraw_0.8.3_aarch64-Build202606272239.dmg
  • hdiutil attach -nobrowse -readonly 03-O/C2.builds/releases/Build202606272239/Mindraw_0.8.3_aarch64-Build202606272239.dmg
  • codesign --verify --deep --strict --verbose=2 /tmp/mindraw-mexp02-qa/app/Mindraw.app
  • HOME=/tmp/mindraw-mexp02-qa/home-open open -n -a /tmp/mindraw-mexp02-qa/app/Mindraw.app /tmp/mindraw-mexp02-qa/demo/MEXP01-ai-frame-demo.mindraw
  • 外部 Node JSON-RPC smoke:/health/capabilitiesmindraw.app.get_capabilitiesmindraw.app.get_open_document_statemindraw.app.get_live_frame_context
  • npm run doctor:mindraw -- --app /tmp/mindraw-mexp02-qa/app/Mindraw.app --app-api-capability /tmp/mindraw-mexp02-qa/home-open/Library/Application Support/com.mindraw.desktop/runtime/write-api.json --pretty
  • node JSON parse 检查 QA JSON 和 release manifest
  • rg token 搜索确认未把 live token 写入项目文件
  • git diff --check

剩余问题

  • 未 Developer ID / notarize,Gatekeeper spctl rejected 是预期 warning。
  • 本轮用隔离 QA 安装路径和 HOME,未覆盖真实 /Applications/Mindraw.app 覆盖安装后的 LaunchServices handler 切换。
  • runtime endpoint / token / PID 仍是临时值,m4c 必须实时读取当前 capability,不得复用旧值。
  • 本轮没有执行 commit_write_result,写回闭环留给 M4C-MEXP02-01
  • 工作区仍有 PM / m4c 并发未提交变更以及本轮 QA / 文档回写;本轮未做 commit,避免混入非 MD-* 范围。

后续建议

  • m4c 执行 M4C-MEXP02-01 时使用 realpath 后的 packagePath。
  • PM 在 MD-MEXP02-01M4C-MEXP02-01 都完成后收敛 PM-MEXP02-GATE
  • H8 / formal release 前修正 App metadata build 暴露、Developer ID / notarize、正式 release note 和完整发布门禁。