Progression (1h) : courbe du taux d'erreur, parties terminées, Créer des exercices #63

Manually merged
pierre merged 9 commits from progression into main 2026-11-12 19:15:05 +00:00
Owner

Pourquoi

Le cadrage prévoit qu'un joueur voie s'il progresse. La sous-étape 1h (docs/etape-1.md) demandait l'historique des parties et la courbe du taux d'erreur.

Ce qui manquait :

  • depuis 1e, chaque partie garde son analyse, mais rien ne la montrait dans la durée ;
  • la ligne de progression de l'accueil (1g) ne menait nulle part ;
  • le gabarit « Créer des exercices » (1f) n'avait pas de bouton.

Quoi

  • Un écran #/progression, accessible depuis la ligne de l'accueil. Il contient :
    • une phrase du maître sur la tendance ;
    • la courbe du taux d'erreur partie après partie, à partir de trois parties analysées ;
    • la liste des parties terminées. Chaque ligne ouvre le bilan de la partie, et « Analyse » ouvre son analyse.
  • Analyse en arrière-plan. Les parties pas encore analysées le sont en arrière-plan, puis rejoignent la courbe.
  • « Créer des exercices » ouvre la feuille du prompt (#/progression/ia). Le prompt reprend les erreurs les plus coûteuses et ce qui revient dans ces erreurs.
  • Taux en millièmes : il s'affiche en millièmes (14 pour 0,014), comme les mEMG de GNU Backgammon.

Comment

Le travail a été délégué à un sous-agent, interrompu une fois par la limite d'usage.

Calcul (domaine). app/src/domain/analysis/progression.ts est un module pur :

  • le taux d'une partie est celui du bilan, lu dans les analyses déjà enregistrées : rien n'est recalculé ;
  • la tendance compare la plus ancienne moitié des parties à la plus récente.

Écran.

  • Il relit les 20 dernières parties terminées.
  • Les analyses manquantes passent par le runner existant, la plus récente d'abord, une à la fois.

Prompt d'exercices. Il gagne un repère {themes}, compté sur les faits que le moteur donne de chaque coup : pions frappés, points faits. Le niveau du joueur n'y figure qu'à partir de 20 décisions cumulées.

Textes et adresses.

  • Les phrases viennent de docs/maitre/phrases.md (sections progression.*).
  • L'ADR 0013 est amendé pour les nouvelles adresses.

Vérification.

  • make lint : aucun problème.
  • make test : 10/10, dont le nouveau scénario suivre-ma-progression.feature et progression.test.ts.
  • make test-browser : suite complète au vert sous Chromium et Firefox. Le nouveau test progression.mjs joue trois parties et vérifie que les trois points de la courbe sont égaux aux taux des trois bilans.

Choix et compromis

  • Feuille du prompt plutôt que copie directe. Le bouton suit la règle de 1f : on relit le prompt avant de le copier.
  • Au plus 20 parties. Au-delà, la courbe devient illisible sur un téléphone.
  • Taux en millièmes. C'est l'exemple de la charte ; Pierre doit le valider.
  • Thèmes des erreurs. Ils se limitent aux faits du moteur, sans classement stratégique.

Risques et déploiement

  • Stockage. Le format ne change pas.
  • Téléphone lent. Les premières visites lancent l'analyse des parties anciennes. Elle s'arrête quand on quitte l'écran.
  • Retour arrière. Annuler la fusion.

Comment vérifier

make lint && make test && SCRIPTS=progression make test-browser
ls build/browser-shots/progression/

À la main :

  1. Jouer trois parties.
  2. Sur l'accueil, toucher la ligne de progression : la courbe s'affiche.
  3. Toucher une partie de la liste : son bilan s'ouvre.

Hors périmètre

  • Une ligne « Progression » dans le menu.
  • Des graphiques par période.
  • La validation par Pierre des phrases et de l'affichage en millièmes.

Generated with Claude Code https://claude.com/claude-code

## Pourquoi Le cadrage prévoit qu'un joueur voie s'il progresse. La sous-étape 1h (`docs/etape-1.md`) demandait l'historique des parties et la courbe du taux d'erreur. Ce qui manquait : - depuis 1e, chaque partie garde son analyse, mais rien ne la montrait dans la durée ; - la ligne de progression de l'accueil (1g) ne menait nulle part ; - le gabarit « Créer des exercices » (1f) n'avait pas de bouton. ## Quoi - **Un écran `#/progression`**, accessible depuis la ligne de l'accueil. Il contient : - une phrase du maître sur la tendance ; - la courbe du taux d'erreur partie après partie, à partir de trois parties analysées ; - la liste des parties terminées. Chaque ligne ouvre le bilan de la partie, et « Analyse » ouvre son analyse. - **Analyse en arrière-plan.** Les parties pas encore analysées le sont en arrière-plan, puis rejoignent la courbe. - **« Créer des exercices »** ouvre la feuille du prompt (`#/progression/ia`). Le prompt reprend les erreurs les plus coûteuses et ce qui revient dans ces erreurs. - **Taux en millièmes** : il s'affiche en millièmes (14 pour 0,014), comme les mEMG de GNU Backgammon. ## Comment Le travail a été délégué à un sous-agent, interrompu une fois par la limite d'usage. **Calcul (domaine).** `app/src/domain/analysis/progression.ts` est un module pur : - le taux d'une partie est celui du bilan, lu dans les analyses déjà enregistrées : rien n'est recalculé ; - la tendance compare la plus ancienne moitié des parties à la plus récente. **Écran.** - Il relit les 20 dernières parties terminées. - Les analyses manquantes passent par le runner existant, la plus récente d'abord, une à la fois. **Prompt d'exercices.** Il gagne un repère `{themes}`, compté sur les faits que le moteur donne de chaque coup : pions frappés, points faits. Le niveau du joueur n'y figure qu'à partir de 20 décisions cumulées. **Textes et adresses.** - Les phrases viennent de `docs/maitre/phrases.md` (sections progression.*). - L'ADR 0013 est amendé pour les nouvelles adresses. **Vérification.** - `make lint` : aucun problème. - `make test` : 10/10, dont le nouveau scénario `suivre-ma-progression.feature` et `progression.test.ts`. - `make test-browser` : suite complète au vert sous Chromium et Firefox. Le nouveau test `progression.mjs` joue trois parties et vérifie que les trois points de la courbe sont égaux aux taux des trois bilans. ## Choix et compromis - **Feuille du prompt plutôt que copie directe.** Le bouton suit la règle de 1f : on relit le prompt avant de le copier. - **Au plus 20 parties.** Au-delà, la courbe devient illisible sur un téléphone. - **Taux en millièmes.** C'est l'exemple de la charte ; Pierre doit le valider. - **Thèmes des erreurs.** Ils se limitent aux faits du moteur, sans classement stratégique. ## Risques et déploiement - **Stockage.** Le format ne change pas. - **Téléphone lent.** Les premières visites lancent l'analyse des parties anciennes. Elle s'arrête quand on quitte l'écran. - **Retour arrière.** Annuler la fusion. ## Comment vérifier ``` make lint && make test && SCRIPTS=progression make test-browser ls build/browser-shots/progression/ ``` À la main : 1. Jouer trois parties. 2. Sur l'accueil, toucher la ligne de progression : la courbe s'affiche. 3. Toucher une partie de la liste : son bilan s'ouvre. ## Hors périmètre - Une ligne « Progression » dans le menu. - Des graphiques par période. - La validation par Pierre des phrases et de l'affichage en millièmes. Generated with Claude Code https://claude.com/claude-code
pierre added 6 commits 2026-11-12 18:03:17 +00:00
La ligne de progression de l'accueil y mène. Les taux viennent des
analyses rangées ; les parties non analysées le sont en arrière-plan.
« Créer des exercices » ouvre le prompt du gabarit exercices, avec les
thèmes des erreurs comptés sur les faits du moteur.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflit sur la ligne de progression de l'accueil : le texte de 1g
(« Aucune leçon terminée sur 5 », majuscule en tête) dans le lien vers
#/progression.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pierre added 2 commits 2026-11-12 19:02:22 +00:00
Dernier point plus gros, vert seulement si le taux baisse ; valeurs au
premier et au dernier point, axe réduit à la ligne du 0. Une ligne de
partie = un lien vers le bilan, résultat court, date et niveau en
caption. Plus de « Retour », titre en h1 ; « Nouvelle partie » pleine
largeur en portrait ; « Demander des exercices à une IA ». La carte de
l'accueil sans partie en cours ne montre plus la partie finie (testé).
Phrase progression.hausse sans « un peu ». L'écran relit ses parties à
chaque visite sans montrer celles de la précédente. Test navigateur sur
trois courses jouées jusqu'au bout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pierre added 1 commit 2026-11-12 19:10:13 +00:00
Le résultat d'une partie dit d'où viennent ses points (« Perdue,
gammon, videau à 2, 4 points ») ; la valeur du videau vient du journal
rejoué. Les « Perdue, 2 points » des captures étaient des parties
simples perdues avec un videau à 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pierre manually merged commit ee661661fd into main 2026-11-12 19:15:05 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: pierre/Ustagammon#63