fix(trade): 补 from None 修掉 ruff B904;附 integration 抢队列的复现结论
两件事,都源自组员 e3c316a(下单授权与适当性校验)合并之后: 1) ruff B904:app/service/trade_service.py 在 except 分支里抛 SuitabilityMismatchError 时没写 from None/from exc,门禁因此变红。 这里被捕获的是"风险等级字段解析失败",对上层没有诊断价值, 用 from None 截断因果链即可。 2) tests/integration 出现 2 个失败,**与代码无关**,是常驻 Agent Worker 抢队列: - 带 Worker 跑:102 passed / 2 failed - 停掉 Worker 跑:104 passed(已复现两次) 失败用例是 test_complete_run_rolls_back_every_write_on_outbox_conflict 与 test_cancel_is_idempotent_and_terminates_original_request,都是 run 队列相关 —— Worker 会把测试创建的 run 领走并执行,测试自己的状态机就乱了。 这正是 docs/20 与 AGENTS.md「跑验收前先停常驻 Worker」那条的实际复现, 顺手把结论写进 commit 备查:判断 integration 红不红之前,先确认 Worker 在不在跑。
This commit is contained in:
@@ -202,7 +202,7 @@ class TradeService:
|
||||
except (AttributeError, ValueError):
|
||||
raise SuitabilityMismatchError(
|
||||
f"产品 {getattr(product, 'product_code', '')} 风险等级无效,交易已拒绝"
|
||||
)
|
||||
) from None
|
||||
decision = await evaluate(
|
||||
SuitabilityToolInput(
|
||||
customer_id=str(customer_id),
|
||||
|
||||
Reference in New Issue
Block a user