id, title, phase, deps, status, created, context_ref, work_branch, write_paths
| id |
title |
phase |
deps |
status |
created |
context_ref |
work_branch |
write_paths |
| T-223 |
待采购需求提取与任务生成 |
2 |
|
TODO |
2026-07-28 |
78dc595 |
null |
| backend-api/internal/domain/** |
| backend-api/internal/usecase/** |
| backend-api/internal/repository/sqlite/** |
| backend-api/internal/transport/httpapi/** |
| backend-api/internal/transport/webui/** |
| backend-api/migrations/** |
| docs/api.md |
| docs/routes.md |
| docs/tasks/T-223.md |
| docs/current-state.md |
|
问题 / 背景
货运明细是外部可变事实,采购任务是执行时不可变快照。两者之间需要可复核的采购
需求层,避免 ERP 重同步直接修改运行任务,也避免缺图、含糊 SKU 或错误数量进入
Roubao 队列。
关联需求与交互
- 功能:F-012
- 用户故事:US-012
- 交互:IX-013
- 架构/API:
procurement_requests、purchase_task_sources
方案
- 每个货运商品明细按来源 revision 生成一条 procurement request,不合并多 SKU。
- 确定性提取标题、规格/SKU 和正整数数量;优先保留原始
productSpec、
sku/variationSku,不调用 VLM 改写。
productThumb 仍无法解析时标记 NEEDS_IMAGE;Admin 使用现有受控图片上传并
绑定参考图后才能进入 READY。
- Admin 在详情核对标题、SKU、数量和图片后显式生成
purchase_task。使用
procurement request id + revision 作为幂等来源,重复点击返回同一任务。
- 来源更新不修改已有任务:未生成时追加新 revision;已生成后显示
SOURCE_CHANGED 并要求人员决定是否取消旧任务和生成新版本。
- 被取消、已采购或状态语义未确认的 ERP 明细默认不可生成,允许的状态值必须来自
脱敏样本/人工配置,不根据数字猜测。
验收要点
边界
- 不让 VLM 推断或修改 ERP SKU/数量。
- 不自动决定取消旧采购任务。
- 不抓取未经确认的第三方图片 URL。
执行记录
- 2026-07-28:任务合约已冻结,等待 T-222。