🐛 Ne plus compter l'attente qui précède un message d'une autre session (1.0.1) #3

Merged
bbaudouin merged 1 commits from fix/2-attente-message-inter-session into develop 2026-10-26 10:23:11 +01:00
Member

Refs #2

Une entrée user arrivée après la fin d'un tour de l'agent ouvre désormais une nouvelle plage, même écrite par Claude Code (isMeta). La fin de tour se lit sur la dernière réponse du fil principal : stop_reason autre que tool_use. Les entrées de sous-agent (isSidechain) ne comptent ni pour la fin de tour ni pour l'ouverture.

Changements

  • outils/temps-session.py : evenements() suit la fin de tour (rendu_la_main()) ; version 1.0.1.
  • VERSION (nouveau) : 1.0.1, vérifié égal à la constante VERSION de l'outil, qui se télécharge seul et ne peut pas lire ce fichier.
  • tests/test-temps-session.py : cas 13 à 17.
  • CHANGELOG.md, README.md.

Preuve

Tests écrits d'abord, vus en échec sur develop :

3 échec(s) :
  ✗ VERSION dit None, l'outil '1.0.0'
  ✗ message d'une autre session après l'attente : [1620] au lieu de 420 s
  ✗ avis d'une autre session après l'attente : [1620] au lieu de 420 s

Les cas 16 (entrée isMeta pendant un tour) et 17 (fin de tour d'un sous-agent) passaient déjà : ce sont les gardes de non-régression. Après le correctif : ok : outil de saisie des temps (cas 1 à 12 inchangés).

Comparaison 1.0.0 / 1.0.1 sur 36 transcripts réels (plages(), --pause 1800) :

  • 22 sont identiques ;
  • 14 perdent du temps, et chaque seconde retirée est une attente qui suit une fin de tour, avant un message d'une autre session (~22 100 s), un /rename (~1 500 s) ou une commande slash (~800 s) ;
  • l'attente de 1 290 s mesurée dans le ticket en fait partie.

Après fusion

  • Tag v1.0.1 à poser par Baudouin (tags v* protégés).
  • Critère 1 à prouver sur un vrai transcript depuis l'outil publié, une fois le tag posé.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KT2yBsd7nPivLnrEtcvuhX

Refs #2 Une entrée `user` arrivée **après la fin d'un tour** de l'agent ouvre désormais une nouvelle plage, même écrite par Claude Code (`isMeta`). La fin de tour se lit sur la dernière réponse du fil principal : `stop_reason` autre que `tool_use`. Les entrées de sous-agent (`isSidechain`) ne comptent ni pour la fin de tour ni pour l'ouverture. ## Changements - `outils/temps-session.py` : `evenements()` suit la fin de tour (`rendu_la_main()`) ; version 1.0.1. - `VERSION` (nouveau) : `1.0.1`, vérifié égal à la constante `VERSION` de l'outil, qui se télécharge seul et ne peut pas lire ce fichier. - `tests/test-temps-session.py` : cas 13 à 17. - `CHANGELOG.md`, `README.md`. ## Preuve Tests écrits d'abord, **vus en échec** sur `develop` : ``` 3 échec(s) : ✗ VERSION dit None, l'outil '1.0.0' ✗ message d'une autre session après l'attente : [1620] au lieu de 420 s ✗ avis d'une autre session après l'attente : [1620] au lieu de 420 s ``` Les cas 16 (entrée `isMeta` pendant un tour) et 17 (fin de tour d'un sous-agent) passaient déjà : ce sont les gardes de non-régression. Après le correctif : `ok : outil de saisie des temps` (cas 1 à 12 inchangés). Comparaison 1.0.0 / 1.0.1 sur 36 transcripts réels (`plages()`, `--pause` 1800) : - 22 sont identiques ; - 14 perdent du temps, et chaque seconde retirée est une attente qui suit une fin de tour, avant un message d'une autre session (~22 100 s), un `/rename` (~1 500 s) ou une commande slash (~800 s) ; - l'attente de 1 290 s mesurée dans le ticket en fait partie. ## Après fusion - Tag `v1.0.1` à poser par Baudouin (tags `v*` protégés). - Critère 1 à prouver sur un vrai transcript depuis l'outil publié, une fois le tag posé. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01KT2yBsd7nPivLnrEtcvuhX
george-claude added 1 commit 2026-10-26 10:15:47 +01:00
Une entrée user arrivée après la fin d'un tour de l'agent (dernière
réponse du fil principal avec stop_reason autre que tool_use) ouvre une
nouvelle plage, même écrite par Claude Code (isMeta) : message ou avis
d'une autre session, commande slash, renommage. Une entrée isMeta écrite
pendant un tour, ou après la fin d'un tour de sous-agent, ne coupe rien.

Ajoute le fichier VERSION (1.0.1), vérifié égal à la constante de l'outil.

Refs #2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KT2yBsd7nPivLnrEtcvuhX
Author
Member

Correction : je décoche le critère 2, je l'avais coché à tort.

  • Les tests existants restent verts.
  • Mais sur 36 transcripts réels, trois transcripts sans aucun message entre sessions changent aussi : l'attente qui précède un /rename (243 s) ou une commande slash tapée après une fin de tour (583 s et 210 s) n'est plus comptée.
  • C'est une attente de l'humain, donc la consigne (« l'attente n'est jamais comptée ») est mieux respectée, mais le résultat n'est pas « identique à la 1.0.0 ».

À trancher par Baudouin :

  • (a) accepter cet élargissement et reformuler le critère 2 en « identique pour un transcript dont chaque tour s'ouvre sur un message de l'humain » ;
  • (b) limiter le correctif aux entrées qui portent <cross-session-message ou [Cross-session, ce qui revient à la première solution, écartée.
Correction : je **décoche le critère 2**, je l'avais coché à tort. - Les tests existants restent verts. - Mais sur 36 transcripts réels, trois transcripts **sans aucun** message entre sessions changent aussi : l'attente qui précède un `/rename` (243 s) ou une commande slash tapée après une fin de tour (583 s et 210 s) n'est plus comptée. - C'est une attente de l'humain, donc la consigne (« l'attente n'est jamais comptée ») est mieux respectée, mais le résultat n'est pas « identique à la 1.0.0 ». À trancher par Baudouin : - (a) accepter cet élargissement et reformuler le critère 2 en « identique pour un transcript dont chaque tour s'ouvre sur un message de l'humain » ; - (b) limiter le correctif aux entrées qui portent `<cross-session-message` ou `[Cross-session`, ce qui revient à la première solution, écartée.
bbaudouin approved these changes 2026-10-26 10:23:06 +01:00
bbaudouin merged commit 2a6f0e6373 into develop 2026-10-26 10:23:11 +01:00
bbaudouin deleted branch fix/2-attente-message-inter-session 2026-10-26 10:23:12 +01:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: public/TKfA#3