让当前 Android 设备能够从采购失败任务的列表或详情发起受控“重试采购”,减少必须回到 Admin 的操作步骤,同时避免清空旧任务、重复创建订单或绕过服务端安全校验。
两处复用同一确认、提交和结果流程,不实现两套业务逻辑。
标题:重试采购 CG-11?
重试采购 CG-11?
正文使用普通采购人员能理解的文字:
系统会保留原任务,并创建一个新的采购任务。重试可能创建新的拼多多待付款订单,但系统不会支付。
操作:
只有同时满足以下条件才允许重试:
failed
order_submit_started
order_result_unknown
重试不是重置旧任务:
pending
6a8d4607191a826306a7efec
prototypes/95/v1/index.html
原型阶段无长期事实变化:只写工单与版本化 HTML 证据,跳过 Wiki 更新。原型审核通过后的生产实施会改变 Agent 采购写操作边界和 API,必须更新 Business Rules、Architecture、Android Agent API Contract 与 Android 运行说明。
已按原型门禁开始设计,仅修改 QuantUX 与 prototypes/95/v1/index.html 审核证据,不编写 Android、Server、API 或数据库生产代码。设计复用 #87 v3,并覆盖失败列表/详情入口、确认、提交中、创建新任务成功、服务端拒绝和成功任务禁止重试。
9860b2a design(agent): add #95 purchase retry prototype
CG-11
CG-13
quantux_verify_export
PASS
runtimeErrors=0
python dev_scripts/harness.py check --strict
file://
状态:等待用户审核。
用户于 2026-08-26 明确确认 v1 原型通过审核。确认的设计证据:QuantUX App 6a8d4607191a826306a7efec、在线原型 https://qux.ilapage.cn/#/apps/6a8d4607191a826306a7efec.html、本地快照 prototypes/95/v1/index.html、提交 9860b2a。原型门禁现已解除;后续可按本工单确认范围实施 Server/API/Android,但正式采购真机验证仍需单独人工授权,永久禁止支付。#95 保持开启,等待生产实现与验收。
9860b2a
开始实施已审核的 v1 原型。范围固定为:Agent 采购失败任务在列表/详情单条重试;服务端保留旧失败任务并创建绑定当前设备的新任务;请求幂等;复用当前规格映射、价格保护、规则和安全边界校验。验证仅执行单元测试与构建,本阶段不调用真实重试接口、不创建真实采购任务或 PDD 订单,也不执行支付。
已按已审核 v1 原型完成生产实现并推送。
POST /api/agent/v1/purchase-tasks/{taskId}/retry
requestId
retryable
retryDisabledReason
go test ./app/goauto/purchase
.\gradlew.bat testDebugUnitTest assembleDebug
.\scripts\verify.ps1 -Component all
python dev_scripts/harness.py sync --check
新增测试覆盖同设备归属、跨设备拒绝、不可逆边界拒绝、旧任务保留、新任务固定设备、请求幂等,以及 Android 仅对服务端批准的失败任务显示入口和风险确认文案。
143cb9d565a297cf19e31b89e6d4a1fc809913dd
293ee8c705efbc41d4ce7d4a6f6631652cef9f83
4d953447be50aca5abbef5f208d024a516c8b60b
07ed2f2d05ad058406b7402304fd44b001bad198
5f2dd05
main
工单保持待验收。
真机安装补充:经用户明确要求,已将提交 5f2dd05 构建的 Debug APK 覆盖安装到一加 PKG110。安装前确认 Agent 为在线空闲且无活动任务;安装后核验版本为 0.6.0(versionCode 10),Device Token/设备配置保留,无障碍服务仍启用。覆盖安装会停止前台轮询服务,本次未自动打开 Agent、未调用采购重试接口、未创建采购任务或订单、未支付;功能验收仍待单独授权。
用户于 2026-08-28 明确确认本工单验收通过。按项目流程记录验收结论并关闭工单;本次仅更新工单状态,无新增长期文档事实,不重复同步 Wiki。
No dependencies set.
The note is not visible to the blocked user.
所属与来源
目标
让当前 Android 设备能够从采购失败任务的列表或详情发起受控“重试采购”,减少必须回到 Admin 的操作步骤,同时避免清空旧任务、重复创建订单或绕过服务端安全校验。
用户界面方案
两个入口
两处复用同一确认、提交和结果流程,不实现两套业务逻辑。
二次确认
标题:
重试采购 CG-11?正文使用普通采购人员能理解的文字:
操作:
提交结果
服务端安全边界(目标设计,待原型审核后实施)
只有同时满足以下条件才允许重试:
failed;order_submit_started不可逆边界;order_result_unknown;重试不是重置旧任务:
pending采购任务、新任务编号和新地址后缀;永久禁止
设计与可访问性
原型门禁
6a8d4607191a826306a7efec,在线地址:https://qux.ilapage.cn/#/apps/6a8d4607191a826306a7efec.htmlprototypes/95/v1/index.html,不得覆盖历史文件。后续实施范围(仅在原型通过后)
验收标准
风险
文档影响
原型阶段无长期事实变化:只写工单与版本化 HTML 证据,跳过 Wiki 更新。原型审核通过后的生产实施会改变 Agent 采购写操作边界和 API,必须更新 Business Rules、Architecture、Android Agent API Contract 与 Android 运行说明。
已按原型门禁开始设计,仅修改 QuantUX 与
prototypes/95/v1/index.html审核证据,不编写 Android、Server、API 或数据库生产代码。设计复用 #87 v3,并覆盖失败列表/详情入口、确认、提交中、创建新任务成功、服务端拒绝和成功任务禁止重试。v1 原型已完成,等待用户审核
设计证据
6a8d4607191a826306a7efecprototypes/95/v1/index.html9860b2a design(agent): add #95 purchase retry prototypev1 覆盖范围
CG-11保留、新任务CG-13、当前设备串行执行和新地址后缀。校验
quantux_verify_export:PASS,runtimeErrors=0,不支持组件为 0。python dev_scripts/harness.py check --strict:通过。file://本地页面,因此未伪造浏览器点击结果;已以 QuantUX 导出运行时验证和模型/静态检查替代。用户可通过在线原型人工审核完整点击流程。文档与代码边界
状态:等待用户审核。
用户于 2026-08-26 明确确认 v1 原型通过审核。确认的设计证据:QuantUX App
6a8d4607191a826306a7efec、在线原型 https://qux.ilapage.cn/#/apps/6a8d4607191a826306a7efec.html、本地快照prototypes/95/v1/index.html、提交9860b2a。原型门禁现已解除;后续可按本工单确认范围实施 Server/API/Android,但正式采购真机验证仍需单独人工授权,永久禁止支付。#95 保持开启,等待生产实现与验收。开始实施已审核的 v1 原型。范围固定为:Agent 采购失败任务在列表/详情单条重试;服务端保留旧失败任务并创建绑定当前设备的新任务;请求幂等;复用当前规格映射、价格保护、规则和安全边界校验。验证仅执行单元测试与构建,本阶段不调用真实重试接口、不创建真实采购任务或 PDD 订单,也不执行支付。
实施完成,待验收
已按已审核 v1 原型完成生产实现并推送。
实现
POST /api/agent/v1/purchase-tasks/{taskId}/retry,只接受 Device Token、路径任务 ID 和 UUIDrequestId。pending任务固定原设备并生成新任务号/地址后缀。retryable与可选retryDisabledReason。自动化验证
go test ./app/goauto/purchase:通过。.\gradlew.bat testDebugUnitTest assembleDebug:通过。.\scripts\verify.ps1 -Component all:通过(Web 既有 30 条 lint warning,无 error;Server 全量测试/构建、Web 构建、Android 测试/APK 均通过)。python dev_scripts/harness.py check --strict:通过。python dev_scripts/harness.py sync --check:通过。新增测试覆盖同设备归属、跨设备拒绝、不可逆边界拒绝、旧任务保留、新任务固定设备、请求幂等,以及 Android 仅对服务端批准的失败任务显示入口和风险确认文案。
Wiki
143cb9d565a297cf19e31b89e6d4a1fc809913dd293ee8c705efbc41d4ce7d4a6f6631652cef9f834d953447be50aca5abbef5f208d024a516c8b60b07ed2f2d05ad058406b7402304fd44b001bad198提交
5f2dd05feat: add safe agent purchase retry (#95)main。未执行
工单保持待验收。
真机安装补充:经用户明确要求,已将提交
5f2dd05构建的 Debug APK 覆盖安装到一加 PKG110。安装前确认 Agent 为在线空闲且无活动任务;安装后核验版本为 0.6.0(versionCode 10),Device Token/设备配置保留,无障碍服务仍启用。覆盖安装会停止前台轮询服务,本次未自动打开 Agent、未调用采购重试接口、未创建采购任务或订单、未支付;功能验收仍待单独授权。用户于 2026-08-28 明确确认本工单验收通过。按项目流程记录验收结论并关闭工单;本次仅更新工单状态,无新增长期文档事实,不重复同步 Wiki。