jif
816fa702ec
Account for token usage from incomplete responses ( #53670 )
...
## Why
Terminal `response.incomplete` errors discard reported token usage. Counting that usage as a new context baseline can also double-count input and trigger unnecessary compaction on the next turn.
## What changed
- Carry the response ID and valid reported usage with incomplete-response errors.
- Record usage for sampling and foreground compaction in cumulative totals, rollout records, budgets, and token-usage contributors without replacing the context baseline. Preserve the original terminal error, including when accounting exhausts the budget or cancellation races the error.
- Charge incomplete background compaction requests to the rollout budget without publishing foreground token usage.
- Ignore missing or malformed usage rather than estimating it.
## Testing
Extend coverage for SSE and WebSocket incomplete responses, rollout usage records, compaction accounting, deferred token-count events, and token-usage contributors. Add regressions for unnecessary compaction on the next turn and background compaction publishing foreground usage.
GitOrigin-RevId: bf1ee6df3912052ab7c19e1c6af8ad3dc4b07675
2026-10-13 13:36:24 +00:00
..
2026-10-08 19:29:47 +00:00
2026-10-13 10:42:06 +00:00
2026-10-06 22:39:32 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 16:56:39 +00:00
2026-09-11 22:55:38 +00:00
2026-10-08 09:39:33 +00:00
2026-09-24 20:59:51 +00:00
2026-10-06 23:28:55 +00:00
2026-10-01 20:17:34 +00:00
2026-10-06 21:28:13 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 17:11:07 +00:00
2026-10-03 18:15:13 +00:00
2026-10-03 18:15:13 +00:00
2026-10-06 22:39:32 +00:00
2026-08-20 17:46:05 +00:00
2026-09-24 16:36:57 +00:00
2026-10-08 22:27:00 +00:00
2026-08-13 00:00:16 +00:00
2026-09-23 00:47:07 +00:00
2026-10-06 19:30:57 +00:00
2026-09-29 19:03:30 +00:00
2026-10-07 18:32:50 +00:00
2026-09-15 18:23:08 +00:00
2026-10-06 01:46:33 +00:00
2026-10-05 18:52:51 +00:00
2026-10-10 01:25:00 +00:00
2026-10-13 13:36:24 +00:00
2026-09-30 14:37:56 +00:00
2026-08-13 00:00:16 +00:00
2026-09-21 22:49:17 +00:00
2026-10-09 23:26:34 +00:00
2026-09-14 15:06:28 +00:00
2026-08-25 23:42:50 +00:00
2026-10-06 17:11:07 +00:00
2026-09-19 00:46:06 +00:00
2026-10-05 16:10:27 +00:00
2026-10-06 01:39:50 +00:00
2026-10-10 01:25:00 +00:00
2026-10-05 18:52:51 +00:00
2026-10-13 13:36:24 +00:00
2026-10-05 18:52:51 +00:00
2026-10-08 16:27:10 +00:00
2026-10-06 16:56:39 +00:00
2026-10-08 16:19:09 +00:00
2026-10-09 18:58:53 +00:00
2026-10-08 16:19:09 +00:00
2026-10-08 23:34:16 +00:00
2026-10-13 10:21:42 +00:00
2026-10-06 17:11:07 +00:00
2026-09-19 01:21:32 +00:00
2026-10-06 17:11:07 +00:00
2026-10-01 15:57:03 +00:00
2026-09-30 11:59:13 +00:00
2026-09-18 22:42:46 +00:00
2026-10-06 16:56:39 +00:00
2026-09-24 11:19:16 +00:00
2026-10-06 17:11:07 +00:00
2026-09-17 16:06:11 +00:00
2026-10-06 01:39:50 +00:00
2026-10-08 20:04:38 +00:00
2026-10-10 01:25:00 +00:00
2026-10-09 20:14:04 +00:00
2026-10-07 13:05:06 +00:00
2026-10-05 22:17:02 +00:00
2026-10-05 17:35:24 +00:00
2026-10-06 17:11:07 +00:00
2026-09-27 15:03:38 +00:00
2026-10-07 15:47:21 +00:00
2026-10-09 11:08:24 +00:00
2026-10-07 13:05:06 +00:00
2026-10-06 17:11:07 +00:00
2026-10-10 01:25:00 +00:00
2026-10-01 16:14:27 +00:00
2026-10-06 01:39:50 +00:00
2026-10-10 01:25:00 +00:00
2026-09-29 16:53:11 +00:00
2026-10-08 18:42:58 +00:00
2026-09-24 20:39:37 +00:00
2026-10-08 18:42:58 +00:00
2026-09-25 03:12:10 +00:00
2026-10-10 01:25:00 +00:00
2026-09-08 20:37:30 +00:00
2026-08-25 01:27:18 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 16:56:39 +00:00
2026-10-08 23:57:36 +00:00
2026-09-29 13:08:37 +00:00
2026-10-08 21:01:06 +00:00
2026-10-06 01:39:50 +00:00
2026-09-29 13:08:37 +00:00
2026-09-29 13:08:37 +00:00
2026-10-01 18:05:05 +00:00
2026-10-02 15:26:58 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 01:39:50 +00:00
2026-10-07 07:57:14 +00:00
2026-09-16 20:32:52 +00:00
2026-09-29 13:08:37 +00:00
2026-10-06 19:30:57 +00:00
2026-10-06 01:39:50 +00:00
2026-10-10 01:25:00 +00:00
2026-10-08 16:19:09 +00:00
2026-09-23 22:10:04 +00:00
2026-08-13 00:00:16 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-09-19 01:36:53 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-08-29 03:28:19 +00:00
2026-09-30 11:59:13 +00:00
2026-10-06 00:16:18 +00:00
2026-09-23 21:34:11 +00:00
2026-10-09 18:58:53 +00:00
2026-09-22 21:57:52 +00:00
2026-10-09 18:04:48 +00:00
2026-10-06 17:10:43 +00:00
2026-09-24 20:28:31 +00:00
2026-10-10 01:25:00 +00:00
2026-10-06 17:11:07 +00:00
2026-10-13 12:42:53 +00:00
2026-10-07 19:42:35 +00:00
2026-09-24 18:07:37 +00:00
2026-10-06 17:11:07 +00:00
2026-10-09 18:58:53 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 17:11:07 +00:00
2026-10-10 01:25:00 +00:00
2026-09-15 04:20:38 +00:00
2026-10-07 01:28:59 +00:00
2026-10-10 01:25:00 +00:00
2026-09-22 22:20:00 +00:00
2026-09-22 22:20:00 +00:00
2026-09-23 00:47:07 +00:00
2026-09-22 22:20:00 +00:00
2026-10-08 00:09:03 +00:00
2026-10-06 22:39:32 +00:00
2026-10-06 17:11:07 +00:00
2026-10-05 18:54:17 +00:00
2026-10-06 17:11:07 +00:00
2026-10-09 19:06:34 +00:00
2026-10-06 17:11:07 +00:00
2026-08-13 00:00:16 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-09-29 13:08:37 +00:00
2026-10-08 02:06:58 +00:00
2026-10-13 13:36:24 +00:00
2026-10-06 17:11:07 +00:00
2026-10-08 23:57:36 +00:00
2026-09-10 03:18:28 +00:00
2026-10-06 22:39:06 +00:00
2026-10-06 01:46:33 +00:00
2026-10-06 18:17:48 +00:00
2026-10-10 01:25:00 +00:00
2026-10-08 17:25:09 +00:00
2026-09-11 21:32:04 +00:00
2026-09-30 11:59:13 +00:00
2026-07-23 19:19:35 +00:00
2026-08-13 00:00:16 +00:00
2026-10-06 17:11:07 +00:00
2026-10-08 10:53:45 +00:00
2026-10-09 13:15:39 +00:00
2026-10-13 10:42:06 +00:00
2026-10-05 16:58:29 +00:00
2026-10-03 04:24:52 +00:00
2026-09-29 01:14:41 +00:00
2026-10-05 22:17:02 +00:00
2026-09-29 13:08:37 +00:00
2026-10-06 19:30:57 +00:00
2026-10-01 16:14:27 +00:00
2026-10-07 19:42:35 +00:00
2026-10-08 20:04:38 +00:00
2026-10-07 15:47:21 +00:00
2026-10-08 22:01:24 +00:00
2026-10-10 01:14:28 +00:00
2026-10-08 03:20:54 +00:00
2026-10-06 03:27:04 +00:00
2026-10-03 06:42:48 +00:00
2026-09-22 21:57:52 +00:00
2026-10-09 11:08:24 +00:00
2026-09-22 05:53:29 +00:00
2026-10-02 23:26:27 +00:00
2026-09-16 22:25:54 +00:00
2026-10-12 18:54:22 +00:00
2026-10-06 01:39:50 +00:00
2026-09-29 01:57:57 +00:00
2026-10-03 18:15:13 +00:00
2026-10-06 01:39:50 +00:00
2026-10-13 09:06:39 +00:00
2026-10-06 17:10:43 +00:00
2026-10-11 15:48:35 +00:00
2026-10-06 16:56:39 +00:00
2026-10-09 17:56:26 +00:00
2026-10-06 22:39:32 +00:00
2026-10-10 01:25:00 +00:00
2026-10-01 00:57:53 +00:00
2026-09-22 11:10:29 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 22:39:06 +00:00
2026-09-09 17:56:33 +00:00
2026-10-06 01:46:33 +00:00
2026-10-02 23:26:27 +00:00
2026-10-02 23:26:27 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 19:29:40 +00:00
2026-08-28 09:48:13 +00:00
2026-10-08 23:57:36 +00:00
2026-09-02 22:45:19 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:10:43 +00:00
2026-09-23 20:49:48 +00:00
2026-10-06 17:11:07 +00:00
2026-10-07 23:11:18 +00:00
2026-10-08 20:40:47 +00:00
2026-10-06 17:11:07 +00:00
2026-09-29 02:40:51 +00:00
2026-10-09 18:58:53 +00:00
2026-10-06 16:56:39 +00:00
2026-09-04 20:38:08 +00:00
2026-10-08 16:19:09 +00:00
2026-09-28 15:58:17 +00:00
2026-10-13 09:34:17 +00:00
2026-10-08 16:19:09 +00:00
2026-08-28 15:44:48 +00:00
2026-10-08 13:45:19 +00:00
2026-08-10 19:26:52 +00:00
2026-10-01 15:57:03 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 22:39:32 +00:00
2026-10-06 17:26:19 +00:00
2026-09-22 06:24:49 +00:00
2026-09-24 20:28:31 +00:00
2026-10-06 17:11:07 +00:00
2026-09-24 18:07:37 +00:00
2026-09-25 19:14:31 +00:00
2026-08-20 06:29:32 +00:00