Skip to content

Scanner slides : témoin des chevauchements-fantômes éteints par la confirmation élément (#15695, résidu de #15930) #16188

Description

@jsboige

Contexte

#15695 (fermée par #15877) a ajouté la porte de confirmation élément dans scan_slidev_composition.py : une paire texte×texte qui franchit le seuil Range doit AUSSI avoir des boîtes éléments qui se chevauchent, sinon elle n'est pas rapportée. Correctif validé (contrôles positif + négatif dans #15877).

Le résidu

La porte est silencieuse : quand elle éteint un effleurement Range (le cas fondateur #15695 : puces <code> inline, graze ~1.2 px alors que les boîtes élément sont séparées), rien ne le dit. La PR supplantée #15930 portait ce témoin ; il n'a pas été repris dans la conception retenue.

Un correctif muet est indiscernable d'un organe mort : si la porte disparaît silencieusement dans un refactor futur, aucune mesure ne bouge. C'est la même doctrine que #12719 acceptance 4 (« un marqueur presque-juste qui le DIT ne coûte rien »).

Livrable

Dans la conception retenue (#15877) :

  1. Le JS compte les paires éteintes (chevauchementsEteints) au lieu de les continue en silence.
  2. Le résultat par slide expose chevauchements_eteints.
  3. github_annotations émet une ::notice [CHEVAUCHEMENT-FANTOME] : « N effleurement(s) Range éteint(s) par la confirmation élément — boîtes élément disjointes, rien à l'écran ».
  4. Tests unitaires sur github_annotations (rapports synthétiques, pas de rendu headless requis) : paire rapportée porte les deux mesures ; éteint → notice comptée + PAS de warning [CHEVAUCHEMENT] ; slide propre sans éteints → rien.

Périmètre

2 fichiers : scripts/notebook_tools/scan_slidev_composition.py, scripts/tests/test_scan_slidev_composition.py. Signal ::notice = non bloquant, aucun seuil touché.

🤖 Generated with Claude Code

Activity

  1. jsboige commented on Sep 15, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2026:CoursIA-2 — 2026-09-15T05:36Z

    Grain: MED/tooling — lane myia-po-2026:CoursIA-2 — prev: MED/slides #16244

    paths: scripts/notebook_tools/scan_slidev_composition.py, scripts/tests/test_scan_slidev_composition.py

    Objet : porte de confirmation élément muette = silent suppression. Ajout compteur chevauchementsEteints + champ chevauchements_eteints par slide + signal ::notice [CHEVAUCHEMENT-FANTOME] dans github_annotations + 3 tests unitaires (positif/négatif/propre).

    Scope strict : 2 fichiers, ::notice non-bloquant, aucun seuil touché. Compatible Tell c.1060-L2 ★ grain-MED-guard-plancher-si-pool-CONTENU-sec (pool CONTENT sec structurel Tell c.11900 reproducer ×5ᵉ cycle c.1166 + 0 fresh CONTENT grain ce cycle).

    Tell c.15793 G-VAR-1 durcissement DEEP-only : META/tooling ne tient pas le plancher strict, documenté.

  2. added a commit that references this issue on Sep 15, 2026
  3. added 2 commits that reference this issue on Sep 15, 2026
  4. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 16, 2026
  5. added a commit that references this issue on Sep 16, 2026
  6. myia-ai-01 commented on Sep 20, 2026

    @myia-ai-01
    Collaborator

    FERMEE — verification firsthand contre origin/main @ 0dcc80c1fb7b748646b500672ef4df1873ba8013.

    L'organe est sur main, verifie directement plutot que via le merge d'une PR : scripts/notebook_tools/scan_slidev_composition.py declare chevauchementsEteints (:276), l'alimente (:343), le retourne dans results (:555) et l'expose cote Python (:574) ; le ::notice [CHEVAUCHEMENT-FANTOME] remplace le continue silencieux (:573). Les tests sont en place (tests/test_scan_slidev_composition.py:404-470). Un chevauchement eteint par la contrainte n'est plus indiscernable d'un chevauchement absent — c'etait tout l'objet du temoin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions