edit | blame | history | raw

MEXP15 QA-EDC-04 QA 计划

日期:2026-07-07
项目:Mindraw
Plan ID:P-20260707-signed-notarized-dmg
Task ID:QA-EDC-04
角色:QA

用户目标

PMO 派发 QA-EDC-04,要求先准备 signed / notarized DMG 的普通用户路径验证矩阵;等 MD-EDC-02 产出 artifact 和 Review Gate 结果后,再执行验证。当前不得自行打包、改代码或冒充已执行真实安装验证。

已完成事项

  • 按入口顺序读取 AGENTS.mdINDEX.md02-P/plan-progress.markdown 的 MEXP15 / MEXP14 / H8 相关段落。
  • 读取 MEXP15 Round Spec、角色派工简报、H8 Developer ID / notarization 证据、H8 release metadata 证据、H8 fresh machine QA、MEXP14 fresh machine GUI 与 rollback 证据。
  • 检查当前工作区内是否已有 MD-EDC-02 artifact、Review Request 或 1.2.4 / Build20260707... DMG;未发现。
  • 新增 QA 计划文件:02-P/MEXP15-SignedNotarizedDMG/qa/qa-edc-04-signed-notarized-dmg-validation-plan-20260707.md
  • 回写 02-P/plan-progress.markdown:MEXP15 状态更新为 Active / QA-EDC-04 validation plan ready / waiting MD-EDC-02 artifact,并补充 QA-EDC-04 任务卡、证据入口和 Progress Log。
  • 更新 INDEX.md,加入 QA-EDC-04 验证矩阵入口。

关键决策

  • 当前回报口令为:PARTIAL QA-EDC-04 WAITING_FOR_MD_EDC_02_ARTIFACT
  • 不创建执行报告,不声明 QA PASS、PMO Gate、用户验收或发布结论。
  • 执行验证前必须拿到 MD-EDC-02 signed / notarized DMG、自查报告 / JSON、Review Request、concrete Review Gate ID,以及 REVIEW-EDC-03 对同一 Gate ID 的结论或 PMO 明确允许的受限验证指令。
  • 普通用户路径优先使用真实 fresh macOS Apple Silicon machine;clean macOS user 只能作为 fallback,并必须标明限制。
  • rollback / uninstall 只允许在 prepared environment 执行,不得破坏当前主力机器 /Applications/Mindraw.app

文件变更

  • 新增:/Users/ar/Projects/Mindraw/02-P/MEXP15-SignedNotarizedDMG/qa/qa-edc-04-signed-notarized-dmg-validation-plan-20260707.md
  • 修改:/Users/ar/Projects/Mindraw/02-P/plan-progress.markdown
  • 修改:/Users/ar/Projects/Mindraw/INDEX.md
  • 新增本会话记录:/Users/ar/Projects/Mindraw/.codex-sessionhistory/2026-07-07-MEXP15QA计划.md
  • 更新命令索引:/Users/ar/Projects/Mindraw/.codex-sessionhistory/COMMANDS.md

核心事实 / 变更快照

  • 变更对象:MEXP15 QA-EDC-04 signed / notarized DMG QA 状态。
  • 事实来源:
  • 02-P/MEXP15-SignedNotarizedDMG/qa/qa-edc-04-signed-notarized-dmg-validation-plan-20260707.md
  • 02-P/plan-progress.markdown
  • INDEX.md
  • 变更前:MEXP15 已派发 QA-EDC-04,但未有 QA 验证矩阵;MD-EDC-02 artifact 尚未可见。
  • 变更后:QA 验证矩阵已准备;QA 状态为 PARTIAL QA-EDC-04 WAITING_FOR_MD_EDC_02_ARTIFACT;执行报告路径仅作为模板保留,真实执行等待 artifact 与 Review Gate。
  • 版本 / build 基线:
  • MEXP14 输入:1.2.3 / Build202607061556
  • MEXP15 目标:1.2.4 / Build20260707HHMM
  • H8 可复用 signed / notarized 链路:1.0.0 / Build202606282019
  • 范围边界:本轮只准备 QA plan;不打包、不签名、不 notarize、不安装、不覆盖 /Applications/Mindraw.app、不运行真实 QA。
  • 验证证据:artifact presence check 未发现 MD-EDC-02 DMG / self-check / Review Request。

可复用命令 / Runbook

用途:在 MD-EDC-02 artifact 产出后,执行 MEXP15 signed / notarized DMG 的普通用户路径验证。

