k88936
93202f2f91
前端:发送队列放行与埋点结算改听回合终态
- reducer 新增 `completedTurnCount`(单调计数):一轮可能在同一次 consume 里开始并结束,
下降沿不可靠,收口是**状态**不是转移
- 队列放行只在"回合终态或拒绝接单"发生;命令返回不再驱动出队
(接单被拒仍当场出队,权限被拒等从未发出的路径保持原样)
- 埋点结算挂到回合终态:接单返回时成绩还没入账,句柄因此活过命令返回;
拒单只丢句柄、不发一次注定被丢弃的结算
- 本地在途标签活到宿主认领这一轮(身份命中 / 出现开始事件 / 收口计数变化),
"命令返回"不再等于"这一轮结束",命令与开始事件之间不再有可发送的空窗
- 删掉 `markTurnStopped()`:终止成功的回合边界由宿主写的兜底终态收口
- 删掉 `turn.started` 的"重复起点保留第一次"兼容分支(接单只发一次开始事件)
- 同步注释:发送时序、待认领窗口、`commandInFlight` 的真实含义
- 测试:队列用例改用终态事件驱动,认证失败用例断言拒单不结算,reducer 补收口计数用例
2026-09-23 21:54:53 +08:00
..
2026-09-23 21:54:53 +08:00
2026-09-21 21:09:34 +08:00
2026-09-18 14:34:10 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 21:59:44 +08:00
2026-09-21 11:36:02 +08:00
2026-09-16 07:09:12 +08:00
2026-08-24 21:44:44 +08:00
2026-09-21 21:09:34 +08:00
2026-09-20 14:49:57 +08:00
2026-09-20 22:49:56 +08:00
2026-09-19 01:28:27 +08:00
2026-08-20 19:07:25 +08:00
2026-09-19 01:28:27 +08:00
2026-09-22 16:59:36 +08:00
2026-09-22 16:25:51 +08:00
2026-09-16 06:03:16 +08:00
2026-09-22 16:01:54 +08:00
2026-09-23 00:09:12 +08:00
2026-09-19 16:19:28 +08:00
2026-09-21 01:52:35 +08:00
2026-09-21 01:52:35 +08:00
2026-09-14 13:56:56 +08:00
2026-08-11 14:34:42 +08:00
2026-09-13 14:48:55 +08:00
2026-08-20 19:07:25 +08:00
2026-09-19 21:59:44 +08:00
2026-09-16 16:39:15 +08:00
2026-09-12 06:41:49 +00:00
2026-09-21 22:49:21 +08:00
2026-09-17 17:56:53 +08:00
2026-09-14 21:02:08 +08:00
2026-09-19 21:59:44 +08:00
2026-09-19 15:08:31 +08:00
2026-09-19 15:08:31 +08:00
2026-09-19 15:08:31 +08:00
2026-09-22 16:45:29 +08:00
2026-09-22 14:07:07 +08:00
2026-09-22 14:06:20 +08:00
2026-09-23 00:09:12 +08:00
2026-09-23 21:54:53 +08:00
2026-09-22 14:06:20 +08:00
2026-09-21 21:09:34 +08:00
2026-09-07 15:17:21 +08:00
2026-09-21 21:09:34 +08:00
2026-09-07 15:17:21 +08:00
2026-08-20 19:07:25 +08:00
2026-09-17 17:56:53 +08:00
2026-09-22 17:12:04 +08:00
2026-09-20 22:19:50 +08:00
2026-09-20 22:19:50 +08:00
2026-09-22 13:51:30 +08:00
2026-09-15 12:14:03 +08:00
2026-09-23 00:09:12 +08:00
2026-09-03 20:02:48 +08:00
2026-07-20 05:50:24 +08:00
2026-09-03 10:35:23 +08:00
2026-09-10 13:08:29 +08:00
2026-09-20 17:38:48 +08:00
2026-09-13 14:48:55 +08:00
2026-09-22 13:51:30 +08:00
2026-09-12 16:31:55 +08:00
2026-09-10 18:48:56 +08:00
2026-08-13 13:36:21 +08:00
2026-09-21 03:48:40 +08:00
2026-09-18 14:10:05 +08:00
2026-09-15 10:37:47 +08:00
2026-09-22 16:01:54 +08:00
2026-09-21 21:09:34 +08:00
2026-09-17 15:46:43 +08:00
2026-09-20 10:07:31 +08:00
2026-08-20 19:07:25 +08:00
2026-09-21 01:48:19 +08:00
2026-09-14 13:19:13 +08:00
2026-09-22 17:24:24 +08:00
2026-09-21 11:15:02 +08:00
2026-09-21 01:23:35 +08:00
2026-09-12 20:49:03 +08:00
2026-09-19 01:50:09 +08:00
2026-09-19 01:50:09 +08:00
2026-09-14 11:32:17 +08:00
2026-09-17 18:18:32 +08:00
2026-09-11 23:33:08 +08:00
2026-09-09 16:09:39 +08:00
2026-09-21 22:56:32 +08:00
2026-09-20 23:32:09 +08:00
2026-09-22 16:01:54 +08:00
2026-09-22 12:50:19 +08:00
2026-09-22 10:29:53 +08:00
2026-09-12 20:49:03 +08:00
2026-09-21 22:56:32 +08:00
2026-09-21 11:58:13 +08:00
2026-09-21 01:23:35 +08:00
2026-09-21 01:33:06 +08:00
2026-09-21 03:37:43 +08:00
2026-09-19 21:59:44 +08:00
2026-09-11 21:31:30 +08:00
2026-09-11 20:29:45 +08:00
2026-09-21 00:19:42 +08:00
2026-09-20 23:32:09 +08:00
2026-09-22 16:01:54 +08:00
2026-09-21 11:58:13 +08:00
2026-09-21 12:34:47 +08:00
2026-09-20 23:32:09 +08:00
2026-09-21 12:34:47 +08:00
2026-09-22 12:50:19 +08:00
2026-09-21 11:58:13 +08:00
2026-09-17 17:47:11 +08:00
2026-09-11 16:42:40 +08:00
2026-07-31 12:00:48 +08:00
2026-09-19 01:28:27 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 01:50:09 +08:00
2026-09-22 16:13:10 +08:00
2026-09-20 17:36:02 +08:00
2026-09-21 01:23:35 +08:00
2026-09-12 20:49:03 +08:00
2026-09-19 01:28:27 +08:00
2026-09-10 21:00:54 +08:00
2026-09-21 01:23:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 01:28:27 +08:00
2026-09-21 06:21:19 +08:00
2026-09-21 01:23:35 +08:00
2026-09-19 01:50:09 +08:00
2026-09-17 20:28:39 +08:00
2026-08-12 10:54:16 +08:00
2026-09-21 01:23:35 +08:00
2026-09-16 03:59:27 +08:00
2026-09-16 17:39:23 +08:00
2026-09-20 17:36:02 +08:00
2026-08-12 10:54:16 +08:00
2026-09-13 14:07:03 +08:00
2026-09-11 20:29:45 +08:00
2026-09-17 19:01:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 01:28:27 +08:00
2026-09-19 01:28:27 +08:00
2026-09-20 17:36:02 +08:00
2026-09-22 16:01:54 +08:00
2026-09-22 16:01:54 +08:00
2026-09-21 21:09:34 +08:00
2026-08-12 13:14:55 +08:00
2026-09-19 21:59:44 +08:00
2026-09-21 01:23:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-12 15:30:38 +08:00
2026-09-19 21:59:44 +08:00
2026-09-22 13:51:30 +08:00
2026-09-22 13:51:30 +08:00
2026-09-22 12:50:19 +08:00
2026-09-23 00:09:12 +08:00
2026-09-16 05:42:20 +08:00
2026-09-14 14:34:33 +08:00
2026-09-23 00:09:12 +08:00
2026-09-10 13:08:29 +08:00
2026-09-14 21:02:08 +08:00
2026-09-13 14:48:55 +08:00
2026-09-13 14:07:03 +08:00
2026-07-30 18:01:19 +08:00
2026-07-30 18:01:19 +08:00
2026-09-12 17:23:22 +08:00
2026-09-20 14:49:57 +08:00
2026-09-17 17:48:06 +08:00
2026-09-17 17:48:06 +08:00
2026-09-20 12:12:49 +08:00
2026-08-20 19:07:25 +08:00
2026-09-03 19:36:18 +08:00
2026-09-15 18:06:27 +08:00
2026-08-20 19:07:25 +08:00
2026-08-20 19:07:25 +08:00
2026-08-20 19:07:25 +08:00
2026-09-08 11:56:36 +08:00
2026-09-23 00:09:12 +08:00
2026-09-10 13:08:29 +08:00
2026-09-10 13:08:29 +08:00
2026-08-20 19:07:25 +08:00
2026-09-10 13:08:29 +08:00
2026-09-19 12:29:27 +08:00
2026-09-10 13:08:29 +08:00
2026-09-18 13:25:18 +08:00
2026-09-19 01:28:27 +08:00
2026-09-20 17:36:02 +08:00
2026-09-20 12:12:49 +08:00
2026-08-08 10:25:02 +08:00
2026-09-16 03:39:21 +08:00
2026-09-19 15:08:31 +08:00
2026-09-21 01:23:35 +08:00
2026-09-10 15:11:29 +08:00
2026-09-22 02:24:47 +08:00
2026-09-21 21:09:34 +08:00