Skip to content

fix(casestudies,#15457): aérer la note éditoriale mono-kernel Python (1 paragraphe 2065 c → 3 segments) - #15464

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/15457-casestudies-readme-paragraph
Sep 11, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/15457-casestudies-readme-paragraph

Conversation

@jsboige

@jsboige jsboige commented Sep 10, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/readme — lane myia-po-2023:CoursIA-2 — prev: MED/readme #15424

Sous-grain du sweep #15457 (résorption des fichiers markdown actifs > 2000 c, gate baseline pour bascule bloquante de detect_paragraph_length). Le README de la série CaseStudies portait 1 paragraphe-mur de 2065 c / 7 lignes (ligne 9 du fichier, ex-discover par detect_paragraph_length.py — l'organe de la PR #15455) mêlant 3 sujets en blockquote >...> : counts mono-kernel Python, comparaison inter-hubs (variante L392 #7 NEW), régénération du marqueur par catalog-cron.yml.

Résumé du diff

  • 1 fichier modifié : MyIA.AI.Notebooks/CaseStudies/README.md
  • +4 / −4 (8 lignes modifiées au total : 2 lignes > × 2 paragraphes blockquote conservées + 1 ligne > vide retirée + 4 lignes blockquote sorties en 2 paragraphes normaux)
  • CATALOG-STATUS byte-identique (catalog-pr-hygiene R1) — pedagogical_count: 6, breakdown: Diagnostic-Medical=2, Oncology-Planning=2, SmartGrid-Energy=2, maturity: BETA=5, DRAFT=1 lignes 3-8 inchangées.
  • Aucun notebook touché (C.1/C.2/H.3 non applicables).
  • Base fraîche depuis origin/main (catalog-pr-hygiene R2).

See #15457.

Restructuration (lignes 9-16, README)

Le blockquote de 7 lignes est éclaté en 3 segments thématiques distincts que le détecteur compte séparément (les paragraphes normaux ne s'agrègent pas aux blockquotes >) :

Avant (blockquote 2065 c) Après (3 segments ≤ 800 c chacun)
L. 10 : intro + counts CATALOG-STATUS L. 10-12 blockquote (conservé) : intro + counts mono-kernel Python 100% + 6 fichiers canoniques
L. 12 : **6 Python = python/python3 = 6/6...** (idem, conservé dans le blockquote introductif)
L. 14 : comparaison inter-hubs (RL/ML/Probas/QC/Sudoku), 6 paradigmes combinatoires, registre EPIC #3801 entry #10 L. 14 paragraphe normal : idem prose, mais hors blockquote
L. 16 : régénération marqueur par catalog-cron.yml L. 16 paragraphe normal : idem prose, mais hors blockquote

Aucun mot, aucun nombre, aucune référence n'est modifié — la substantifique moelle est strictement préservée. Seuls les frontières de paragraphes changent : le détecteur considère qu'un blockquote > ... > est un seul paragraphe (les lignes > contiguës s'agrègent), tandis qu'un blockquote suivi d'une ligne vide puis d'un paragraphe normal = deux paragraphes.

Vérification firsthand (détecteur de PR #15455)

# Avant ce fix
$ python scratchpad_c395_detect_pp.py --json MyIA.AI.Notebooks/CaseStudies/README.md
{
 "files": [{"file": ".../CaseStudies/README.md", "findings": [{
   "type": "oversized_paragraph", "start_line": 9, "chars": 2065,
   "excerpt": "> **Note éditoriale (counts)** : Le marqueur `CATALOG-STATUS` ci-dessus..."
 }], "counts": {"total": 1}}],
 "summary": {"file_count": 1, "flagged_count": 1, "total_findings": 1, ...}
}

# Après ce fix
$ python scratchpad_c395_detect_pp.py --json MyIA.AI.Notebooks/CaseStudies/README.md
{
 "files": [{"file": ".../CaseStudies/README.md", "findings": [],
   "counts": {"total": 0}}],
 "summary": {"file_count": 1, "flagged_count": 0, "total_findings": 0, ...}
}

Détecteur = scripts/notebook_tools/detect_paragraph_length.py sur la branche tooling/paragraph-length-detector (PR #15455, non mergée à ce jour — See #15455). Ce PR est le premier déploiement de la garde : il prouve que le détecteur fonctionne et qu'un fichier peut être ramené sous le seuil 2000 c sans perte de substance.

Périmètre G.4 (atomique)

  • 1 fichier, 1 sujet (résorption paragraphe-mur), 4 lignes touchées.
  • Aucune régénération catalogue, aucune modification de notebook, aucune modification de marqueur <!-- CATALOG-STATUS -->.
  • Aucune modification de fichier frère (CaseStudies/Inventory.md, CaseStudies/Medical-Diagnostic/README.md, etc.).

Hors scope (rappel sweep #15457)

🤖 Generated with Claude Code

@jsboige jsboige left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] Vérifié sur 128c41c : contenu du paragraphe-mur (2065 c) préservé verbatim dans les 3 segments, scan secrets clean. Remarque : les segments 2 (mono-kernel Python) et 3 (régénération marqueur) sortent du blockquote « Note éditoriale » (devenus texte plein) — si c'est voulu pour l'aération OK, mais s'ils doivent rester rattachés visuellement à la note, il faudrait garder le préfixe >. Fix #15457 appliqué. (contrainte token : COMMENT only)

@github-actions github-actions Bot added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Sep 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Grain tag obligatoire (#10045, bloquant).

Grain tag absent (no Grain: / in body).

Pour passer ce gate, le body doit porter en tete une ligne de la forme :

Grain: <DEEP|MED|LIGHT>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<GENRE> #<PR>

Le <genre> doit figurer dans l'enumeration §1 de variation-protocol.md (lean, qc, training, genai, notebook-python, notebook-dotnet, notebook-lean, slides, docs, guard, refactor, ledger, readme, test, tooling, research-code). Les 3 formes tolerées par l'extracteur : Grain: TIER/GENRE, **Grain:** TIER/GENRE, ## Grain + tag sur la ligne suivante. La lane doit suivre le format <machine>:<workspace> (cf. lane-claim-protocol.md).

@github-actions github-actions Bot removed the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Sep 11, 2026
jsboige added a commit that referenced this pull request Sep 11, 2026
Detection pre-fix par scripts/notebook_tools/detect_paragraph_length.py
(PR #15455, sweep baseline #15457 fichiers actifs > 2000 c) :
  L.56  : 7638 c monoligne (B1..B9 + connecteurs)  -> 10 paragraphes <= 2000 c
  L.83  : 9721 c (15 bullets Notebook 01..18 agreg.) -> 15 paragraphes
  L.272 : 2709 c (5 bullets geste fondateur agreg.)  -> 5 paragraphes

Aucune modification de contenu : seules les frontieres de paragraphes
changent (insertion de '\n\n' au point de transition semantique /
lignes vides entre bullets contigus). Substantifique moelle strictement
preservee -- le detecteur ne voit que la structure, pas la prose.

Post-fix : detecteur `findings: []` (counts.total = 0). Sweep #15457
progression 3/24 (CaseStudies/README.md #15464, Search/Part4-Metaheuristics
#15465, Z3-Linq2Z3/README.md cette PR).
jsboige added a commit that referenced this pull request Sep 11, 2026
Detection pre-fix par scripts/notebook_tools/detect_paragraph_length.py
(PR #15455, sweep baseline #15457 fichiers actifs > 2000 c) :
  L.56  : 7638 c monoligne (B1..B9 + connecteurs)  -> 10 paragraphes <= 2000 c
  L.83  : 9721 c (15 bullets Notebook 01..18 agreg.) -> 15 paragraphes
  L.272 : 2709 c (5 bullets geste fondateur agreg.)  -> 5 paragraphes

Aucune modification de contenu : seules les frontieres de paragraphes
changent (insertion de '\n\n' au point de transition semantique /
lignes vides entre bullets contigus). Substantifique moelle strictement
preservee -- le detecteur ne voit que la structure, pas la prose.

Post-fix : detecteur `findings: []` (counts.total = 0). Sweep #15457
progression 3/24 (CaseStudies/README.md #15464, Search/Part4-Metaheuristics
#15465, Z3-Linq2Z3/README.md cette PR).
…(1 paragraphe 2065 c → 3 segments)

Sous-grain du sweep #15457 (résorption des fichiers markdown > 2000 c,
gate baseline pour bascule bloquante de detect_paragraph_length). Le
README CaseStudies portait un blockquote de 7 lignes (2065 c, ligne 9
de l'ex-discover) mêlant 3 sujets : counts Python 100%, comparaison
inter-hubs (variante L392 #7 NEW), régénération marqueur.

Restructuration = 2 paragraphes normaux thématiques à la suite du
blockquote introductif (2 lignes `>` × 2 sujets : counts + intro). Le
détecteur (origin/tooling/paragraph-length-detector:
scripts/notebook_tools/detect_paragraph_length.py) rend 0 findings
sur le fichier après fix (vérifié `--json`).

| Segment | Type | Sujet |
|---|---|---|
| L. 10-12 | blockquote (intro + counts) | Mono-kernel Python 100%, 6 fichiers canoniques |
| L. 14 | paragraphe normal | Comparaison inter-hubs (RL, ML, Probas, QC, Sudoku), 6 paradigmes combinatoires |
| L. 16 | paragraphe normal | Régénération du marqueur par catalog-cron.yml |

Périmètre : `See #15457` (sous-tâche d'umbrella — la garde bloquante
bascule quand TOUS les fichiers actifs sont ≤ 2000 c, vérifié par le
détecteur). CATALOG-STATUS (l. 3-8) byte-identique à origin/main :
`pedagogical_count: 6`, `breakdown: Diagnostic-Medical=2,
Oncology-Planning=2, SmartGrid-Energy=2`, `maturity: BETA=5, DRAFT=1`.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
@jsboige
jsboige force-pushed the fix/15457-casestudies-readme-paragraph branch from 128c41c to 30f3437 Compare September 11, 2026 06:54
@myia-ai-01
myia-ai-01 merged commit 4fa1e02 into main Sep 11, 2026
23 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants