edit | blame | history | raw

2026-07-01 MEXP09 m4c 视觉上下文收口

用户目标

Coder@m4c 身份领取统一台账 P-20260701-mexp09-frame-visual-contextM4C-MEXP09-01,完成 m4c 侧 Frame visual context consumer guard / agent package:UI 修改类任务必须有目标 Frame visual snapshot,OCR-only / text-only 必须 No-Go。

已完成事项

  • 在 m4c 03-O 正式输出区完成 Visual Frame Context Package consumer guard。
  • m4c-frame-link-agent-resolver.mjs 新增 resolve-visualsmoke-visual
  • m4c-frame-link-mcp-server.mjs 新增 MCP tool resolve_mindraw_visual_frame_context
  • 兼容 Mindraw MD-MEXP09-01 实际 DTO:visualContext.snapshot + visualScopeAudit,输出统一的 sanitized targetFrameSnapshot 元数据。
  • OCR-only / missing visual context 返回 VISUAL_CONTEXT_REQUIRED;live capability 缺失返回 MINDRAW_VISUAL_CONTEXT_CAPABILITY_UNAVAILABLE
  • raw dataURL / image bytes / pixels / endpoint / token / runtime path 不进入 agent-facing package、QA report 或 summary。
  • 回写统一台账 02-P/plan-progress.markdownM4C-MEXP09-01 和 Progress Log。
  • m4c 03-O commit:6bf1cc26b1653a7093e1933a3c22af85441bd73afeat: add MEXP09 visual context guard)。

核心事实 / 变更快照

  • 变更对象:m4c Frame link resolver / MCP server 的 MEXP09 visual-context 入口。
  • 事实来源:
  • /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.md
  • commit 6bf1cc26b1653a7093e1933a3c22af85441bd73a
  • 变更前:m4c 只有 frame-only text / element context resolver;图片元素只作为引用摘要,UI 视觉任务没有 target Frame snapshot guard。
  • 变更后:m4c 有 visual-only 入口,必须消费 Mindraw visualContext / visualScopeAudit;没有 usable target Frame snapshot 时拒绝进入视觉任务。
  • 范围边界:不做 Mindraw 源码、不做 Stitch、不写 .mindraw、不手写 .assets、不把整份 drawing.excalidraw 交给 agent。
  • 验证证据:
  • p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-01-frame-visual-context.json
  • p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-01-mcp-stdio.jsonl

可复用命令 / Runbook

用途:复验 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

未决问题

  • PM Gate 仍需在包含 MD-MEXP09-01 的 Mindraw live App 可用后,用真实 Frame link 验证用户可感知视觉理解。
  • Mindraw 首版 visual snapshot 是受控 SVG,不是 native compositor bitmap;复杂渲染 fidelity 由 PM Gate 评估。

后续建议

  • PM 复核 MD-MEXP09-01M4C-MEXP09-01 双方证据后,进入 PM-MEXP09-GATE
  • m4c 不领取 PM-*,也不自行推进 Gate。