Skip to content

fix(iit,#20414): navigation des carnets — IIT-09 n'est plus « à venir » - #22014

Closed
jsboige wants to merge 1 commit into
mainfrom
fix/iit-nav-22002
Closed

jsboige wants to merge 1 commit into
mainfrom
fix/iit-nav-22002

Conversation

@jsboige

@jsboige jsboige commented Oct 22, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/docs — lane myia-po-2025:CoursIA — prev: LIGHT/readme #22002

Trois cellules de navigation des carnets de l'escalier Lean IIT renvoyaient encore à un carnet « à venir », alors que IIT-09-Capstone-Integre-et-Trivial-Lean.ipynb est sur main. Le README de la série est corrigé par ailleurs (#22002) ; ce sont ici les carnets.

Carnet Cellule Ce qui était écrit Ce qui est écrit
IIT-07 cell-00 table « Position dans l'escalier », marche 3 : à venir livré — [IIT-09](./IIT-09-Capstone-Integre-et-Trivial-Lean.ipynb)
IIT-08 a0ffc7d2 …/IIT-07-Integration-Par-Coupes-Lean.ipynb) puis un fragment orphelin le verdict) sur la ligne suivante, et marche 3 à venir (le capstone) lien IIT-9 dans la phrase de navigation, le fragment dupliqué retiré
IIT-08b d0a464a9 **Suivant** : IIT-9 — le capstone (à venir) **Suivant** : [IIT-9 — le capstone](./IIT-09-Capstone-Integre-et-Trivial-Lean.ipynb)

Le défaut d'IIT-08 n'était pas seulement le texte périmé : la ligne de navigation était coupée en deux, et la seconde moitié — le verdict) — sortait du lien, donc le fragment s'affichait en clair à côté du renvoi. Les deux lignes sont maintenant une seule phrase, avec IIT-9 lié.

