Client 当前收到采购任务后按完整动态规格精确选择。目标尺码在 PDD App 中不存在时,PURCHASE_OPTIONS_MISMATCH 只记录失败原因,没有把当前颜色下真实可购买尺码形成完整、稳定、可提交的候选快照,Admin 无法进行后续规则或 AI 匹配。
PURCHASE_OPTIONS_MISMATCH
必须严格区分“业务尺码文字对不上”和“页面识别/点击不安全”:只有商品正确、颜色成功选中、尺码列表完整遍历后仍找不到唯一目标,才能产出解析候选。
target_not_visible
target_ambiguous
safe_target_missing
selection_unconfirmed
预计修改文件:
client/src/pdd_u2_purchase_adapter.py
client/src/util/select_color_size.py
client/src/pdd_collect_service.py
client/src/pdd_purchase_adapter.py
testdata
docs/client/01-requirements.md
docs/client/02-architecture.md
docs/task/<工单号>-client采购尺码候选完整采集.md
从 client/ 执行:
client/
C:/Python310/python.exe -m pytest -q C:/Python310/python.exe -m py_compile src/pdd_u2_purchase_adapter.py src/pdd_purchase_adapter.py $env:QT_QPA_PLATFORM='offscreen' C:/Python310/python.exe -c "from src.ui_main import MainWindow; from PyQt5.QtWidgets import QApplication; app=QApplication([]); w=MainWindow(); print('OK'); app.quit()" Remove-Item Env:QT_QPA_PLATFORM
用脱敏 XML 固件逐项验证候选完整性和非触发错误;真机只读验证允许打开商品和规格面板、选择测试颜色并读取尺码,不进入下单提交。
开始实施。已核对 #254 的 spec-resolution-v1 契约和现有第二规格遍历:本工单将把 PddCollectService 已验证的第二规格只读遍历开放为采购侧复用入口;仅在颜色已选中、尺码匹配原因为 target_not_visible 且遍历完整时,生成内存中的结构化候选快照。遍历不完整、页面丢失或候选变化仍按普通采购失败处理;本工单不调用 Admin、不点击解析后的尺码、不持久化 XML 或候选数据。
spec-resolution-v1
PddCollectService
实现完成,准备提交:
c1...
验证:相关测试 127 passed;Client 全量测试 480 passed、2 failed。两项失败均为工作区已有版本号 0.1.2 与旧测试固定期望 0.1.0 不一致(test_update_service.py、test_update_ui_event.py),与 #256 无关。
0.1.2
0.1.0
test_update_service.py
test_update_ui_event.py
已完成实现并归档,状态:待用户验收。
58dc902
feat: 完整采集采购尺码候选 (#256)
45e3064
docs: 归档任务 #256
docs/task/256-client采购尺码候选完整采集.md
按流程暂不关闭 #256,也不勾选 #253 / #96,等待用户验收。
补充完成工单正文要求的本地候选边界校验和 UI 启动验证:
QT_QPA_PLATFORM=offscreen
MainWindow
OK
补充提交:
9118541
fix: 校验采购尺码候选边界 (#256)
a699ec8
docs: 补充任务 #256 验证记录
仍为待用户验收,暂不关闭工单或更新父工单完成状态。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
Client 当前收到采购任务后按完整动态规格精确选择。目标尺码在 PDD App 中不存在时,
PURCHASE_OPTIONS_MISMATCH只记录失败原因,没有把当前颜色下真实可购买尺码形成完整、稳定、可提交的候选快照,Admin 无法进行后续规则或 AI 匹配。必须严格区分“业务尺码文字对不上”和“页面识别/点击不安全”:只有商品正确、颜色成功选中、尺码列表完整遍历后仍找不到唯一目标,才能产出解析候选。
做什么 / 不做什么
target_not_visible时,返回结构化“需要远端解析”结果。target_ambiguous、safe_target_missing、selection_unconfirmed、商品不符或未知页面时触发远端解析。怎么做
预计修改文件:
client/src/pdd_u2_purchase_adapter.pyclient/src/util/select_color_size.pyclient/src/pdd_collect_service.py(仅抽取可复用只读遍历能力时)client/src/pdd_purchase_adapter.pytestdatadocs/client/01-requirements.mddocs/client/02-architecture.mddocs/task/<工单号>-client采购尺码候选完整采集.md验收标准
target_ambiguous、安全点击缺失、选中未确认、颜色失败、未知页面和遍历不完整均不触发远端解析。怎么验证
从
client/执行:用脱敏 XML 固件逐项验证候选完整性和非触发错误;真机只读验证允许打开商品和规格面板、选择测试颜色并读取尺码,不进入下单提交。
风险和回退
PURCHASE_OPTIONS_MISMATCH;不会产生数据库变更或外部订单。开始实施。已核对 #254 的
spec-resolution-v1契约和现有第二规格遍历:本工单将把PddCollectService已验证的第二规格只读遍历开放为采购侧复用入口;仅在颜色已选中、尺码匹配原因为target_not_visible且遍历完整时,生成内存中的结构化候选快照。遍历不完整、页面丢失或候选变化仍按普通采购失败处理;本工单不调用 Admin、不点击解析后的尺码、不持久化 XML 或候选数据。实现完成,准备提交:
target_not_visible后启动完整只读遍历。PddCollectService现有第二规格遍历,并为采购候选启用严格起止边界确认;扫描中可用状态变化、页面丢失或达到上限均返回普通采购失败。c1...,快照哈希严格按 #254 的spec-resolution-v1算法计算。验证:相关测试 127 passed;Client 全量测试 480 passed、2 failed。两项失败均为工作区已有版本号
0.1.2与旧测试固定期望0.1.0不一致(test_update_service.py、test_update_ui_event.py),与 #256 无关。已完成实现并归档,状态:待用户验收。
58dc902feat: 完整采集采购尺码候选 (#256)45e3064docs: 归档任务 #256docs/task/256-client采购尺码候选完整采集.md0.1.2,旧测试期望0.1.0)按流程暂不关闭 #256,也不勾选 #253 / #96,等待用户验收。
补充完成工单正文要求的本地候选边界校验和 UI 启动验证:
QT_QPA_PLATFORM=offscreen创建MainWindow成功并输出OK(仅有本机 PyQt5 字体目录警告)。补充提交:
9118541fix: 校验采购尺码候选边界 (#256)a699ec8docs: 补充任务 #256 验证记录仍为待用户验收,暂不关闭工单或更新父工单完成状态。