Skip to content

notebook-tools: detecteur citation verbatim incluse dans outputs — classe des verbatims fabriques, sans couverture (PR #14105) #14324

Description

@jsboige

La classe

Des cellules markdown « citent verbatim » des sorties de cellules code qui ne contiennent pas ce qu'elles citent : valeurs numériques inventées ou contradictoires, signatures Lean altérées, sources de sortie erronées. Mesurée sur trois PRs de la vague d'enrichissement #13410, détectée par les reviews structurelles puis étendue par la lane :

PR Cas mesuré Corrigé dans la PR par Tête avant fix (golden set)
#14105 (Lean-22b) ancres « Sortie observée de code[N] (verbatim) » citant des valeurs inexistantes — 9 cellules contaminées (la review n'en voyait que 2) ed48210e4 d6ab5f9ee8
#14111 (ASPIC+) md[24] annonçait « 9 undermines, 5 rebuts, 3 undercuts » contre une sortie réelle {'rebut': 8, 'undercut': 4, 'undermine': 5} ; md[1] attribuait le chargement des 42 JARs à JVM operationnelle : True (retour de jpype.isJVMStarted()) en élidant la ligne qui porte le décompte 80779a908 f7dceaf31d
#14128 (SC-7c) 5 signatures Lean « verbatim » fausses sur 11 cellules (hypothèse fabriquée, arguments renommés, notation s \ {a} inventée) 5e5c5f1dc 52349dfb8c

Aucun détecteur committé ne couvre cette classe : scan_cell_ordering.py couvre la position des ancres, pas leur contenu.

Cahier des charges

Détecteur scripts/notebook_tools/ (nom indicatif detect_fabricated_verbatim.py) :

  1. Extraire les citations backtick significatives (multi-mots) des cellules markdown.
  2. Résoudre la cellule de code cible : voisinage en sautant le markdown (« la cellule ci-dessous/ci-dessus »), repli sur titre de section numéroté, pointeur code[N] le cas échéant.
  3. Vérifier citation ⊆ sortie strippée (normalisation des blancs ; pour Lean, lire le bloc « Raw output » messages[].data — la ligne rendue par Alectryon redouble le nom de déclaration et parse mal, cf Enrich SC-7c-ERC20-Lean-Native-Companion.ipynb density 642 -> 3657 c/cell #14128).
  4. Rendre un finding par citation non retrouvée, avec la cellule émettrice et la cible résolue.

Jeu de test

Les trois têtes avant-fix ci-dessus constituent le golden set : le détecteur doit attraper les cas listés sur ces SHAs. Le corpus #13410 (~428 notebooks restants) donne la mesure de rendement.

Câblage

Advisory par-PR sur les notebooks touchés (même véhicule que les advisory existants).

See #13410 (contexte de la vague) · See #11168 (citations arXiv — sujet distinct) · See #11962 (flowcharts ASCII — sujet distinct).

Activity

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