edit | blame | history | raw

Mindraw Coder:AXHidden 精确分型

用户目标

仅细化 evidence-only CanvasTargetDiagnose.swift,把同一候选两次得到的 HIDDEN_MISSING_OR_INVALID 拆成 attribute absent 与 invalid value/type;保护 locator 与产品/发布边界。

已完成事项

  • 定位信息丢失点仅在 classify(),AX 读取层三态已正确。
  • TDD:新增 production-core 断言后旧实现 self-test exit 1;最小拆分后 GREEN。
  • 更新 sanitized manifest,生成 Review Gate crg-52cd8ff6eab1
  • 六工具离线 typecheck/self-test/no-args、manifest、SHA、隐私与 mutation 扫描通过。

核心事实 / 变更快照

  • 变更对象:只读 AXHidden 诊断枚举。
  • 事实来源:CanvasTargetDiagnose.swift SHA 6a168193…、manifest SHA cb8cc4af…、Gate crg-52cd8ff6eab1
  • 变更前:.absent.invalid 均输出 HIDDEN_MISSING_OR_INVALID
  • 变更后:.absentHIDDEN_ATTRIBUTE_ABSENT.invalidHIDDEN_VALUE_INVALID;true→HIDDEN_TRUE;false 继续 geometry/display。
  • 映射:仅 noValue/attributeUnsupported 是 absent;success+nil/非 Boolean 是 invalid;其他 AX error 仍为 traversal AX error。
  • 范围边界:locator SHA 4989a634… 不变;没有把 absent 当可见,没有运行真实 AX/Finder/输入,没有产品、候选、构建、Git 或发布变化。
  • 验证证据:六工具 6/6 三门;12 枚举 allowlist;raw archive identity 37 files / 3,123,510 bytes / 0700+0600 / 1ce23234… 不变。

文件变更

  • 02-P/M4C-GitHubOpenSource/qa/qa-ops-md-127-tag-fix-rebuild-04-native-cgevent-drop-evidence-20260814/CanvasTargetDiagnose.swift
  • 同目录 sanitized-evidence-manifest.json
  • Review request/JSON、统一台账、PMO_INBOX、本会话记录。

未决问题与后续建议

新 Gate PASS 前不得运行真实候选。PASS 后仍需单独 QA 派工,只读取同一候选的新匿名类别;不能据此直接恢复 Finder 拖放或放宽 locator。