Michael Suchacz
60b03138ae
fix(coderd/x/chatd): truncate overlong generated chat titles instead of rejecting them ( #28589 )
...
Chat title generation asks the model for a title in 2-8 words and then
hard-rejects any response longer than 8 words
(`validateGeneratedTitle`). Quickgen pins temperature for repeatable
output, so a model that overshoots the budget for a given conversation
overshoots on every retry: the rename dialog's Generate button returns a
deterministic 500 (`generate manual title: generated title exceeded 8
words`) no matter how often it is clicked, and the automatic
first-message path silently leaves the chat on its fallback title. On
dev.coder.com this rejection fires 1-3 times a day; one chat took 13
consecutive manual failures on 2026-08-25 (14:22-14:27 UTC).
Truncate the normalized title to the 8-word budget in
`normalizeTitleOutput` instead of rejecting it, and keep the empty-title
validation. Both the automatic and manual title paths share this
normalization, so both are fixed.
> Xum (AI agent) authored this change and PR on Mike's behalf.
2026-08-25 17:56:30 +00:00
..
2026-08-24 19:58:30 -05:00
2026-08-20 14:04:23 -04:00
2026-08-24 13:27:22 +01:00
2026-08-20 14:38:33 +01:00
2026-08-25 11:05:42 -06:00
2026-08-24 11:53:47 +01:00
2026-08-21 23:46:27 -06:00
2026-08-24 11:20:25 +01:00
2026-08-18 19:15:30 +02:00
2026-08-25 11:05:42 -06:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-24 15:25:21 -07:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-13 18:32:47 +02:00
2026-08-25 08:12:00 -07:00
2026-08-20 12:49:47 -07:00
2026-08-21 23:46:27 -06:00
2026-08-10 14:43:16 -05:00
2026-08-21 23:46:27 -06:00
2026-08-11 11:04:51 -05:00
2026-08-24 09:43:45 +00:00
2026-08-25 08:12:00 -07:00
2026-08-16 18:18:02 +05:00
2026-08-24 11:20:26 +01:00
2026-08-21 23:46:27 -06:00
2026-08-25 16:40:41 +07:00
2026-08-24 11:20:26 +01:00
2026-08-21 23:46:27 -06:00
2026-08-21 03:14:55 +03:00
2026-08-25 17:56:30 +00:00
2026-08-24 13:27:22 +01:00
2026-08-24 13:27:22 +01:00
2026-08-21 23:46:27 -06:00
2026-08-19 14:46:10 -05:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-25 11:55:56 +07:00
2026-08-19 19:46:23 +00:00
2026-08-19 19:46:23 +00:00
2026-08-06 09:18:46 -04:00
2026-08-06 09:18:46 -04:00
2026-08-06 09:18:46 -04:00
2026-08-21 23:46:27 -06:00
2026-08-25 06:52:45 -04:00
2026-08-18 12:54:45 -07:00
2026-08-24 12:06:56 -07:00
2026-08-21 23:46:27 -06:00
2026-08-24 09:43:45 +00:00
2026-08-24 09:43:45 +00:00
2026-08-24 09:43:45 +00:00
2026-08-25 12:59:19 +01:00
2026-08-24 11:20:25 +01:00
2026-08-24 11:20:25 +01:00
2026-08-24 11:20:26 +01:00
2026-08-24 11:20:26 +01:00
2026-08-25 09:08:52 -04:00
2026-08-25 09:08:52 -04:00
2026-08-19 13:00:31 -08:00
2026-08-18 12:54:45 -07:00
2026-08-19 19:25:18 +00:00
2026-08-13 18:32:47 +02:00
2026-08-11 12:02:34 +02:00
2026-08-11 12:02:34 +02:00
2026-08-24 09:43:45 +00:00
2026-08-19 19:36:59 +00:00
2026-08-21 23:46:27 -06:00
2026-08-12 13:36:52 -07:00
2026-08-13 09:58:51 -07:00
2026-08-21 10:31:01 -04:00
2026-08-21 10:31:01 -04:00
2026-08-21 23:46:27 -06:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-19 16:16:51 -06:00
2026-08-21 23:46:27 -06:00
2026-08-18 12:54:45 -07:00
2026-08-21 23:46:27 -06:00
2026-08-16 18:18:02 +05:00
2026-08-21 23:46:27 -06:00
2026-08-18 12:54:45 -07:00
2026-08-18 12:54:45 -07:00
2026-08-18 12:54:45 -07:00
2026-08-24 19:58:30 -05:00
2026-08-21 23:46:27 -06:00
2026-08-24 19:58:30 -05:00
2026-08-18 11:33:01 -05:00
2026-08-21 23:46:27 -06:00
2026-08-19 16:16:51 -06:00
2026-08-24 16:17:55 +02:00
2026-08-25 11:05:42 -06:00
2026-08-25 11:05:42 -06:00
2026-08-24 16:17:55 +02:00
2026-08-20 10:40:31 +02:00