lili 847089b541 feat(m3a): 便宜档 Node 退役机制 U1-U4 本机交付(Python §6.1 worker + 后端路由契约/A2A/幂等)
M3a 退役机制 plan 经 Codex+Opus 双评审(needs-rework)→ 按创始人 A(全局 dispatcher
flag 整体翻转、不做 per-request 灰度)重写 → Opus 复审 minor-fixes → 发现项全数修复。

U1 Python §6.1 HTTP worker(cheap-worker/worker_service.py + result_out.py):
  202 投递握手 + 有界串行队列(治串行 worker 忙 409 误判)+ 三字段 result-out
  (gameConfig 占位 / engineBundle 承重含 __GameBundle / sourceProject best-effort 2.0)
  + HMAC 回调。27 单测 + 真生成 e2e 过九门 + 真网络回调。

U2 跨语言契约 slice test(CheapWorkerResultOutContractTest):反射调真
  validateSucceededPayload 过薄校验 + 真 CallbackSignatureVerifier HMAC。

U3 A2A 状态(additive):AigcTaskStatusEnum.toA2aStatus + app VO/RPC DTO a2aStatus
  字段(保留数字 status 不破坏调用方)+ Convert/ApiImpl backfill + 契约 aigc.yaml。

U4 创作请求级幂等(行业标准 idempotency):DO idempotencyKey + Flyway V26
  (列+唯一索引,NULL 多值=不去重)+ Mapper selectByIdempotency + submitGenerate dedup。

真验证抓到并修 2 个真 bug:① worker 回调走系统代理被 fake-ip 拦 502 → 禁代理 opener;
② result-out 顶层 costRmb 不在 DifyCallbackReqVO 字段内、后端严格拒未知 → 落 trace.cost。

验证:Python 27 测 + Java 21 测全绿(mvn BUILD SUCCESS)。
剩余 U2 真派发 / U4 真 DB / U5 待 mini-desktop 真部署。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 21:18:28 -07:00
..