collection_task.id
source=agent_current_page
status=failed
PDD_COPY_LINK_UNAVAILABLE
agent_current_page
rule_snapshot
failed
collection_task
attempt_number
collection_task_attempt
task_id + attempt_number
rule_id
pending
taskId
deviceId
ruleSnapshot
attemptNumber
有长期事实变化,待实施时更新:
Business-Rules-and-Glossary
Agent-API-Contract
实施完成后按 Wiki-first 规则在线更新并回读 revision,再执行一次 harness.py sync 与一次 sync --check。
harness.py sync
sync --check
已收到用户于 2026-08-29 的明确授权:授权 #155 按工单方案实施数据库迁移。
授权 #155 按工单方案实施数据库迁移
设计证据采用既有界面复用:
因此本工单属于既有组件的小范围行为/文案扩展,不建立新的完整原型。Gitea MCP 当前已恢复可用,后续评论与 Wiki 操作切回 MCP。
已按确认方案完成 #155,并推送到 main。
main
本机数据库迁移已执行成功:
1787983500000
go test ./...
testDebugUnitTest assembleDebug
build:prod
python dev_scripts/harness.py check --strict
git diff --check
verify.ps1 -Component all
web/src/views/goauto/purchase-tasks/index.vue
已更新、在线回读并同步本地镜像:
d8444503e7d5828d05fc7cdce5c6f503bb08adbc
ec45e8baa2f55221bee3f9d6951379178020de17
fdc3e2871913ea7c64fa9729296ce41273866c2b
cc326eb feat(#155): reuse failed collection tasks by attempt
origin/main
0.9.27 (40)
当前授权仅包含数据库迁移,未执行 Admin/API 重启或发布。因此尚未用任务 #99 完成“同任务 ID 重置并再次采集”的真机端到端验证,避免新 Agent 与旧服务端混合验证。工单保持待验收。
用户于 2026-08-29 明确确认本工单通过验收。验收结论已记录,现关闭工单。没有新的长期事实变化,本次不重复同步 Wiki。
No dependencies set.
The note is not visible to the blocked user.
需求来源
collection_task.id,不创建新采集任务;旧次执行信息必须可追溯。source=agent_current_page、status=failed,在商品身份识别前因PDD_COPY_LINK_UNAVAILABLE失败,目前客户端详情未提供“重新采集”。当前事实与根因
agent_current_page,并要求任务已有 PDD 商品。agent_current_page。rule_snapshot,无法满足“更新规则/代码后按最新规则重采且保留旧次审计”。目标
failed采集任务均可在 Agent 列表和详情发起“重新采集”。非目标
依赖与关系
实施方案
1. 数据模型与执行审计(需数据库迁移授权)
collection_task增加attempt_number,历史任务默认/回填为 1。collection_task_attempt(最终命名以项目迁移规范为准),按task_id + attempt_number唯一保存已结束 attempt 的最小审计信息:rule_id、规则快照(或等价可复核快照);pending。2. 最新规则快照
rule_id读取当前有效规则内容并生成新快照;规则已删除或停用时明确拒绝,不退回旧快照。rule_id与rule_snapshot;没有可用默认规则时明确拒绝。taskId、deviceId、当次ruleSnapshot、attemptNumber关联。3. 服务端重置
agent_current_page的失败任务重置限制,不再要求其在重置前必须已有 PDD 商品。failed、设备归属/在线/空闲、同设备串行、采集/采购冲突、同商品活动任务冲突和任务租约。collection_task。4. Android Agent
5. API 与契约
attemptNumber(若现有 DTO 已覆盖则复用)。验收标准
验证计划
风险与门禁
文档影响
有长期事实变化,待实施时更新:
Business-Rules-and-Glossary:所有失败任务允许复用原任务重采、attempt 审计、最新规则与当前页身份规则。Agent-API-Contract:reset、attemptNumber、幂等和当前页来源契约。实施完成后按 Wiki-first 规则在线更新并回读 revision,再执行一次
harness.py sync与一次sync --check。已收到用户于 2026-08-29 的明确授权:
授权 #155 按工单方案实施数据库迁移。设计证据采用既有界面复用:
因此本工单属于既有组件的小范围行为/文案扩展,不建立新的完整原型。Gitea MCP 当前已恢复可用,后续评论与 Wiki 操作切回 MCP。
实施完成,等待验收
已按确认方案完成 #155,并推送到
main。实现结果
attemptNumber,事务归档旧执行的规则快照、状态、错误和结果摘要。数据库
本机数据库迁移已执行成功:
1787983500000collection_task_attempt执行审计表验证
go test ./...:通过testDebugUnitTest assembleDebug:通过build:prod:通过(仅既有 CSS/分包警告)python dev_scripts/harness.py check --strict:通过git diff --check:通过verify.ps1 -Component all的服务端阶段通过;Web 全量 lint 被与本工单无关的既有文件web/src/views/goauto/purchase-tasks/index.vue24 个 tab/space 错误阻断,本工单文件的定向 lint 已通过。Wiki
已更新、在线回读并同步本地镜像:
d8444503e7d5828d05fc7cdce5c6f503bb08adbcec45e8baa2f55221bee3f9d6951379178020de17fdc3e2871913ea7c64fa9729296ce41273866c2b交付
cc326eb feat(#155): reuse failed collection tasks by attemptorigin/main0.9.27 (40)尚未验证
当前授权仅包含数据库迁移,未执行 Admin/API 重启或发布。因此尚未用任务 #99 完成“同任务 ID 重置并再次采集”的真机端到端验证,避免新 Agent 与旧服务端混合验证。工单保持待验收。
用户于 2026-08-29 明确确认本工单通过验收。验收结论已记录,现关闭工单。没有新的长期事实变化,本次不重复同步 Wiki。