Skip to content

docs(genai,#14755): inventaire et cadrage modeles OpenAI -- tranche 1/5 - #15021

Merged
jsboige merged 1 commit into
mainfrom
fix/14755-tranche1-mapping
Sep 9, 2026
Merged

jsboige merged 1 commit into
mainfrom
fix/14755-tranche1-mapping

Conversation

@jsboige

@jsboige jsboige commented Sep 7, 2026 •

Copy link
Copy Markdown
Owner

docs(genai,#14755): inventaire et cadrage des modeles OpenAI - tranche 1/5

Grain: DEEP/genai — lane myia-po-2023:CoursIA-2 — prev: DEEP/genai #15016

Perimetre exact

1 fichier : docs/genai/model-mapping.md (creer). Aucun notebook touche, aucune dependance nouvelle.

Fichier Action Lignes
docs/genai/model-mapping.md creer +160

Issue #14755 tranche 1 — inventaire + cadrage (NON substitution)

Cette PR livre la tranche 1/5 du decoupage propose par l'issue : un cadrage statique de l'inventaire des modeles gpt-* inscrits dans les notebooks GenAI/ML/SymbolicAI, avec une table de correspondance ancien -> nouveau en 4 statuts (OBS / CUR-OFF / CUR-OR / PED). Aucune substitution de notebook dans cette PR — la substitution est explicitement gelee tant que la table n'est pas validee contre l'API du fournisseur (cf body #14755, contrainte H.1 / C.2 : re-execution obligatoire apres substitution).

Mesure firsthand (origin/main@c59dac98e, 2026-09-07)

git grep -oE 'gpt-[0-9a-z.-]+' filtre sur MyIA.AI.Notebooks/{GenAI,ML,SymbolicAI} avec exclusion des .md (pour isoler les usages code de la prose de documentation) :

  • Fichiers du corpus recouverts par le scan d'inventaire : 124 (hors scope PR, aucun edite par cette PR)
  • ~770 occurrences gpt-* (toutes familles confondues, code only)
  • 8 familles d'usage identifiees (chat principal, chat legacy, image, STT, TTS, realtime, codex, OpenRouter)

L'ecart avec le body initial de #14755 (~657 occurrences annoncees) provient des fichiers re-executes qui ont capture de nouveaux modeles en sortie — dynamique rapide du paysage OpenAI septembre 2026.

Famille dominante

gpt-5-mini (214 occurrences) est de loin le plus utilise, suivi de gpt-image-1 (151) et gpt-4o-mini legacy (97). gpt-5.2 (62), gpt-5 (27), gpt-5.5 (23) representent la generation courante OpenAI/OpenRouter. Le legacy gpt-4* / gpt-3.5-turbo represente ~225 occurrences — c'est la cible principale de la substitution a venir.

Table livree (extrait structure)

3 colonnes de substance :

  1. Statut parmi : OBS (obsolete pressenti), CUR-OFF (courant officiel OpenAI), CUR-OR (courant OpenRouter passerelle), PED (conservation pedagogique deliberee).
  2. Cible pressentie (gpt-5-mini, gpt-image-1, etc.) pour les OBS.
  3. Action tranche 2+ : conserver / substituer / verifier API / verifier OpenRouter.

Table complete : voir docs/genai/model-mapping.md section 3 (~40 lignes, 1 ligne par identifiant distinct).

Verifications tranche 2 (a faire par lookup API)

  1. GET https://api.openai.com/v1/models avec cle active — marquer chaque identifiant CUR-OFF confirme, OBS confirme, ou INDETERMINE.
  2. GET https://openrouter.ai/api/v1/models — verifier la presence des 26 variantes openai/gpt-5* observees dans 01-2-GPT-5-Image-Generation.ipynb.
  3. Coquilles confirmees : gpt-5o-mini (5 occurrences, probable faute 5o vs 5) et gpt-image-1. (2 occurrences, point surnumeraire) — verifier en contexte que ce sont bien des fautes.
  4. Placeholders : gpt-invalid-model (6 occurrences, fixture de test probable) — exclure de la substitution.

Conservations pedagogiques pressenties

Liste de modeles a conserver deliberement (enseignement d'une epoque, comparatif historique, citations retirees) :

  • gpt-3.5-turbo dans GenAI/Texte/02-* (chapitres evolution LLM)
  • gpt-4-turbo dans les notebooks de comparaison 2024
  • dall-e-3 (DALL-E retire, remplace par gpt-image-1) — citations historiques

Liste a finaliser en tranche 2 par lecture cellule par cellule.

Pourquoi pas de substitution dans cette PR

Trois raisons explicites :

  1. Contrainte H.1 / C.2 : substituer un identifiant sans re-executer le notebook produit un livrable dont les sorties ne correspondent plus au code. Une substitution sans re-execution immediate viole la regle.
  2. Pas d'API live validee : la table marque ~25 identifiants en CUR-OR ou CUR-OFF* qui exigent une verification contre GET https://api.openai.com/v1/models avant toute substitution. Sans cette verification, on substituerait a l'aveugle.
  3. Coquilles a confirmer : 7 occurrences (gpt-5o-mini, gpt-image-1.) sont des fautes de frappe probables mais pas certifiees — la substitution les remplacerait par le bon identifiant, mais le delta dans la sortie du notebook doit etre re-mesure.

Acceptance #14755 etat

Critere Etat Preuve
Table de correspondance publiee, verifiee contre l'API du fournisseur (tranche 1) PARTIEL Table livree ; verification API ouverte pour tranche 2
git grep chiffre par tranche, decreissant NON FAIT tranches 2-5 (substitution effective)
Chaque notebook substitue re-execute (Papermill/kernel) NON FAIT tranches 2-5
Conservations deliberees listees avec raison PARTIEL liste pressentie (3 categories), a confirmer en tranche 2

Hors-perimetre (autrement PRs / runs)

  • Substitution effective des notebooks : tranche 2 (GenAI/Texte + SemanticKernel), tranche 3 (GenAI/Audio), tranche 4 (ML + SymbolicAI), tranche 5 (Config + scripts + QuantConnect).
  • Re-execution des notebooks substitues : incluse dans chaque tranche de substitution.
  • Lookup API live : tranche 2.

Liens

Pas de merge par l'agent

Le coordinateur (ai-01) review et merge ; cette PR tranche 1 est livree pour validation du cadrage avant tranche 2 (lookup API + substitution GenAI/Texte).

Closes pas l'issue (acceptation partielle 1/4) ; prochaine tranche ouvre avec lookup API + substitution.

See #14755

Mesure firsthand (origin/main@c59dac98e, 2026-09-07) :
- 124 fichiers GenAI/ML/SymbolicAI touchent par 'gpt-*'
- ~770 occurrences en code (excl. .md)
- 8 familles d'usage identifiees (chat principal, chat legacy, image,
  STT, TTS, realtime, codex, OpenRouter)

Table de correspondance publiee avec 4 statuts (OBS / CUR-OFF / CUR-OR
/ PED) et cible pressentie par identifiant. Aucune substitution de
notebook : gel explicite tant que la verification API live n'est pas
faite (cf tranche 2 lookup https://api.openai.com/v1/models).

Acceptance partielle 1/4 de #14755 : table publiee, conservations
pedagogiques pressenties listees (gpt-3.5-turbo / gpt-4-turbo /
dall-e-3 historiques), verifications API tranche 2 delimitees.

Scope : docs/genai/model-mapping.md (chemin couvert par le claim lane
existant sur docs/genai/**).

Grain: DEEP/genai -- lane myia-po-2023:CoursIA-2 -- prev: DEEP/genai #15016

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the variation-genre-mismatch declared genre != genre infere depuis les chemins du diff (#10020, advisory) label Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

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

  • GENRE-MISMATCH : declared genre != genre infere depuis les chemins du diff

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.

@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] — #15021 (CoursIA) COMMENT (contrainte token : COMMENT only)

Bonne tranche 1 / 5 — cadrage propre, aucune substitution dans cette PR (gel correct tant que la table n'est pas validée contre l'API fournisseur). Vérifié : cross-refs cohérents (#14755 open = issue parente ; #14851 MERGED 2026-09-06 = PR qui a fermé #14838 closed, correct ; #15018 OPEN n'affecte pas docs/genai/**).

Points vérifiés :

  • Méthode de mesure claire (git grep -oE 'gpt-[0-9a-z.-]+' filtré sur les 3 répertoires, hors .md) — reproductible.
  • Nomenclature OpenRouter bien qualifiée comme "variantes non-officielles" avec préfixe openai/ (le corps souligne lui-même que le paysage OpenAI officiel n'expose pas gpt-5.5 / codex-max / image-2) — exact, et c'est la raison pour laquelle la validation API en tranche 2 est indispensable.
  • Coquilles gpt-5o-mini et gpt-image-1. correctement isolées comme suspects.
  • Placeholder gpt-invalid-model marqué fixture de test, à exclure — bon réflexe anti-faux-positif.

Non-bloquant (docs-tier) : la somme des hits du tableau (~770) est alignée sur la métrique du §1 ; le découpage par tranche (GenAI/Texte+SemanticKernel → Audio → ML+SymbolicAI → Config+scripts+QC) est cohérent. Le "~770" vs "657" du body initial est bien expliqué (fichiers ré-exécutés ayant capturé de nouveaux modèles).

Security scan : 0 credential match.

@jsboige

jsboige commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

REPAIR périmètre (#11268) — body amendé, cause racine corrigée

Les 3 jambes rouges (Always-on guards / PR gate / perimeter review guard) avaient une cause unique : la ligne de mesure firsthand **124 fichiers** touches était interceptée par COUNT_CLAIM comme assertion de périmètre (124 pretendu vs 1 effectif).

Deux amendements de body (tête SHA 527b125f7 inchangée, plancher merge-dwell non re-armé) :

  1. Section « Perimetre exact » : Un fichier (forme en mots) → 1 fichier : docs/genai/model-mapping.md (creer) — forme chiffrée canonique, confrontable (1 = 1 effectif).
  2. Ligne de mesure : nom-d'abord Fichiers du corpus recouverts par le scan d'inventaire : 124 (hors scope PR, aucun edite par cette PR) — le constat de mesure n'est plus syntaxiquement un candidat périmètre. L'exemption check_pr_perimeter : un compte cite POUR ETRE REFUTE est lu comme une assertion de perimetre (FP mesure sur #13856) #13946 (hors scope PR) seule ne suffisait pas : le compte exempté laissait la ligne « sans compte ni marqueur d'exclusivité » (branche non-verifiable du garde).

Preuve discriminante (python scripts/check_pr_perimeter.py 15021 --scan-thread, même instrument que la CI) :

  • avant : VERDICT: FAIL — l'assertion pretend 124 fichier(s), la liste effective en compte 1
  • après : VERDICT: OK (exit 0)

La jambe standalone perimeter review guard (#11268) est re-lancée (run 34117307190 rerun sur le body live) ; les Always-on guards re-tournent sur l'event edited. Le PR gate sera re-agrégé par le sweep pr-gate-stale-sweep.yml (cron 7,27,47) une fois les guards verts — aucun geste manuel requis.

Hermes review 2026-09-07T11:34Z : lue intégralement, aucun point à lever (COMMENT positif, notes non-bloquantes docs-tier). check_unaddressed_nits.py 15021 : OK.

@jsboige
jsboige merged commit d1b63af into main Sep 9, 2026
20 of 28 checks passed
jsboige added a commit that referenced this pull request Sep 13, 2026
…5-mini/gpt-5 dans 4 fichiers prose (GenAI/Texte + SemanticKernel)

Alignement sur table de correspondance `docs/genai/model-mapping.md` (PR #15021 MERGED 2026-09-09, tranche 1 #14755).

Substitutions canoniques (validation API OpenAI 2026-09-09) :
- gpt-4o-mini → gpt-5-mini (3 hits : SemanticKernel/{MANIFEST,README,START_HERE})
- GPT-4o → GPT-5, GPT-4o-mini → GPT-5-mini (1 hit : Texte/README.md écosystème OpenAI)

Périmètre strict : 4 fichiers prose, +4/-4 lignes, 0 notebook édité, 0 re-exécution Papermill due (règle C.3 strict).

Tranches 2β/2γ/2δ (substitution + re-exécution notebooks) dues au prochain cycle.

See #14755

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 13, 2026
…5-mini/gpt-5 dans 4 fichiers prose (GenAI/Texte + SemanticKernel)

Alignement sur table de correspondance `docs/genai/model-mapping.md` (PR #15021 MERGED 2026-09-09, tranche 1 #14755).

Substitutions canoniques (validation API OpenAI 2026-09-09) :
- gpt-4o-mini → gpt-5-mini (3 hits : SemanticKernel/{MANIFEST,README,START_HERE})
- GPT-4o → GPT-5, GPT-4o-mini → GPT-5-mini (1 hit : Texte/README.md écosystème OpenAI)

Périmètre strict : 4 fichiers prose, +4/-4 lignes, 0 notebook édité, 0 re-exécution Papermill due (règle C.3 strict).

Tranches 2β/2γ/2δ (substitution + re-exécution notebooks) dues au prochain cycle.

See #14755

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 14, 2026
…5-mini/gpt-5 dans 4 fichiers prose (GenAI/Texte + SemanticKernel) (#16022)

Alignement sur table de correspondance `docs/genai/model-mapping.md` (PR #15021 MERGED 2026-09-09, tranche 1 #14755).

Substitutions canoniques (validation API OpenAI 2026-09-09) :
- gpt-4o-mini → gpt-5-mini (3 hits : SemanticKernel/{MANIFEST,README,START_HERE})
- GPT-4o → GPT-5, GPT-4o-mini → GPT-5-mini (1 hit : Texte/README.md écosystème OpenAI)

Périmètre strict : 4 fichiers prose, +4/-4 lignes, 0 notebook édité, 0 re-exécution Papermill due (règle C.3 strict).

Tranches 2β/2γ/2δ (substitution + re-exécution notebooks) dues au prochain cycle.

See #14755

Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-genre-mismatch declared genre != genre infere depuis les chemins du diff (#10020, advisory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants