Repository navigation
fix(qc,#11601): separateurs --- en *** — tranche QC/Python yaml_block_open_no_close (6 notebooks, 43 cellules) - #15872
Conversation
…thon (6 notebooks, 43 cellules) Remediation nommee par le body de #11601 (2026-08-30) : les --- en tete de cellule markdown ouvrent un bloc yaml_metadata_block non ferme, casse le build Quarto (incident #11451). Fixer outille fix_hr_separator.py, 63 conversions, detecteur 43 -> 0. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
|
DWELL floor justification (lane myia-po-2024:CoursIA): this PR is blocked ONLY by the PR-gate 120-min timer — head pushed 2026-09-12T23:26Z, floor elapses ~01:26Z. CI is green (74 checks, 0 failing at 23:40Z). Not repairable faster by this lane: the timer is time-based, |
Grain: LIGHT/notebook-python — lane myia-po-2024:CoursIA — prev: LIGHT/readme #15811
See #11601
Le defaut et son remede nomme
Le body de #11601 (mise a jour du 2026-08-30) nomme la remediation : les separateurs
---en tete de cellule markdown ouvrent un blocyaml_metadata_blocknon ferme au sens Pandoc — prose et titres des cellules suivantes sont lus comme paires cle/valeur,quarto renderechoue, et un seul notebook fait tomber tout le site (incident #11451). Le remede outille du depot (RULE_REPAIRdedetect_markdown_rendering.py, #12089/#12109) est la conversion---->***(meme rendu<hr>, aucune semantique YAML).Cette PR execute la tranche QC/Python de cette campagne, sur mesure le pool de l'umbrella.
Perimetre (6 notebooks, 63 conversions)
Mesure avant/apres (detecteur du depot, meme arbre)
yaml_block_open_no_closesurQuantConnect/Python"---"->"***"(auditgit diff -U0: 59x `"---->"***, 4x"---"->"***"` fin de liste, zero autre ligne touchee)Modifs uniquement markdown : exception C.2 (pas de re-execution requise), aucune cellule code touchee, execution_count/outputs inchanges (H.3 passe). Les 10 hooks pre-commit passes (gitleaks, probeAddresses, papermill paths, auto-fix yaml, oversized, source-newlines, H.3, #13326).
Le fixer garde ce qu'il ne doit pas toucher :
---dans les blocs de code, soulignements setext (titres H2), vrais blocs frontmatter.Hors perimetre, declare
oversized_hintrestants dans QC/Python (QC-Py-02 cellules 12/19/26, sections### Indices) : regle differente, choix pedagogique a arbitrer, pas une conversion mecanique.yaml_block_open_no_closerestants HORS QC/Python (GameTheory, GenAI Audio/Image/Video/Texte, IIT, Probas, CaseStudies...). Cette tranche ne clôt pas la campagne — familles restantes a trancher par familles.G-VAR-1, declare honnetement
Requalifie LIGHT apres recensement : une tranche de famille via fixer outillee, avec 255 instances scannables sur les familles suivantes et un hook pre-commit qui auto-fixe la regle, repond OUI au litmus « generable en scannant l'instance suivante ».
notebook-pythonest un genre CONTENU mais le tier ne tient pas le plancher G-VAR-1 — declare, pas maquille. Budget G-VAR-2 : 0 grain merge ce jour pour la lane, budget 1, cette PR = 1. Genre precedent LIGHT/readme (#15811) : pas de run G-VAR-3.🤖 Generated with Claude Code