2026-09-08 用户确认最小补丁方案并要求“建工单,做,然后安装到192.168.0.9:43829”。关联 #243,但不混入入口打不开问题。
基线 ec4802d / Agent 0.9.61。CG85 第二次已打开面板;同一颜色卡片容器/图片文字尾部为199,目标文字节点为19,均 selected=true。服务端精确目标为文字节点原值。解析器按原文形成多个选项,isExactSpecSelected 先发现非目标已选而返回false。树仅内存读取,未保存原始树/截图。
ec4802d
仅 Android 颜色选中状态确认的局部补丁、合成节点单测、版本绑定与构建安装。不修改通用解析器、目标规范化、入口/滚动/尺码选择/地址/价格/下单;不删19/199,不模糊匹配、不增加点击。
目标颜色完整精确命中且已选中时,仅将有明确父子链和独立卡片边界的同卡片容器/图片已选节点排除为重复表达。卡片需可点击、非滚动并位于规格区域;不跨越滚动容器,不以整个面板或位置相近证明同卡片。两个独立目标、不同卡片冲突、目标未选中、结构歧义仍沿用拒绝。非本例情况沿用已有判断。
#243 已实现作为基线,独立分支;不与其余工单并行改相关文件。恢复既有选中确认,无UI/API变化无需原型;设计证据为同卡片合成结构及反例。
同卡片19/199、容器/图片重复通过;不同卡片19/199、两个独立目标、目标未选中、不可判断边界、滚动祖先均不得合并;正常单选及现有Android回归通过,assembleDebug通过。安装前核对设备在线与无活动采购,覆盖安装保留数据、回读版本。安装授权不包含自动重试/真实下单,CG85业务结果待用户验证。禁止支付。
实现后更新Business-Rules-and-Glossary的精确选中同卡片限定例外,线上回读后sync与sync --check,提交镜像,不建任务快照。
不宣称零回归;条件不明时拒绝,保留单独回退能力。开始实施,提交推送回写后保持待验收,未经用户验收不关闭。Gitea MCP不可用,回退项目安全配置凭据的API,不输出凭据。
实现93aab6a,基线ec4802d,分支fix/244-selected-card-duplicates已推送,未合并main。 仅颜色存在已选冲突时使用同卡片判据:目标完整精确且自身选中,独立ViewGroup卡片与滚动父边界明确,只排除容器/图片重复。不同卡片/不同文字、多个目标、未选中目标、结构不明仍拒绝。不改规格数字、解析器、入口、尺码、地址、价格或下单,不增加点击。 新增7项结构单测、1项执行器集成回归;完整Android单测338项,0失败;assembleDebug和diff --check通过。覆盖跨卡片同名被解析器去重的反例。 APK 0.9.62/75,SHA256 9da286eb30d9cadc41829edc1f3a60208de3918935e1fe5cfe6f0d17db2b555f。 按用户授权覆盖安装192.168.0.9:43829;安装前在线、线上运行采集/采购均0,install -r Success。回读0.9.62/75,lastUpdateTime 2026-09-08 18:07:18。保留数据,未主动采购/修改地址/下单/支付。CG85业务效果待用户验证。 Business-Rules-and-Glossary在线更新回读后,一次sync和一次sync --check通过;其他非本单同步镜像保留未提交,不覆盖原工作区用户改动。未导出任务快照、未更新Server或规则。工单保持待验收,不关闭。镜像提交:66e0bdf
No dependencies set.
The note is not visible to the blocked user.
来源与目标
2026-09-08 用户确认最小补丁方案并要求“建工单,做,然后安装到192.168.0.9:43829”。关联 #243,但不混入入口打不开问题。
代码与现场事实
基线
ec4802d/ Agent 0.9.61。CG85 第二次已打开面板;同一颜色卡片容器/图片文字尾部为199,目标文字节点为19,均 selected=true。服务端精确目标为文字节点原值。解析器按原文形成多个选项,isExactSpecSelected 先发现非目标已选而返回false。树仅内存读取,未保存原始树/截图。范围与非目标
仅 Android 颜色选中状态确认的局部补丁、合成节点单测、版本绑定与构建安装。不修改通用解析器、目标规范化、入口/滚动/尺码选择/地址/价格/下单;不删19/199,不模糊匹配、不增加点击。
实施方案
目标颜色完整精确命中且已选中时,仅将有明确父子链和独立卡片边界的同卡片容器/图片已选节点排除为重复表达。卡片需可点击、非滚动并位于规格区域;不跨越滚动容器,不以整个面板或位置相近证明同卡片。两个独立目标、不同卡片冲突、目标未选中、结构歧义仍沿用拒绝。非本例情况沿用已有判断。
依赖与设计
#243 已实现作为基线,独立分支;不与其余工单并行改相关文件。恢复既有选中确认,无UI/API变化无需原型;设计证据为同卡片合成结构及反例。
验收与测试
同卡片19/199、容器/图片重复通过;不同卡片19/199、两个独立目标、目标未选中、不可判断边界、滚动祖先均不得合并;正常单选及现有Android回归通过,assembleDebug通过。安装前核对设备在线与无活动采购,覆盖安装保留数据、回读版本。安装授权不包含自动重试/真实下单,CG85业务结果待用户验证。禁止支付。
文档影响
实现后更新Business-Rules-and-Glossary的精确选中同卡片限定例外,线上回读后sync与sync --check,提交镜像,不建任务快照。
风险与状态
不宣称零回归;条件不明时拒绝,保留单独回退能力。开始实施,提交推送回写后保持待验收,未经用户验收不关闭。Gitea MCP不可用,回退项目安全配置凭据的API,不输出凭据。
实现与安装完成,待验收
实现93aab6a,基线ec4802d,分支fix/244-selected-card-duplicates已推送,未合并main。
仅颜色存在已选冲突时使用同卡片判据:目标完整精确且自身选中,独立ViewGroup卡片与滚动父边界明确,只排除容器/图片重复。不同卡片/不同文字、多个目标、未选中目标、结构不明仍拒绝。不改规格数字、解析器、入口、尺码、地址、价格或下单,不增加点击。
新增7项结构单测、1项执行器集成回归;完整Android单测338项,0失败;assembleDebug和diff --check通过。覆盖跨卡片同名被解析器去重的反例。
APK 0.9.62/75,SHA256 9da286eb30d9cadc41829edc1f3a60208de3918935e1fe5cfe6f0d17db2b555f。
按用户授权覆盖安装192.168.0.9:43829;安装前在线、线上运行采集/采购均0,install -r Success。回读0.9.62/75,lastUpdateTime 2026-09-08 18:07:18。保留数据,未主动采购/修改地址/下单/支付。CG85业务效果待用户验证。
Business-Rules-and-Glossary在线更新回读后,一次sync和一次sync --check通过;其他非本单同步镜像保留未提交,不覆盖原工作区用户改动。未导出任务快照、未更新Server或规则。工单保持待验收,不关闭。镜像提交:66e0bdf