fix(android): 采集单规格无摘要面板被误判 UNKNOWN(0.9.73已安装,待验收) #256

Open
opened 2026-09-10 14:37:30 +08:00 by ila · 1 comment
Owner

来源与目标

2026-09-10 用户反馈当前页采集规格面板已打开却 SPEC_PANEL_EVIDENCE_NOT_MATCHED,要求按最小方案建单实现、构建后安装到指定已连接手机。关联 #255(服务端重试已上线,本单独立 Android 缺陷)。

基线与现场

Android 0.9.72/versionCode85,代码基线 #250 04c42dc(实现37e8b56)。当前采集规则 SHA256 9403a7fada7dc257fa89f18b44906b1ced1ca94b73461f20a1d4195a1270727e。内存读取真机树,仅输出脱敏结构:单一 RecyclerView、颜色分类标题、4候选、关闭、数量增减与输入、支付区、唯一底部提交动作;无摘要、无显式确认按钮。两次诊断均 head=1 summary=0 quantity=1 submit=1,约10秒后 UNKNOWN。未保存原始树/整屏截图。

范围、依赖与方案

仅 Android 解析器、采集调用点、合成测试与版本号;沿最新已安装 #250 分支基线,保留连续采集等已有功能。不从较旧 main Android 构建。依赖已满足,可与服务端任务独立,当前不使用并行 Agent。
增加默认关闭的采集专用解析上下文,仅采集执行器开启;采购与其他调用保持默认原行为。单一可界定规格滚动区域、唯一规格标题与非空候选、关闭、唯一数量控件、支付区及唯一底部订单只读动作齐备,且 PDD 包名/详情页证据匹配并无异常页时,允许无摘要的单规格面板被识别。不伪造选中摘要,不改采购分支,不把订单动作作为采集点击目标。维持有限滚动/精确规格策略,不增加等待时间或猜测。

设计与验收

恢复既有采集行为,无 UI 变化,复用当前界面,无需原型。用户已确认最小方案并授权构建安装。
测试单标题无摘要面板在采集上下文识别成功、默认采购上下文仍未知;缺少必要证据、双容器、非 PDD/详情证据不匹配应拒绝。回归现有多规格、摘要、采购测试;构建 debug APK、校验版本/签名/摘要,手机空闲后 adb install -r,不卸载不清数据。

风险与边界

无 Server/Web/迁移/权限变化,不调整采购安全或下单流程;不创建真实采购订单、不支付、不自动运行真实采集。安装前核对设备及运行任务;现场业务验收由用户手动重试。

文档影响

更新 Business-Rules-and-Glossary 的采集面板判定长期规则,在线回读 revision 后仅一轮 sync 与 sync --check,提交镜像。不导出任务归档。

工作流

Gitea MCP 当前不可用,回退项目安全配置 Gitea API;无凭据输出。开始实施,完成提交/推送/安装/证据回写后待验收,不关闭。

## 来源与目标 2026-09-10 用户反馈当前页采集规格面板已打开却 SPEC_PANEL_EVIDENCE_NOT_MATCHED,要求按最小方案建单实现、构建后安装到指定已连接手机。关联 #255(服务端重试已上线,本单独立 Android 缺陷)。 ## 基线与现场 Android 0.9.72/versionCode85,代码基线 #250 04c42dc(实现37e8b56)。当前采集规则 SHA256 9403a7fada7dc257fa89f18b44906b1ced1ca94b73461f20a1d4195a1270727e。内存读取真机树,仅输出脱敏结构:单一 RecyclerView、颜色分类标题、4候选、关闭、数量增减与输入、支付区、唯一底部提交动作;无摘要、无显式确认按钮。两次诊断均 head=1 summary=0 quantity=1 submit=1,约10秒后 UNKNOWN。未保存原始树/整屏截图。 ## 范围、依赖与方案 仅 Android 解析器、采集调用点、合成测试与版本号;沿最新已安装 #250 分支基线,保留连续采集等已有功能。不从较旧 main Android 构建。依赖已满足,可与服务端任务独立,当前不使用并行 Agent。 增加默认关闭的采集专用解析上下文,仅采集执行器开启;采购与其他调用保持默认原行为。单一可界定规格滚动区域、唯一规格标题与非空候选、关闭、唯一数量控件、支付区及唯一底部订单只读动作齐备,且 PDD 包名/详情页证据匹配并无异常页时,允许无摘要的单规格面板被识别。不伪造选中摘要,不改采购分支,不把订单动作作为采集点击目标。维持有限滚动/精确规格策略,不增加等待时间或猜测。 ## 设计与验收 恢复既有采集行为,无 UI 变化,复用当前界面,无需原型。用户已确认最小方案并授权构建安装。 测试单标题无摘要面板在采集上下文识别成功、默认采购上下文仍未知;缺少必要证据、双容器、非 PDD/详情证据不匹配应拒绝。回归现有多规格、摘要、采购测试;构建 debug APK、校验版本/签名/摘要,手机空闲后 adb install -r,不卸载不清数据。 ## 风险与边界 无 Server/Web/迁移/权限变化,不调整采购安全或下单流程;不创建真实采购订单、不支付、不自动运行真实采集。安装前核对设备及运行任务;现场业务验收由用户手动重试。 ## 文档影响 更新 Business-Rules-and-Glossary 的采集面板判定长期规则,在线回读 revision 后仅一轮 sync 与 sync --check,提交镜像。不导出任务归档。 ## 工作流 Gitea MCP 当前不可用,回退项目安全配置 Gitea API;无凭据输出。开始实施,完成提交/推送/安装/证据回写后待验收,不关闭。
Author
Owner

