Skip to content

check_source_collapse.py : l'auto-test échoue depuis #18015, le replay #16110 pointe le chemin renommé sur des commits historiques #18448

Description

@jsboige

Hors flotte : constat de la session cloud d'agnosticisme, fait en lisant le check-run d'une de ses PR (#18444). Pas de correctif dans cette session.

Constat

Depuis le merge de #18015 (532d3cce, 2026-09-29), le check-run « Source-collapse ratchet (base vs PR, advisory) » finit neutral sur les PR, quel que soit leur diff. Il ne signale pas de finding : c'est son auto-test qui échoue avant l'analyse de la PR. Sortie mesurée sur #18444 (check-run 109543791877) :

$ python scripts/notebook_tools/check_source_collapse.py --self-test
(exit 1, 2.7s)
replay 7a355873de32 on GameTheory-06e-Open-Source-Game-Theory.ipynb: total 16666 -> 13550, findings [('c989_independent_v2', 'magnitude', 8425, 5309, 0.37)]
replay #16110 1209b5357: findings []
SELF-TEST FAIL: #16110: cell 40cb37d5 not flagged

Cause probable

#18015 a renommé la série ANALYSE et, au passage, réécrit la constante du replay dans scripts/notebook_tools/check_source_collapse.py (lignes 279-283) :

SELF_TEST_16110_BASE = "7cc2fb2d203f"  # merge-base(main, #16097)
SELF_TEST_16110_HEAD = "1209b5357"
SELF_TEST_16110_NOTEBOOK = (
    "MyIA.AI.Notebooks/SymbolicAI/Lean/ANALYSE/ANALYSE-01-Sendov-Lean-Python.ipynb")

Le replay lit le notebook aux commits historiques 7cc2fb2d et 1209b5357, où il vivait encore sous son ancien chemin (Lean-18-Sendov-Complex-Analysis.ipynb, cité par l'ancienne version de la règle #16110). À ces commits, le nouveau chemin n'existe pas, le replay ne trouve rien, et le cas fondateur « ne tire plus ».

Non mesuré ici : dans ce clone peu profond, l'auto-test saute le replay (SKIP replay #16110: founding commits not in this clone) et rend SELF-TEST OK. La cause est déduite de la lecture du diff de 532d3cce et de la sortie CI ci-dessus.

Correctif proposé

Rétablir dans SELF_TEST_16110_NOTEBOOK le chemin tel qu'il était au commit rejoué (celui de 1209b5357), avec un commentaire qui dit que cette constante est historique et ne suit pas les renommages. Même vérification à faire pour les autres constantes SELF_TEST_* touchées par des passes de renommage.

Portée : advisory seulement (blocking=False dans scripts/ci/fast_lane_registry.py), mais tant que l'auto-test échoue, le check ne signale plus les pertes de source sur les PR.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions