diff --git a/.github/workflows/readme-ipynb-links-guard.yml b/.github/workflows/readme-ipynb-links-guard.yml index 112b51aedf..974de2231e 100644 --- a/.github/workflows/readme-ipynb-links-guard.yml +++ b/.github/workflows/readme-ipynb-links-guard.yml @@ -145,7 +145,7 @@ jobs: fi PR_ADDED_COUNT=$(wc -l < /tmp/pr_added_files.txt | tr -d ' ') echo "PR_ADDED count=${PR_ADDED_COUNT}" - # F1 (Tell c.16866 / Hermes review 09:33Z) -- les violations + # F1 (Hermes review 09:33Z) -- les violations # `::error::HTML_404` partent sur STDERR (regen_quarto_render.py # l.503 `print(..., file=sys.stderr)`), le `grep` du round 1 ne # capturait que stdout et rendait `NEW=0` alors qu'une violation @@ -155,7 +155,7 @@ jobs: # passes (PR + base). Le temoin est la run suivant ce commit : # une HTML_404 injectee doit faire `NOUVELLES >= 1` (=exit 1). # - # F3 (Tell c.16866 / adjoint review 24) -- les `|| true` aux + # F3 (adjoint review 24) -- les `|| true` aux # lignes 84, 86, 89, 91 mangeaient les pannes scanner / checkout : # un `grep` qui ne matche pas (parce que le scanner est tombe) # rendait `pr_violations.txt` VIDE avec exit 0 ; un `git checkout` @@ -201,7 +201,7 @@ jobs: cat /tmp/python_stdout.txt exit 1 fi - # F6 (Tell c.4 / adjoint c26) -- PY_RC=1 sans resume stdout = crash + # F6 (adjoint c26) -- PY_RC=1 sans resume stdout = crash if [ "${PY_RC}" -eq 1 ]; then if grep -q "README-link audit:" /tmp/python_stdout.txt; then : # resume present -- l'audit a echoue normalement (violations) @@ -212,7 +212,7 @@ jobs: exit 1 fi fi - # F7 (Tell c.4 / adjoint c26) -- grep rc=2 (regex malformee ou + # F7 (adjoint c26) -- grep rc=2 (regex malformee ou # fichier absent) doit etre refuse, pas ignore. Avant V4, seul # rc=1 etait distingue de rc=0 -- rc=2 passait inapercu. if [ "${GREP_RC}" -ge 2 ]; then diff --git a/MyIA.AI.Notebooks/GenAI/Texte/TransformerVariants/tv/task.py b/MyIA.AI.Notebooks/GenAI/Texte/TransformerVariants/tv/task.py index 74238bf2a7..3da9575ca3 100644 --- a/MyIA.AI.Notebooks/GenAI/Texte/TransformerVariants/tv/task.py +++ b/MyIA.AI.Notebooks/GenAI/Texte/TransformerVariants/tv/task.py @@ -20,7 +20,7 @@ indépendamment de la question ; le mécanisme à apprendre est la sélection conditionnelle, pas la simple mémorisation). -Tell c.1493 strict fondateur nuance — **origine** : ces deux tâches sont dérivées de TV-00b +**Origine** : ces deux tâches sont dérivées de TV-00b cellule 26 (la single-hop), avec extension multi-sauts. La structure est volontairement minimale pour qu'un transformer jouet (~100K params) puisse la résoudre avec marge en CPU, et qu'un entraînement CoT-vs-answer-only y soit discriminable. @@ -182,7 +182,7 @@ def lot_multi_hop_cot( (les q_idx QUESTION_j + leur transition) AVANT la cible finale. C'est précisément le « CoT supervisé » de Huang et al. 2026. - Tell c.1493 strict fondateur nuance : la chaîne est supervisée par entropie croisée + La chaîne est supervisée par entropie croisée sur **chaque token de la chaîne intermédiaire** (pas seulement la cible finale). Note : l'évaluation (evaluer_multi_hop_cot) lit la cible au dernier token ET @@ -271,7 +271,7 @@ def entrainer( ) -> tuple[float, float, float]: """Entraîne un modèle sur la tâche choisie, renvoie (exactitude, perplexite, secondes). - Tell c.1493 strict fondateur nuance — multi-seed : cette fonction utilise UNE graine. + Multi-seed : cette fonction utilise UNE graine. La mesure multi-seed (≥4) est dans le grain de mesure suivant (TV-03 v2), portée par :func:`entrainer_multi_seed`. """ @@ -307,7 +307,7 @@ def entrainer_multi_seed( ) -> dict: """Mesure multi-seed (≥4) : moyenne, écart-type, secondes totales. - Tell c.1493 strict fondateur nuance — la mesure multi-seed par graine est attendue par + La mesure multi-seed par graine est attendue par le protocole PR review-discipline §C (≥4 graines parmi 0/1/7/42/99). On expose moyenne, écart-type et liste brute pour permettre les vérifs edge≥2σ / DM cross-seed. @@ -362,7 +362,7 @@ def evaluer_multi_hop_cot(modele, vocab: Vocab, T_cot: int, n: int = 512, graine - exactitude = la cible finale (dernier token) est-elle correcte ? - perplexité moyenne sur les tokens de la chaîne (pas seulement la cible finale). - Tell c.1493 strict fondateur nuance : on lit la sortie sur **toute la chaîne**, pas + On lit la sortie sur **toute la chaîne**, pas uniquement la dernière position. L'exactitude cible reste la métrique principale (réponse à la question = discriminant H.2). """ @@ -390,7 +390,7 @@ def entrainer_cot( ) -> tuple[float, float, float]: """Entraînement CoT supervisé sur la tâche multi-sauts. Renvoie (acc, ppl, sec). - Tell c.1493 strict fondateur nuance : la perte supervise **la chaîne entière** + La perte supervise **la chaîne entière** (chaque token PAS/RECAP_j/cible doit être prédit correctement). Le gradient coule donc à travers toute la séquence de génération. """ diff --git a/MyIA.AI.Notebooks/GenAI/shared/helpers/test_k07_budget_mensuel_renouvelable.py b/MyIA.AI.Notebooks/GenAI/shared/helpers/test_k07_budget_mensuel_renouvelable.py index 22eb755604..c6d5c5b450 100644 --- a/MyIA.AI.Notebooks/GenAI/shared/helpers/test_k07_budget_mensuel_renouvelable.py +++ b/MyIA.AI.Notebooks/GenAI/shared/helpers/test_k07_budget_mensuel_renouvelable.py @@ -4,8 +4,8 @@ Charge la source des cellules `1f127d45` (cell 10) et `b097a42e` (cell 11) du carnet `09e_Production_Exploitation.ipynb` via nbformat, les exécute dans un namespace isolé, importe les vrais `trajectoire` et `verifier_alerte`, et -exerce la logique de K07 (#18736) sans réécrire la fonction (cf Tell c.4 -strict : le témoin doit être discriminant, pas un PASS-sur-défaut). +exerce la logique de K07 (#18736) sans réécrire la fonction (le témoin doit être +discriminant, pas un PASS-sur-défaut). Couvre le passage du budget annuel cumulatif au budget mensuel renouvelable (issue #18736 acceptance) : @@ -214,7 +214,7 @@ def test_verifier_alerte_hors_fenetre(): ) -# --- Témoin négatif (Tell c.4 strict fondateur) --- +# --- Témoin négatif --- def test_regression_cumul_annuel_detectee(): diff --git a/scripts/pick_idle_grain.py b/scripts/pick_idle_grain.py index 968c1a12c5..b0916e9fa3 100644 --- a/scripts/pick_idle_grain.py +++ b/scripts/pick_idle_grain.py @@ -1259,7 +1259,7 @@ def delivered_probe_inert(issue_number: int, lane: str | None = None) -> bool: # --- Troisieme surface de livraison : PR MERGEE citant l'issue (#19907) ------ # -# Mesure du 2026-10-08 (cycles c.1450..c.1453, Tell c.1392 picker-delivered +# Mesure du 2026-10-08 (cycles c.1450..c.1453, picker-delivered # gap confirme 9x) : 24-28 cycles successifs sans grain actionnable. Le label # `candidate-delivered` est pose par un workflow quotidien 05:49Z et le # marqueur `[INFO] candidate-delivered` est poste par les lanes worker quand