feat(t213): guard read-only specification verification

This commit is contained in:
QiuSW
2026-07-27 23:06:21 +08:00
parent 1316b9bb32
commit 9a8388fac6
25 changed files with 1540 additions and 207 deletions
+24 -7
View File
@@ -4,11 +4,12 @@ title: 拼多多规格弹窗只读核验
phase: 2
deps:
- T-212
status: DOING
status: BLOCKED
created: 2026-07-27
context_ref: edfee2c
work_branch: null
write_paths:
- android-buyer/app/build.gradle.kts
- docs/tasks/T-213.md
- docs/04-architecture.md
- docs/current-state.md
@@ -53,12 +54,12 @@ Top 5 为空。仅凭商品主图推断颜色或尺码不满足硬约束要求
## 验收要点
- [ ] 页面分类测试覆盖规格弹窗、普通详情、登录、验证码、风控、购物车、订单和支付。
- [ ] 自动化只点击唯一规格入口,不点击颜色/尺码选项、购买、拼单、购物车或支付控件。
- [ ] 颜色、尺码分组及选项解析有数量/文本长度边界,截断或歧义不会判为 `MATCH`。
- [ ] 单元测试覆盖两个目标均匹配、明确不匹配、禁用、缺失和未知。
- [ ] 每个候选的详情/规格证据哈希和后端 asset ID 对应正确,离线重试不重复或串位。
- [ ] Android 单元测试和 Debug 构建通过。
- [x] 页面分类测试覆盖规格弹窗、普通详情、登录、验证码、风控、购物车、订单和支付。
- [x] 自动化只点击唯一规格入口,不点击颜色/尺码选项、购买、拼单、购物车或支付控件。
- [x] 颜色、尺码分组及选项解析有数量/文本长度边界,截断或歧义不会判为 `MATCH`。
- [x] 单元测试覆盖两个目标均匹配、明确不匹配、禁用、缺失和未知。
- [x] 每个候选的详情/规格证据哈希和后端 asset ID 对应正确,离线重试不重复或串位。
- [x] Android 单元测试和 Debug 构建通过。
- [ ] PKG110、Android 16、拼多多 8.17.0 真机 smoke 完成规格弹窗打开、只读采集、
关闭和返回;记录 App/拼多多版本并确认未进入订单或支付。
@@ -75,3 +76,19 @@ Top 5 为空。仅凭商品主图推断颜色或尺码不满足硬约束要求
关联到错误的重排候选。
- 2026-07-27:T-212 完成提交 `4b795a4` 后领取。先冻结拼多多 8.17 规格弹窗的只读
页面/动作边界和候选多证据模型,再进行真机验证。
- 2026-07-27:实现规格弹层分类、安全入口 allowlist、颜色/尺码有界解析、本地确定性
硬匹配、candidate evaluation schema/prompt v3,以及每个候选详情/规格两份证据的
cache 校验、重排身份绑定和加密 outbox 关联。模型返回状态与本地状态不一致时强制
降级人工检查。
- 2026-07-27:Android `testDebugUnitTest` 24 个 suite、128 个测试全部通过,
`assembleDebug` 通过;后端 `go test ./...` 通过。Debug APK `1.4.3 (8)` 已安装到
PKG110,拼多多版本为 `8.17.0 (81700)`。
- 2026-07-27:真机检查图片结果中的定制商品和文字搜索 `black tshirt L` 的普通服装
商品。服装详情只暴露不可点击的“颜色/款式”预览,完整颜色/尺码弹层只能通过
“单独购买/免拼购买”控件进入;前两个定制商品甚至没有规格预览。全程未点击购买、
拼单、购物车、订单或支付控件。
- 2026-07-27:任务标记 `BLOCKED`。代码在缺少独立可点击规格入口时按
`UNKNOWN_PAGE` 安全停止,符合边界但无法完成“打开/采集/关闭/返回”的真机验收。
外部解除条件是:确认允许把购买语义控件仅用于打开规格弹层,或提供不经过购买控件
的稳定规格入口/受支持数据源。重新安装后 ColorOS 也关闭了肉包无障碍服务,继续
smoke 前需采购员在系统设置手动重新启用。