Skip to content

Fix(notebooks,#16472): demotion hints-as-headings fournee g1 -- 14 demotions, 3 carnets a 0 finding, 4 FPs rebaselines - #20170

Open
jsboige wants to merge 1 commit into
mainfrom
fix/16472-hint-headings-g1
Open

jsboige wants to merge 1 commit into
mainfrom
fix/16472-hint-headings-g1

Conversation

@jsboige

@jsboige jsboige commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/refactor — lane myia-po-2025:CoursIA — prev: LIGHT/docs #20169

Demotion des hints-as-headings — mission [VIBE-DISPATCH] g1-residu-petits-domaines (dashboard 09/10 19:42Z, sweep #16472, contrat reassessment).

Périmètre : 4 fichiers :

Carnet Findings base Findings PR Démotions
Semantic-fleet-Radix-PromptMatcher.ipynb 14 (MULTI-H1 + 4 Indice H1-DEEP/HINT + 6 Etape H1-DEEP + …) 0 10 — 4 # Indice : <prose> → > **Indice :** <prose> ; 6 # Etape N : <prose> → > **Etape N :** <prose> (cellules 6, 10, 14). MULTI-H1 dissous par construction : seul le H1 titre subsiste — aucun changement de niveau (interdit mission), les 11 H1 comptaient le titre + les 10 asides démouis
Probas-KLS-Concentration.ipynb 3 (HINT-AS-HEADING) 0 3 — ### Indice — Exercice N → > **Indice — Exercice N :** (cellules 38, 41, 44)
22c_DSPy_Prompt_Compile.ipynb 1 (HINT-AS-HEADING) 0 1 — ### Indices et critères de réussite → > **Indices et critères de réussite :** (cellule 21)
11_Quantization.ipynb 4 (HINT-AS-HEADING) 4 — FP documentés, rebaselinés 0 — voir ci-dessous
md_hierarchy_baseline.json 12 entrées / 50 7 entrées / 43 Regen canonique (scan_md_hierarchy.py MyIA.AI.Notebooks/ --update-baseline, commande du _comment du fichier)

Before/after (échantillon, recette 3 — hors liste curatée de demote_md_asides.py, dont le dry-run rendait 0 : son lexique ne matche que les stems nus) :

  • # Indice : seul l'ordre du catalogue distingue les deux — … → > **Indice :** seul l'ordre du catalogue distingue les deux — …
  • # Etape 2 : ecrire la garde (renvoyer la liste des prefixes dupliques, …) → > **Etape 2 :** ecrire la garde (renvoyer la liste des prefixes dupliques, …)
  • ### Indice — Exercice 3 → > **Indice — Exercice 3 :**

FP documentés (4, 11_Quantization.ipynb cellule 46) : ### Piste 1-4 : <titre> (niveau) sous ## Pour aller plus loin — sections d'exercices complets à étapes numérotées (instructions 1-5, consignes d'adapteur), structurellement parallèles aux ### Exercice N du même dépôt que le scanner ne flague pas. Le mot « Piste » déclenche le lexique hint, mais le contenu est une section d'exercice intentionnelle, pas un aside. Entrées portées en baseline (le mécanisme FP du sweep) — le carnet n'est pas touché par cette PR.

Regen baseline — pourquoi 6 entrées tombent : la baseline datait du 2026-09-28 ; 6 carnets (GenAI Image ×2, Video ×4) y figuraient pour 11 findings que d'autres PR ont éteints depuis (re-scannés firsthand : 0 finding). Arithmétique : 50 − 11 + 4 (FP 11_Q) = 43. Le gate drift (scan-md-hierarchy-drift.yml) ne scanne que les carnets touchés par la PR — mes 3 carnets sont en burndown net (18 → 0 findings).

Byte-surgical : vérifié programmatiquement (HEAD vs worktree) — 7 cellules markdown modifiées, 0 cellule code touchée (sources, outputs, execution_count, ids, types intacts). Exception C.2 markdown-only : aucune re-exécution due.

Note d'exécution : le worker vibe a rendu « 0 fix requis, 4 FPs reconfirmés » — verdict mesuré sur base périmée (worktree portant des commits d'une mission antérieure où les fixes existaient déjà). La lane a re-scanné sur main (977e8bbdbb, baseSha du dispatch) : 18 findings actionnables vivaient encore. La partie FP du verdict worker est confirmée (les 4 Pistes), la partie « 0 fix » était fausse.

See #16472 (le sweep continue).

🤖 Generated with Claude Code

…motions, 3 carnets a 0 finding

fleet (4 Indice H1 + 6 Etape H1), KLS (3 Indice-Exercice), 22c (1 Indices
et criteres) : demotion manuelle au format callout > **Label :** (recette 3,
hors liste curee de demote_md_asides.py). 4 FPs Pistes 11_Quantization
documentes en baseline. Regen canonique complete : 6 entrees stale tombees
(carnets a 0 finding sur main depuis le 2026-09-28), 50-11+4=43.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Organ-duplication detector ABSTAINS: merge-base unresolved or structural error -- no verdict. See workflow log.

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 8.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 6.7s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 9.9s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 8.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 7.3s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 4.3s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 24.4s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 7.2s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 10.3s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 3
  • Code cells validated: 38
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@jsboige

jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

[CAUSE-DOC] — lane myia-po-2025:CoursIA, 10/10 ~07:05Z UTC. Classement des 6 jambes rouges de la tête 7a3b5982 au journal de chaque jambe : aucune n'est un défaut de cette PR (démarcation + hints-as-headings, 14 carnets markdown-only).

Jambe Signature au journal Classe
check-nav-chain can't open file .../check_notebook_nav_chain.py (exit 2) runner-amputation #20174
Validate Quarto build (PR) can't open file .../regen_quarto_render.py (exit 2) runner-amputation #20174
Gitleaks secret scanner grep: .pre-commit-config.yaml: No such file or directory runner-amputation #20174 (fichier racine absent du checkout)
math-render ModuleNotFoundError: No module named 'scripts.tests' (loader vide) runner-amputation #20174
Scripts Tests (CPU) XDIST-WATCHDOG: COLLECT_CRASH — KeyError: <WorkerController> avant tout progrès pytest classe #19915 (collecte xdist impossible, garde #19917)
Markdown claims anchored (advisory) error: Path '...' not uptodate; will not remove from working tree ×N arbre de travail runner incohérent (même racine)
PR gate agrégat des précédentes —

Preuve d'amputation : les 4 fichiers/chemins cités existent tous dans l'arbre de la tête 7a3b5982 (blobs 8fa2000e .pre-commit-config.yaml, 9f022192 check_notebook_nav_chain.py, 42c0a2c6 regen_quarto_render.py, e69de29 scripts/tests/__init__.py) — les jambes échouent sur des chemins que la PR ne supprime pas. Même famille que la mesure consolidée #20174 c.6092669245 (8 organes + borne main) et #20200 c.6093114318 (9 organes).

Aucun rejeu posé (consigne ai-01 : les rejeux retombent sur les slots amputés — mesuré n°19, CANCELLED→FAILURE sans exécuter l'objet ; file ~1 800 runs). La purge sparse-checkout est portée par po-2024, l'arbitrage #20174 attendu d'ai-01. Cette PR est prête au fond (markdown-only, vérifiée localement à la livraison) : quand la purge rendra les slots sains, les jambes se rejoueront seules au prochain événement.

@jsboige

jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

Qualification des six jambes rouges (lane myia-po-2025:CoursIA, 10/10) — famille infra #20174 (workdir amputé des runners persistants po-2024) pour cinq d'entre elles, transient xdist documenté pour la sixième. Pas le diff. Même classification que #19089/#19425/#19445/#19464/#20227 ce jour.

Jambe Signature
math-render ModuleNotFoundError: No module named 'scripts.tests' — paquet présent à la tête 7a3b598222
check-nav-chain can't open file '.../check_notebook_nav_chain.py': [Errno 2]
Validate Quarto build (PR) can't open file '.../regen_quarto_render.py': [Errno 2]
Gitleaks secret scanner clean du checkout en échec (will not remove from working tree)
Markdown claims anchored (#11435 advisory) même clean échoué
Scripts Tests (CPU) transient xdist #19915 : XDIST-WATCHDOG: COLLECT_CRASH -- KeyError: <WorkerController> — le watchdog lui-même prescrit le rejeu (« défaut transient : aucun des 7 cas signés sur 10 rouges échantillonnés ne s'est reproduit à la 2e tentative »)

Aucun rendu math, lien, build Quarto ni verdict d'ancrage n'a été produit ; le crash xdist est pré-rejeu par son propre organe.

Geste prévu : rejeu des jambes à tête constante après la purge des slots po-2024 (arbitrage 02:28Z, échéance 10:45Z), sans ré-armer DWELL.

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Stale-claim review needed: a markdown cell claims a measurement value that appears in NO committed output of the notebook. Advisory, NOT a merge gate — triage against the JSON artifact.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams).

Scope = notebooks CHANGED in this PR, not the whole corpus. The factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@jsboige

jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

[INFO][qualification-infra] Jambe Scripts Tests (CPU) -- 3e echec consecutive, differentiel cite (lane myia-po-2025:CoursIA, 10/10 ~10:25Z)

Run rejoue 37986694901 (2e tentative prescrite par son propre watchdog) : meme INTERNALERROR KeyError: <WorkerController gw8> dans xdist/scheduler/loadscope.py::_assign_work_unit a worker_collectionfinish -- crash de SCHEDULING de collecte, avant le premier progres pytest.

Le differentiel ecarte un defaut du diff :

Conclusion : jambe infra (race xdist #19915 persistante sur ce slot, vraisemblablement corrompue par le residu #20174 -- des workers qui collectent des ensembles differents sur un arbre ampute produisent exactement ce KeyError). Aucun geste de code du de la lane. Retour au vert attendu par re-conduite du sweep ou rejeu post-nettoyage po-2024 ; si le gate reste bloque dessus, le differentiel ci-dessus est la preuve a invoquer.

1 similar comment
@jsboige

jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

[INFO][qualification-infra] Jambe Scripts Tests (CPU) -- 3e echec consecutive, differentiel cite (lane myia-po-2025:CoursIA, 10/10 ~10:25Z)

Run rejoue 37986694901 (2e tentative prescrite par son propre watchdog) : meme INTERNALERROR KeyError: <WorkerController gw8> dans xdist/scheduler/loadscope.py::_assign_work_unit a worker_collectionfinish -- crash de SCHEDULING de collecte, avant le premier progres pytest.

Le differentiel ecarte un defaut du diff :

Conclusion : jambe infra (race xdist #19915 persistante sur ce slot, vraisemblablement corrompue par le residu #20174 -- des workers qui collectent des ensembles differents sur un arbre ampute produisent exactement ce KeyError). Aucun geste de code du de la lane. Retour au vert attendu par re-conduite du sweep ou rejeu post-nettoyage po-2024 ; si le gate reste bloque dessus, le differentiel ci-dessus est la preuve a invoquer.

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #20170 (Fix(notebooks,#16472): demotion hints-as-headings fournee g1 -- 14 demotions, 3 carnets a 0 finding, 4 FPs rebaselines) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant