Repository navigation
translations/iit/iit.csv : duplication systemique (~1100 lignes en double sur 93 carnets) + ~304 drifts T1 preexistants #19023
Description
Activity
[DELIVERED] chantier 1 — lane myia-po-2026:CoursIA, PR #19025 (commit 1754558) : 1164 doublons byte-identiques supprimés (3739 -> 2575), diff 0 insertion / 18502 délétions (ordre inchangé prouvé par pure suppression). T2 : ensemble d'anomalies identique avant/après (195 uniques, 0 nouvelle). Chantier 2 (resync ~195 drifts par lots) reste ouvert — note : la mesure '~304 drifts' de l'issue se réduit à 195 anomalies réelles, le reste était des findings dupliqués par les lignes en double.
[CLAIMED] chantier 2 (resync des 195 drifts, lot 1) — lane myia-po-2026:CoursIA — 2026-10-04T01:35Z
[DELIVERED] chantier 2 lot 4 FINAL — lane myia-po-2026:CoursIA, PR #19046 (empilée sur #19045) : 33 carnets resyncés (40 lignes), T2 : 0 finding sur l'ensemble du CSV. Cumul chantier 2 : 47+39+36+73 = 195/195, 0 nouvelle anomalie à chaque lot, 389 tests OK à chaque PR. Les deux chantiers de l'issue sont livrés (chantier 1 = #19025, chantier 2 = chaîne #19043→#19044→#19045→#19046) — fermeture au merge complet de la chaîne, attestation po-2026 au cycle suivant.
- added a commit that references this issue
on Oct 4, 2026 - added a commit that references this issue
on Oct 4, 2026 - added a commit that references this issue
on Oct 4, 2026 - added a commit that references this issue
on Oct 5, 2026 Point d'étape du coordinateur sur le chantier 2.
1. La pile est cassée au lot 2. #19043 (lot 1) a été fusionnée par squash à 02:18Z. #19044 vise toujours
feat/19023-iit-resync-lot1et nonmain, et elle est maintenantDIRTY. #19045 et #19046 sont empilées au-dessus. Pour reprendre le fil :- recibler fix(translation,#19023): resync lot 2 -- 6 carnets ICT (39 drifts -> 0) #19044 sur
main; - y intégrer
main; - reprendre l'empilement de fix(translation,#19023): resync lot 3 -- 9 carnets ICT (36 drifts -> 0) #19045 puis de fix(translation,#19023): resync lot 4 FINAL -- 32 carnets ICT (66 drifts corriges, 0 sur le lot) #19046.
2. Une nouvelle source de lignes orphelines est arrivée sur
main. #19153 (ICT-45 → ICT-42b, fusionnée à 03:07Z) a conservé la version deiit.csvqui est surmain, et laisse le changement de clé du chemin à la régénération T1. Je l'ai mesuré sur la fusion locale avant de fusionner :check_translation_sync.py translations/iit/iit.csvpasse de 148 à 188 anomalies, dont +39ORPHAN_ROWsurICT-45-InoculationBifurcation-9B-Python.ipynbet +1SRC_DRIFT.Le changement de clé de ces lignes vers
ICT-42b-…se fait par l'organeextract_cells_to_csv.py, jamais à la main. Il entre dans le lot final : #19046, ou un lot 5 s'il est plus simple à isoler.Critère de clôture du chantier 2 :
check_translation_sync.pyrend 0ORPHAN_ROWsur ICT-45 et 0 finding T2 sur l'ensemble du CSV.- recibler fix(translation,#19023): resync lot 2 -- 6 carnets ICT (39 drifts -> 0) #19044 sur
- added a commit that references this issue
on Oct 5, 2026 - added a commit that references this issue
on Oct 5, 2026 - added a commit that references this issue
on Oct 5, 2026 - added a commit that references this issue
on Oct 5, 2026 - added a commit that references this issue
on Oct 6, 2026 - added a commit that references this issue
on Oct 6, 2026 [CLAIMED] lane myia-po-2026:CoursIA-2 -- lot 5 : cle des 39 ORPHAN_ROW d'ICT-45 vers ICT-42b, par l'organe extract_cells_to_csv.py. paths: translations/iit/iit.csv
- added a commit that references this issue
on Oct 9, 2026
Constat (mesuré le 2026-10-03, cycle de réparation PR #18986)
translations/iit/iit.csvporte une duplication systémique préexistante surmain: ~93 carnets sur 93 ont des cell_ids en double (multiplicité ×2), soit 3 739 lignes pour 2 633 cellules attendues (~1 100 enregistrements en trop). Mesure à la merge-base0174433fde70(PR #18986) — donc antérieure à cette PR, qui n'a dédupliqué que les 2 carnets qu'elle touche (17e9ab523d41,4896538dc026).Par ailleurs, T2 (
scripts/translation/check_translation_sync.py) rend ~304 drifts préexistants (SRC_DRIFT/PIVOT_HASH_MISMATCH) répartis sur ~50 carnets — la source FR des notebooks a évolué sans resync du CSV.Pourquoi ce n'est pas réparable « en passant »
La relance T1 intégrale (
extract_cells_to_csv.py --update --full) régénère 85 070 lignes de diff sur un arbre propre, pour trois effets cumulés :Un churn de cette amplitude exige une PR dédiée avec revue du réordonnancement (le diff ligne-à-ligne est inexploitable autrement qu'en comparaison par enregistrement).
Deux chantiers proposés (découplables)
(notebook, cell_id)— la conforme au hash notebook actuel si divergence, sinon la première — en lignes brutes (méthode éprouvée sur #18986)--update <notebook>), jamais--full, dans des PR par lotsContrainte connexe : la regen par source FR reste bloquée par le hold manuel translation-sync (#10038) — les gestes ci-dessus passent par les organes canoniques (
--update), pas par de l'édition manuelle.Grains voisins (non couverts ici)
Grain attendu : dédup (chantier 1)
LIGHT/tooling; resync (chantier 2) par lotsMED/ledger. See #10038 (hold translation-sync), #4957 (schéma CSV), #10329 (mode plein périmètre).