# 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`。 - 变更后:`.absent`→`HIDDEN_ATTRIBUTE_ABSENT`;`.invalid`→`HIDDEN_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。