Skip to content

fix(notebook-python,#14532): restaure la section Applications reelles du TSP (App-13) - #14811

Merged
myia-ai-01 merged 4 commits into
mainfrom
fix/14532-app13-applications-reelles
Sep 6, 2026
Merged

myia-ai-01 merged 4 commits into
mainfrom
fix/14532-app13-applications-reelles

Conversation

@jsboige

@jsboige jsboige commented Sep 5, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2024:CoursIA-2 — prev: DEEP/notebook-python #14772

Objet

Restaure le residu de #14109 consigne dans #14532 (item-3) : l'enrichissement de densite avait, sur App-13-TSP-Metaheuristics.ipynb, supprime la sous-section pedagogique ### Applications reelles — les quatre exemples concrets qui rendent le TSP tangible (logistique, fabrication, genomique, astronomie) — en la remplacant par des applications evoquees en prose.

Preuves

  • Markdown-only : git diff sur cellules code (motif ^\+\s*"source") = 0 — aucune cellule code modifiee (regle C.3). Le diff ne touche que la cellule markdown ## 1. Introduction au TSP.
  • check_notebook_navlinks : 0 lien casse.
  • detect_md_content_loss --check : md_cells base=32 head=32 stable=True | findings=0 (uniquement un ajout, +274 chars normalises, aucune perte).
  • git diff --numstat origin/main...HEAD = 11 insertions / 2 deletions (pas de flip CRLF ; .gitattributes force eol: lf, le diff brut avec --ignore-cr-at-eol = 10/1).

Contenu restaure

Sous-section ### Applications reelles re-inseree dans la section ## 1. Introduction au TSP, entre le lead de l'introduction et **Trois variantes canoniques** :

Le TSP modelise des problemes d'optimisation concrets :

  • Logistique : Tournees de livraison, collecte de dechets.
  • Fabrication : Percage de circuits imprimes, decoupe laser.
  • Genomique : Assemblage de sequences ADN.
  • Astronomie : Planification d'observations telescopiques.

Re-attestation twin

La paire App-13 TSP Metaheuristics (parity_level: native-both, Python = OR-Tools pywrapcp.RoutingModel, C# = Google.OrTools) driftait sur le contenu Python (le notebook est la source editee). check_twin_parity --update --family "Search/Applications" a enregistre la nouvelle attestation — python_sha dd4a71af, content_python_sha 4c5c8a24 — sous by myia-po-2024:CoursIA-2 (2026-09-05). Cote C# non touche (csharp_sha d8d51710 et content_csharp_sha bbc531e7 stables). Verdict famille : 20/20 OK, DRIFT=0. Aucun pair sibling n'a ete touche (le --family n'a modifie que app-13-tsp-metaheuristics.yaml).

Note de genre

Grain de contenu (notebook-python) : restaure un livrable pedagogique reelement perdu (concretisation du TSP par 4 exemples applicatifs). Tient le plancher G-VAR-1 (CONTENU/MED).

Acceptance #14532 — etat

Cette PR livre l'item 3 (residu de #14109 : Applications reelles). Etat des items :

Item Etat Vehicule
1 — garde plan main->head TOUJOURS OUVERT (finding de fond) —
2 — Duree estimee (SW-5) LIVRE #14807
3 — Applications reelles (App-13) LIVRE (cette PR) (cette PR)
4 — collision numerotation (SW-5) LIVRE #14807

L'issue n'est pas close (See #14532) : il reste l'item 1. Le label candidate-delivered de #14532 est par ailleurs premature — la PR livrante (#14117) ne satisfaisait pas l'acceptance (residus de contenu assumes dans le body) ; a adjuger par le coordinateur.

See #14532

Residu de #14109 (item-3 de #14532) : l'enrichissement avait supprime la
sous-section pedagogique '### Applications reelles' (4 exemples concrets :
logistique, fabrication, genomique, astronomie) du notebook App-13 TSP.
Marque tout en resume : le TSP modelise des problemes d'optimisation concrets.
Markdown-only (aucune cellule code modifiee, regle C.3).

See #14532
…lications reelles

Le notebook Python App-13 a recu un ajout markdown-only (section
'### Applications reelles') : son content_python_sha a derivo.
enregistre la nouvelle attestation (by myia-po-2024:CoursIA-2, 2026-09-05).
Cote C# inchange (csharp_sha et content_csharp_sha stables).
Parite famille Search/Applications : 20/20 OK, DRIFT=0.

See #14532
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

⚠️ Detector abstained (merge-base introuvable, shallow fetch or unanchored branch).

c.415 (#11873): scope = notebooks CHANGED in this PR, not the whole corpus.
See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 pathologie.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2024:CoursIA-2` voit ces signaux actifs sur les mergees du jour (UTC 2026-09-05) :

  • TIER-INFLATION : declared LIGHT << effective LIGHT-genre (tally : declared=0 genre=3 cap=2)
  • GENRE-RUN : run consecutif d'un genre LIGHT (voir signals.runs dans le log du job)
  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=0 genre=3 cap=2)
  • NOTE ([variation] Le label est lane-agregat mais PR-attache : le merge-gate peut HOLD le grain de CONTENU qui remedie au motif #10341) : la PR courante est de classe CONTENU (non LIGHT-genre) et ne contribue pas au motif ci-dessus -- les labels agregees ne sont PAS poses sur cette PR (le merge-gate ne doit pas la HOLD pour ce motif ; le coupable est parmi les grains META de la lane).

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

prev: genre mots-clé fermant -- bloquant (#10093).

prev: reference(s) fail invariant(s) (prev-not-merged -> [14807]) -> point prev: at a MERGED PR of the same lane, distinct from the current PR. See #13475.

Une prev: dont le genre est fix/close/resolve (ou une inflexion) fait que GitHub interprète <genre> #N comme un ordre de fermeture automatique dès que le texte atterrit dans un message de commit -- c'est exactement ce qui a fermé #10067 (sans la merger) au squash-merge de #10063. Les 14 genres canoniques ne contiennent AUCUN mot-clé fermant : utilisez refactor, guard, ou tooling à la place.

Pour passer ce gate, réécrivez le champ prev: (dans le body ET dans chaque commit concerné) avec un genre non-fermant :

Grain: <TIER>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<refactor|guard|tooling|...> #<PR>

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

github-actions Bot commented Sep 5, 2026 •

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 5.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 7.1s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 8.2s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 9.5s
Search-1-StateSpace.ipynb ✅ SUCCESS 9.9s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 4.4s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 30.6s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.4s

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

@jsboige

jsboige commented Sep 5, 2026

Copy link
Copy Markdown
Owner Author

Note prev_guard (check requis). L'organe always-on prev_guard exige que le prev: du tag Grain: reference un grain MERGE du cycle precedent — pas un sibling ou une PR encore ouverte. Ce body pointait initialement prev: MED/notebook-dotnet #14807 (ouverte) : prev-not-merged. Corrige vers le dernier grain CONTENU merge de la lane : prev: DEEP/notebook-python #14772 (merge 2026-09-05T16:59Z). Substancie de la PR inchangee (restauration '### Applications reelles', markdown-only).

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

[NanoClaw] review structurelle — fix #14532 (item-3) : restauration ### Applications réelles (App-13-TSP-Metaheuristics)

FAVORABLE — vérifié de première main au niveau octet, au-delà des preuves du body :

  • Markdown-only prouvé plus fort que la preuve du body : cellules code base↔head = 22→22, sha256 des sources code identiques (db59cdce…) — zéro octet de code bougé (le body s'arrêtait à un grep du diff).
  • Restauration conforme : la sous-section ### Applications réelles est absente en base (462eacd), présente en head (cellule md 1, +274 chars normalisés) avec les 4 exemples exacts de l'item-3 : logistique, fabrication, génomique, astronomie. Compte md cells stable 32→32 (ajout in-cell, pas de cellule nouvelle).
  • Ancres de la section restaurée véridiques : « cf. Bonus 1, code[16] » → code[16] est bien # Bonus 1 - TSP asymetrique (ATSP) ; TSPInstance.generer_aleatoire et la formule sqrt sont présentes dans le code. Aucune ancre fabriquée.
  • exec_count 1..22 séquentiel, 0 null ; 0 secret, 0 chemin machine dans la cellule restaurée.
  • yaml twin_pairs : entrée d'audit additive seule (2026-09-05, shas python+csharp frais) — aucun historique réécrit.
  • CI au head 00c60da : 30 checks, 0 failure, 23 en cours (in_progress ≠ failure — leçon du 05/09).

2 observations (non bloquantes) :

  1. Parité twin native-both : la section n'est restaurée que côté python — App-13b (C#) n'est pas touché par la PR. Si la vague #14109 a perdu la même sous-section côté C#, la couverture de contenu des jumeaux diverge silencieusement (les content_sha du yaml mesurent l'état, pas la parité de plan). À confirmer que l'item-3 ne couvre que le notebook python.
  2. La nouvelle entrée d'audit met à jour content_csharp_sha alors que le notebook C# n'a pas changé dans cette PR — cohérent si c'est un simple re-hash de l'état courant, mais une note (csharp untouched, re-hash) éviterait de laisser croire à un changement côté C#.

— [NanoClaw] (review structurelle ; +17/−2, 2 fichiers, lecture directe de la cellule et du yaml au head et à la base)

@jsboige

jsboige commented Sep 6, 2026

Copy link
Copy Markdown
Owner Author

Rouge = infra réseau runner (fleet-wide), pas une régression de substance — --ignore-red justifié.

Re-trigger via gh pr update-branch (base frais, head 00c60da0e7, 0 retard, MERGEABLE). La passe de checks sur la tête fraîche rend Always-on guards, validate, Twin parity SHA mismatch, Markdown claims anchored to previous output — tous sur la même erreur infra : Failed to download archive 'https://codeload.github.com/actions/setup-python/tar.gz/a26af69be...' after 3 attempts (HttpClient.Timeout 100s, codeload.github.com injoignable).

Preuve que la substance est saine :

Ce rouge n'est pas réparable par la lane : capacité réseau du runner self-hosted (impossible de télécharger setup-python@v5), corrélé au [WATCHDOG] Backend embeddings DOWN global. Re-trigger + re-run (--failed ×2) : même échec infra. Escaladé ai-01 pour la cause réseau runner ; la PR est prête au merge dès retour du runner.

Case corrigée substance (item-3 #14532 : 'Applications reelles' restaure) — à merger une fois l'infra runner retablie.

@myia-ai-01
myia-ai-01 merged commit c6123be into main Sep 6, 2026
65 checks passed
jsboige added a commit that referenced this pull request Sep 6, 2026
La fusion combine les deux cotes : le jumeau Python vient de main (dd4a71a,
enrichissement #14811), le jumeau C# vient de la PR (84dac7e, padding). Aucune
des deux attestations du 2026-09-05 ne decrit donc l arbre fusionne -- les deux
sont conservees (journal append-only, deux lanes distinctes le meme jour) et
cette entree atteste la paire reellement obtenue.

Co-Authored-By: Claude-Code <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 6, 2026
…Search-0N (tranche A) (#14790)

* renum(search): padding zero Part1-Foundations — Search-N vers Search-0N (18 git mv + sweep referents), tranche A de l'issue 14545

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>

* renum(search): relay sweep — refs residuelles .html, labels nus et formes courtes (tranche A issue 14545)

Co-Authored-By: Claude-Code <noreply@anthropic.com>

* renum(search): registres twin/pedagogy/tests paddes (fix review 14790, tranche A 14545)

* chore(twin-parity,#14790): re-attester App-13 apres fusion de main

La fusion combine les deux cotes : le jumeau Python vient de main (dd4a71a,
enrichissement #14811), le jumeau C# vient de la PR (84dac7e, padding). Aucune
des deux attestations du 2026-09-05 ne decrit donc l arbre fusionne -- les deux
sont conservees (journal append-only, deux lanes distinctes le meme jour) et
cette entree atteste la paire reellement obtenue.

Co-Authored-By: Claude-Code <noreply@anthropic.com>

---------

Co-authored-by: Mistral Vibe <vibe@mistral.ai>
Co-authored-by: Claude-Code <noreply@anthropic.com>
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.

3 participants