以 Coder@m4c 身份完成统一台账 P-20260701-mexp09-frame-visual-context 中的 M4C-MEXP09-02:修复 m4c visual consumer 对 Mindraw live DTO 顶层 scopeAudit 的兼容缺口,复跑 PM Gate live Frame link、smoke-visual 和 MCP stdio visual tool,并回写总台账。
p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-agent-resolver.mjs:scopeAudit(context) 兼容 Mindraw live DTO 顶层 scopeAudit。visualScopeAudit.outsideTextExcluded=true 时安全推导 outsideTextIncluded=false。targetSummary(context) 兼容顶层 scopeAudit target fallback。dataURL 进入 agent-facing package。smoke-visual 新增 top-level scopeAudit regression fixture。02-P/MEXP09-FrameVisualContext/pm/mexp09-pm-gate-visual-package.json,结果 ok=true。smoke-visual 与 MCP stdio resolve_mindraw_visual_frame_context,均 PASS。p.mindrawforcodex/03-O/K2.项目管理/联调QA/2026-07-01-M4C-MEXP09-02ScopeAuditCompat.md。03-O 的 CODEGRAPH.md、C3.tools/README.md、K2.项目管理/README.md,并同步 p.mindrawforcodex/INDEX.md。02-P/plan-progress.markdown:M4C-MEXP09-02 标记完成,PM-MEXP09-GATE 状态更新为可重试。03-O:5e9365a fix: support MEXP09 live scope audit。5e9365a fix: support MEXP09 live scope auditp.mindrawforcodex/03-O/K2.项目管理/联调QA/2026-07-01-M4C-MEXP09-02ScopeAuditCompat.md02-P/plan-progress.markdown 的 P-20260701-mexp09-frame-visual-contextscope.* 等字段读取 outside exclusion。scopeAudit.outsideTextIncluded=false 时,m4c audit 得到 outsideTextIncluded=null,因此 resolve-visual 返回 FRAME_SCOPE_UNAVAILABLE。scopeAudit.outsideTextIncluded=false、includedElementIds、includedElementCount、excludedOutsideCount。visualScopeAudit.outsideTextExcluded=true 安全推导 outsideTextIncluded=false。readScope、targetFrameId、outsideTextIncluded、是否有 visual context / snapshot 等摘要。02-P/MEXP09-FrameVisualContext/pm/mexp09-pm-gate-visual-package.jsonp.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-live-gate-validation.jsonp.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-scope-audit-compat-smoke.jsonp.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-mcp-stdio.jsonl.mindraw 作为 promptable context,不 fallback 到 document read。VISUAL_CONTEXT_REQUIRED。dataURL / sentinel,用于验证 stripping;agent-facing package、正式 QA 和聚合 QA 不输出 raw image data、token、endpoint、runtime path 或 Frame 外 sentinel。用途:复跑 M4C-MEXP09-02 m4c visual consumer scopeAudit compatibility。
前置条件:
MD-MEXP09-02 打开 MEXP09 Gate fixture。mindraw://localhost?documentId=mdoc_mexp09_gate_visual_context_20260701&elementId=frame_mexp09_gate_target。03-O 包含 commit 5e9365a 或后续等价修复。命令:
node --check /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-agent-resolver.mjs
node /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-agent-resolver.mjs smoke-visual \
--report /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-scope-audit-compat-smoke.json
node /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-agent-resolver.mjs resolve-visual \
--input "请只读取这个 Frame:mindraw://localhost?documentId=mdoc_mexp09_gate_visual_context_20260701&elementId=frame_mexp09_gate_target" \
--out /Users/ar/Projects/ExcalidrawX/02-P/MEXP09-FrameVisualContext/pm/mexp09-pm-gate-visual-package.json
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"m4c-mexp09-02-qa","version":"0.1"}}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"resolve_mindraw_visual_frame_context","arguments":{"input":"请只读取这个 Frame:mindraw://localhost?documentId=mdoc_mexp09_gate_visual_context_20260701&elementId=frame_mexp09_gate_target","prompt":"请基于目标 Frame 的视觉截图判断 UI 修改意图。"}}}' \
| node /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-mcp-server.mjs \
> /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-mcp-stdio.jsonl
git -C /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O diff --check
验证标准:
ok=true、readScope=frame-only、scopeAudit.outsideTextIncluded=false。visualContext.targetFrameSnapshot.available=true 且 bytesIncluded=false。VISUAL_CONTEXT_REQUIRED。清理 / 恢复:
.mindraw,无需恢复用户文件。搜索关键词:M4C-MEXP09-02、ScopeAudit Compatibility、frame_mexp09_gate_target、m4c-mexp09-02-live-gate-validation。
p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-agent-resolver.mjsp.mindrawforcodex/03-O/C1.source/CODEGRAPH.mdp.mindrawforcodex/03-O/C3.tools/README.mdp.mindrawforcodex/03-O/K2.项目管理/README.mdp.mindrawforcodex/03-O/K2.项目管理/联调QA/2026-07-01-M4C-MEXP09-02ScopeAuditCompat.mdp.mindrawforcodex/INDEX.md02-P/plan-progress.markdown02-P/MEXP09-FrameVisualContext/pm/mexp09-pm-gate-visual-package.jsonp.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-live-gate-validation.jsonp.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-scope-audit-compat-smoke.jsonp.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-mcp-stdio.jsonlPM-MEXP09-GATE,验证用户可感知 Gate。