以 Coder@m4c 身份领取统一台账 P-20260701-mexp09-frame-visual-context 的 M4C-MEXP09-01,完成 m4c 侧 Frame visual context consumer guard / agent package:UI 修改类任务必须有目标 Frame visual snapshot,OCR-only / text-only 必须 No-Go。
03-O 正式输出区完成 Visual Frame Context Package consumer guard。m4c-frame-link-agent-resolver.mjs 新增 resolve-visual 和 smoke-visual。m4c-frame-link-mcp-server.mjs 新增 MCP tool resolve_mindraw_visual_frame_context。MD-MEXP09-01 实际 DTO:visualContext.snapshot + visualScopeAudit,输出统一的 sanitized targetFrameSnapshot 元数据。VISUAL_CONTEXT_REQUIRED;live capability 缺失返回 MINDRAW_VISUAL_CONTEXT_CAPABILITY_UNAVAILABLE。dataURL / image bytes / pixels / endpoint / token / runtime path 不进入 agent-facing package、QA report 或 summary。02-P/plan-progress.markdown 的 M4C-MEXP09-01 和 Progress Log。03-O commit:6bf1cc26b1653a7093e1933a3c22af85441bd73a(feat: add MEXP09 visual context guard)。/Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-agent-resolver.mjs/Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-mcp-server.mjs/Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O/K2.项目管理/联调QA/2026-07-01-M4C-MEXP09-01FrameVisualContext.md6bf1cc26b1653a7093e1933a3c22af85441bd73avisualContext / visualScopeAudit;没有 usable target Frame snapshot 时拒绝进入视觉任务。.mindraw、不手写 .assets、不把整份 drawing.excalidraw 交给 agent。p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-01-frame-visual-context.jsonp.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-01-mcp-stdio.jsonl用途:复验 m4c MEXP09 visual context consumer guard 和 MCP stdio tool。
前置条件:在 /Users/ar/Projects/ExcalidrawX 工作区;m4c 03-O checkout 包含 commit 6bf1cc26b1653a7093e1933a3c22af85441bd73a 或后续版本。
node --check /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-agent-resolver.mjs
node --check /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-mcp-server.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-01-frame-visual-context.json
git -C /Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/03-O diff --check
MCP stdio 复验使用 resolve_mindraw_visual_frame_context,推荐复用:
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05"}}' \
'{"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":"请根据视觉截图修改 UI mindraw://localhost?documentId=mdoc_m4c_mexp09_visual_fixture&elementId=frame_mexp09_visual_target_001","contextFixture":"/Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-mindraw-visual-shape.fixture.json"}}}' \
'{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"resolve_mindraw_visual_frame_context","arguments":{"input":"请根据视觉截图修改 UI mindraw://localhost?documentId=mdoc_m4c_mexp09_visual_fixture&elementId=frame_mexp09_visual_target_001","contextFixture":"/Users/ar/Projects/ExcalidrawX/p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-ocr-only.fixture.json"}}}' \
| 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-01-mcp-stdio.jsonl
MD-MEXP09-01 的 Mindraw live App 可用后,用真实 Frame link 验证用户可感知视觉理解。MD-MEXP09-01 与 M4C-MEXP09-01 双方证据后,进入 PM-MEXP09-GATE。PM-*,也不自行推进 Gate。