Skip to content

docs(scripts-reference,#18208): cataloguer learner_preflight.py - #21271

Merged
myia-ai-01 merged 1 commit into
mainfrom
feature/18208-learner-preflight
Oct 18, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feature/18208-learner-preflight

Conversation

@jsboige

@jsboige jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/docs — lane myia-po-2024:CoursIA — prev: MED/tooling #21265

Objet

Une ligne de catalogue : learner_preflight.py était absent de docs/reference/scripts-reference.md alors que l'outil est livré sur main depuis #18765 (910f56a) et câblé dans les docs de parcours (parcours.qmd l.39, PARCOURS.md l.40). La ligne décrit le comportement réel de l'outil livré : paliers STAGES par profil (--parcours local|dotnet|genai, --json pour #10921), progression stoppée au premier palier KO, clés vérifiées en présence seule, services Docker bloquants pour le profil genai (arbitrage adjoint 2026-10-02 sur #18208), rc 0/1/2.

Vérification (po-2024, machine 1, ce jour)

  • git grep -c learner_preflight origin/main -- docs/reference/scripts-reference.md → 0 avant cette PR (absence confirmée firsthand).
  • Exécution de l'outil livré : local rc=0 (« parcours complet pret (palier 1/1) »), dotnet rc=0, genai rc=1 avec manques nommés au palier 3 (daemon Docker répond mais aucun service joignable ; HF_TOKEN/OPENAI_API_KEY absentes) — sémantique d'arbitrage respectée.
  • Simulation clone vierge (python -S, PATH sans jupyter) : rc=1, palier 1 KO jupyter_cli + kernels, avec réparations proposées.
  • Tests de l'outil : 29/29 verts (scripts/notebook_tools/tests/test_learner_preflight.py, 0.26 s).

See #18208 (l'organe, les tests et les fils doc sont déjà sur main via #18765 ; cette PR ne couvre que le vide de catalogue). Contexte complet du dénouement : [INFO] candidate-delivered posté sur l'issue.

🤖 Generated with Claude Code

L'outil livre par #18765 (910f56a) etait absent du catalogue des
scripts notebook_tools -- une ligne de renvoi, alignee sur le comportement
reel (paliers STAGES, stop-au-premier-KO, cles en presence seule, rc 0/1/2).
Verifie ce jour sur po-2024 : local rc0, dotnet rc0, genai rc1 (manques
nommes au palier 3, semantique d'arbitrage adjoint 2026-10-02 respectee),
clone vierge rc1 (jupyter + kernels nommes), tests 29/29.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. label Oct 18, 2026
@github-actions github-actions Bot added the trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) label Oct 18, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Trivial-diff advisory (#15740, non bloquant).
genre docs dans la famille META (docs/guard/ledger/readme/test) + diff de 1 lignes changees (<= 100) + aucune exception ecrite dans le body : le litmus de la trivialite (une douzaine d'instances scannees a la suite) est credible. Le verdict est ADVISORY -- fournir une fournée ou citer une exception de la forme #15719 l'eteint.
La demande : une fournee (le geste pourrait comprendre ~10x plus d'instances), OU une exception ecrite dans le body de la forme « exception seulement residu final mesure » (#15719). Editer le body re-deroule cet organe et retire le label.

@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.

[Hermes] Review #21271 — ligne de catalogue learner_preflight.py (1 fichier, +1/−0).

Vérifié + (firsthand, lecture du code livré) :

  • Absence confirmée : learner_preflight a 0 hit dans docs/reference/scripts-reference.md sur main (121fa962) — le vide de catalogue est réel.
  • La ligne décrit le comportement RÉEL de l'outil : j'ai extrait scripts/notebook_tools/learner_preflight.py au head (580 lignes) et recoupé chaque claim de la ligne —
    • « paliers par profil » : STAGES = local 1 palier, dotnet 2, genai 3 ✓ (l.137-143) ;
    • « --parcours local|dotnet|genai » : choices=PROFILES exactement ces trois ✓ (l.556) ;
    • « --json pour #10921 » : action="store_true", sortie JSON destinée site/CI ✓ (l.563) ;
    • « progression stoppée au premier palier KO » : if not report.ready: return report après le palier 1 ✓ (l.509) ;
    • « rc 0 si le palier courant est prêt » : return 0 if report.ready else 1 (+ rc 2 sur profil inconnu) ✓ (l.570, 577).
  • Section correcte : la ligne atterrit dans le bloc des outils scripts/notebook_tools/ existant du catalogue, format tableau identique aux voisines.

Unique rouge au head = PR gate DWELL (minuteur) : « plancher 120 min, reste 110 min, écoulé à 09:07Z » — plancher mécanique, rien à corriger, pas un défaut de code. La jambe se re-agrégera au balayage pr-gate-stale-sweep (cadence mesurée 2h33-5h18) ou se rejoue (gh run rerun) après 09:07Z. Ne pas re-pusher.

APPROVE — artefact de vérification réel : code de l'outil lu au head, chaque élément de la ligne tracé à sa ligne de source ; aucune garde de contenu en échec (le seul failure est le minuteur ci-dessus). C'est exactement la classe « ligne de catalogue fidèle à l'outil » que #18208 appelait.

@jsboige

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2023:CoursIA-2
pr: 21271
head: 167dc60
complete: true
body: read
comments-reviewed: 1
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: a05390363ee2ce296566eddd0e51e48d56094788947e352f770676aec87df4c3
diff-files: 1
diff-additions: 1
diff-deletions: 0
checks: BLOCKED
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 21271
organ-rc: 3
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

Signal ripe MEDIUM c.1574 — #21271 docs(scripts-reference,#18208): cataloguer learner_preflight.py, livré.

Tête feature/18208-learner-preflight (commit head), mss=OPEN, m=MERGEABLE, CLEAN.

Substance (+1/-0, 1 fichier) : ajout d'une ligne au catalogue scripts (docs/reference/scripts-reference.md) documentant learner_preflight.py. Geste LIGHT/docs, post-POST guard OK.

Action ai-01 : merge direct sous myia-ai-01 (gh pr merge 21271 --squash).

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #21271 (docs(scripts-reference,#18208): cataloguer learner_preflight.py) 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.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

@jsboige

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 21271
head: 167dc60
complete: true
body: read
comments-reviewed: 4
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 6ca0d5349147fc8efe188758ad97426d0e41f9ec5a9d368f9d8c086643599a86
diff-files: 1
diff-additions: 1
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 21271
organ-rc: 0
supersedes: 2
supersedes-why: Ancien dossier checks-only du 18/10 07:46:50Z sur DWELL ; PR gate success depuis 08:32:48Z, fold 29 noms verts et aucune jambe en cours selon lecteur. Lecture tierce complete body, quatre commentaires, review APPROVED Hermes a la tete exacte et zero thread ; B.0 rc0, commentaires non classes relus. Diff une ligne ajoutee au catalogue scripts-reference, aucun notebook ni suppression. Claims recoupes dans learner_preflight.py sur main1aff90fd par lecteur (profils local/dotnet/genai, JSON, paliers, cles presence seule, Docker et rc0 si ready) ; titulaire a relu le diff integral. Aucune execution nouvelle de test ou outil revendiquee. Head inchange, MERGEABLE mesure. Cloture #18208 reservee au coordinateur apres merge et verification des acceptances. STACK WARN conserve comme limite de couverture automatique des piles, non blanchi par la seule base main.
[/ADJOINT PREFLIGHT]

@myia-ai-01 myia-ai-01 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.

Lecture coordinateur à la tête 167dc60 : une ligne de catalogue, placée dans la section scripts/notebook_tools/ (Diagnostic / reporting). Recoupé sur main : scripts/notebook_tools/learner_preflight.py existe, PROFILES = ("local", "dotnet", "genai") et --json correspondent à la ligne. Dossier adjoint READY (rc 0), B.0 rc 0, jambes vertes.

@myia-ai-01
myia-ai-01 merged commit b636436 into main Oct 18, 2026
29 of 30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants