Files
cmroubao/docs/tasks/T-213.md
T

78 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: T-213
title: 拼多多规格弹窗只读核验
phase: 2
deps:
- T-212
status: DOING
created: 2026-07-27
context_ref: edfee2c
work_branch: null
write_paths:
- docs/tasks/T-213.md
- docs/04-architecture.md
- docs/current-state.md
- android-buyer/app/src/main/java/com/roubao/autopilot/MainActivity.kt
- android-buyer/app/src/main/java/com/roubao/autopilot/accessibility/**
- android-buyer/app/src/main/java/com/roubao/autopilot/pinduoduo/**
- android-buyer/app/src/main/java/com/roubao/autopilot/procurement/**
- android-buyer/app/src/main/java/com/roubao/autopilot/ui/screens/SearchProbeScreen.kt
- android-buyer/app/src/main/java/com/roubao/autopilot/vlm/**
- android-buyer/app/src/test/java/com/roubao/autopilot/pinduoduo/**
- android-buyer/app/src/test/java/com/roubao/autopilot/procurement/**
- android-buyer/app/src/test/java/com/roubao/autopilot/vlm/**
---
## 问题 / 背景
T-211 目前只用候选详情页首屏截图判断颜色和尺码。拼多多常把实际颜色、尺码选项放在
“选择规格”等弹窗内,首屏没有明确证据时只能返回 `UNKNOWN`,导致图片召回正确但自动
Top 5 为空。仅凭商品主图推断颜色或尺码不满足硬约束要求。
## 关联需求与交互
- 功能:F-005、F-007、F-009。
- 用户故事:US-004、US-005、US-009。
- 交互:IX-006、IX-007、IX-010 的候选检查、人工确认和安全停止。
- 架构/API:扩展 Android candidate evidence;后端沿用每个候选最多 5 个鉴权
evidence asset 的现有能力,不抓取第三方图片或商品 URL。
## 方案
1. 在候选详情页只允许唯一识别并打开“选择规格/颜色分类/尺码”一类只读入口;增加
规格弹窗页面分类,登录、验证码、风控、订单和支付标记优先安全停止。
2. 不点击任何颜色或尺码选项。只读取有界的可见分组标题、选项文本、选中/禁用语义,
并采集一张受控规格弹窗截图;无法确认分组完整性时标为未知。
3. 本地使用与任务 SKU 相同的颜色/尺码规范化规则核对显式选项。只有目标值在明确的
对应分组中可见且不为禁用时才能形成自动 `MATCH`;完整分组明确缺失才可
`MISMATCH`,截断、无障碍文本缺失或语义冲突一律 `UNKNOWN`。
4. 候选评估同时绑定详情证据和规格证据的 SHA-256;VLM 可解释证据,但不能覆盖本地
硬约束结果。Android outbox 支持一个候选关联详情和规格两份证据。
5. 采集后关闭规格弹窗并返回图片结果页;任一步无法唯一确认时安全停止,不尝试其他
按钮或坐标。
## 验收要点
- [ ] 页面分类测试覆盖规格弹窗、普通详情、登录、验证码、风控、购物车、订单和支付。
- [ ] 自动化只点击唯一规格入口,不点击颜色/尺码选项、购买、拼单、购物车或支付控件。
- [ ] 颜色、尺码分组及选项解析有数量/文本长度边界,截断或歧义不会判为 `MATCH`。
- [ ] 单元测试覆盖两个目标均匹配、明确不匹配、禁用、缺失和未知。
- [ ] 每个候选的详情/规格证据哈希和后端 asset ID 对应正确,离线重试不重复或串位。
- [ ] Android 单元测试和 Debug 构建通过。
- [ ] PKG110、Android 16、拼多多 8.17.0 真机 smoke 完成规格弹窗打开、只读采集、
关闭和返回;记录 App/拼多多版本并确认未进入订单或支付。
## 边界
- 第一版不点击或组合选择具体 SKU,不判断颜色与尺码组合库存。
- 不滚动无界规格列表,不覆盖拼多多未提供无障碍语义的自绘控件。
- VLM 截图判断只能辅助解释;没有确定性规格证据时不得自动通过。
- 不加入购物车、不提交订单、不支付,也不实现一键连续执行。
## 执行记录
- 2026-07-27:根据 T-211 真机链路的证据缺口登记。任务依赖 T-212,避免规格证据被
关联到错误的重排候选。
- 2026-07-27:T-212 完成提交 `4b795a4` 后领取。先冻结拼多多 8.17 规格弹窗的只读
页面/动作边界和候选多证据模型,再进行真机验证。