edit | blame | history | raw

2026-07-07 MEXP15 门禁收敛

用户目标

用户要求进入 goal 工作模式,以“生成普通用户可用的 signed / notarized DMG”为目标,PMO 负责整理 TODO、派工和收敛各角色回报。

已完成事项

  • 建立 MEXP15 计划项 P-20260707-signed-notarized-dmg,目标版本口径为 1.2.4 / Build20260707HHMM
  • 派发并消费:
  • ARCH-EDC-02:架构有条件支持继续,无结构性 blocker。
  • OPS-EDC-03:普通用户安装 / 回滚说明模板已准备,等待真实 artifact 补值。
  • QA-EDC-04:signed / notarized DMG 验证矩阵已准备,等待真实 artifact。
  • MD-EDC-02:coder 已固定 source commit 和 Review Gate,但阻塞在本机 notary credential profile 不可用。
  • REVIEW-EDC-03:代码审核员已对同一 Review Gate 给出 source-diff-only PASS
  • 同步更新:
  • 02-P/plan-progress.markdown
  • 02-P/pmo-active-assignments.json

核心事实 / 变更快照

  • Plan ID:P-20260707-signed-notarized-dmg
  • Review Gate ID:crg-583d507f679
  • Source worktree:/private/tmp/mindraw-md-edc-02-signed-notarized-20260707
  • Source commit:583d507f679866f670b4fec82f1e631d4a9dbf54
  • Base commit:b694a42d46fd02dcd6873e1f3f2406d3166fb28a
  • Version / Build:1.2.4 / Build202607071930
  • MD-EDC-02 状态:blocked
  • Blocker:Developer ID Application identity 可见,但当前 shell / Keychain 下 notary credential profile 不可用;notarytool history 返回 Keychain password item missing。
  • Artifact 状态:尚未生成 DMG、manifest、SHA、notary submission、staple、spctl、release tag。
  • REVIEW-EDC-03 状态:PASS,但只覆盖 source diff / blocker 记录,不覆盖 artifact、QA、PMO Gate、用户验收或正式发布。
  • QA-EDC-04 状态:partial-waiting-md-edc-02-artifact

文件变更

  • 02-P/pmo-active-assignments.json
  • MD-EDC-02active 收敛为 blocked
  • 新增并完成 REVIEW-EDC-03 assignment,记录 crg-583d507f679=PASS
  • 更新 QA-EDC-04 备注:review 已有,仍等 artifact。
  • 02-P/plan-progress.markdown
  • 更新 MEXP15 状态行。
  • 更新任务卡:REVIEW-EDC-03 完成,QA-EDC-04 等 artifact。
  • 追加 REVIEW-EDC-03 派发与 PASS 进展。

未决问题

  • 本机 notary credential profile 需要由用户在本机安全地重新存储或修复。
  • 修复后,coder 才能从固定 source commit 继续生成 signed / notarized / stapled DMG,并产出 manifest / SHA / notary submission / spctl / hdiutil 证据。
  • DMG artifact 出现后,才可触发 QA-EDC-04 fresh machine / clean macOS user 验证。

可复用命令 / Runbook

用途:在不把 Apple ID、app-specific password、API key、notary profile alias 或私钥写入聊天 / 仓库 / 构建产物的前提下,在本机 Keychain 重新存储可用的 notary credential profile,并把本机 profile alias 暂存到 /tmp/mindraw-notary-profile.env 供后续打包流程读取。

前置条件:

  • 已有 Apple Developer 账号权限。
  • 已有可用 app-specific password,或 Apple 账号允许创建新的 app-specific password。
  • 在本机 Terminal 执行,不把终端提示输入内容发回聊天。

命令:

unset HISTFILE
read -r "MINDRAW_NOTARY_PROFILE?Local notary profile alias: "
read -r "APPLE_ID?Apple ID: "
read -r "TEAM_ID?Team ID: "
xcrun notarytool store-credentials "$MINDRAW_NOTARY_PROFILE" \
  --apple-id "$APPLE_ID" \
  --team-id "$TEAM_ID" \
  --validate
xcrun notarytool history \
  --keychain-profile "$MINDRAW_NOTARY_PROFILE" \
  --output-format json >/tmp/mindraw-notary-history-check.json
printf 'export MINDRAW_NOTARY_PROFILE=%q\n' "$MINDRAW_NOTARY_PROFILE" >/tmp/mindraw-notary-profile.env
chmod 600 /tmp/mindraw-notary-profile.env
rm -f /tmp/mindraw-notary-history-check.json
echo "NOTARY_PROFILE_READY"

验证方式:

  • 终端最后打印 NOTARY_PROFILE_READY
  • 不要把 Apple ID、Team ID、password、profile alias 或 notarytool JSON 输出粘贴到聊天。

清理方式:

rm -f /tmp/mindraw-notary-profile.env /tmp/mindraw-notary-history-check.json

搜索关键词:MEXP15MD-EDC-02REVIEW-EDC-03crg-583d507f679NOTARY_CREDENTIAL_PROFILE_UNAVAILABLEnotarytool store-credentials

后续建议

  • 用户完成 runbook 后只需回复“NOTARY_PROFILE_READY 已出现”。
  • PMO 读取 /tmp/mindraw-notary-profile.env 后,续派 coder 从 source commit 583d507f679866f670b4fec82f1e631d4a9dbf54 继续打包。
  • 产物生成后,按顺序进入 artifact verification、QA-EDC-04PM-EDC-REGATE-04