日期:2026-07-07
项目:Mindraw
任务:MD-EDC-02 / P-20260707-signed-notarized-dmg
基于 MEXP14 受控外部分发候选,生成普通用户可安装的 macOS Apple Silicon signed + notarized + stapled DMG 候选,默认版本 1.2.4 / Build20260707HHMM,不得泄漏证书、notary profile、Apple ID、app-specific password、API key、私钥或 .p12。
AGENTS.md、INDEX.md、CODEGRAPH.md、统一台账 MEXP14 / MEXP15 / H8 记录、MEXP15 Round Spec / role briefs、H8 signing / metadata 证据和发布 / 代码 / 交付 / QA / session-memory 规则。b694a42d46fd02dcd6873e1f3f2406d3166fb28a 新建 worktree /private/tmp/mindraw-md-edc-02-signed-notarized-20260707,分支 codex/md-edc-02-signed-notarized。583d507f679866f670b4fec82f1e631d4a9dbf54,Review Gate ID crg-583d507f679。INDEX.md 和 02-P/plan-progress.markdown。1.2.3 / Build202607061556,clean source commit b694a42d46fd02dcd6873e1f3f2406d3166fb28a,未 Developer ID notarized。583d507f679866f670b4fec82f1e631d4a9dbf54 将 App version 递增为 1.2.4,新增 mexp15-signed-notarized-dmg manifest class,并将 notary profile 在 build-info / manifest / manifest build command 中脱敏为 redacted 状态。.dmg、manifest、SHA256、notary submission、staple、spctl 证据或 release tag。notarytool history 对脱敏 profile 返回 Keychain password item missing。02-P/MEXP15-SignedNotarizedDMG/qa/md-edc-02-signed-notarized-dmg-check-20260707.md、.json、02-P/MEXP15-SignedNotarizedDMG/review/md-edc-02-review-request-crg-583d507f679.md。583d507f679866f670b4fec82f1e631d4a9dbf54:package.jsonsrc-tauri/tauri.conf.jsonsrc-tauri/Cargo.tomlscripts/package-mindraw.shCHANGELOG.mdCODEGRAPH.md02-P/MEXP15-SignedNotarizedDMG/qa/md-edc-02-signed-notarized-dmg-check-20260707.md02-P/MEXP15-SignedNotarizedDMG/qa/md-edc-02-signed-notarized-dmg-check-20260707.json02-P/MEXP15-SignedNotarizedDMG/review/md-edc-02-review-request-crg-583d507f679.md02-P/plan-progress.markdownINDEX.md用途:credential 修复后,从固定 source commit 继续 MEXP15 signed / notarized DMG 构建和验证。
前置条件:
.p12。/private/tmp/mindraw-md-edc-02-signed-notarized-20260707 执行。cd /private/tmp/mindraw-md-edc-02-signed-notarized-20260707
git rev-parse HEAD
git status --short --branch
bash -n scripts/package-mindraw.sh
npm run doctor:mindraw:test
npm run test:run -- src/lib/mindrawProjectCanvasPreview.test.ts src/lib/mindrawAppApiTransport.test.ts src/lib/mindrawAppReadApi.test.ts
npm run build
CARGO_TARGET_DIR=/tmp/mindraw-md-edc-02-cargo-target-202607071930 cargo check --manifest-path src-tauri/Cargo.toml
CARGO_TARGET_DIR=/tmp/mindraw-md-edc-02-cargo-target-202607071930 cargo test --manifest-path src-tauri/Cargo.toml preview
CARGO_TARGET_DIR=/tmp/mindraw-md-edc-02-cargo-target-202607071930 cargo test --manifest-path src-tauri/Cargo.toml app_api_transport
security find-identity -v -p codesigning
xcrun notarytool history --keychain-profile '<redacted-profile>' --output-format json
credential 可访问后,使用安全本地方式提供 profile,不把真实值写入命令记录;构建命令形式:
BUILD_ID=202607071930 \
MINDRAW_BUILD_AGENT=coder@mindraw \
MINDRAW_RELEASE_CLASS=mexp15-signed-notarized-dmg \
MINDRAW_SIGNING_IDENTITY='<Developer ID Application identity>' \
MINDRAW_NOTARY_PROFILE='<redacted-profile>' \
CARGO_TARGET_DIR=/tmp/mindraw-md-edc-02-package-target-202607071930 \
npm run package:mindraw
后续验证命令:
hdiutil verify 03-O/C2.builds/releases/Build202607071930/Mindraw_1.2.4_aarch64-Build202607071930.dmg
xcrun stapler validate 03-O/C2.builds/releases/Build202607071930/Mindraw_1.2.4_aarch64-Build202607071930.dmg
spctl --assess --type open --context context:primary-signature --verbose=4 03-O/C2.builds/releases/Build202607071930/Mindraw_1.2.4_aarch64-Build202607071930.dmg
搜索关键词:MD-EDC-02、crg-583d507f679、Build202607071930、mexp15-signed-notarized-dmg、NOTARY_CREDENTIAL_PROFILE_UNAVAILABLE。
spctl、artifact SHA / manifest / mounted metadata 验证,并按同一 Review Gate 链路补证据。REVIEW-EDC-03 仍需对 crg-583d507f679 回写结论;当前 review request 只能复核 source diff 和 blocker,不能复核尚未生成的 artifact。583d507f679866f670b4fec82f1e631d4a9dbf54,避免重新引入主工作区既有 dirty 状态。Build202607071930,并重新同步 manifest、tag 和台账。