edit | blame | history | raw

2026-07-02 MEXP13 刷新包

用户目标

领取 MD-BUNDLE-03,基于 MD-BUNDLE-02 project canvas preview fidelity 修复生成新的 Mindraw App 内部验收 DMG。旧 1.2.0 / Build202607020214 不包含修复,不得继续给用户复验。

核心事实 / 变更快照

  • 版本:1.2.1
  • Build:Build202607021050
  • Release class:mexp13-acceptance-bundle
  • Source commit / tag target:f70263019a8dd47a5460903bca4ea0e6e5fa74bb
  • Release tag:v1.2.1-Build202607021050
  • DMG:03-O/C2.builds/releases/Build202607021050/Mindraw_1.2.1_aarch64-Build202607021050.dmg
  • DMG SHA256:9ae37e8d79b9b4d2aee5667f720898967aff0e6207c267abd8b0ce7cedb95431
  • Manifest:03-O/C2.builds/releases/Build202607021050/release-manifest.json
  • Manifest SHA256:ce83bc5a55ef5f407df31f1dbbddbed38df106ccc2264210ec605c94b90f6fa9
  • 签名 / 公证:App ad-hoc signed;DMG unsigned;notarization not requested;不是 H8 / formal release。
  • 旧包边界:1.2.0 / Build202607020214 不含 MD-BUNDLE-02 preview fidelity 修复,不得继续用于用户复验。

已完成事项

  • package.jsonsrc-tauri/tauri.conf.jsonsrc-tauri/Cargo.toml 升级到 1.2.1
  • CHANGELOG.md 的 preview fidelity 修复从 Unreleased 移入 1.2.1 - 2026-07-02
  • 确认 scripts/package-mindraw.sh 已支持 MINDRAW_RELEASE_CLASS=mexp13-acceptance-bundle,manifest 分类正确。
  • 创建 source freeze commit:f702630 Prepare Mindraw 1.2.1 acceptance bundle
  • 创建 release tag:v1.2.1-Build202607021050,指向 source commit。
  • 生成新的 MEXP13 internal acceptance DMG 并完成 DMG / manifest / mounted App / codesign / doctor / live preview smoke 验证。
  • 回写 QA:02-P/MEXP13-AcceptanceBundle/qa/md-bundle-03-refreshed-dmg-check-20260702.md / .json
  • 更新 03-O/C2.builds/README.mdINDEX.md02-P/plan-progress.markdown 和会话记忆。

可复用命令 / Runbook

用途:从固定源码 commit 生成 MEXP13 1.2.1 refreshed acceptance DMG,并验证产物。

前置条件:

  • /Users/ar/Projects/ExcalidrawX
  • HEAD 应为生成包的 source commit 或 tag target。
  • 不覆盖 /Applications/Mindraw.app
npm run test:run -- src/lib/mindrawProjectCanvasPreview.test.ts src/lib/mindrawAppApiTransport.test.ts src/lib/mindrawAppReadApi.test.ts
cargo test --manifest-path src-tauri/Cargo.toml preview
cargo test --manifest-path src-tauri/Cargo.toml app_api_transport
npm run build
BUILD_ID=202607021050 MINDRAW_RELEASE_CLASS=mexp13-acceptance-bundle MINDRAW_BUILD_AGENT=MD-BUNDLE-03 npm run package:mindraw
hdiutil verify 03-O/C2.builds/releases/Build202607021050/Mindraw_1.2.1_aarch64-Build202607021050.dmg
shasum -a 256 03-O/C2.builds/releases/Build202607021050/Mindraw_1.2.1_aarch64-Build202607021050.dmg 03-O/C2.builds/releases/Build202607021050/release-manifest.json

挂载结构 / metadata / codesign 验证:

MOUNT_DIR=/tmp/mindraw-md-bundle-03-Build202607021050
rm -rf "$MOUNT_DIR"
mkdir -p "$MOUNT_DIR"
hdiutil attach -nobrowse -readonly -mountpoint "$MOUNT_DIR" 03-O/C2.builds/releases/Build202607021050/Mindraw_1.2.1_aarch64-Build202607021050.dmg
find "$MOUNT_DIR" -maxdepth 1 -mindepth 1 -print -exec ls -ld {} \;
/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' "$MOUNT_DIR/Mindraw.app/Contents/Info.plist"
/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' "$MOUNT_DIR/Mindraw.app/Contents/Info.plist"
/usr/libexec/PlistBuddy -c 'Print :CFBundleVersion' "$MOUNT_DIR/Mindraw.app/Contents/Info.plist"
codesign --verify --deep --strict --verbose=2 "$MOUNT_DIR/Mindraw.app"
hdiutil detach "$MOUNT_DIR"

验证结论

  • Frontend tests:PASS,3 files / 22 tests。
  • Rust preview tests:PASS,2 tests。
  • Rust app_api_transport:PASS,5 tests。
  • npm run build:PASS,只有既有 Vite font / chunk warnings。
  • package:PASS。
  • hdiutil verify:PASS。
  • DMG mount structure:PASS,包含 Mindraw.appApplications -> /Applications
  • Mounted App metadata:bundle id com.mindraw.desktop,version 1.2.1,build Build202607021050
  • codesign --verify --deep --strict:PASS。
  • candidate App live preview smoke:PASS,mindraw.app.get_preview_snapshot 返回 image/png / preview.png,SHA 与 MD-BUNDLE-02 一致。

未决问题 / 下一步

  • PM 需要执行 PM-BUNDLE-REGATE,合并 MD-BUNDLE-03 新 DMG 与既有 M4C-BUNDLE-02 plugin PNG consume 证据。
  • 通过 PM re-Gate 前,不得直接宣布 MEXP13 用户验收通过。