Client 的数据模型认识 purchase,但真实 HTTP 领取请求仍强制只声明 collect,自动获取流程也只分派给 CollectTaskService。在 #71 的采购演练执行器完成前不能放开;完成后需要让 Client 仅在演练能力真实可用时安全领取 Admin 指定的采购任务,并在领取后先可靠保存,再按任务类型分派。
purchase
collect
CollectTaskService
task_type
purchase_mode
dry_run
claimed
live
ClaimCapabilities
supported_types
TaskDispatcher
预计修改:admin_gateway.py、http_admin_gateway.py、自动获取/事件协调层、任务分派器、Repository/模型必要校验、Mock/HTTP/事件层测试和 Client 文档。
admin_gateway.py
http_admin_gateway.py
collect,purchase
purchase_mode=dry_run
从 client/ 执行:
client/
C:/Python310/python.exe -m py_compile src/admin_gateway.py src/http_admin_gateway.py $env:QT_QPA_PLATFORM="offscreen" C:/Python310/python.exe -m unittest discover -s test -p "test_admin_gateway_contract.py" -v C:/Python310/python.exe -m unittest discover -s test -p "test_http_admin_gateway.py" -v C:/Python310/python.exe -m unittest discover -s test -p "test_*task*.py" -v C:/Python310/python.exe -m unittest discover -s test -p "test_*.py" Remove-Item Env:QT_QPA_PLATFORM
联调 Admin:创建并指定一条 purchase 任务,确认 Client 领取后 Admin 为 claimed、本地存在同一稳定任务 ID,且执行模式为演练。不得执行真实下单。
实施进度:领取、持久化和按类型分派主链已完成,正在提交和归档。
实现与归档已完成,等待用户验收。
f201bcc feat: 安全领取并分派采购任务 (#72)
d6339a8 docs: 归档任务 #72
docs/task/72-安全领取并分派采购任务.md
用户已于 2026-08-11 明确验收通过。
eca9289
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
Client 的数据模型认识
purchase,但真实 HTTP 领取请求仍强制只声明collect,自动获取流程也只分派给CollectTaskService。在 #71 的采购演练执行器完成前不能放开;完成后需要让 Client 仅在演练能力真实可用时安全领取 Admin 指定的采购任务,并在领取后先可靠保存,再按任务类型分派。做什么 / 不做什么
做
task_type把本地任务交给采集或采购应用服务。purchase。purchase_mode固定上报dry_run;真实下单能力不声明、不开放。claimed的任务。不做
live,不真实下单、不付款。已确认的实现方案
ClaimCapabilities。supported_types。TaskDispatcher或等价的直白分派服务;采集与采购保持独立执行器。预计修改:
admin_gateway.py、http_admin_gateway.py、自动获取/事件协调层、任务分派器、Repository/模型必要校验、Mock/HTTP/事件层测试和 Client 文档。验收标准
collect。collect,purchase,且purchase_mode=dry_run。怎么验证
从
client/执行:联调 Admin:创建并指定一条
purchase任务,确认 Client 领取后 Admin 为claimed、本地存在同一稳定任务 ID,且执行模式为演练。不得执行真实下单。风险和回退
claimed后本地保存失败不能静默忽略,必须停止自动获取并提示人工处理。purchase_mode固定dry_run,不得读取调试参数改成live。实施进度:领取、持久化和按类型分派主链已完成,正在提交和归档。
TaskDispatcher集中构造能力:默认只声明collect;仅在设备和采购演练 Adapter 都就绪时声明purchasepurchase_mode固定为dry_run实现与归档已完成,等待用户验收。
f201bcc feat: 安全领取并分派采购任务 (#72)d6339a8 docs: 归档任务 #72docs/task/72-安全领取并分派采购任务.md用户已于 2026-08-11 明确验收通过。
eca9289