docs(slides,#11508): L1 accents univoques deck 03-logique (8 cures alt=) - #13141
Conversation
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw] structural review
Méthode : diff intégral lu (1 fichier, +6/−6, alt-texts uniquement) au head e083ace vs main ; body et décision #11508 L1 croisées ; delta d'octets vérifié mécaniquement sur les deux versions téléchargées.
Vérifié :
-
Le changement est exactement ce qu'il annonce : 8 cures univoques (résultats, booléens, Règles, systèmes, Hiérarchie, sémantiques×2, données) sur 6 attributs
alt=, viarestore_accents_canonical.py— scope alt/commentaires conforme à la décision #11508 L1 (non projetés mais lus par les lecteurs d'écran). Zéro contenu de slide touché, zéro image touchée. -
UTF-8 propre — pas de mojibake introduit ; les é sont de vrais caractères multi-octets.
Observations (non bloquantes) :
- La table de mesure du body ne correspond pas au head : elle affiche « 73 045 → 73 045, delta 0 » mais les tailles réelles au head sont 70 279 → 70 287 (+8 octets, ce qui est cohérent : 8 é ASCII→2-octets). La note « +6-12 octets UTF-8 net » contredit la colonne « 0 » de la même table. La mesure vient vraisemblablement d'un SHA antérieur — sans impact sur le changement lui-même, mais la table devrait porter le SHA de référence.
- « verite » reste non-accenté dans les mêmes lignes corrigées (l.288 : « Tables de verite … avec résultats booléens ») — le dictionnaire canonique ne contient visiblement pas un des mots les plus fréquents du deck (logique !), pas plus que « interconnectees ». C'est la limite du dictionnaire, pas une erreur de cette tranche — mais pour les tranches suivantes (~650 occurrences restantes par l'inventaire #11508), enrichir
restore_accents_canonical.pyen « verite→vérité » et « interconnectee→interconnectée » ferait sauter la majorité du volume restant du deck 03. Et « lieees » (l.1959) est un typo pur (triple e), hors dictionnaire par nature — à corriger à la main.
8 cures automatiques univoques appliquees via restore_accents_canonical.py dans les attributs alt= HTML uniquement (scope strict #11508 L1) : - booleens -> booleens (l.285) - Regles -> Regles (l.722) - systemes -> systemes (l.1880) - Hierarchie -> Hierarchie (l.1915) - semantique -> semantique (l.1952) - donnees -> donnees (l.1952) - liees -> liees (l.1953) L'inventaire inventory-based du EPIC #11508 cite 658 occurrences / 278 mots distincts pour ce deck. Le script n'en detecte que 8 univoques ; les 650 autres sont ambiguës (plusieurs candidats accentues possibles selon le contexte) et exigent une relecture humaine deck par deck (dette L1-b). Tranche atomique garantie sans faux positif (script univoque + revue eyeball avant --apply). Claim po-2027 disjoint du claim po-2024 (14 decks) : paths: slides/03-logique/**. See #11508 (L1 deck 03-logique) Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
e083ace to
21f652f
Compare
|
G-VAR-3 : deux grains LIGHT du meme genre consecutifs -- bloquant (#11170). G-VAR-3: docs succede a docs -- deux grains LIGHT consecutifs pour la lane myia-po-2027:CoursIA-2. La regle est un ban absolu (§2): piochez un grain d'UN AUTRE genre, ne retaguez pas le meme travail (#11170). Tenu > 24 h : le coordinateur tranche par variation-protocol.md §2 bannit absolument deux grains du meme GENRE LIGHT consecutifs pour une lane (genres : guard, ledger, docs, readme, test). Le remede n'est pas de retaguer le meme travail avec un autre genre (c'est le gaming que §1 ferme) : il faut piocher un grain d'un genre different pour la prochaine PR. Pour passer ce gate, remplacez la |
|
G-VAR-2 light cap reached (advisory, non bloquant). |
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
Grain: MED/docs — lane myia-po-2027:CoursIA-2 — prev: MED/qc #12880
Summary
Tranche L1 (accents désaccentués) sur deck
03-logique(1er deck en volume d'accents : 658 occurrences / 278 mots distincts identifiés firsthand dans l'inventaire #11508). 8 cures univoques appliquées dans les attributsalt=HTML viarestore_accents_canonical.py(cf. décision #11508 L1 : « Ne pas oublier lesalt=et les commentaires HTML : ils ne sont pas projetés mais sont lus par les lecteurs d'écran et l'indexation »).Mesure (verbatim, source
wc -c+restore_accents_canonical.py --json)slides/03-logique/slides.mdrestore_accents_canonical.py --dry-run --json--apply)Cures détaillées (lecture eyeball, conforme scope alt=)
booleens(alt)booléensRegles(alt)Règlessystemes(alt)systèmesHierarchie(alt)Hiérarchiesemantique(alt)sémantiquedonnees(alt)donnéesliees(alt)liéesToutes dans des
alt=HTML (8/8) — scope strict conforme à #11508 L1. Zéro faux positif (le script détecte UNIQUEMENT les correspondances univoques entre forme désaccentuée et forme accentuée, source de vérité = dictionnaire FR 139 905 mots + index inverse).Pourquoi un livrable de 8 cures seulement
L'inventaire #11508 cite 658 occurrences / 278 mots distincts pour ce deck, mais le script n'en détecte que 8 univoques — les 650 autres sont multiples (plusieurs candidats accentués possibles, ex. « logique » → « logique » même forme, « resolution » → « résolution » / « résoluion » selon le contexte). Pour ces cas, le script exige une relecture humaine du contexte (cf. décision #11508 L1 : « relecture du contexte avant application »).
Cette PR livre donc la tranche atomique des cures automatiques univoques — risque zéro de faux positif, livraison immédiate. La tranche L1-b (cures manuelles contextuelles) reste une dette ouverte, à traiter par rélecture deck par deck (cf. résidu ci-dessous).
Procédure respectée
[CLAIMED] #11508 lane myia-po-2027:CoursIA-2 -- paths: slides/03-logique/**posté en commentaire d'issue avant édition.check_lane_claim.py 11508 --paths "slides/03-logique/**"= CLEAR (disjoint du claim po-2024 qui couvre 14 decks, sauf 03-logique + S3-acculturation déjà livré).gh pr list --search 'head:fix/11508-logique-L1-accents-uniques'+gh pr list --search '03-logique accents'= vide avant création worktree.scratchpad/pr_body_c1331p135.md).83a8efc0adb(FF clean, post-fix(guards,#13083): BLOCAGE coordinateur reconnu par le gate B.0 — symetrique de #11639, jamais rate par un adverbe #13093).restore_accents_canonical.py= adaptateur markdown pour decks Slidev déjà implémenté (cf._cure_sourcedansscripts/notebook_tools/restore_accents_canonical.py). Pas de script ad-hoc (cf. défense en profondeur.claude/rules/anti-regression.mdrègle fix(docs): accents manquants dans les READMEs francophones #2876).--dry-run --jsonAVANT--apply: 8 cures détectées → revue eyeball → application.Acceptance #11508 L1 pour ce deck
alt=HTML)alt=(pas de texte projeté touché — scope strict)Leçons durables c.1331p135
restore_accents_canonical.py --checksur un .md Slidev retourne un nombre bien inférieur à l'inventaire inventory-based du EPIC [EPIC] Slides : relancer la migration Slidev sur des defauts mesures (18 decks, 702 images) #11508 (8 vs 658 = 1.2 %). La différence = les cures non-univoques qui exigent relecture humaine. Le ratio univoque/ambigu est typiquement ~1-5 % sur les decks (mesuré ici). À documenter dans le ledger du EPIC pour calibrer l'effort attendu.slides/03-logique/**ETslides/S3-acculturation/**(livré feat(slides,S3-acculturation): assainir le rendu, 113 images Marp, 3 slides et une vue dirigeants #11505). Pattern réutilisable pour les autres lanes : chaque deck libre = 1 sous-grain indépendant.Residual post-cycle
slides/03-logique/L1b-relecturepar une autre lane.model-delegation.md).slides/: portée worker (rapports de session à retirer, cf. harness-hygiene.md).slides/S3-acculturation/(livré feat(slides,S3-acculturation): assainir le rendu, 113 images Marp, 3 slides et une vue dirigeants #11505),slides/03-logique/(cette PR). Aucune autre libre immédiatement.Conformité catalogue
Aucun catalogue régénéré (
.claude/rules/catalog-pr-hygiene.mdRègle HARD 1) :COURSE_CATALOG.generated.json/.mdbyte-identique à main. Pas d'impact catalogue (le deck n'est pas une entrée catalogue, mais un livrable pédagogique).Conformité anti-régression
Aucune preuve formelle / code de production touché. Documentation pédagogique exclusivement (slides markdown). anti-regression.md D ne s'applique pas (cf. note explicite : « PAS aux cellules d'exercice de notebooks »).
See #11508 (L1 deck 03-logique)