Repository navigation
fix(labs): les messages d'échec en EN + FR - #7
Merged
Merged
Conversation
Chaque message qu'un test fait lire à l'apprenant porte désormais ses deux langues, par le helper `message(en=…, fr=…)` du `conftest.py` du catalogue. Le helper reste ici et jamais dans dsoxlab : un lab doit rester jouable par un `pytest` nu, sans le moteur, et c'est le test de non-couplage. Deux leçons de la campagne valent d'être écrites. La première : `pytest.fail(...)` dit exactement la même chose à l'apprenant qu'un `assert`, et ne compter que le second laissait 256 messages hors de la mesure, dont 220 pour un seul catalogue. Trois catalogues étaient déclarés « entièrement bilingues » à tort. La seconde : la forme ne prouve rien. Un catalogue affichait 93 messages bilingues sur 93 dont les 93 rendaient un `NameError`, le nom du helper ayant atterri dans un commentaire `noqa` au lieu de l'import. Quatre autres portaient une variable locale `message` qui masquait le helper pour toute la fonction, dont un cas que `ruff F823` ne voit pas : l'appel placé APRÈS l'affectation. `dsoxlab instructor audit` mesure désormais si l'appel peut s'exécuter. Les accents suivent la même règle : la réécriture est refusée si sa version sans accent diffère de l'original, si bien qu'elle ne peut rien changer d'autre que des signes diacritiques. Un mot reformulé, un identifiant touché, une interpolation perdue sont rejetés avant écriture, et le garde-fou a servi deux fois. Co-Authored-By: Claude Opus 5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ce que cette PR change
63 messages bilingues sur les 7 labs.
Chaque message qu'un test fait lire à l'apprenant porte désormais ses deux langues, par le helper
message(en=…, fr=…)duconftest.py. Le helper reste ici et jamais dans dsoxlab : un lab doit rester jouable par unpytestnu, sans le moteur, et c'est le test de non-couplage.Ce catalogue fait partie des six que la première campagne avait sautés, parce qu'elle partait d'une liste écrite de six dépôts quand le disque en portait douze : 901 messages étaient restés dans une seule langue sans qu'aucun contrôle le dise. Le relevé se mesure désormais depuis le disque, et il ne prend aucun argument de catalogue.
Éprouvé
ruff check labspropre, 35 tests collectés sans erreurdsoxlab validate-structure: tous les labs validesdsoxlab instructor audit --json: 63 bilingues, 0 monolingue, 0 appel injoignable🤖 Generated with Claude Code