前置条件:

  • MD-EDC-02 已提供真实 <DMG>、version、build、SHA、manifest、notary submission id 和 Review Gate ID。
  • REVIEW-EDC-03 已对同一 Review Gate ID 给出结论,或 PMO 明确允许受限验证。
  • 在 fresh / clean machine 执行安装和 rollback;当前主力机器仅可做只读核对。

Artifact presence check:

find /Users/ar/Projects/Mindraw/02-P/MEXP15-SignedNotarizedDMG -maxdepth 4 -type f \( -name '*md-edc-02*' -o -name '*qa-edc-04*' -o -name '*review-request*' \) -print
find /Users/ar/Projects/Mindraw/03-O/C2.builds/releases -maxdepth 2 -type f \( -name 'Mindraw_1.2.4_aarch64-Build20260707*.dmg' -o -name '*Build20260707*.dmg' -o -name 'release-manifest.json' \) -print | sort | tail -n 80
rg -n "MD-EDC-02|QA-EDC-04|REVIEW-EDC-03|Build20260707|1\\.2\\.4" /Users/ar/Projects/Mindraw/02-P/MEXP15-SignedNotarizedDMG /Users/ar/Projects/Mindraw/02-P/plan-progress.markdown /Users/ar/Projects/Mindraw/03-O/C2.builds/releases

Signed / notarized DMG verification template:

sw_vers
uname -m
whoami

shasum -a 256 "<DMG>"
hdiutil verify "<DMG>"
xcrun stapler validate "<DMG>"
spctl --assess --type open --context context:primary-signature --verbose=4 "<DMG>"
codesign --verify --strict --verbose=4 "<DMG>"

MOUNT="/tmp/mindraw-mexp15-mount-$$"
mkdir -p "$MOUNT"
hdiutil attach -nobrowse -readonly -mountpoint "$MOUNT" "<DMG>"
ls -la "$MOUNT"
test -d "$MOUNT/Mindraw.app"
test -L "$MOUNT/Applications" -o -d "$MOUNT/Applications"
ditto "$MOUNT/Mindraw.app" /Applications/Mindraw.app
hdiutil detach "$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
/usr/libexec/PlistBuddy -c 'Print :CFBundleURLTypes:0:CFBundleURLSchemes:0' /Applications/Mindraw.app/Contents/Info.plist
/usr/libexec/PlistBuddy -c 'Print :CFBundleDocumentTypes:1:CFBundleTypeExtensions:0' /Applications/Mindraw.app/Contents/Info.plist
/usr/libexec/PlistBuddy -c 'Print :CFBundleDocumentTypes:1:LSTypeIsPackage' /Applications/Mindraw.app/Contents/Info.plist
codesign --verify --deep --strict --verbose=4 /Applications/Mindraw.app
spctl --assess --type execute --verbose=4 /Applications/Mindraw.app
open -a /Applications/Mindraw.app

open "<FIXTURE>.mindraw"
open 'mindraw://localhost?documentId=mdoc_m4c_annotated_frame_20260626&elementId=frame_ai_annotation_001'
codex plugin list

Rollback / uninstall template only for prepared environment:

pkill -x Mindraw 2>/dev/null || true
BACKUP_ZIP="$HOME/Desktop/Mindraw.app.pre-mexp15-backup-$(date +%Y%m%d%H%M%S).zip"
test -d /Applications/Mindraw.app && ditto -c -k --sequesterRsrc --keepParent /Applications/Mindraw.app "$BACKUP_ZIP"
rm -rf /Applications/Mindraw.app

搜索关键词:QA-EDC-04WAITING_FOR_MD_EDC_02_ARTIFACTMEXP15Build202607071.2.4stapler validatespctl acceptedsigned notarized DMG

未决问题

  • MD-EDC-02 artifact、自查报告、JSON、Review Request 和 Review Gate ID 尚未出现。
  • REVIEW-EDC-03 尚未对 concrete Review Gate 回写结论。
  • fresh machine / clean macOS user 真实执行环境尚未指定。
  • rollback target 尚需在 artifact 出现后由 PMO 明确。

后续建议

  • PMO 收到 MD-EDC-02 回报后,先派 REVIEW-EDC-03 对同一 Review Gate ID 复核。
  • Review Gate 有结论后,QA 使用本矩阵执行并创建 qa-edc-04-signed-notarized-dmg-validation-report-20260707.md
  • 若只能使用 clean macOS user fallback,报告中必须写 PASS_WITH_LIMITSBLOCKED/PARTIAL,不得写成真实 fresh machine。

三个月后回看检查

只读本存档可以还原:QA-EDC-04 当前为何只是 partial、需要哪些 artifact / review 前置、验证矩阵覆盖哪些普通用户路径、哪些命令可复用、哪些环境不能冒充 fresh machine。