Gitea MCP 未向当前会话暴露,按仓库规则回退项目安全配置与 Gitea API;凭据不进入代码、日志、工单或 Wiki。
来源:用户于 2026-08-31 反馈最新 Agent 采购进入 PDD 商品页后未打开规格面板,反而点击“商品评价”进入评价列表;在只读根因分析后明确要求按建议建工单并实施。
目标:采购规格入口只能点击经过语义与结构双重验证的精确入口;误入评价页时必须安全返回并明确失败,绝不继续规格、地址或订单动作。
代码基线:866aea1(Agent 0.9.30,2026-08-31)。关联 #164、#59。
866aea1
RULE_NOT_MATCHED / 商品规格面板没有打开
openSpecPanel
textAliases
irreversibleAt
orderSubmitRequestId
safeBottomSpecEntry
clickFreshDetailed
ACTION_CLICK=true
reviewPageOpen
当前结构化结果没有保存脱敏的 specEntrySource,因此不能断言 CG30 命中 explicit_selection 或 bottom_purchase 的哪一个;但可确认根因位于规格入口候选、fresh 点击祖先边界和点击后页面确认。
specEntrySource
explicit_selection
bottom_purchase
PURCHASE_SPEC_ENTRY_OPENED_REVIEW
up×2
恢复既有安全行为的 Android 缺陷,不新增页面或交互,不需要 UI 原型。代码与自动化测试是设计证据;真机只使用 executionMode=rehearsal 且规则不含 updateShippingAddress、createOrder、readOrderResult。
executionMode=rehearsal
updateShippingAddress
createOrder
readOrderResult
这是采购点击安全判据修改。实施与自动化测试已由用户本次“建工单,做”确认;真机固定为无地址、无订单动作 rehearsal。任何 live 重试、地址修改、创建待付款订单或支付仍需独立明确授权;永久禁止支付。
有长期契约影响:新增采购入口误入评价页稳定错误和安全返回语义,更新 Wiki Android-Agent-API-Contract,在线回读 revision 后执行一次 harness.py sync 和一次 sync --check。
Android-Agent-API-Contract
harness.py sync
sync --check
待验收(实现、自动化验证、Wiki 同步与 CG30 安全演练已完成;等待用户验收,不自动关闭)。
Gitea MCP 当前不可用,本次按仓库规则回退 Gitea API;凭据仅从安全配置读取,未写入代码、日志或工单。
a3628df fix(agent): reject review-page spec entry misroutes (#166)
0.9.31
PddProductDetailCollectorTest
PurchaseRehearsalExecutorTest
.\gradlew.bat testDebugUnitTest assembleDebug --rerun-tasks
git diff --check
484a645058de780abe2ff2951afd25d38a03b74e
python dev_scripts/harness.py sync
python dev_scripts/harness.py sync --check
ACCESSIBILITY_NOT_READY
rehearsal
RULE_ACTION_FAILED / 规则要求的有限滑动失败
applyPostAction(swipeAfter)
irreversible_at
order_submit_request_id
pdd_order_no
order_submitted_at
CG-35 暴露的是规格面板打开后的既有 up×2 后置滑动失败,属于 #164 Phase B 的相邻问题,不纳入 #166,避免扩大本单范围。
结论:#166 的代码、自动化、Wiki 和 CG30 安全演练闭环已完成,现转待验收;工单保持打开,不自动关闭。
No dependencies set.
The note is not visible to the blocked user.
原始需求摘要
来源:用户于 2026-08-31 反馈最新 Agent 采购进入 PDD 商品页后未打开规格面板,反而点击“商品评价”进入评价列表;在只读根因分析后明确要求按建议建工单并实施。
目标:采购规格入口只能点击经过语义与结构双重验证的精确入口;误入评价页时必须安全返回并明确失败,绝不继续规格、地址或订单动作。
基线与事实
代码基线:
866aea1(Agent 0.9.30,2026-08-31)。关联 #164、#59。RULE_NOT_MATCHED / 商品规格面板没有打开;用户现场确认点击后进入商品评价列表。openSpecPanel没有textAliases,因此 Android 使用解析器生成的语义候选。irreversibleAt、orderSubmitRequestId、PDD 订单号或下单时间。safeBottomSpecEntry接受包含通用“购买”词且满足底部几何条件的节点,未对该候选及其实际可点击祖先执行评价上下文排除;返回的是文字节点而不是已经验证的可点击卡片。clickFreshDetailed会从文字节点持续向上寻找首个可点击祖先,未绑定解析阶段已验证的卡片边界。openSpecPanel把ACTION_CLICK=true当作点击成功,只轮询规格面板;不检查reviewPageOpen,不执行安全返回。采集路径 #59 已有评价页误入识别/返回,但采购路径没有复用。当前结构化结果没有保存脱敏的
specEntrySource,因此不能断言 CG30 命中explicit_selection或bottom_purchase的哪一个;但可确认根因位于规格入口候选、fresh 点击祖先边界和点击后页面确认。范围
safeBottomSpecEntry必须同时验证文字节点与最近可点击卡片的评价上下文;候选返回并 fresh 重定位已经验证的可点击卡片,不得重新无限向上漂移。openSpecPanel点击后必须区分:规格面板打开、评价页误入、页面未变化/其他页面。识别评价页后最多执行一次系统返回,确认回到同一 PDD 商品页后以稳定错误PURCHASE_SPEC_ENTRY_OPENED_REVIEW结束;不得自动再次点击同一入口。up×2和有界规格搜索行为。非目标
设计证据
恢复既有安全行为的 Android 缺陷,不新增页面或交互,不需要 UI 原型。代码与自动化测试是设计证据;真机只使用
executionMode=rehearsal且规则不含updateShippingAddress、createOrder、readOrderResult。验收标准
PURCHASE_SPEC_ENTRY_OPENED_REVIEW;不再点击同一入口。必测场景
风险与门禁
这是采购点击安全判据修改。实施与自动化测试已由用户本次“建工单,做”确认;真机固定为无地址、无订单动作 rehearsal。任何 live 重试、地址修改、创建待付款订单或支付仍需独立明确授权;永久禁止支付。
文档影响
有长期契约影响:新增采购入口误入评价页稳定错误和安全返回语义,更新 Wiki
Android-Agent-API-Contract,在线回读 revision 后执行一次harness.py sync和一次sync --check。状态
待验收(实现、自动化验证、Wiki 同步与 CG30 安全演练已完成;等待用户验收,不自动关闭)。
实施与验证结果(待验收)
Gitea MCP 当前不可用,本次按仓库规则回退 Gitea API;凭据仅从安全配置读取,未写入代码、日志或工单。
实现
a3628df fix(agent): reject review-page spec entry misroutes (#166)。0.9.31(versionCode 44)。自动化验证
PddProductDetailCollectorTest、PurchaseRehearsalExecutorTest通过。.\gradlew.bat testDebugUnitTest assembleDebug --rerun-tasks通过(41 tasks)。git diff --check通过。文档
Android-Agent-API-Contract并回读,revision:484a645058de780abe2ff2951afd25d38a03b74e。python dev_scripts/harness.py sync与python dev_scripts/harness.py sync --check均通过。CG30 安全演练
0.9.31。ACCESSIBILITY_NOT_READY失败;随后仅恢复安装前同一无障碍组件状态。rehearsal规则,未包含地址更新、创建订单、订单结果读取或支付动作。结果为RULE_ACTION_FAILED / 规则要求的有限滑动失败。openSpecPanel成功返回后的applyPostAction(swipeAfter)产生,因此已证明本次版本成功进入规格面板;未出现评价列表误跳错误,也未对入口重试。irreversible_at、order_submit_request_id、pdd_order_no、order_submitted_at均为空;未创建订单、未修改地址、未支付。CG-35 暴露的是规格面板打开后的既有
up×2后置滑动失败,属于 #164 Phase B 的相邻问题,不纳入 #166,避免扩大本单范围。结论:#166 的代码、自动化、Wiki 和 CG30 安全演练闭环已完成,现转待验收;工单保持打开,不自动关闭。