fix(scripts,#12858): detect_code_in_markdown_cells --json stdout is now pure JSON, baseline identity on stderr - #13236
Merged
Merged
Conversation
…ow pure JSON, baseline identity on stderr Le mode --json de detect_code_in_markdown_cells.py polluait stdout avec la ligne 'baseline: <path> (<n> entries)' avant le json.dumps, ce qui cassait tout parse JSON en aval (jq, scripts CI, pipelines). Deplace la ligne d'identite sur stderr (canal operateur humain, compatible avec `2>/dev/null` ou redirection separee). Test : ajout de test_json_mode_stdout_is_pure_json_baseline_on_stderr qui verifie que stdout est parsable par json.loads() et que stderr porte la ligne d'identite. Test existant test_check_without_baseline_defaults_to_canonical_rc0 mis a jour : baseline -> stderr. Suite notebook_tools : 5050 passed, 2 skipped (3min30). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
This was referenced Aug 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grain: MED/guard — lane myia-po-2024:CoursIA-2 — prev: MED/slides #13230 (c.574)
fix(scripts,#12858): detect_code_in_markdown_cells --json stdout is now pure JSON, baseline identity on stderr
See #12858.
Origine
detect_code_in_markdown_cells.pyimprime une ligne d'identitébaseline: <path> (<n> entries)sur stdout avant lejson.dumps(...)du mode--json. La sortie stdout n'est donc plus du JSON pur, ce qui casse tout consommateur en aval (jq, scripts CI en pipe, parse Python).Hermes a releve ce concern en review de #12779 (declare non-bloquant et ouvert avant le merge conformement a CLAUDE.md §B.0). Le fix demande : "stderr-baseline-line au lieu de stdout".
Fix
Deplace la ligne d'identite baseline de stdout vers stderr. stdout reste reserve a la sortie structuree (JSON en mode
--json, format humain en mode--report). stderr reste le canal operateur humain, compatible avec2>/dev/nullou redirection separee.Code (
scripts/notebook_tools/detect_code_in_markdown_cells.py:468) :Tests
scripts/notebook_tools/tests/test_detect_code_in_markdown_cells.py:Nouveau
test_json_mode_stdout_is_pure_json_baseline_on_stderr: lance--json MyIA.AI.Notebooks, verifie que stdout est parsable parjson.loads()(objet racine avec clestotal,new,baseline_size,findings) et que stderr contient la lignebaseline: ....Mise a jour
test_check_without_baseline_defaults_to_canonical_rc0: la ligne d'identite est maintenant attendue sur stderr (assert "baseline:" in proc.stderr) au lieu de stdout.12/12 tests passent dans
test_detect_code_in_markdown_cells.py. Suitescripts/notebook_tools/tests/complete : 5050 passed, 2 skipped (run 3min30, aucune regression).Diff
Hors scope
detect_code_in_markdown_cells.pyn'a ete trouve dans le repo (grep -rnsurscripts/et.github/). Le seul caller est le test lui-meme, qui est mis a jour ici.--checkcontinue d'ecrire ses messagesFAIL:sur stderr (comportement pre-existant, inchange). Seule la ligne d'identite baseline a ete deplacee.Acceptance #12858
--jsonest du JSON pur sur stdout (verifie parjson.loads(stdout)).Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com)