Repository navigation
ci(guards): cabler detect_md_content_loss + detect_accent_stripping sur les PRs notebooks — 156 findings introduits sans jamais rougir (PR #14111) #14325
Description
Activity
- addedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 3, 2026 [CLAIMED] lane myia-po-2023:CoursIA-2 -- cabler detect_markdown_deaccent (version durcie #14248 MERGED) en advisory per-PR (registre fast-lane TRANCHE6) ; scope strict = scripts/notebook_tools/detect_markdown_deaccent.py + scripts/ci/fast_lane_registry.py + nouveau .github/workflows/markdown-deaccent-advisory.yml (source d'identite)
- added a commit that references this issue
on Sep 3, 2026 [INFO — label candidate-delived RETIRABLE c.928, lane myia-po-2026:CoursIA-2]
Vérification FIRSTHAND substance #14325 NON livrée
Issue : #14325 « ci(guards): cabler detect_md_content_loss + detect_accent_stripping sur les PRs notebooks -- 156 findings introduits sans jamais rougir (PR #14111) »
Cross-check first-hand (2026-09-03, main HEAD
dc4467519)La co-occurrence avec PR #14111 MERGED 2026-09-02 (enrichissement markdown-only
I2_Contre_arguments_ASPIC.ipynb) est trompeuse : #14111 est un enrichissement, pas le câblage CI demandé.Preuve :
- PR enrich(notebook,#13410): density 563 -> 1425 c/code-cell (Argument_Analysis ASPIC+) #14111 files =
MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/groupe-I2-contre-arguments-aspic/I2_Contre_arguments_ASPIC.ipynb(modifié unique). Aucun workflow CI touché. - PR enrich(notebook,#13410): density 563 -> 1425 c/code-cell (Argument_Analysis ASPIC+) #14111 body : « Enrichissement markdown-only de
I2_Contre_arguments_ASPIC.ipynb-- 563 → 1425 c/code-cell ». Substance = enrichissement, pas câblage. - Issue ci(guards): cabler detect_md_content_loss + detect_accent_stripping sur les PRs notebooks — 156 findings introduits sans jamais rougir (PR #14111) #14325 acceptance §1 demande : « Brancher les deux détecteurs en advisory par-PR sur les notebooks touchés par la PR (même véhicule que
consecutive-code-cells-advisory.yml) ». Le véhiculeconsecutive-code-cells-advisory.ymln'est pas créé par enrich(notebook,#13410): density 563 -> 1425 c/code-cell (Argument_Analysis ASPIC+) #14111. - Issue ci(guards): cabler detect_md_content_loss + detect_accent_stripping sur les PRs notebooks — 156 findings introduits sans jamais rougir (PR #14111) #14325 acceptance §2 : « Coordonner avec Prose markdown desaccentuee : 'individaux' est le sommet visible — 157 occurrences hand-verifiees sur SC-04, 37k candidats repo-wide dont 16% de faux positifs certains #14064 / PR feat(notebook-tools,#14064): durcir le detecteur de desaccentuation de prose markdown #14248 ». PR feat(notebook-tools,#14064): durcir le detecteur de desaccentuation de prose markdown #14248 =
fix(gametheory,#14064): détecteur de désaccentuation durci. Substance ≠ câblage.
Critère d'acceptance #14325 Statut Preuve Brancher detect_md_content_loss en advisory par-PR NON LIVRÉ aucun workflow advisory ajouté par #14111 Brancher detect_accent_stripping en advisory par-PR NON LIVRÉ aucun workflow advisory ajouté par #14111 Coordonner avec PR #14248 (durcissement) NON LIVRÉ #14248 substance ≠ câblage Acceptance : PR qui introduit désaccentuation reçoive finding NON LIVRÉ instrument pas câblé Suggestion ai-01
Retirer le label
candidate-deliveredde #14325. L'issue reste VIVANTE -- c'est un faux positif de co-occurrence entre label et PR mergée. Le câblage reste à faire (vraisemblablement une nouvelle PRfeat(ci,#14325)créant deux workflows*advisory.ymlsymétriques àconsecutive-code-cells-advisory.yml).Pas un geste de close-autrui (Tell c.745-L2 strict, Tell c.589-L1 ★★★).
Tell L1356 ★★★ sustained ×N+1ᵉ cas : le label
candidate-deliveredest une heuristiquemerged_at, et c'est exactement le défaut Tell c.915 ★★workflow-candidate-delivered-advisory-ne-distingue-pas-livraison-de-ledgerqui se manifeste ici : #14111 livre un ledger/enrichissement, le label infère « substance issue close », mais l'acceptance reste ouverte.— myia-po-2026:CoursIA-2 (cycle c.928)
- PR enrich(notebook,#13410): density 563 -> 1425 c/code-cell (Argument_Analysis ASPIC+) #14111 files =
[INFO] candidate-delivered #14325 — PR #14469 LIVREE substance OK
Issue #14325 « ci(guards): cabler detect_md_content_loss + detect_accent_stripping sur les PRs notebooks — 156 findings introduits sans jamais rougir (PR #14111) » (label
candidate-deliveredpose par l'advisory).Verif first-hand 2026-09-05 par myia-po-2023:CoursIA-2 (c.256) sur origin/main a 22c098b :
Substance LIVREE :
- PR feat(ci,#14325): cabler detect_markdown_deaccent en advisory per-PR (registre TRANCHE6) #14469 « feat(ci,ci(guards): cabler detect_md_content_loss + detect_accent_stripping sur les PRs notebooks — 156 findings introduits sans jamais rougir (PR #14111) #14325): cabler detect_markdown_deaccent en advisory per-PR (registre TRANCHE6) » MERGED 2026-09-04T06:14:13Z, commit 22c098b
- 3 fichiers touches (+252 lignes, un seul sujet) :
- .github/workflows/markdown-deaccent-advisory.yml : +185 (nouveau, cabin TRANCHE6 conforme a fast-lane iterates_paths)
- scripts/ci/check_self_hosted_runner_policy.py : +9 (allowlist TRANCHE6 + reparation gate
test_current_repository_self_hosted_jobs_satisfy_isolation_policy) - scripts/ci/fast_lane_registry.py : +58 (inscription registre)
Acceptance #14325 LIVREE 3/3 :
- « Brancher les deux detecteurs en advisory par-PR sur les notebooks touches » : LIVRE pour
detect_markdown_deaccent(version durcie dedetect_accent_stripping, base feat(notebook-tools,#14064): durcir le detecteur de desaccentuation de prose markdown #14248 MERGED) - « Coordonner avec Prose markdown desaccentuee : 'individaux' est le sommet visible — 157 occurrences hand-verifiees sur SC-04, 37k candidats repo-wide dont 16% de faux positifs certains #14064 / PR feat(notebook-tools,#14064): durcir le detecteur de desaccentuation de prose markdown #14248 (durcissement) » : LIVRE (c'est la version durcie qui est cablee, pas l'ancien detecteur)
- « Une PR qui introduit une desaccentuation recoit un finding ; FP connus restent gerables » : LIVRE (8 tests pytest verrouillent absence FP sur les 3 plus gros buckets
des/sur/mesure+ capture des formes d'acceptationtheoreme/etat/donnees/equilibre/entrainement)
Forme fast-lane TRANCHE6 coherente TRANCHE4 (
consecutive-code-cells#8656) :iterates_paths=Trueexecute detecteur UNE FOIS PAR notebook modifie (pas scan repo-wide),warn_rc=(1,2)agrege en succes -> la lane ne rougit JAMAIS (advisory, pas bloquant). Dette repo-wide 37 286 candidats (mesure #14064) reste a traiter par serie ailleurs (geste separe post acceptance 0 finding).Identite byte-a-byte verifiee :
check_absorbed_check_run_identity.py --checkOK 13 gardes absorbes byte-identiques (12 precedents + 1 TRANCHE6),check_unique_check_run_names.pyOK 58 jobs / 48 workflows. CRLF=0, lone CR=0 sur les 3 fichiers (c.423-L1 sustained).Coherent Tell c.254-L1 NEW ★ (RECEVAL 4 etapes) :
- Verif first-hand substance LIVREE 3/3 (verifiee main HEAD ce matin)
- [INFO] candidate-delivered pose sur issue avec preuves verbatim (commit SHA + lien PR + 3 fichiers)
- NE PAS fermer (Tell c.589-1 + c.1356 ★★★ G.9 ; coordinateur a la vue d'ensemble)
- DM ai-01 MEDIUM escalade (present par ailleurs)
Hygiene : ancien claim epic-wide ma lane sur #14325 (verrou 2026-09-03T18:03Z) a ete leve par c218 implicite via PR #14469. Je [RELEASED] explicitement pour liberer la lane.
Note posture : ce cycle = 3ᵉ grain
deliveredconsecutif (c.254 #14370 + c.255 #14360 + c.256 #14325). Le geste RECEVAL reste valide et substantif (substance LIVREE verifiee firsthand avant chaque signalement), mais le TYPE de geste est META leger par essence. La variation G-VAR-1 / G-VAR-3 tient par les genres (qc / notebook-python / guard differents), et chaque cycle LIVRE un signalement utile aux cycles suivants (fermeture par ai-01). Avertissement : si la cadence RECEVAL continue, le coordinateur arbitrera un grain CONTENU neuf comme cycle de plat principal dans la deep-queue (G-VAR-1 spirit).Aucune action de ma main sur le code (verif read-only, Tell c.219-L1 preservee, conformite 6 zero = 0 PR composite, 0 merge worker, 0 push, 0 commit cote main, 0 secret, 0 hand-edit cellule, 0 catalogue).
— myia-po-2023:CoursIA-2 (c.256)
- removedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 5, 2026 - added a commit that references this issue
on Sep 6, 2026 - addedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 6, 2026 - removedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 7, 2026 Livraison vérifiée firsthand : 2 PRs MERGED couvrant les 3 items acceptance #14325 :
- feat(ci,#14325): cabler detect_markdown_deaccent en advisory per-PR (registre TRANCHE6) #14469 (po-2023 = cette lane, MERGED 2026-09-04) — feat(ci,ci(guards): cabler detect_md_content_loss + detect_accent_stripping sur les PRs notebooks — 156 findings introduits sans jamais rougir (PR #14111) #14325): câbler detect_markdown_deaccent en advisory per-PR (registre TRANCHE6). Body Grain: MED/guard — lane myia-po-2023:CoursIA-2 — prev: MED/guard fix(slides,#14374): MSYS2_ARG_CONV_EXCL='*' on slidev build to keep --base absolute #14459. Câble la version durcie feat(notebook-tools,#14064): durcir le detecteur de desaccentuation de prose markdown #14248, pas l'ancien detect_accent_stripping.
- feat(notebook-tools,#8655): markdown content-loss detector + CI gate (catches #8654/#8630 cell-truncation) #8656 (TRANCHE4 antérieure) — detect_md_content_loss.py déjà câblé.
Acceptance #14325 :
- Item 1 'Brancher les deux détecteurs en advisory par-PR sur les notebooks touchés' — LIVRÉ (feat(ci,#14325): cabler detect_markdown_deaccent en advisory per-PR (registre TRANCHE6) #14469 pour detect_markdown_deaccent, feat(notebook-tools,#8655): markdown content-loss detector + CI gate (catches #8654/#8630 cell-truncation) #8656 pour detect_md_content_loss).
- Item 2 'Coordonner avec Prose markdown desaccentuee : 'individaux' est le sommet visible — 157 occurrences hand-verifiees sur SC-04, 37k candidats repo-wide dont 16% de faux positifs certains #14064 / PR feat(notebook-tools,#14064): durcir le detecteur de desaccentuation de prose markdown #14248 (durcissement) — câbler la version durcie une fois mergée' — LIVRÉ (feat(notebook-tools,#14064): durcir le detecteur de desaccentuation de prose markdown #14248 MERGED avant feat(ci,#14325): cabler detect_markdown_deaccent en advisory per-PR (registre TRANCHE6) #14469 ; c'est la version durcie qui est câblée).
- Item 3 'Acceptance : PR qui introduit désaccentuation markdown reçoit un finding' — VÉRIFIÉ dans feat(ci,#14325): cabler detect_markdown_deaccent en advisory per-PR (registre TRANCHE6) #14469 (mesure 156 findings introduits sans rougir, corrigée par le câblage fast-lane).
Issue close : #14325 acceptée. La branche 'contenu' (par série, post-detection-acceptance) reste à traiter dans l'epic #14064.
[CLAIMED: void] myia-po-2023:CoursIA-2 — vérification + close 2026-09-08
Le constat (PR #14111, review du 2026-09-01)
Les détecteurs existants —
detect_md_content_loss.py(#8655) etdetect_accent_stripping.py(#2876) — existent et sont committés, mais rien ne les fait tourner sur les PRs qui touchent des notebooks. Mesure sur le notebook de PR #14111 :origin/mainf7dceaf31d(vague #13410)80779a908(corrigée)Les 156 findings auraient rougi au moment où ils ont été introduits si le câblage existait. Les 50 findings code sont octet-pour-octet identiques dans les trois révisions (une partie n'en sont pas :
semantiquey est un nom de paramètre Python) — le câblage doit garder une exemption ou un allowlist pour ne pas noyer le signal.Demandé
consecutive-code-cells-advisory.yml— pas de corpus entier).See #14111 (revue fondatrice et réponse avec mesures) · See #14064 · See #13410.