lzf_0626
f3af00e645
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 在不在跑。
2026-09-13 19:30:59 +08:00
..
2026-09-13 19:17:56 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 17:26:18 +08:00
2026-09-11 20:28:21 +08:00
2026-09-12 13:14:57 +08:00
2026-09-11 22:31:51 +08:00
2026-09-11 15:08:37 +08:00
2026-09-11 14:12:56 +08:00
2026-09-11 16:42:31 +08:00
2026-09-11 20:50:41 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 17:32:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-12 13:14:57 +08:00
2026-09-11 14:46:40 +08:00
2026-09-11 16:11:30 +08:00
2026-09-11 16:11:30 +08:00
2026-09-11 16:11:30 +08:00
2026-09-11 14:46:40 +08:00
2026-09-11 14:44:29 +08:00
2026-09-10 09:23:22 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:12:38 +08:00
2026-09-10 21:43:39 +08:00
2026-09-12 12:50:14 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 13:11:58 +08:00
2026-09-10 18:42:44 +08:00
2026-09-11 22:31:51 +08:00
2026-09-11 14:46:40 +08:00
2026-09-11 14:46:40 +08:00
2026-09-10 22:08:15 +08:00
2026-09-12 11:15:24 +08:00
2026-09-11 18:42:42 +08:00
2026-09-11 16:57:47 +08:00
2026-09-10 20:22:42 +08:00
2026-09-11 19:47:14 +08:00
2026-09-12 14:11:42 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 22:31:51 +08:00
2026-09-11 16:57:47 +08:00
2026-09-12 12:50:14 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 20:15:17 +08:00
2026-09-12 12:20:01 +08:00
2026-09-12 12:50:14 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-10 09:23:22 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 16:42:31 +08:00
2026-09-11 19:20:32 +08:00
2026-09-11 12:47:01 +08:00
2026-09-12 12:10:10 +08:00
2026-09-11 12:47:01 +08:00
2026-09-13 18:54:09 +08:00
2026-09-10 21:58:42 +08:00
2026-09-12 10:45:40 +08:00
2026-09-11 16:42:31 +08:00
2026-09-10 21:55:03 +08:00
2026-09-10 21:58:42 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 17:26:18 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-12 15:37:36 +08:00
2026-09-11 21:22:56 +08:00
2026-09-11 14:14:50 +08:00
2026-09-10 21:03:44 +08:00
2026-09-10 21:03:44 +08:00
2026-09-13 19:17:56 +08:00
2026-09-12 15:56:50 +08:00
2026-09-11 14:16:07 +08:00
2026-09-11 11:42:53 +08:00
2026-09-11 14:24:45 +08:00
2026-09-10 21:03:44 +08:00
2026-09-12 15:56:50 +08:00
2026-09-11 16:40:15 +08:00
2026-09-11 12:57:07 +08:00
2026-09-11 09:49:21 +08:00
2026-09-12 16:30:56 +08:00
2026-09-12 15:56:50 +08:00
2026-09-11 19:37:26 +08:00
2026-09-11 21:17:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 21:03:58 +08:00
2026-09-11 16:57:47 +08:00
2026-09-13 19:30:59 +08:00