Hugo Dutka
3cde346cbb
fix(coderd/x/chatd): fix compaction still over limit check ( #26377 )
...
Addresses
[CODAGT-620](https://linear.app/codercom/issue/CODAGT-620/session-can-get-stuck-at-compaction-with-request-failed ).
We have logic that checks whether message compaction still leaves the
chat over the context limit. We want to abort if it does - if we didn't,
we'd get into an endless compaction loop. The check's logic was faulty.
This PR changes fixes it. The new flow is:
1. In iteration 1, a chat runner commits a message compaction summary.
2. In iteration 2, the runner submits the newly compacted conversation
to the LLM provider in order to generate the next message.
3. In iteration 3, 4, 5, etc., if the conversation needs compaction, the
runner looks up the configured context limit and the first assistant
message after the last compaction summary. It compares the context usage
on that message with the context limit. If the usage is over the limit,
it returns an error.
2026-06-15 17:17:50 +02:00
..
2026-06-15 12:34:48 +02:00
2026-06-10 14:01:20 +00:00
2026-06-09 10:49:47 +01:00
2026-06-15 12:34:16 +02:00
2026-03-16 12:36:26 -05:00
2026-06-15 11:07:16 -04:00
2026-03-02 16:02:01 +01:00
2026-06-10 00:29:06 +00:00
2026-06-10 16:29:00 -07:00
2026-05-14 11:45:21 -04:00
2026-02-06 09:52:17 -07:00
2026-03-13 00:22:55 +11:00
2026-06-15 11:07:16 -04:00
2026-04-03 15:47:26 -05:00
2026-01-08 15:24:11 +04:00
2026-06-15 11:32:29 +00:00
2026-02-19 09:02:19 +00:00
2026-05-21 09:19:29 -06:00
2026-01-29 13:50:15 +01:00
2026-06-11 15:33:20 -05:00
2026-01-08 15:24:11 +04:00
2026-01-08 15:24:11 +04:00
2026-04-28 13:06:45 -07:00
2026-06-11 10:55:00 -07:00
2026-06-11 10:55:00 -07:00
2026-06-10 10:20:18 -06:00
2026-03-19 21:51:26 +00:00
2026-06-01 16:17:29 +03:00
2026-01-08 15:24:11 +04:00
2026-06-10 13:40:50 -04:00
2026-05-22 20:24:38 +10:00
2026-03-18 09:30:22 -05:00
2026-04-02 23:51:02 +02:00
2026-05-11 14:27:40 -05:00
2026-01-30 13:30:06 +01:00
2026-06-11 15:02:41 -04:00
2026-06-12 13:33:12 +02:00
2026-06-05 15:31:33 -05:00
2026-02-19 09:02:19 +00:00
2026-06-12 07:50:46 +02:00
2026-05-07 17:10:50 +01:00
2026-05-11 09:07:30 -06:00
2026-06-15 09:28:39 -04:00
2026-05-21 09:19:29 -06:00
2026-05-11 08:41:17 -06:00
2026-01-08 15:24:11 +04:00
2026-03-18 09:30:22 -05:00
2026-06-10 02:18:44 -05:00
2026-05-22 13:36:53 +03:00
2026-04-26 14:49:10 -07:00
2026-06-11 10:55:00 -07:00
2026-06-05 15:01:45 -05:00
2026-06-03 15:37:19 -05:00
2026-05-21 09:19:29 -06:00
2026-03-13 20:37:41 -07:00
2026-06-15 17:17:50 +02:00
2026-03-12 18:07:52 +02:00
2026-06-11 15:31:31 +01:00
2026-06-11 15:31:31 +01:00
2026-06-11 15:31:31 +01:00
2026-06-11 15:31:31 +01:00
2026-05-27 11:58:43 +02:00
2026-06-03 09:24:08 +02:00
2026-06-11 15:31:31 +01:00
2026-05-25 18:04:12 +02:00
2026-05-26 08:04:26 +00:00
2025-11-17 13:24:12 +00:00
2026-03-23 09:52:34 +00:00
2026-05-05 02:54:03 +05:00
2026-04-01 09:54:59 -04:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-05-28 18:37:57 +01:00
2026-01-08 15:24:11 +04:00
2026-06-10 00:29:06 +00:00
2026-05-05 02:54:03 +05:00
2026-05-12 22:13:55 +10:00
2026-06-03 10:46:07 +01:00
2026-06-15 11:07:16 -04:00
2026-05-05 02:54:03 +05:00
2026-03-13 14:09:39 +00:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-06-08 15:05:27 +01:00
2026-05-20 10:46:35 +01:00
2026-06-12 13:03:45 +00:00
2026-06-05 08:37:54 +02:00
2026-06-15 20:24:13 +10:00
2026-06-16 00:21:13 +10:00
2026-05-05 02:54:03 +05:00
2026-05-11 16:23:07 +10:00
2026-01-12 18:19:19 -08:00
2026-05-05 02:54:03 +05:00
2026-06-02 10:11:49 -07:00
2026-06-02 10:11:49 -07:00
2025-12-15 11:26:41 -06:00
2026-06-02 08:36:01 -06:00
2026-06-03 10:46:07 +01:00
2026-03-23 19:54:43 +00:00
2026-05-05 02:54:03 +05:00
2026-03-04 18:01:56 -08:00
2026-05-05 02:54:03 +05:00
2026-04-22 12:34:17 +02:00
2026-05-03 11:31:48 -04:00
2026-05-29 16:49:25 +10:00
2026-05-12 08:54:53 -04:00
2026-04-07 12:25:32 -06:00
2026-05-05 02:54:03 +05:00
2026-02-13 08:19:07 -06:00
2026-05-05 02:54:03 +05:00
2026-03-25 09:53:06 +00:00
2026-01-15 12:41:28 +03:00
2026-03-23 21:03:34 +00:00
2026-03-25 09:53:06 +00:00
2026-03-06 09:14:11 +00:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-05-21 09:19:29 -06:00
2026-06-03 10:46:07 +01:00
2026-02-19 09:02:19 +00:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-06-03 10:46:07 +01:00
2026-04-10 09:50:11 -05:00
2026-06-03 10:46:07 +01:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-05-11 08:41:17 -06:00
2026-05-19 09:47:03 -05:00
2026-06-15 11:07:16 -04:00
2026-06-12 17:53:48 -04:00
2026-06-15 11:07:16 -04:00
2026-05-22 20:24:38 +10:00
2026-05-11 12:43:52 -05:00
2026-05-11 12:43:52 -05:00
2026-05-11 12:43:52 -05:00
2026-04-23 06:20:35 +10:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-06-04 14:37:19 -04:00
2026-06-11 14:39:21 +01:00
2026-06-11 14:39:21 +01:00
2026-06-10 02:18:44 -05:00
2026-06-04 14:36:25 -04:00
2026-04-29 12:57:47 -06:00
2026-05-26 14:42:31 -06:00
2026-05-26 14:42:31 -06:00
2026-05-20 19:50:50 +02:00
2026-05-20 00:09:09 +02:00
2026-04-15 11:31:43 +02:00
2026-04-26 14:49:10 -07:00
2026-05-05 02:54:03 +05:00
2026-01-12 18:19:19 -08:00
2026-05-05 02:54:03 +05:00
2026-05-18 22:32:05 +01:00
2026-05-22 09:50:01 +02:00
2026-06-12 13:33:12 +02:00
2026-06-03 10:46:07 +01:00
2026-06-08 12:08:40 -07:00
2026-06-12 13:33:12 +02:00
2026-05-11 14:27:40 -05:00
2026-03-12 18:07:52 +02:00
2026-06-05 16:30:15 +01:00
2026-05-05 02:54:03 +05:00
2026-06-11 15:33:02 -05:00
2026-05-21 09:19:29 -06:00
2026-05-05 02:54:03 +05:00
2026-05-18 08:33:29 -04:00
2026-05-13 14:14:07 +00:00
2026-05-11 11:03:38 +02:00
2026-06-11 15:33:02 -05:00
2026-06-04 09:12:45 -07:00
2026-01-08 15:24:11 +04:00