PMO 派发 MD-EDC-03,要求 Coder@mindraw 只查 Mindraw App 侧 fresh-path bootstrap blocker:在 Mindraw App 未手动启动前,Codex sidebar 显示 MINDRAW_PREVIEW_SOURCE_REQUIRED / MINDRAW_OPEN_PACKAGE_API_REQUIRED,点击 Edit 不能启动 App;手动启动 App 后 sidebar preview 恢复。
边界:不改 m4c plugin/runtime/sidebar,不声明 QA PASS / 用户验收 / 公开发布。
AGENTS.md、INDEX.md、02-P/plan-progress.markdown 中 P-20260707-signed-notarized-dmg、CODEGRAPH.md、MD-EDC-03 dispatch brief 和 MEXP15 / MD-EDC-02 / QA-EDC-04 / blocker 证据。.mindraw open-documents handler、mindraw:// deep link、前端 App API transport、mindraw.app.open_package。1.2.4 / Build202607071930 候选 App 到 /tmp 验证冷启动。/Applications/Mindraw.app 临时安装验证:先备份原 1.2.3 / Build202607042351,放入候选 1.2.4 / Build202607071930,注册 LaunchServices,验证后恢复原 App。02-P/MEXP15-SignedNotarizedDMG/qa/md-edc-03-fresh-path-bootstrap-check-20260707.md。02-P/plan-progress.markdown 和 INDEX.md。结论:APP_SIDE_NOT_ROOT_CAUSE。
证据显示 MEXP15 signed / notarized App 被 macOS 外部入口调用时可以完成 App 侧 bootstrap:
open -a /Applications/Mindraw.app 可在 App 未运行时冷启动并生成 healthy runtime/write-api.json。.mindraw 默认 handler 可冷启动 App、生成 capability,并打开 package 为 active tab。mindraw:// 默认 handler 可冷启动 App、生成 capability,并打开已登记 document link。mindraw.app.open_package、mindraw.app.get_preview_snapshot、mindraw.app.get_open_document_state 等 project canvas 方法。用户看到的 blocker 仍然成立,但从 App 侧证据看,不是 Mindraw App 无法冷启动或无法暴露 runtime capability。下一步应由 M4C-EDC-03 / PMO 判断 sidebar 在 capability 缺失时是否应主动 launch App、等待 capability、retry 或给用户非死路提示。
P-20260707-signed-notarized-dmg 中 MD-EDC-03 任务状态和证据入口。02-P/MEXP15-SignedNotarizedDMG/qa/md-edc-03-fresh-path-bootstrap-check-20260707.md02-P/plan-progress.markdownINDEX.mdMD-EDC-03 为待诊断;MEXP15 状态为等待 MD-EDC-03 和 M4C-EDC-03 并行定位。MD-EDC-03 标记为 App 侧诊断完成,结果 APP_SIDE_NOT_ROOT_CAUSE;MEXP15 仍 blocked,下一步 pending M4C-EDC-03 sidebar fallback。1.2.4 / Build202607071930 / com.mindraw.desktopstatus=pass/Applications doctor system handlers: status=passopen -a /Applications/Mindraw.app: health ok=trueopen <package>.mindraw: document state ok=trueopen 'mindraw://...': document state ok=true/Applications/Mindraw.app back to 1.2.3 / Build202607042351; Mindraw process absent; runtime capability absent02-P/MEXP15-SignedNotarizedDMG/qa/md-edc-03-fresh-path-bootstrap-check-20260707.md02-P/plan-progress.markdownINDEX.md.codex-sessionhistory/2026-07-07-MDEDC03App诊断.md.codex-sessionhistory/COMMANDS.md用途:复查 signed / notarized Mindraw App 候选是否能在未运行状态下通过 macOS 外部入口完成 App 侧 bootstrap。
前置条件:
Mindraw_1.2.4_aarch64-Build202607071930.dmg。/Applications/Mindraw.app,必须先备份并在测试后恢复。设置命令:
DMG='/private/tmp/mindraw-md-edc-02-signed-notarized-20260707/03-O/C2.builds/releases/Build202607071930/Mindraw_1.2.4_aarch64-Build202607071930.dmg'
APP_COPY_ROOT='/tmp/mindraw-md-edc-03-app-r1'
APP_COPY="$APP_COPY_ROOT/Mindraw.app"
rm -rf "$APP_COPY_ROOT"
mkdir -p "$APP_COPY_ROOT"
MOUNT_OUTPUT=$(hdiutil attach -readonly -nobrowse "$DMG")
MOUNT_POINT=$(printf '%s\n' "$MOUNT_OUTPUT" | awk '/\/Volumes\// {for (i=3; i<=NF; i++) {printf (i==3 ? "%s" : " %s"), $i}; print ""}' | tail -n 1)
ditto "$MOUNT_POINT/Mindraw.app" "$APP_COPY"
hdiutil detach "$MOUNT_POINT"
验证步骤:
CAP="$HOME/Library/Application Support/com.mindraw.desktop/runtime/write-api.json"
open -n "$APP_COPY"
node scripts/mindraw-doctor.mjs --app "$APP_COPY" --min-version 1.2.4 --app-api-capability "$CAP" --pretty
临时 /Applications 验证框架:
INSTALLED='/Applications/Mindraw.app'
BACKUP_ROOT='/tmp/mindraw-md-edc-03-applications-backup-r1'
BACKUP="$BACKUP_ROOT/Mindraw.app"
LSREGISTER='/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister'
mkdir -p "$BACKUP_ROOT"
ditto "$INSTALLED" "$BACKUP"
rm -rf "$INSTALLED"
ditto "$APP_COPY" "$INSTALLED"
"$LSREGISTER" -f "$INSTALLED"
node scripts/mindraw-doctor.mjs --app "$INSTALLED" --min-version 1.2.4 --system-handlers --pretty
open -a "$INSTALLED"
open /tmp/mindraw-md-edc-03-installed-package-r1/minimal-empty.mindraw
open 'mindraw://localhost?documentId=<fixture-document-id>&elementId=shape_1'
清理 / 恢复命令:
osascript -e 'tell application id "com.mindraw.desktop" to quit' >/dev/null 2>&1 || true
rm -rf /Applications/Mindraw.app
ditto /tmp/mindraw-md-edc-03-applications-backup-r1/Mindraw.app /Applications/Mindraw.app
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Mindraw.app
验证恢复:
pgrep -x Mindraw >/dev/null && echo running || echo absent
/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' /Applications/Mindraw.app/Contents/Info.plist
/usr/libexec/PlistBuddy -c 'Print :CFBundleVersion' /Applications/Mindraw.app/Contents/Info.plist
test -e "$HOME/Library/Application Support/com.mindraw.desktop/runtime/write-api.json" && echo capability_present || echo capability_absent
搜索关键词:MD-EDC-03、APP_SIDE_NOT_ROOT_CAUSE、MINDRAW_OPEN_PACKAGE_API_REQUIRED、runtime/write-api.json、Build202607071930、open -a /Applications/Mindraw.app。
M4C-EDC-03 需要判断 capability 缺失时的 sidebar fallback:launch App、wait / retry、deep-link fallback 或用户可执行提示。