已实现并安装,待验收(2026-09-10)

  • 实现提交 43703e0 已推送分支 fix/256-collection-single-dimension;基线 #250 04c42dc,保留已安装版连续采集功能。Android 0.9.73 / versionCode86。
  • PddScreenParser 增加默认 false 的 collectionContext,仅 PddProductDetailCollector 开启。新增单有界滚动容器、单标题非空候选、关闭/数量/支付区/唯一下方订单动作组合证据,要求 PDD/任务 Activity/选择器匹配且无异常;无摘要时识别 NORMAL_SCROLLABLE,不伪造 selectedSummary。purchaseContext 或默认调用不进入新分支;没有修改采购执行器、Server/Web、权限或迁移。
  • 先红后绿:原判定(仅增加未使用的测试上下文参数)下新正例真实失败;修复后 ./gradlew.bat testDebugUnitTest assembleDebug 通过,39 suites / 378 tests,0 failures、0 errors。覆盖单颜色/尺码标题、无摘要、默认采购拒绝、缺失必要结构、双滚动容器、重复底部动作、错误包名/Activity/选择器、验证码页。现有采集与采购单测全部通过。构建有既有 SDK XML/弃用警告,无构建错误。
  • APK SHA256 d570ce21319745cfc1d12760e4d775e271d9a751975ab7b4843da454fed26d7b;签名验证成功。
  • 用户已授权指定手机覆盖安装;安装前核对设备ID7,Agent ONLINE,线上该设备采集/采购运行计数均0。adb install -r 成功,未卸载/清数据;安装前后设置内容相等。手机回读0.9.73/86,已安装base APK摘要与构建一致;MainActivity启动Status ok,后续PID仍存在。只验证安装/启动,未自动重试采集、采购或点击PDD控件,未创建订单/付款。
  • Wiki Business-Rules-and-Glossary 已在线回读 revision 232757b70c87203d6270020fdc912720b98696c8;唯一一轮 sync + sync --check 通过,业务镜像提交。独立分支基线落后于最新Wiki,同步还更新了其他4个镜像;保留未暂存,未将无关镜像混入提交。未直接编辑Wiki镜像。
  • 未合并main、不需服务端部署。请用户手动重试原采集任务验收;不把安装成功等同于真实商品完整采集成功。
  • Gitea MCP不可用,沿用项目安全配置API写入,无凭据输出。保持开放待验收。
## 已实现并安装,待验收(2026-09-10) - 实现提交 `43703e0` 已推送分支 fix/256-collection-single-dimension;基线 #250 04c42dc,保留已安装版连续采集功能。Android 0.9.73 / versionCode86。 - PddScreenParser 增加默认 false 的 collectionContext,仅 PddProductDetailCollector 开启。新增单有界滚动容器、单标题非空候选、关闭/数量/支付区/唯一下方订单动作组合证据,要求 PDD/任务 Activity/选择器匹配且无异常;无摘要时识别 NORMAL_SCROLLABLE,不伪造 selectedSummary。purchaseContext 或默认调用不进入新分支;没有修改采购执行器、Server/Web、权限或迁移。 - 先红后绿:原判定(仅增加未使用的测试上下文参数)下新正例真实失败;修复后 ./gradlew.bat testDebugUnitTest assembleDebug 通过,39 suites / 378 tests,0 failures、0 errors。覆盖单颜色/尺码标题、无摘要、默认采购拒绝、缺失必要结构、双滚动容器、重复底部动作、错误包名/Activity/选择器、验证码页。现有采集与采购单测全部通过。构建有既有 SDK XML/弃用警告,无构建错误。 - APK SHA256 `d570ce21319745cfc1d12760e4d775e271d9a751975ab7b4843da454fed26d7b`;签名验证成功。 - 用户已授权指定手机覆盖安装;安装前核对设备ID7,Agent ONLINE,线上该设备采集/采购运行计数均0。adb install -r 成功,未卸载/清数据;安装前后设置内容相等。手机回读0.9.73/86,已安装base APK摘要与构建一致;MainActivity启动Status ok,后续PID仍存在。只验证安装/启动,未自动重试采集、采购或点击PDD控件,未创建订单/付款。 - Wiki Business-Rules-and-Glossary 已在线回读 revision `232757b70c87203d6270020fdc912720b98696c8`;唯一一轮 sync + sync --check 通过,业务镜像提交。独立分支基线落后于最新Wiki,同步还更新了其他4个镜像;保留未暂存,未将无关镜像混入提交。未直接编辑Wiki镜像。 - 未合并main、不需服务端部署。请用户手动重试原采集任务验收;不把安装成功等同于真实商品完整采集成功。 - Gitea MCP不可用,沿用项目安全配置API写入,无凭据输出。保持开放待验收。
ila changed title from fix(android): 采集单规格无摘要面板被误判 UNKNOWN to fix(android): 采集单规格无摘要面板被误判 UNKNOWN(0.9.73已安装,待验收) 2026-09-10 14:44:21 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#256