licheer-zte
a32e81c8e8
fix(model-fallback): treat empty non-GPT completions as failed candidates ( #120132 ) ( #120148 )
...
* fix(model-fallback): treat empty non-GPT completions as failed candidates (#120132 )
Empty and whitespace-only completions from non-GPT models were counted as
candidate_succeeded, silently dropping the turn on visible channels. Apply
the empty/reasoning-only classification to every model; deliberate silent
replies and committed outbound deliveries remain successful.
* fix(model-fallback): classify mixed reasoning-plus-blank completions as failed (#120148 )
A completion like [{ isReasoning: true, text: "thinking" }, { text: " " }]
carries no user-visible reply: reasoning text is invisible to the shared
visibility test (includeReasoningPayloads: false), so counting it as visible
made the run look successful and silently ended visible-channel turns.
Filter reasoning payloads out of the empty/whitespace predicate so mixed
reasoning-plus-blank results classify as empty_result (fallback-worthy),
while mixed reasoning-plus-visible-text results stay successful.
Regression tests: mixed reasoning+blank -> empty_result; mixed
reasoning+visible -> success.
* fix(model-fallback): require deliverable assistant results
Use one owner-boundary deliverability predicate for fallback classification, preserve intentional terminal outcomes, and add a mock-channel Gateway scenario for mixed reasoning-plus-blank recovery.\n\nCo-authored-by: 李琪0668001400 <li.qi16@xydigit.com >
* chore: preserve contributor credit
Co-authored-by: 李琪0668001400 <li.qi16@xydigit.com >
* test(qa): cover default model fallback scenario
Make the mixed reasoning-plus-blank fixture recover through both the catalog default alternate and the explicit proof model.
Co-authored-by: 李琪0668001400 <li.qi16@xydigit.com >
---------
Co-authored-by: licheer-zte <licheer-zte@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-08 07:48:17 -07:00
..
2026-08-08 15:16:44 +08:00
2026-07-30 13:56:34 +08:00
2026-08-08 07:48:17 -07:00
2026-07-27 19:24:52 -04:00
2026-07-27 19:24:52 -04:00
2026-07-28 13:26:04 -04:00
2026-08-06 17:00:28 -07:00
2026-07-27 19:24:52 -04:00
2026-07-28 13:26:04 -04:00
2026-07-28 13:26:04 -04:00
2026-07-28 13:26:04 -04:00
2026-07-13 19:32:13 -07:00
2026-07-26 07:27:54 -04:00
2026-08-04 22:48:25 -07:00
2026-08-05 05:34:43 -07:00
2026-07-29 12:45:27 -04:00
2026-07-29 12:45:27 -04:00
2026-08-05 09:30:42 -07:00
2026-08-05 05:34:43 -07:00
2026-08-05 09:30:42 -07:00
2026-07-25 14:01:42 -07:00
2026-07-25 14:01:42 -07:00
2026-08-06 17:00:28 -07:00
2026-08-02 21:25:19 -07:00
2026-07-16 08:35:42 -07:00
2026-07-16 08:35:42 -07:00
2026-07-28 16:42:05 -04:00
2026-07-28 22:23:41 +08:00
2026-08-06 08:33:02 +08:00
2026-08-06 19:51:28 +08:00
2026-07-28 22:23:41 +08:00
2026-07-28 22:23:41 +08:00
2026-07-29 04:10:06 -04:00
2026-07-27 21:05:41 -04:00
2026-07-27 21:05:41 -04:00
2026-08-07 08:45:26 +08:00
2026-08-07 08:45:26 +08:00
2026-07-28 16:47:12 +08:00
2026-07-28 16:47:12 +08:00
2026-07-22 16:28:44 +09:00
2026-07-28 16:42:05 -04:00
2026-07-28 22:23:41 +08:00
2026-07-13 01:55:12 -07:00
2026-07-14 01:48:30 -07:00
2026-08-05 05:34:43 -07:00
2026-08-05 05:34:43 -07:00
2026-08-04 20:23:31 -07:00
2026-07-29 12:59:42 +08:00
2026-08-05 08:01:58 -07:00
2026-07-24 01:24:03 -05:00
2026-07-24 01:24:03 -05:00
2026-07-27 14:05:14 +08:00
2026-07-27 14:05:14 +08:00
2026-07-16 05:51:38 -07:00
2026-07-16 05:51:38 -07:00
2026-08-05 08:01:58 -07:00
2026-07-19 15:48:53 -07:00
2026-07-19 15:48:53 -07:00
2026-07-23 08:46:55 -04:00
2026-07-16 03:50:30 -07:00
2026-08-06 08:33:02 +08:00
2026-08-06 08:33:02 +08:00
2026-08-05 16:28:10 +10:00
2026-08-07 13:52:59 +08:00
2026-08-08 15:16:44 +08:00
2026-07-30 17:44:27 -07:00
2026-07-30 17:44:27 -07:00
2026-07-11 06:30:57 -07:00
2026-07-13 00:34:46 -07:00
2026-07-14 17:42:34 -07:00
2026-07-29 04:10:06 -04:00
2026-08-07 13:52:59 +08:00
2026-08-07 13:52:59 +08:00
2026-07-13 19:32:13 -07:00
2026-07-13 19:32:13 -07:00
2026-07-19 11:51:24 -07:00
2026-07-19 11:51:24 -07:00
2026-07-30 02:59:06 -05:00
2026-07-18 18:08:16 +01:00
2026-07-18 18:08:16 +01:00
2026-07-27 11:00:59 +08:00
2026-07-27 11:00:59 +08:00
2026-07-11 06:30:57 -07:00
2026-07-12 09:17:31 +01:00
2026-08-06 08:33:02 +08:00
2026-08-06 19:51:28 +08:00
2026-08-05 06:57:21 +08:00
2026-08-06 17:52:37 -07:00
2026-08-04 07:07:27 +08:00
2026-07-13 00:34:46 -07:00
2026-07-18 08:23:34 +01:00
2026-07-18 08:23:34 +01:00
2026-07-06 23:13:21 -07:00
2026-07-15 13:14:35 -07:00
2026-07-13 11:07:35 -07:00
2026-07-13 19:32:13 -07:00
2026-07-13 19:32:13 -07:00
2026-07-15 18:18:23 -07:00
2026-07-25 13:26:51 -07:00
2026-07-25 13:26:51 -07:00
2026-07-18 09:35:16 +01:00
2026-07-18 09:35:16 +01:00
2026-07-24 20:55:54 +00:00
2026-07-30 07:06:17 +08:00
2026-08-08 06:46:19 -07:00
2026-08-08 15:16:44 +08:00
2026-08-08 15:16:44 +08:00
2026-08-08 15:16:44 +08:00
2026-08-08 15:16:44 +08:00
2026-07-16 16:54:54 -07:00
2026-07-16 16:54:54 -07:00
2026-07-16 16:54:54 -07:00
2026-08-06 08:33:02 +08:00
2026-08-06 08:33:02 +08:00
2026-08-06 19:51:28 +08:00
2026-08-03 17:22:29 +08:00
2026-07-16 00:45:23 -07:00
2026-07-14 17:42:34 -07:00
2026-07-14 17:42:34 -07:00
2026-07-15 19:24:55 -07:00
2026-07-15 19:24:55 -07:00
2026-08-05 05:34:43 -07:00
2026-08-05 08:01:58 -07:00
2026-08-08 01:45:44 -07:00
2026-07-07 04:56:07 +01:00
2026-07-07 04:56:07 +01:00
2026-08-05 09:56:06 +08:00
2026-08-05 09:56:06 +08:00
2026-08-06 19:51:28 +08:00
2026-08-06 19:51:28 +08:00
2026-08-05 09:30:42 -07:00
2026-08-05 09:30:42 -07:00
2026-07-13 09:25:45 -07:00
2026-08-03 12:46:17 -07:00
2026-08-03 12:46:17 -07:00
2026-07-28 13:00:22 -04:00
2026-07-28 13:00:22 -04:00
2026-07-31 09:00:44 -07:00
2026-07-31 09:00:44 -07:00
2026-08-06 19:51:28 +08:00
2026-08-06 19:51:28 +08:00
2026-07-15 14:36:20 -07:00
2026-08-06 19:51:28 +08:00
2026-07-30 16:37:54 +00:00
2026-07-28 13:26:04 -04:00
2026-07-27 14:09:14 -04:00
2026-07-27 11:00:59 +08:00
2026-07-27 19:24:52 -04:00
2026-07-28 13:26:04 -04:00
2026-07-29 03:33:36 -04:00
2026-08-08 03:05:32 +08:00
2026-08-08 03:05:32 +08:00
2026-08-01 22:05:55 -07:00
2026-07-31 14:21:57 +08:00
2026-07-23 10:06:12 +09:00
2026-08-04 22:52:57 -07:00
2026-07-29 12:45:27 -04:00
2026-08-04 23:08:31 -07:00
2026-08-06 23:33:17 +08:00
2026-08-05 15:07:40 +08:00
2026-08-05 08:36:32 -07:00
2026-08-04 23:34:46 -07:00
2026-08-04 22:56:58 -07:00
2026-08-08 03:05:32 +08:00
2026-08-08 03:05:32 +08:00
2026-08-01 02:05:45 -07:00
2026-08-04 22:46:07 +08:00
2026-08-04 22:52:57 -07:00
2026-08-07 08:45:26 +08:00
2026-08-02 18:22:44 +08:00
2026-08-05 09:56:06 +08:00
2026-08-07 14:18:12 -07:00
2026-08-06 23:33:17 +08:00
2026-08-05 05:37:54 -07:00
2026-08-04 23:00:32 -07:00
2026-08-02 18:35:48 +08:00
2026-08-04 22:46:07 +08:00
2026-08-08 03:05:32 +08:00
2026-08-02 19:54:38 +08:00
2026-08-06 23:33:17 +08:00
2026-08-06 23:33:17 +08:00
2026-08-06 19:51:28 +08:00
2026-08-06 23:33:17 +08:00
2026-08-08 03:05:32 +08:00
2026-08-08 03:05:32 +08:00
2026-08-06 08:33:02 +08:00
2026-08-06 08:33:02 +08:00
2026-07-28 22:23:41 +08:00
2026-07-15 14:36:20 -07:00
2026-07-31 04:56:07 -07:00
2026-07-18 08:23:34 +01:00
2026-07-13 19:32:13 -07:00
2026-07-13 19:32:13 -07:00
2026-08-06 08:33:02 +08:00
2026-08-06 08:33:02 +08:00
2026-08-06 23:33:17 +08:00
2026-07-11 06:30:57 -07:00
2026-08-06 23:33:17 +08:00
2026-08-06 19:51:28 +08:00
2026-08-05 05:53:02 -07:00
2026-08-06 19:51:28 +08:00
2026-07-27 14:05:14 +08:00
2026-08-06 23:33:17 +08:00
2026-07-15 12:55:00 -07:00
2026-07-15 12:55:00 -07:00
2026-08-06 08:33:02 +08:00
2026-08-06 08:33:02 +08:00
2026-08-06 05:16:35 +08:00
2026-08-06 08:33:02 +08:00
2026-08-06 19:51:28 +08:00
2026-08-02 17:24:35 +08:00
2026-08-02 17:24:35 +08:00
2026-08-08 01:45:44 -07:00
2026-08-08 01:45:44 -07:00
2026-08-08 01:45:44 -07:00
2026-08-04 19:43:25 +08:00
2026-08-04 19:43:25 +08:00
2026-07-31 14:49:24 +08:00
2026-07-31 14:49:24 +08:00
2026-08-08 01:45:44 -07:00
2026-08-08 03:05:32 +08:00
2026-08-08 03:05:32 +08:00
2026-07-29 12:45:27 -04:00
2026-08-05 08:01:58 -07:00
2026-07-27 19:24:52 -04:00
2026-08-06 08:33:02 +08:00
2026-08-07 09:08:12 +08:00
2026-07-27 14:09:14 -04:00
2026-08-06 08:33:02 +08:00
2026-07-31 04:19:41 -07:00
2026-07-31 04:19:41 -07:00
2026-07-15 13:35:34 -07:00
2026-07-31 13:03:12 -07:00
2026-08-02 12:38:35 -07:00
2026-08-05 08:24:38 -07:00
2026-08-06 19:51:28 +08:00
2026-08-06 08:33:02 +08:00
2026-08-06 08:33:02 +08:00
2026-08-06 08:33:02 +08:00
2026-08-08 03:05:32 +08:00
2026-08-08 15:16:44 +08:00
2026-08-08 15:16:44 +08:00
2026-07-28 22:41:35 +08:00
2026-07-31 09:18:05 -07:00
2026-08-07 18:55:19 -07:00
2026-08-03 19:40:39 -07:00
2026-07-29 23:05:29 +00:00
2026-07-31 09:18:05 -07:00
2026-07-28 13:26:04 -04:00
2026-07-28 13:26:04 -04:00
2026-07-28 16:47:12 +08:00
2026-07-28 16:47:12 +08:00
2026-08-05 16:28:10 +10:00
2026-08-05 16:28:10 +10:00
2026-08-02 19:33:28 +08:00
2026-07-11 04:49:00 -07:00
2026-07-11 04:49:00 -07:00
2026-07-13 19:32:13 -07:00
2026-07-13 19:32:13 -07:00