Thread titles are too long #753

Closed
opened 2026-08-14 00:07:06 +00:00 by coilyco-ops-gaming · 0 comments

Problem

Thread titles generated by this service exceed reasonable length, making them hard to read in channel lists and UIs that truncate.

Resolved spec (design pass, 2026-08-15)

Bound, decided by Kai - 50 characters. Not the ~100 the original text suggested. 50 displays fully in Discord's thread list and in the narrow surfaces that truncate hardest.

Overrun handling - regenerate, do not truncate. If the generated title exceeds 50 characters, ask the model again with the length stated in the request. Truncation with an ellipsis, truncation at a clause boundary, and the looser 100-character cap were all considered and rejected.

The reasoning behind regenerating: a trimmed title loses its subject, which is the one thing a thread title exists to carry. A title that reads Comparing current market prices for wood, stone, an... is worse in a channel list than a shorter title that actually names the topic.

Bound the retry. One regeneration attempt. If the second attempt is still over, fall back to a hard trim at 50 characters rather than looping. A title generator must never be able to spend a turn's budget on itself.

Acceptance

  • No generated thread title exceeds 50 characters. Assert it on the creation path, not only in the generator.
  • A title that comes back over-length triggers exactly one regeneration, and the second request states the limit explicitly.
  • Two failures fall back to a hard trim and log that it happened, so a persistently over-length generator is visible rather than silent.
  • Existing threads are untouched. This binds creation only.

Related - #236 makes long responses create threads at 10 messages or 10 minutes, so this path runs more often than it looks. #111's progress element resolves into the reply rather than the thread title, so the two do not interact.

## Problem Thread titles generated by this service exceed reasonable length, making them hard to read in channel lists and UIs that truncate. ## Resolved spec (design pass, 2026-08-15) **Bound, decided by Kai - 50 characters.** Not the ~100 the original text suggested. 50 displays fully in Discord's thread list and in the narrow surfaces that truncate hardest. **Overrun handling - regenerate, do not truncate.** If the generated title exceeds 50 characters, ask the model again with the length stated in the request. Truncation with an ellipsis, truncation at a clause boundary, and the looser 100-character cap were all considered and rejected. The reasoning behind regenerating: a trimmed title loses its subject, which is the one thing a thread title exists to carry. A title that reads `Comparing current market prices for wood, stone, an...` is worse in a channel list than a shorter title that actually names the topic. **Bound the retry.** One regeneration attempt. If the second attempt is still over, fall back to a hard trim at 50 characters rather than looping. A title generator must never be able to spend a turn's budget on itself. **Acceptance** * No generated thread title exceeds 50 characters. Assert it on the creation path, not only in the generator. * A title that comes back over-length triggers exactly one regeneration, and the second request states the limit explicitly. * Two failures fall back to a hard trim and log that it happened, so a persistently over-length generator is visible rather than silent. * Existing threads are untouched. This binds creation only. **Related** - #236 makes long responses create threads at 10 messages or 10 minutes, so this path runs more often than it looks. #111's progress element resolves into the reply rather than the thread title, so the two do not interact.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/sirens-echo#753
No description provided.