# 2026-07-01 MEXP09 Runtime ## 用户目标 以 `coder2@mindraw` 身份领取 `P-20260701-mexp09-frame-visual-context` 的 `MD-MEXP09-02`,刷新包含 `MD-MEXP09-01` commit `1765cad3c679d46ce2c49afc137a7e0253386355` 的 Mindraw live App runtime,并准备 `PM-MEXP09-GATE` 可用的真实 Frame visual context 脱敏证据。 ## 已完成事项 - 确认当前 HEAD 为 `1765cad3c679d46ce2c49afc137a7e0253386355`,且 required commit 是 HEAD 祖先。 - 准备 MEXP09 Gate fixture: - `/Users/ar/Projects/ExcalidrawX/02-P/MEXP09-FrameVisualContext/fixtures/mexp09-gate-visual-context.mindraw/` - Frame link: `mindraw://localhost?documentId=mdoc_mexp09_gate_visual_context_20260701&elementId=frame_mexp09_gate_target` - 构建并启动本地 QA App: - `/Users/ar/Projects/ExcalidrawX/src-tauri/target/debug/bundle/macos/Mindraw.app` - runtime PID `38088` - live JSON-RPC 验证 `mindraw.app.get_live_frame_context` 返回 `visualContext.snapshot` / `visualScopeAudit`。 - 写入 QA 证据: - `02-P/qa/mindraw-mexp09-live-runtime-gate-fixture-check.md` - `02-P/qa/mindraw-mexp09-live-runtime-gate-fixture-check.json` - `02-P/qa/mindraw-mexp09-live-visual-snapshot.svg` - 回写 `02-P/plan-progress.markdown`,同步 `INDEX.md`。 ## 核心事实 / 变更快照 - 变更对象:MEXP09 Gate live runtime / fixture evidence。 - 事实来源:`02-P/qa/mindraw-mexp09-live-runtime-gate-fixture-check.json`、`02-P/plan-progress.markdown`。 - 变更前:标准 runtime capability 文件不存在,`PM-MEXP09-GATE` blocked on live runtime evidence。 - 变更后:runtime capability 已恢复,PID `38088`,contract `h5-md-h5-05-canonical-v1`,`liveFrameContext=read`。 - Gate fixture: - documentId `mdoc_mexp09_gate_visual_context_20260701` - targetFrameId `frame_mexp09_gate_target` - target Frame 含红字说明、截图式图片、黄色 `Pro 已解锁` 胶囊、皇冠 icon 文本和 `您当前是尊贵的 Pro 用户` - Frame 外含 text / image / pixel sentinel - live context 结果: - `readScope=frame-only` - `visualContext.kind=target-frame-visual-snapshot` - `snapshot.mimeType=image/svg+xml` - `snapshot.hash=sha256:acd03e42c193ef734d708526c3374df28dff76abaf2455d6d7c7d755b6ae1814` - `ocrOnly=false` - `ocrOnlyFallbackAllowed=false` - `documentVisualFallbackUsed=false` - `outsideTextIncluded=false` - outside sentinel 未进入 promptable context 或 decoded snapshot - 范围边界:本轮只做本地 QA runtime / Gate fixture / live read evidence;不做 m4c consumer、不做 PM Gate、不打 DMG、不发布、不写回 `.mindraw`。 ## 文件变更 - 新增 fixture package:`02-P/MEXP09-FrameVisualContext/fixtures/mexp09-gate-visual-context.mindraw/` - 新增 QA:`02-P/qa/mindraw-mexp09-live-runtime-gate-fixture-check.md` - 新增 QA JSON:`02-P/qa/mindraw-mexp09-live-runtime-gate-fixture-check.json` - 新增 target-only snapshot:`02-P/qa/mindraw-mexp09-live-visual-snapshot.svg` - 更新:`02-P/plan-progress.markdown`、`INDEX.md` - `CODEGRAPH.md` / `CHANGELOG.md` 不更新:本轮没有代码行为或产品行为变化,只是 runtime / fixture / QA 证据收敛。 ## 可复用命令 / Runbook 用途:刷新本地 Mindraw QA runtime,打开 MEXP09 Gate fixture,并验证 live Frame visual context。 前置条件: - 当前仓库 HEAD 包含 `1765cad3c679d46ce2c49afc137a7e0253386355`。 - 只用于本地 QA runtime;不是分发包或正式 release。 - 不要把 `write-api.json` 里的 endpoint、token、auth 写入报告或聊天。 设置命令: ```bash git rev-parse HEAD git merge-base --is-ancestor 1765cad3c679d46ce2c49afc137a7e0253386355 HEAD npm run tauri -- build --debug --bundles app open -n -a "/Users/ar/Projects/ExcalidrawX/src-tauri/target/debug/bundle/macos/Mindraw.app" "/Users/ar/Projects/ExcalidrawX/02-P/MEXP09-FrameVisualContext/fixtures/mexp09-gate-visual-context.mindraw" ``` 验证步骤: ```bash ls -l "$HOME/Library/Application Support/com.mindraw.desktop/runtime" ``` 然后读取 capability 时只输出脱敏字段;live JSON-RPC 检查可参考 `02-P/qa/mindraw-mexp09-live-runtime-gate-fixture-check.json` 的字段和 `02-P/qa/mindraw-mexp09-live-runtime-gate-fixture-check.md` 的验证项。 清理 / 恢复: ```bash pkill -f "/Users/ar/Projects/ExcalidrawX/src-tauri/target/debug/bundle/macos/Mindraw.app" || true ``` 搜索关键词:`MEXP09Runtime`、`MD-MEXP09-02`、`frame_mexp09_gate_target`、`PASS_LIVE_RUNTIME_READY_FOR_PM_MEXP09_GATE`。 ## 未决问题 - `PM-MEXP09-GATE` 仍由 PM 使用 m4c visual consumer 执行端到端复核;coder2 只提供 live runtime 和 fixture evidence。 - 本地 QA App 退出后 runtime capability 可能消失;PM Gate 应在 runtime 仍运行时执行,或按 Runbook 重新启动。 ## 后续建议 - PM Gate 使用 Frame link `mindraw://localhost?documentId=mdoc_mexp09_gate_visual_context_20260701&elementId=frame_mexp09_gate_target`。 - Gate 通过前不要把本轮 runtime evidence 当作正式用户验收或 formal release evidence。