来源:用户于 2026-09-05 反馈,CG90 在 Agent 点击普通“重试采购”后被创建为不同任务 CG91;用户重申此前确认的规则是“普通重试不新建采购任务,只让原任务重新执行采购操作”,并明确要求修复。
purchase_task.id
/reset
/retry
AgentRetry → BatchRetry → Create
/api/agent/v1/purchase-tasks/{taskId}/reset
resetPurchaseTask
retryPurchaseTask
purchase_task
采购重试可能继续到创建待付款订单,属于高风险流程。本单只改重试请求分流和文案,不自动发起任务;不可逆边界存在时继续禁止普通重试,付款永久禁止。
复用现有列表/详情按钮、确认框、加载和结果反馈,仅纠正既有行为与文案。用户于 2026-09-05 明确确认普通重试应复用原任务并要求修复,无新增页面、导航或组件,按规则免完整原型。
需要修正 Gitea Wiki Business-Rules-and-Glossary 与 Android-Agent-API-Contract 的普通重试长期契约;在线更新并回读 revision 后同步本地镜像,执行一次 sync 与一次 sync --check。
Business-Rules-and-Glossary
Android-Agent-API-Contract
sync
sync --check
当前会话没有项目 Gitea MCP 工单/Wiki 写入工具,按规则回退本机配置的 Gitea API;凭据只从已忽略的 gitea.env 读取。
gitea.env
提交并推送分支 fix/225-in-place-purchase-retry:
fix/225-in-place-purchase-retry
9124e92
0.9.47 (60)
8f5ff45
b306f41
scripts/verify.ps1 -Component android
TestPurchaseReset|TestAgentRetry
git diff --check
python dev_scripts/harness.py check --strict
Business-Rules-and-Glossary@66dddbe756fd
Android-Agent-API-Contract@0c6d95d07adc
373bff7b3fe3eaa630c3787f8d488b9834a0aa31814245c78a8c60c54a7a1d9e
192.168.0.173:41751
当前 Gitea 更新接口要求 content_base64;首次按不兼容的 content 字段调用产生了两个空正文 revision。镜像同步立即发现异常,错误临时提交未合入且已删除;随后用现有完整镜像恢复线上全文,再以 content_base64 应用 #225 修改。最终在线正文长度、标题、revision 与镜像一致性均已复核,不存在空页遗留。
content_base64
content
No dependencies set.
The note is not visible to the blocked user.
原始需求摘要
来源:用户于 2026-09-05 反馈,CG90 在 Agent 点击普通“重试采购”后被创建为不同任务 CG91;用户重申此前确认的规则是“普通重试不新建采购任务,只让原任务重新执行采购操作”,并明确要求修复。
当前事实与根因
purchase_task.id,只新增 attempt。/reset改为/retry;该接口委托AgentRetry → BatchRetry → Create创建新任务。CG90 因此生成 CG91。/reset已具备同任务 attempt 归档、幂等、最新正式采购规则、不可逆边界、设备归属和映射完整性门禁,可直接恢复普通重试。目标
/api/agent/v1/purchase-tasks/{taskId}/reset,复用相同 task ID,仅新增 attempt。/retry创建新任务,重新读取当前商品/规格档案;两种行为和文案明确区分。非目标
前置依赖与并行性
/reset,保留 #217 已增加的“映射不完整不得进入 purchase attempt”安全门禁。实施方案
resetPurchaseTask;成功后显示相同 CG 编号和新的 attempt 序号。retryPurchaseTask,成功后明确显示源任务与新任务编号。/retry和 Admin 批量重试;服务端/reset门禁及 attempt 审计不放宽。验收标准
purchase_task。验证
风险与安全边界
采购重试可能继续到创建待付款订单,属于高风险流程。本单只改重试请求分流和文案,不自动发起任务;不可逆边界存在时继续禁止普通重试,付款永久禁止。
设计证据
复用现有列表/详情按钮、确认框、加载和结果反馈,仅纠正既有行为与文案。用户于 2026-09-05 明确确认普通重试应复用原任务并要求修复,无新增页面、导航或组件,按规则免完整原型。
文档影响
需要修正 Gitea Wiki
Business-Rules-and-Glossary与Android-Agent-API-Contract的普通重试长期契约;在线更新并回读 revision 后同步本地镜像,执行一次sync与一次sync --check。工具说明
当前会话没有项目 Gitea MCP 工单/Wiki 写入工具,按规则回退本机配置的 Gitea API;凭据只从已忽略的
gitea.env读取。任务记录
实施完成,待验收
提交并推送分支
fix/225-in-place-purchase-retry:9124e92:普通“重试采购”恢复调用/reset,复用原 task ID、新增 attempt;替代商品“继续采购”仍调用/retry创建新任务;更新确认、边界和成功反馈;Agent 版本提升为0.9.47 (60)。8f5ff45:同步普通重试业务规则。b306f41:同步 Agent API 契约。验证
scripts/verify.ps1 -Component android:Debug/Release 全部单元测试和 Debug APK 构建通过。TestPurchaseReset|TestAgentRetry:通过,确认既有同任务 attempt、幂等、业务快照不变、映射完整性和新任务继续采购门禁无回归。git diff --check、python dev_scripts/harness.py check --strict:通过。Business-Rules-and-Glossary@66dddbe756fd、Android-Agent-API-Contract@0c6d95d07adc,在线全文回读成功;独立干净 worktree 完成一次镜像同步和一次sync --check。373bff7b3fe3eaa630c3787f8d488b9834a0aa31814245c78a8c60c54a7a1d9e;已安装到192.168.0.173:41751,设备回读0.9.47 (60),无障碍服务启用。Wiki 写入恢复记录
当前 Gitea 更新接口要求
content_base64;首次按不兼容的content字段调用产生了两个空正文 revision。镜像同步立即发现异常,错误临时提交未合入且已删除;随后用现有完整镜像恢复线上全文,再以content_base64应用 #225 修改。最终在线正文长度、标题、revision 与镜像一致性均已复核,不存在空页遗留。安全与未验证