edit | blame | history | raw

Mindraw QA:Identity-bound Option-copy Finder 拖放 10

用户目标

在固定 Build202608140433 候选上,用 reviewed receiver-identity-bound、Option-copy、source-preserving NativeDrag 完成一次 Finder 图片拖放;只有 source 原位身份、目标数据/隐私、保存重开和 Finder restore 全部闭环,才与 QA02 组合为 FULL_QA_PASS

已完成事项

  • 新 Hook Gate crg-5e8e22bdab66=PASS 与原 crg-fc23b18024e0=PASS 字节一致。
  • 固定候选 SHA、签名/公证/Gatekeeper、七工具 SHA/manifest、离线机械门均通过。
  • 全新 QA-only regular non-symlink PNG 与严格空 .mindraw 建立,source size/SHA/device/inode 已锁定。
  • 唯一候选从只读挂载绝对路径启动;bounded readiness、initial locator、single-shot diagnoser 各 1 次 PASS。
  • QA Finder source 创建并精确选中;isolate 单次执行单元未产生可审计 PASS 或 state snapshot,严格停止。
  • AXInspect、Place、post-layout locator、NativeDrag 调用均为 0。
  • formal restore 单次因 state 缺失 exit133;无 Finder mutation。exact selection 门通过后只关闭 QA Finder。
  • source 身份与空 package 不变;候选停止、卷卸载、进程归零和 SHA 完整性通过。

关键决策

  • 终态:PARTIAL_AUTOMATION_LIMIT;组合:NOT_FULL_PASS;产品判定:NOT_EVALUATED
  • 不存在 state snapshot 与 auditable isolation PASS 时,不允许进入 source/target layout 或 NativeDrag。
  • restore 缺少 state 的 exit133 属于 cleanup 证明不足,不能通过手工假设补成 PASS。
  • 因没有系统投递,空 package 不能推导产品失败;Owner DMG 继续关闭。

核心事实 / 变更快照

  • 变更对象:固定 macOS arm64 候选 Finder 图片拖放 Gate。
  • 事实来源:QA10 report/JSON/evidence;候选 SHA c97fd004a81a090e541dfa46afd6b8dbf6dc17090d57960b461cb67161068f0c
  • 变更前:QA09 已执行一次 NativeDrag,但 receiver/source 去向无法归因。
  • 变更后:identity-bound/copy 工具通过双 Gate,但 QA10 在注入前的 isolation evidence 阶段 fail closed,NativeDrag 0。
  • 映射/归并/删除:无产品、源码、工具、候选、包或发布变更;仅新增 QA10 责任证据。
  • 范围边界:只适用于该 macOS arm64 候选,不外推其他平台或八包。
  • 验证证据:QA10 report、JSON、sanitized evidence;source/package/candidate 清理完整性通过。

文件变更

  • 新增 QA10 Markdown、JSON 与最小脱敏 evidence。
  • 回写统一台账、PMO_INBOX 与 active assignment。
  • 未修改 reviewed 工具、产品、源码、测试、构建、候选、包、Git 或发布状态。

可复用命令 / Runbook

用途:对已审核 Finder source-bound copy drag 执行单次、fail-closed QA 序列;不得用于重跑当前 QA10。

前置条件:固定候选与 reviewed 工具 SHA 匹配;无 Mindraw 冲突进程;全新 QA_ROOT/source/package;Review Gate 已 PASS。

"$DIAGNOSER" --wait "$CANDIDATE_PID"
"$LOCATOR" "$CANDIDATE_PID"
"$DIAGNOSER" "$CANDIDATE_PID"
"$FINDER_ISOLATION" isolate "$FINDER_STATE" "$EXACT_SOURCE_ID"
"$AX_INSPECT" "$FINDER_PID" "$EXACT_SOURCE_ID"
"$PLACE_SOURCE" "$EXACT_SOURCE_ID"
"$LOCATOR" "$CANDIDATE_PID"
"$NATIVE_DRAG" "$START_X" "$START_Y" "$END_X" "$END_Y" "$CANDIDATE_PID" "$QA_ROOT" "$QA_SOURCE"
"$FINDER_ISOLATION" restore "$FINDER_STATE" "$EXACT_SOURCE_ID"

验证:前一 stage 必须有可审计 PASS 才能进入下一 stage;isolate 必须生成 state。NativeDrag 最多一次,并同时核对 receiver/copy/source identity 与目标数据。

清理:只使用同一 state/exact source restore;仅关闭 exact QA Finder 窗口;停止候选、卸载卷、确认进程和候选 SHA。

搜索关键词:identity-bound copyisolation state absentNativeDrag 0restore exit133PARTIAL_AUTOMATION_LIMIT

未决问题与后续建议

后续如继续,应先让 evidence-tool 责任人定位为何真实 isolate 执行未生成 state/可审计终态,并让 restore 对 missing state 以有界 fail-closed 结果退出,而不是 Swift top-level fatal。必须形成新 Gate 后另派新 QA;当前任务不得重试。