wecom-fullstack
52b693ddbb
ASK-20260924-15/17: Bot 通道缺省账套→400 + 差异/趋势入口期间口径回落
- deps.get_entity_id: Bot 通道(带 X-BOT-KEY)无显式账套 → 400(旧为兜底 entity 1=酣客);
无 key 的存量公开/用户端点行为不变(仍 401/兜底 1)
- 新增 deps.require_bot_entity_id():写端点缺省账套一处收口 → 400(406/422 同族)
接入 bot_bridge(×2) / bot_bridge_v2 / bot_suggestions / cash_vouchers_json,并同步文档口径
- deviation_engine.run_deviation_check: period=None 不再硬编码当月,逐 KPI 回落
「该 KPI 自己的最近可用期间」(裁定2b,单一实现收口到 alert_entity_scope);(当月无
kpi_values ⇒ 差异/趋势入口永久 0 新增);R2/R3 窗口判定改为逐 KPI;显式 period 语义不变
- alert_generator.resolve_latest_period 委托同一实现(消除期间口径两份)
- 测试:新增 tests/test_ask15_17_engine_and_entity_required_20260925.py(12 例);
4 个既有测试文件把「旧兜底账套 1」显式化(断言未改)
2026-09-25 22:42:25 +08:00
..
2026-09-14 17:39:53 +08:00
2026-09-11 17:25:24 +08:00
2026-09-15 18:12:05 +08:00
2026-08-28 09:59:07 +08:00
2026-09-16 06:53:28 +08:00
2026-08-31 15:33:07 +08:00
2026-08-31 15:33:07 +08:00
2026-08-31 15:33:07 +08:00
2026-07-12 17:46:08 +08:00
2026-07-12 17:46:08 +08:00
2026-08-31 15:33:07 +08:00
2026-07-12 17:46:08 +08:00
2026-08-31 15:33:07 +08:00
2026-08-31 07:44:00 +08:00
2026-05-28 17:32:22 +08:00
2026-09-25 22:42:25 +08:00
2026-07-12 17:46:08 +08:00
2026-09-14 16:41:15 +08:00
2026-09-16 23:46:48 +08:00
2026-09-11 19:33:52 +08:00
2026-08-10 23:56:14 +08:00
2026-08-31 17:05:21 +08:00
2026-09-12 23:34:35 +08:00
2026-09-12 23:34:35 +08:00
2026-08-30 12:05:36 +08:00
2026-07-12 17:46:08 +08:00
2026-08-31 15:33:07 +08:00
2026-08-31 15:33:07 +08:00
2026-08-27 15:51:19 +08:00
2026-09-03 18:15:05 +08:00
2026-05-28 17:32:22 +08:00
2026-09-16 14:39:54 +08:00
2026-07-14 16:02:33 +08:00
2026-07-14 16:02:33 +08:00
2026-06-05 07:51:20 +08:00
2026-07-14 16:02:33 +08:00
2026-09-23 23:08:26 +08:00
2026-06-05 07:51:20 +08:00
2026-07-12 17:46:08 +08:00
2026-08-31 15:33:07 +08:00
2026-09-12 23:34:35 +08:00
2026-09-11 17:25:24 +08:00
2026-08-28 09:59:07 +08:00
2026-07-12 17:46:08 +08:00
2026-07-29 18:16:37 +08:00
2026-09-23 16:20:43 +08:00
2026-09-12 23:34:35 +08:00
2026-09-12 23:34:35 +08:00
2026-09-16 01:17:09 +08:00
2026-09-23 18:29:52 +08:00
2026-09-14 17:25:49 +08:00
2026-09-25 07:07:01 +08:00
2026-07-14 16:02:33 +08:00
2026-07-14 16:02:33 +08:00
2026-09-14 18:21:33 +08:00
2026-09-25 10:39:18 +08:00
2026-09-14 19:05:16 +08:00
2026-09-23 21:39:24 +08:00
2026-09-23 21:39:24 +08:00
2026-07-22 17:43:59 +08:00
2026-09-22 11:06:02 +08:00
2026-08-27 15:51:19 +08:00
2026-09-12 23:34:35 +08:00
2026-09-15 18:12:05 +08:00
2026-09-23 18:29:52 +08:00
2026-07-14 16:02:33 +08:00
2026-09-25 10:39:18 +08:00
2026-08-27 10:59:56 +08:00
2026-07-14 17:32:22 +08:00
2026-07-21 23:41:40 +08:00
2026-09-11 19:33:52 +08:00
2026-08-04 15:35:15 +08:00
2026-09-23 21:39:24 +08:00
2026-08-30 19:16:19 +08:00
2026-09-12 01:03:31 +08:00
2026-08-30 12:05:36 +08:00
2026-07-12 17:46:08 +08:00
2026-06-05 07:51:20 +08:00
2026-07-12 17:46:08 +08:00
2026-07-16 16:39:24 +08:00
2026-08-28 07:18:54 +08:00
2026-07-12 17:46:08 +08:00
2026-09-12 23:34:35 +08:00
2026-07-12 17:46:08 +08:00
2026-07-21 17:30:50 +08:00
2026-07-12 17:46:08 +08:00
2026-08-11 00:11:25 +08:00
2026-07-13 09:52:06 +08:00
2026-07-21 17:22:43 +08:00
2026-08-19 22:58:10 +08:00
2026-07-14 16:02:33 +08:00
2026-07-14 16:02:33 +08:00
2026-09-16 14:59:02 +08:00
2026-09-18 06:04:48 +08:00
2026-09-15 20:02:56 +08:00
2026-09-03 18:41:44 +08:00
2026-07-14 16:02:33 +08:00
2026-09-08 13:43:20 +08:00
2026-09-12 20:35:20 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 18:44:39 +08:00
2026-09-14 17:39:53 +08:00
2026-09-13 07:38:58 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-09-15 18:12:05 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-09-16 01:17:09 +08:00
2026-09-14 17:39:53 +08:00
2026-09-16 00:38:01 +08:00
2026-09-14 17:39:53 +08:00
2026-09-11 17:25:24 +08:00
2026-09-06 16:47:25 +08:00