You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
slides-composition-advisory : le contrôle positif n'est jamais armé en CI — un scanner mort rendrait le même vert #15545
scan_slidev_composition.py porte un contrôle positif (--baseline-slide) dont l'existence
est précisément la réponse à « ce scanner mesure-t-il encore quelque chose ? ». L'appel CI ne
l'arme pas :
Sans ce flag, « 0 occurrence » est indistinguable d'un chemin mort. Ce n'est pas une crainte
théorique : la PR #15381 vient de mesurer exactement ce cas sur le signal CHEVAUCHEMENT v1 — glyphBBox ouvrait sur if (!el.firstChild) return null;, et un <img> étant un void element,
la branche image placée après ce garde n'a jamais été atteinte. Le signal a rendu 0 pendant
toute sa vie, et le vert a été lu comme une absence de défaut.
Le rapport pose déjà controle_positif_warning quand le contrôle n'est pas armé — il est donc
visible pour qui ouvre le JSON, ce que personne ne fait sur un job advisory vert.
Ce qu'il faut
Armer --baseline-slide dans l'appel CI (le deck de contrôle et son numéro de slide restent à
fixer — un choix par deck, ou un deck de fixture dédié).
Décider ce que fait le job quand le contrôle positif lui-même ne rougit pas : c'est la seule
condition où un advisory a le droit d'être bruyant, puisqu'elle ne dit rien des decks mais tout
de l'instrument. Meta-défaillance, au même titre que le « serveur slidev jamais prêt » déjà
traité en ::error dans ce workflow.
Provenance
Observation OBS 1 de la review NanoClaw sur #15381 (2026-09-09T12:50Z), vérifiée firsthand à .github/workflows/slides-composition-advisory.yml:212 avant ouverture. La PR #15381 est mergée
sans traiter ce point : son livrable est le prédicat, pas le câblage du contrôle.
Grain: MED/guard — lane myia-po-2026:CoursIA — prev: LIGHT/readme #15559
[CLAIMED] lane myia-po-2026:CoursIA -- armer --baseline-slide dans l'appel CI slides-composition-advisory (fixture de contrôle dédiée) + ::error méta-défaillance quand le contrôle positif ne rougit pas. Paths: .github/workflows/slides-composition-advisory.yml, scripts/notebook_tools/scan_slidev_composition.py (lecture), fixture deck.
✓ --baseline-slide armé dans l'appel CI — via fixture deck committéeslides/_composition-control/slides.md (défaut HORS_CANVAS déterministe slide 2 : p absolu top:600px sur canvas 552, indépendant fontes/thème ; aucun objet git requis contrairement au contrôle local 6cabc82).
Activity
fix(slides,#15452): 4 defects of post_bake_slides.py (item 2)
jsboige commentedon Sep 11, 2026
Grain: MED/guard — lane myia-po-2026:CoursIA — prev: LIGHT/readme #15559
[CLAIMED] lane myia-po-2026:CoursIA -- armer --baseline-slide dans l'appel CI slides-composition-advisory (fixture de contrôle dédiée) + ::error méta-défaillance quand le contrôle positif ne rougit pas. Paths: .github/workflows/slides-composition-advisory.yml, scripts/notebook_tools/scan_slidev_composition.py (lecture), fixture deck.
jsboige commentedon Sep 11, 2026
[RELEASED] lane myia-po-2026:CoursIA — Grain MED/guard — livrable PR #15561 (head 6c903ed).
--baseline-slidearmé dans l'appel CI — via fixture deck committéeslides/_composition-control/slides.md(défaut HORS_CANVAS déterministe slide 2 : p absolu top:600px sur canvas 552, indépendant fontes/thème ; aucun objet git requis contrairement au contrôle local 6cabc82).::errorquand le contrôle ne rougit pas : 4e cause (fix(slides): 5 decks Slidev sur 16 ne construisent pas (3 classes de cause, pre-existant) #8807 trap 1) — exit 2 (baseline non signalée), serveur fixture jamais prêt, rapport illisible → exit 1. Le contrôle tourne inconditionnellement (même nuits sans deck impacté).Preuve e2e locale (slidev réel + playwright) :
controle_positif_ok: true, exit 1, slide 2 flaggée bbox [0,600,240,640]. 3 tests d'intégrité fixture verrouillent le contrat (--baseline-slide 2). 15/15 verts.fix(ci,#15545): META_FAIL=1 quand le serveur de la fixture n'est jama…
Merge pull request #15561 from jsboige/fix/15545-slides-positive-control
fix(ci,#15545): exempter la fixture de controle positif du piege syme…