edit | blame | history | raw

2026-07-01 MEXP09 视觉上下文 m4c scopeAudit 兼容

用户目标

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。
  • live attempt diagnostics 改为摘要,避免 raw live DTO / visual snapshot dataURL 进入 agent-facing package。
  • smoke-visual 新增 top-level scopeAudit regression fixture。
  • 复跑 PM Gate live Frame link,输出 02-P/MEXP09-FrameVisualContext/pm/mexp09-pm-gate-visual-package.json,结果 ok=true
  • 复跑 smoke-visual 与 MCP stdio resolve_mindraw_visual_frame_context,均 PASS。
  • 新增正式 QA 文档:p.mindrawforcodex/03-O/K2.项目管理/联调QA/2026-07-01-M4C-MEXP09-02ScopeAuditCompat.md
  • 更新 m4c 03-OCODEGRAPH.mdC3.tools/README.mdK2.项目管理/README.md,并同步 p.mindrawforcodex/INDEX.md
  • 回写统一台账 02-P/plan-progress.markdownM4C-MEXP09-02 标记完成,PM-MEXP09-GATE 状态更新为可重试。
  • 提交 m4c 03-O5e9365a fix: support MEXP09 live scope audit

核心事实 / 变更快照

  • 变更对象:m4c Visual Frame Context Package consumer。
  • 事实来源:
  • m4c commit:5e9365a fix: support MEXP09 live scope audit
  • 正式 QA:p.mindrawforcodex/03-O/K2.项目管理/联调QA/2026-07-01-M4C-MEXP09-02ScopeAuditCompat.md
  • 统一台账:02-P/plan-progress.markdownP-20260701-mexp09-frame-visual-context
  • 变更前:
  • m4c 只从旧形状 scope.* 等字段读取 outside exclusion。
  • PM Gate live DTO 返回顶层 scopeAudit.outsideTextIncluded=false 时,m4c audit 得到 outsideTextIncluded=null,因此 resolve-visual 返回 FRAME_SCOPE_UNAVAILABLE
  • 变更后:
  • m4c 可读取顶层 scopeAudit.outsideTextIncluded=falseincludedElementIdsincludedElementCountexcludedOutsideCount
  • m4c 可从 visualScopeAudit.outsideTextExcluded=true 安全推导 outsideTextIncluded=false
  • live diagnostics 不再包含 raw live DTO,只保留 readScopetargetFrameIdoutsideTextIncluded、是否有 visual context / snapshot 等摘要。
  • 验证证据:
  • Gate package:02-P/MEXP09-FrameVisualContext/pm/mexp09-pm-gate-visual-package.json
  • 聚合 QA:p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-live-gate-validation.json
  • smoke report:p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-scope-audit-compat-smoke.json
  • MCP stdio:p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-mcp-stdio.jsonl

关键决策

  • 不修改 Mindraw 源码,不重启或重打 Mindraw App。
  • 不读取整份 .mindraw 作为 promptable context,不 fallback 到 document read。
  • OCR-only / missing visual context 仍返回 VISUAL_CONTEXT_REQUIRED
  • 测试 fixture 允许包含 raw dataURL / sentinel,用于验证 stripping;agent-facing package、正式 QA 和聚合 QA 不输出 raw image data、token、endpoint、runtime path 或 Frame 外 sentinel。

可复用命令 / Runbook

用途:复跑 M4C-MEXP09-02 m4c visual consumer scopeAudit compatibility。

前置条件:

  • Mindraw QA App 已按 MD-MEXP09-02 打开 MEXP09 Gate fixture。
  • Frame link 为 mindraw://localhost?documentId=mdoc_mexp09_gate_visual_context_20260701&elementId=frame_mexp09_gate_target
  • m4c 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

验证标准:

  • Gate package:ok=truereadScope=frame-onlyscopeAudit.outsideTextIncluded=false
  • visualContext.targetFrameSnapshot.available=truebytesIncluded=false
  • MCP stdio tool 返回同样的 frame-only visual package。
  • OCR-only / missing visual context 在 smoke 中仍为 VISUAL_CONTEXT_REQUIRED
  • 输出报告不包含 raw image data、endpoint、runtime path、authorization secret、private key 或 Frame 外 sentinel。

清理 / 恢复:

  • 本轮命令只写 QA JSON / JSONL 和 PM Gate package,不写 .mindraw,无需恢复用户文件。
  • 若需要重新生成证据,直接覆盖上述 QA 输出即可;不要删除正式 QA 文档或 m4c commit。

搜索关键词:M4C-MEXP09-02ScopeAudit Compatibilityframe_mexp09_gate_targetm4c-mexp09-02-live-gate-validation

文件变更

  • p.mindrawforcodex/03-O/C3.tools/scripts/m4c-frame-link-agent-resolver.mjs
  • p.mindrawforcodex/03-O/C1.source/CODEGRAPH.md
  • p.mindrawforcodex/03-O/C3.tools/README.md
  • p.mindrawforcodex/03-O/K2.项目管理/README.md
  • p.mindrawforcodex/03-O/K2.项目管理/联调QA/2026-07-01-M4C-MEXP09-02ScopeAuditCompat.md
  • p.mindrawforcodex/INDEX.md
  • 02-P/plan-progress.markdown
  • 02-P/MEXP09-FrameVisualContext/pm/mexp09-pm-gate-visual-package.json
  • p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-live-gate-validation.json
  • p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-scope-audit-compat-smoke.json
  • p.mindrawforcodex/02-P/MEXP09-FrameVisualContext/qa/m4c-mexp09-02-mcp-stdio.jsonl

未决问题 / 后续建议

  • 下一步归属 PM:重新进入 PM-MEXP09-GATE,验证用户可感知 Gate。
  • Mindraw 首版 visual snapshot 仍是受控 SVG visual input,不是 native compositor bitmap;复杂渲染保真由后续 Gate / Mindraw 任务继续评估。