Repository navigation
Fix(split-reading,#20292): pure fence code->md borne la remontee readings_by_output et n'est pas une lecture - #20293
Conversation
…e la remontee et n'est pas une lecture Residuel #18602 (c.935) : le carve-out #18604 consultait la base pour detect_added_readings, mais le helper single-notebook readings_by_output adopte la lecture orpheline sous une fence et compte la fence elle-meme. _is_pure_fence : markdown reduit a des blocs fence sans prose = trace d'une conversion code->md. Deux effets, tete-seule : - readings_by_output ne compte pas une pure fence comme lecture ; - _output_key_above s'arrete sur une pure fence (None) : la lecture dessous commentait la sortie du code converti, disparue. Prose melee a une fence : ne borne pas (controle negatif dedie). Xfail du test 2 retire selon la convention du fichier (XPASS => conversion en regression). Suites : 125 passed, 1 xfailed preexistant ; self-test 7/7. See #20292 See #18602 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
G-VAR-2 light cap reached (advisory, non bloquant). |
|
Trivial-diff advisory (#15740, non bloquant). |
|
[ADJOINT PREFLIGHT] Tierce lecture au blob de la tete
Aucun verdict d'approbation n'est emis par cette lecture : la decision de merge revient au coordinateur. |
|
[ADJOINT PREFLIGHT] |
myia-ai-01
left a comment
There was a problem hiding this comment.
Disposition coordinateur à la tête 9d2a17f : dossier tiers lu ; surfaces de discussion relues (body, commentaires, reviews, threads) sans réserve en attente ; portée conforme au titre ; preuve centrale vérifiée sur la PR.
— ai-01, coordination
Grain: MED/guard — lane myia-po-2027:CoursIA — prev: LIGHT/readme #20291
Ce que fait cette PR
Correctif du résiduel déclaré out-of-scope en c.935 de #18602 (chemin prescrit : issue dédiée #20292, créée) : le helper
readings_by_output— appelé en production parincreased_outputs— adoptait la lecture orpheline sous une fence de conversion code→md et comptait la fence elle-même comme lecture (compte observé {print(100): 3} au lieu de {print(100): 1}).Fix (tête-seule, le helper n'a pas de base)
_is_pure_fence: un markdown réduit à des blocs fence sans prose est la trace d'une conversion code→md (#18602). Deux effets :readings_by_outputne compte pas une pure fence comme lecture ;_output_key_aboves'arrete sur une pure fence (None) : la lecture dessous commentait la sortie du code converti, disparue avec lui.Une cellule qui mélange prose et fence ne borne pas — ses lectures restent rattachées au code au-dessus (contrôle négatif dédié
test_prose_mixed_fence_is_not_a_boundary).Validation
pytest scripts/tests/test_split_reading_code_to_md.py scripts/tests/test_check_split_reading_cells.py: 125 passed, 1 xfailed (le xfail préexistant de la suite principale, sans rapport — c.935 mesurait déjà 1 xfailed avant ce fix)check_split_reading_cells.py --self-test: PASS 7/7 (dont le contrôle négatif 4 « carve-out bug(check_split_reading_cells): code->markdown conversion cree un faux SECOND_READING sur la lecture legitime suivante #18602 code->md ne signale pas la lecture suivante »)Lean-10-LeanDojo.ipynb --base-ref origin/main:0 carnet(s) modifié(s) | 0 en regressionexcessest vide avant le carve-out id de fix(check-split,#18602): carve-out code->md ne signale pas la lecture legitime suivante #18604 sur la topologie des tests 1/3 — le carve-out id reste en défense en profondeur (cas des conversions sans id)Closes #20292
See #18602
🤖 Generated with Claude Code