edit | blame | history | raw

Mindraw QA — Reviewed 原生拖放 06

用户目标

使用 crg-528e756b5549=PASScrg-5ade9f30045b=PASS 的五个 reviewed Swift 工具,在锁定候选上闭环 Finder→画布图片拖放及 scene/files/assets/blob/privacy/save/reopen/cleanup;无法证明投递则 PARTIAL。

已完成事项

  • 新建 QA_ROOT /tmp/mindraw-qa-ops-md-127-reviewed-drop-20260814-003
  • 候选 SHA、进程隔离、Accessibility 通过;五脚本 SHA 匹配,typecheck/self-test/no-args 5/5 PASS。
  • 建立严格空 .mindraw:0 elements/images/files/manifest assets/blob;fixture SHA 0c1814dac46779dd51f9cc0273fd90e2b772ceb328b3ead94bd04d927cd90fe3
  • 只读 mount 并按绝对路径启动候选;CanvasTargetInspect 在真实候选 PID 上稳定 exit 67。
  • 在 Finder Reveal/隔离及输入注入前停止;候选退出、mount 卸载,Finder 未变更,SHA 不变。

关键决策

无法证明唯一可见、有效显示区域内的候选 AXWebArea,不得猜坐标或继续 NativeDrag。没有 pasteboard/drop 交付,因此结果为 PARTIAL_AUTOMATION_LIMIT,不是 FAIL_PRODUCT

核心事实 / 变更快照

  • 候选:Build202608140433,SHA c97fd004a81a090e541dfa46afd6b8dbf6dc17090d57960b461cb67161068f0c
  • 工具:五 SHA 匹配;typecheck/self-test/no-args 5/5。
  • target:CanvasTargetInspect <candidate_pid> → exit 67,candidate canvas binding failed closed
  • Finder Reveal/Isolation/AX source/Place/NativeDrag 调用数均 0;Finder mutation false。
  • 数据 Gate:拖前/后 0 image/files/assets;blob/privacy/save/reopen 未到达。
  • 清理:Mindraw 0、mount 0、Finder 无需恢复、候选 SHA 不变。
  • 终态:PM_NOTIFY_READY QA-OPS-MD-127-TAG-FIX-REBUILD-06-REVIEWED-NATIVE-DROP RESULT=PARTIAL_AUTOMATION_LIMIT

文件变更

  • QA Markdown/JSON 报告和最小脱敏 evidence。
  • 统一台账、PMO_INBOX、assignment。
  • 项目/集中教训记录与会话存档。

未决问题与后续建议

需要 privacy-safe 的真实候选 AX Runtime Gate,先查明实际 WebKit role/hidden/geometry 差异并形成新 reviewed locator,之后再派产品拖放 QA。

可复用命令 / Runbook

用途:在 Finder 状态变更前验证 reviewed canvas locator 的真实候选运行契约。

前置条件:候选 SHA 已锁定、只读 mount、隔离 HOME/TMPDIR、正式 App 未运行、locator SHA 匹配 Review Gate。

./CanvasTargetInspect --self-test
./CanvasTargetInspect "$CANDIDATE_PID"
test "$?" -eq 0

验证步骤:生产 PID 调用必须输出固定 status=PASS role=AXWebArea 及有限正面积 geometry;任何非零立即停止,不打开 Finder、不调用 NativeDrag。

清理 / 恢复:停止候选并卸载 mount;验证 Mindraw 进程 0、mount 0、Finder 未变更、候选 SHA 不变。

搜索关键词:CanvasTargetInspect exit 67real candidate AX Runtime GatePARTIAL_AUTOMATION_LIMIT