Skip to content

fix(iit,#2161): ICT-23 exercices 1-3 visibles au compteur — print-idiom C.1 - #16373

Merged
myia-ai-01 merged 1 commit into
mainfrom
feat/2161-ict23-marqueurs
Sep 16, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feat/2161-ict23-marqueurs

Conversation

@jsboige

@jsboige jsboige commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/notebook-python — lane myia-po-2023:CoursIA — prev: MED/tooling #15919

Summary

ICT-23-PersonaCatastrophe : les 3 exercices de la section 5 (vrais stubs — # TODO etudiant, pass, passthroughs np.empty_like à remplir par l'étudiant) étaient invisibles au compteur canonique : la porte _body_computes_result voit le return n_cats (array déclaré puis retourné) comme un calcul, ce qui neutralise les comment-markers # TODO. Mesuré 1/3 alors que le notebook porte 3 exercices pédagogiquement conformes.

Fix : ajout du print-idiom C.1 canonique (print("Exercice a completer"), ligne 2 de chaque cellule stub, juste sous le titre-commentaire) — forme non gated par body-computes, pattern exact de la règle C.1, valide avant et après le fix compteur #16367 (forme numérotée). Exécution inchangée par ailleurs.

Validation

  • Re-exec Papermill complète : 19/19 cellules, kernel python3, --cwd sur le dossier de série (paquet local ict/), 0 erreur, exec_counts 1-7 consécutifs sur les 7 cellules code.
  • Outputs honnêtes : les 3 prints « Exercice a completer » apparaissent en stream outputs des cellules 11/13/15 ; cell 11 affiche aussi la démo d'équilibres (listes vides, stub non rempli — comportement attendu).
  • Compteur canonique : count_exercises.py sur le notebook final → 3 exercices, conforme, sub-threshold 0 (avant : 1/3).
  • Diff source chirurgical : seules les cellules 11/13/15 changent de source, chacune +1 ligne print("Exercice a completer"), 0 suppression (vérifié par comparaison cell-by-cell contre HEAD). Le +264/−70 du diff total = outputs régénérés par la re-exec (C.2).
  • grep -nE "raise NotImplementedError|assert False|1/0" : 0 occurrence.

See #2161

🤖 Generated with Claude Code

…om C.1

Les 3 stubs (TODO etudiant + pass / passthrough empty_like) etaient
neutralises par la porte body-computes. Print idiom canonique ajoute,
re-exec complete 19/19, 0 erreur. Compteur 1/3 -> 3/3.

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

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 4.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.6s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.3s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.0s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.2s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.2s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 18.1s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.8s

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

@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

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 7
  • 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

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

@github-actions github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Sep 16, 2026

@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é: diff source re-mesuré cell-by-cell base↔head — chirurgical exact)

[NanoClaw] structural review (notebook inspecté au head et au base via API contents, diff jamais fetché en bloc).

Vérifié firsthand :

  • Diff chirurgical exact : 19 → 19 cellules ; sources changées = uniquement les cells 11/13/15 ; chacune exactement +1 ligne print("Exercice a completer"), 0 ligne supprimée (comparaison programmatique line-by-line base a65b9969 ↔ head eafc7e52). Le claim du body est précis au byte près ; le +264/−70 restant = outputs régénérés (C.2), cohérent avec l'arithmétique (3 lignes de source ajoutées seulement).
  • Idiome C.1 en place : la ligne print est en position 2 de chaque cellule stub, juste sous le titre-commentaire (# Exercice N -- …) — forme non numérotée, valide avant et après le fix compteur #16367 (forme numérotée). Marqueurs de stub réels présents (« A implementer », TODO-family).
  • Exec honnête : 7 cellules code, execution_count 1-7 consécutifs ; les 3 prints « Exercice a completer » apparaissent en stream outputs des cells 11/13/15 ; cell 11 montre aussi la démo d'équilibres (listes vides = stub non rempli), conforme au body.
  • Sécurité : grep secrets/tokens/clés sur le notebook complet → 0 occurrence.

Non vérifié ici : le compteur count_exercises.py 1/3 → 3/3 (pas de Python au conteneur — mécanisme pourtant corroboré par #16367 reviewé hier : la porte body_computes_result ignore le print-idiom) et la re-exec papermill (non re-jouable) ; check ICT tests/ (57) in_progress au moment de la review.

Note (non bloquante) : les exec_counts 1-7 sont identiques base↔head — la re-exec a renuméroté à l'identique, rien à reprocher, juste constaté.

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

Exact-head review of eafc7e52e47467d563e645f7ce0a83e92aeb5267 complete.

APPROVE — the notebook change is exactly three executable exercise markers in cells 11, 13, and 15. Fresh comparison and the canonical counter reproduce 1/3 → 3/3, the committed outputs show a genuine clean re-execution, and no banned placeholder idiom or solution leak is introduced.

Verified: latest checks green including both ICT suites, nits clear, no unresolved thread or closing issue reference.

@myia-ai-01
myia-ai-01 merged commit d2f659a into main Sep 16, 2026
82 of 84 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants