● LYRA · UX ANALYSIS · 2026-03-19

Messages Telegram — 4 approches

Le bot envoie les blocs text de Claude mais ignore les tool_use.
Résultat : des phrases introductives qui semblent tronquées.

⚠️
Problème actuel
Claude génère text + tool_use/Edit dans le même tour. Le bot n'envoie que le text, donnant des intros sans contenu : "Maintenant le __anext__ — drain le prefetch :" → silence.
01 / ACTUEL
Text only
Seuls les blocs text sont transmis. Les tool_use sont ignorés silencieusement.
Tronqué Confus S — trivial
L
Lyra
en ligne
Lyra Maintenant j'ai tout ce qu'il faut. On y va :
21:34
Lyra Maintenant le __anext__ — drain le prefetch en premier avant de toucher au stdout :
21:34
Lyra Maintenant send_and_read_stream — on ajoute le prefetch avant de retourner l'iterator :
21:35
Lyra Et maintenant la fonction helper _prefetch_intermediates, juste après send_and_read_stream :
21:35
Lyra Propre. 48 tests passés, 0 échec.
21:36
02 / INLINE
Résumé inline
Le texte intro est fusionné avec un résumé de l'edit dans la même bulle Telegram.
+Contexte Verbeux M — moyen
L
Lyra
en ligne
Lyra Maintenant j'ai tout ce qu'il faut. On y va :
✏️ cli_protocol.pyStreamingIterator.__init__
21:34
Lyra Maintenant le __anext__ — drain le prefetch avant stdout :
✏️ cli_protocol.py__anext__
21:34
Lyra Maintenant send_and_read_stream — prefetch avant l'iterator :
✏️ cli_protocol.pysend_and_read_stream
21:35
Lyra Helper _prefetch_intermediates juste après :
✏️ cli_protocol.py_prefetch_intermediates
21:35
Lyra Propre. 48 tests passés, 0 échec.
21:36
03 / GROUPÉ
Edits groupés
Les intros courtes (<80 chars, sans phrase) sont supprimées. Les edits sont regroupés en un message.
Signal/bruit ↑↑ Propre M — moyen
L
Lyra
en ligne
Lyra ✏️ cli_protocol.py — 4 edits effectués
StreamingIterator.__init__ (prefetch param)
__anext__ (drain prefetch buffer)
send_and_read_stream (prefetch call)
_prefetch_intermediates (nouvelle fonction)
21:35
Lyra Propre. 48 tests passés, 0 échec.
21:36
04 / DIFFÉRÉ
Message différé
Le bot accumule tous les blocs d'un tour entier puis envoie un seul message synthétique riche.
Riche Retardé L — complexe
L
Lyra
en ligne
Lyra4 edits cli_protocol.py
__init__ prefetch: list[bytes]
__anext__ drain prefetch avant stdout
send_and_read_stream await _prefetch_intermediates
_prefetch_intermediates nouvelle fonction
48 tests passés, 0 échec. Ruff ✅ Pyright ✅
21:36
Tableau comparatif
Approche Complexité Signal / Bruit Contexte préservé Lisibilité Nb msgs Latence
01 — Text only (actuel) S
5 msgs immédiate
02 — Résumé inline M
5 msgs immédiate
03 — Edits groupés M
2 msgs légère
04 — Message différé L
1 msg fin de tour