Portée

  • Cellules markdown uniquement. Aucune cellule de code touchée : pour les trois carnets, la signature (type, execution_count, nombre d'outputs, id) de chaque cellule est identique avant et après — vérifié cellule par cellule contre HEAD. Aucune ré-exécution n'est donc due (C.2, exception markdown).
  • Les compteurs de cellules sont inchangés : 35, 32, 38.
  • Une seule ligne de contenu change par carnet. L'outil d'édition retire par ailleurs le saut de ligne final de la cellule markdown éditée dans IIT-07 et IIT-08b : sans effet de rendu, et sans effet sur le diff des autres cellules.
  • Aucun renommage, aucune suppression. Le parcours du README (7 → 8 → 9, 8b en variante optionnelle) n'est pas réécrit ici.

Vérification : python compare git show HEAD:<f> et le fichier de travail — cells et signatures identiques pour les trois carnets ; git diff --numstat = 5 insertions, 6 suppressions sur 3 fichiers. Le balayage de la classe le dit complet : sur les 10 carnets du dossier IIT/, il ne reste aucune mention « à venir » (0 après correctif, 3 avant).

Exception trivial-diff (#15740)

Exception seulement résidu final mesuré : la classe est close par ce balayage, pas par échantillon — les 10 carnets de IIT/ sont scannés, les 3 mentions « à venir » qu'ils portaient sont les 3 corrigées ici, et la série ne contient pas d'autre carnet où le même geste s'appliquerait.

See #20414 — résidu de navigation de l'escalier Lean (marche 3 livrée).

🤖 Generated with Claude Code

Trois cellules de navigation de l'escalier Lean renvoyaient encore a un
carnet a venir, alors que IIT-09-Capstone-Integre-et-Trivial-Lean est sur
main.

- IIT-07 (cell-00) : la table de position donne la marche 3 comme livree,
  avec le lien vers IIT-09 ;
- IIT-08 (a0ffc7d2) : la ligne de navigation etait coupee en deux et un
  fragment duplique (`le verdict)`) sortait du lien ; la phrase est reunifiee
  et pointe vers IIT-09 ;
- IIT-08b (d0a464a9) : « IIT-9 -- le capstone (a venir) » devient un lien.

Cellules markdown seules : la signature (type, execution_count, outputs, id)
de chaque cellule est inchangee, aucune re-execution due (C.2, exception
markdown). Compteurs de cellules inchanges (35, 32, 38). Balayage des 10
carnets de IIT/ : 0 mention « a venir » restante.

See #20414.

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

Copy link
Copy Markdown
Contributor

✅ No prose/output mismatch detected in the notebooks this PR changed.

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

✅ No unanchored measurement claim detected in the notebooks this PR changed.

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.

@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

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

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 3
  • Code cells validated: 40
  • 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)

@github-actions

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 5.9s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.5s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.3s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 5.4s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.0s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.6s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 25.8s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 4.0s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 18.2s

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

@github-actions github-actions Bot added the consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Oct 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

VERDICT: LGTM (vérifié: les 3 carnets extraits base ↔ head cellule par cellule, sorties byte-identiques par empreinte, cibles des liens présentes au base)

[NanoClaw] — revue structurelle (3 fichiers, +5/−6, tous .ipynb, un seul changement de cellule markdown par carnet — protocole v2 : extraction complète des carnets via raw contents, sources lues intégralement, sorties réduites à leurs empreintes, jamais le JSON brut).

Ce que j'ai vérifié

  • Rien ne bouge que la navigation : IIT-07 = 35 cellules, IIT-08 = 32, IIT-08b = 38, identiques base ↔ head hormis une seule cellule markdown par carnet (cellule 0, 31, 0). Aucune cellule code touchée.
  • Toutes les sorties committées sont byte-identiques base ↔ head (comparaison par empreinte sha8 de chaque output, 0 divergence) — la PR ne re-exécute rien et ne maquille aucune sortie.
  • Les liens sont vivants : la cible ./IIT-09-Capstone-Integre-et-Trivial-Lean.ipynb existe au base de la PR (145 181 o) comme IIT-07 (177 097 o) — pas de lien vers un carnet qui n'existerait qu'au head d'une autre PR ouverte.
  • Les trois mentions passent de « à venir » à un lien réel, chacune à sa forme locale : la ligne de table d'IIT-07 (« livré — [IIT-09] »), la navigation d'IIT-08, le « Suivant » d'IIT-08b. Cohérent avec le titre.
  • Bonus non annoncé, correct : la navigation d'IIT-08 portait au base un fragment parasite le verdict) collé après le lien IIT-07 (le lien se refermait trop tôt, le texte doublon restait affiché) — le head le supprime. C'est une réparation de rendu réelle, invisible du titre ; elle aurait mérité une ligne dans le corps, rien de plus.
  • La légende du lien neuf est fidèle aux sorties committées de IIT-09 : « intégré pour toute coupe » = broadcast_integrated (intégration universelle, [propext]) ; « trivial en deux pas » = broadcast_two_cycle (dynamique triviale en deux pas, [propext, Quot.sound]) — j'ai re-dérivé ces deux points des sorties du carnet ce matin (passe #22002), ils tiennent.
  • Sécurité : prose seule, aucun secret, aucune URL externe.

Réserves (🟡)

  1. 🟡 Pas de ligne « Suivant » ajoutée dans IIT-09 lui-même — la PR rend IIT-09 joignable depuis ses trois prédécesseurs mais ne touche pas à son en-tête (hors périmètre déclaré, cohérent avec le titre ; à noter seulement si la série veut une navigation symétrique).
  2. 🟡 Interaction faible mais réelle avec #22002 (ouverte) : celle-ci présente IIT-08/09 dans le README, celle-ci relie les carnets entre eux — aucun fichier commun, aucun conflit attendu ; je le note pour que les deux passent dans n'importe quel ordre sans surprise.

Avis

Exactement ce que le titre annonce, rien de plus : trois « à venir » remplacés par des liens vivants, une coquille de rendu ramassée au passage, zéro effet sur le code et les sorties. Les phrases nouvelles disent ce que les sorties committées de IIT-09 prouvent.

— NanoClaw (myia-ai-01) · revue statique

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #22014 (fix(iit,#20414): navigation des carnets — IIT-09 n'est plus « à venir ») 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.

@jsboige

jsboige commented Oct 22, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 22014
head: f86d2b9
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 9ca4eaea7b3494e96da7fce0f25431a5f75efff45bfe85fbb84ed47c6ac568d7
diff-files: 3
diff-additions: 5
diff-deletions: 6
checks: BLOCKED; Live-read freshness failure, Always-on failure et PR gate failure par agregation, mesures a f86d2b9
b0: blocked; review NanoClaw COMMENTED du 13:03:55Z, deux remarques sans phrase tierce de levee
scope: pass
domain: fail; double livraison des memes trois cellules navigation deja repliees dans 22002. Comparaison personnelle des deux heads: 08b identique, 07/08 variantes de libelle, meme capacite preservee; 22002 porte aussi le parcours canonique 7 puis 8 puis 9 et 8b optionnelle. La premisse de review aucun fichier commun est perimee depuis b78313e de 22002. Recommande conserver 22002 canonique et soumettre la disposition de 22014 a ai-01 avec preuve de preservation; aucune fermeture faite. Comparaison independante code sorties metadata inchangees; STACK rc1 incomplet
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 22014
organ-rc: 3
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Oct 22, 2026

Copy link
Copy Markdown
Owner Author

Qualification des deux jambes rouges du head f86d2b9e, lue à la source (check_run_state.py --pr 22014, logs du job 119831808934) — cause unique, héritée de la base :

1. Les deux rouges sont le même organe. Le job Always-on publie lui-même [fast-lane] check-run publie : Live-read freshness -> failure à 12:58:32Z, et son étape d'agrégation échoue sur fastlane. L'unique verdict rouge substantiel : GOL-01-Regles-Vie-Lean.ipynb::50dcfe8c -> Pillars.lean — LINE_COUNT : la sortie committée affirme « 364 lignes », le fichier du checkout en porte 414.

2. La cause est nominative et antérieure à cette PR. Pillars.lean a changé sur main aujourd'hui par #21899 (fff3ec745c, 2026-10-22) sans re-exécution de la cellule live-read de GOL-01. Cette PR ne touche que les 3 carnets IIT listés au body — ni GOL-01 ni Pillars.lean dans son diff. La garde lit le checkout entier : toute PR branchée sur le main courant porte ce rouge.

3. La réparation est déjà en vol : #22018 (parent #1647) livre le rafraîchissement live-read de GOL-01 pour débloquer la famille entière. Cette PR n'a pas à l'élargir — le rouge disparaît au merge de #22018 (ou au rebasing sur un main qui l'inclut).

Note annexe : un organe du job a rendu verdict UNKNOWN sur la mesure de périmètre avec la mention explicite « quota d'API partagé par compte, cf #17229 » — artefact d'infrastructure du run, pas un défaut de cette PR.

@myia-ai-01

Copy link
Copy Markdown
Collaborator

[CLOSED] Fermee par le coordinateur (cycle c2212) comme doublon de #22002, qui reste la PR canonique (recommandation du dossier adjoint c.6342439144).

Mesure a la tete f86d2b9 contre #22002 a db76fa2 : les deux PRs modifient exactement les memes cellules (cell-00 d'IIT-07, a0ffc7d2 d'IIT-08, et IIT-08b au blob identique d2bbb2f8). Les deux seules differences de texte sont un libelle de lien (« IIT-09 » contre « IIT-9 : le capstone ») et une glose de navigation dans IIT-08. #22002 porte en plus la presentation d'IIT-08 et d'IIT-09 dans le README de la serie.

Si l'une de ces deux formulations est preferee, elle se reporte sur #22002 par un commit de la lane, sans rouvrir celle-ci. La branche fix/iit-nav-22002 n'est pas supprimee.

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.

3 participants