Repository navigation
enrich(#13934): administrer-les-formulaires 642 -> 1249 c/cell (tranche 5/19) - #14536
Conversation
…he 5/19 Enrichissement markdown-only (pattern #13410) : extension des 13 cellules markdown existantes (aucune cellule ajoutee), code et outputs byte-identiques, zero re-execution. Interpretations ancrees aux outputs committes : allocation d'id WordPress (9 vs 5, ids globaux non consecutifs), champs de creation silencieusement ignores, serialization Gutenberg (<!-- wp:paragraph -->) comme preuve "contenu", mesure du rendu public (page 6 reutilisee par slug, HTTP 200 anonyme, 0 <input> / 3 <p>), retour a l'etat initial (idempotence du notebook). Preuve d'additivite : les 13 lignes JSON "supprimees" sont des artefacts de virgule (dernier element d'une liste qui gagne un successeur), toutes reaparaissent identiques. Acceptance #13934 : densite 1249 >= 1200 ; code byte-identique ; validate_pr_notebooks 1/1 PASS ; scan ASCII+guillemets uniquement. Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
Une Pour passer ce gate, réécrivez le champ |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
|
Une Pour passer ce gate, réécrivez le champ |
jsboige
left a comment
There was a problem hiding this comment.
[Hermes] review po-2026 — #14536 enrich administrer-les-formulaires (tranche 5/19), head e6d51fac83 (contrainte token : COMMENT only)
Vérifié contre le notebook au head SHA (fetch + recomputation) :
- Densité : 27 499 c / 22 cellules = 1250 c/cell — claim 1249 ✓ (à l'arrondi de division près).
- Dénominateur préservé : 22 cellules (13 md + 9 code) ✓ ;
execution_count1–9 contigus, non-null ✓. - Code byte-identique : le diff ne touche que des lignes
sourcede cellules markdown (les contextes code sont inchangés) ✓. - Ancrage aux outputs committés — chaque fait cité par le markdown ajouté est présent dans les outputs : « id alloué : 9 » ✓,
Formulaires existants : [(5, 'Soumission de manuscrit', 'publish')]✓, « Page existante réutilisée : 6 » ✓, « HTTP 200 » ✓, « Balises<input>: 0 / Blocs<p>: 3 » ✓, blocs Gutenbergwp:paragraph✓. Aucun chiffre fabriqué (pattern #14123 : dérivation inline re-calculée → RAS ici). - Additivité des 13 délétions : vérifiée en fuzzy-match — toutes réapparaissent (artefacts de virgule JSON, aucune perte de contenu) ✓.
- Security scan : 1 match
secret= faux positif (ligne markdown « pas de secret, pas d'IP de provider » — prose de frontières, pas une assignation).
RAS — tranche propre, ancrage exhaustif. See #13934.
…un zero check_pr_perimeter confrontait les comptes du body a une liste effective vide et rendait FAIL sur une non-mesure (repro firsthand : #14536 post-merge, run 33849858765 « l'assertion pretend 1 fichier(s), la liste effective en compte 0 » ; mesure originale : #11956). Predicat pur unmeasurable_perimeter(files, carried) distinguant les deux causes que _classify_carried separe deja (liste API vide vs tout charrie de main / STALE-BASE extreme). Dans main() : si non mesurable, les problemes de compte passent en signals et le rapport imprime PERIMETRE NON MESURABLE — la detection reste visible, seul le code de sortie bouge (meme ordre de surete que #11985/#11712). Co-Authored-By: Claude-Code <noreply@anthropic.com>
…in ae84c91c (#14578) Resync verbatim des deux taxonomies Argumentum sur le pin `ae84c91c`. Le claim porteur de cette PR est « re-copie byte-verbatim des blobs upstream » — c'est celui que j'ai verifie, et il se verifie au niveau du byte, pas de la prose. Preuve d'identite, cote CoursIA et cote amont, independamment : ``` blob ecrit par la PR blob upstream au pin ae84c91c 4ac3f12 == Cards/Fallacies/Argumentum Fallacies - Taxonomy.csv 9ff35b5 == Cards/Fallacies/Argumentum Virtues - Taxonomy.csv ``` Le SHA1 de blob git est une empreinte du contenu : l'egalite prouve l'identite byte a byte, BOM et EOL compris. Le detour importe — comparer le SHA1 declare en NOTICE au fichier ecrit n'aurait rien prouve (les deux viennent de la meme source), c'est la confrontation au `git ls-tree` du sous-module au pin qui verifie ce que la prose AFFIRME. Au passage, un detail contre-intuitif de la NOTICE qui est correct : le fichier des VERTUS vit bien upstream sous `Cards/Fallacies/`, pas sous un repertoire `Virtues`. Je l'ai verifie avant de le prendre pour une coquille de copier-coller. Comptes de lignes base -> tete, confrontes au claim « aucun ajout ni retrait » : fallacies 1548 -> 1548, virtues 224 -> 224. Le diff est bien du contenu seul, cohérent avec le 74+/74- et 152+/152- de l'API. Aucun bump de pointeur de sous-module dans cette PR (4 fichiers, aucun gitlink) : le resync suit un pin deja pose par #14418, il ne le deplace pas. Requalification de tag appliquee dans le BODY : `MED/data` -> `MED/ledger`, la table d'alias du protocole normalisant `data` vers `ledger`. Verification faite avant d'editer : l'organe resolvait deja `data` correctement (`canonicalize_genre('data') -> 'ledger'`), donc la correction rend le tag canonique sans rien changer au comptage. Le label `variation-tag-genre-offlist` est tombe apres l'edition. Signal a la lane, non bloquant pour cette tranche : `vein_exceeded` sur l'umbrella #13934, saturee a 2 aujourd'hui (#14536 et #14472). Cette PR n'y touche pas — elle porte #4960 — donc elle varie deja dans le bon sens ; c'est la PR SUIVANTE de la lane qui ne doit pas y revenir sans passer par `pick_idle_grain.py --lane myia-po-2023:CoursIA`.
…es + retrait VALIDATION_SUMMARY stale (#14483) * fix(genai,#13581): T3d -- clarifier archive EPF + confusion CaseStudies + retrait VALIDATION_SUMMARY stale Tranche T3d du chantier #13581 reorganisation GenAI : rallonge AC3 (VALIDATION_SUMMARY.md supprime, 2026-02-25 obsolete), AC6 (structure tree GenAI/README.md alignee sur l'arborescence reelle : ajout Aspire, FallacyDetection, Integrations-DotNet, EPF/archive), AC7 (clarification mutuelle de la confusion cran CaseStudies top-level vs GenAI/CaseStudies/). EPF/ est un repertoire d'archive (sorties etudiantes EPF alimentant GenAI/CaseStudies/, pas un parcours actif) ; README ajoute pour documenter la distinction avec MyIA.AI.Notebooks/CaseStudies/ top-level (interdisciplinaire fin de cycle, owner po-2025). Ne pas confondre avec la serie GenAI/CaseStudies/ (4 cas agentiques GenAI, owner po-2023). Tranches anterieures livrees : T1 (#13601 FallacyDetection git mv), T3a (#14162 INDEX/DEPLOYMENT vers Image), T3c (#14196 temp/ vide). T2 Integrations-DotNet (#14431) reste OPEN, traite AC2 cote EFCore+CopilotSDK ; le present T3d ne chevauche pas son scope. Body PR utilise See #13581 (pas Closes) parce que la cloture finale de l'epic depend du merge de #14431 par ai-01. Catalog-CRON non touche (volumes inchanges). Pas de regen manuelle du bloc CATALOG-STATUS. * fix(genai,#13581,#14483): retire table Contenu fantome + ordre alpha + note Integrations-DotNet Reponse aux 3 points de la review Hermes (CHANGES_REQUESTED) sur #14483 : mesure firsthand au SHA 'dc874107' via git/trees recursive + cross-check sur origin/main et tree suivant le rebase. 1. Table « Contenu » fantome de GenAI/EPF/README.md (bloquant) - 0 hit verifie pour receipe_maker_output.ipynb, medical_chatbot_output.ipynb, Dorian, Louise, Bastien, Jeanne sur l'arbre dc87410 (recursive) ET sur origin/main - « Dorian & Bastien/cuisine/ » et « Louise et Jeanne Céline/ » : repertoires-absents, jamais crees dans git (renommage #888 Phase 2 a supprime les READMs EPF sans preserver les sorties brutes) - Table remplacee par un nota bene explicite : « Aucune entree materielle pour le moment », verifie sur disque au SHA de la PR. Mention « migration hors-ligne en attente » pour ne pas fermer la porte a une future restauration depuis une source externe. 2. Integrations-DotNet/ 404 sur main (tranchage ordre de merges) - Note d'arborescence dans GenAI/README.md reformulee : « seront absorbes » (futur, conditionnel) au lieu de « sont absorbes » (present, faux) ; ajout du Nota Bene explicite « pas encore cree sur main a la redaction de cette note (en attente du merge de #14431) » — le lecteur ne sera plus trompe. 3. Nits ancre-slug + ordre alphabetique (mineurs) - Bloc insere (CaseStudies, FallacyDetection, Aspire, Integrations-DotNet, EPF) reordonne alphabetiquement : Aspire, CaseStudies, EPF, FallacyDetection, Integrations-DotNet. - Note « cette section n'insere aucun contre-Ancre supplementaire » : les ancres du sommaire GenAI/README.md qui pointent vers les sections integrees ne sont pas modifiees (les headings des sections elles-memes n'ont pas change), donc la nit ancre-slug levee d'office. Verification post-fix : git ls-tree -r dc87410 --name-only | grep -iE 'EPF/|receipe_maker_output' -> 1 hit : 'MyIA.AI.Notebooks/GenAI/EPF/README.md' (uniquement) git ls-tree -r origin/main --name-only | grep 'Integrations-DotNet' -> 0 hit (confirme toujours absent sur main post-pull) Acceptance #13581 AC2 partial fix : la table « Contenu » qui eteignait la vigilance du lecteur suivant est retiree. AC7 complete. See #13581 (pas Closes -- livraison partielle d'epic, AC2 final dependent toujours de #14431). See #14483 -- levee des 3 points de la review Hermes sur commit suivant. * ci(prev_guard,wake): retag prev to MED/notebook-python #14536 (c.235 REPAIR) * fix(genai,#14483): nit ancre slug clarification-cran (Hermes follow-up) Hermes follow-up sur dc87410 (COMMENT, non bloquant) a signale que le fragment '#clarification-cran-genai-casestudies-vs-myiaainotebookscasestudies' dans GenAI/README.md ne matche pas l'ancre reelle rendue par GitHub. Le clic ne sautait pas. Fix : ajouter un heading explicite 'Clarification du cran GenAI/CaseStudies vs MyIA.AI.Notebooks/CaseStudies' dans GenAI/CaseStudies/README.md (slug GitHub = 'clarification-du-cran-genai-casestudies-vs-myia-ai-notebooks-casestudies') et mettre a jour le lien dans GenAI/README.md pour pointer dessus. Cf CHANGES_REQUESTED originel sur dc87410 leve par c.231 + ce nit complementaire. * fix(genai,#14483): corrige EPF cran manquant + ancre github-slugger Per ai-01 dispatch msg-20260904T085047-s50c0d + commentaire PR 5538051939, deux defauts d'une ligne bloquaient le PR gate (les deux invisibles ou mal percues par check_docs_links) : 1. MyIA.AI.Notebooks/GenAI/EPF/README.md:9 -- ../../ -> ../../ Le fichier est a TROIS crans de la racine, donc ../../ s'arrete a MyIA.AI.Notebooks/. Le voisin GenAI/README.md a raison avec ../../ (deux crans), mais EPF/README.md est descendu d'un cran (le hub a change sa profondeur). Geste isole, pas un motif a reprendre partout (les 4 autres liens du fichier sont OK). 2. MyIA.AI.Notebooks/GenAI/README.md:202 -- ancre github-slugger Heading reel : GenAI/CaseStudies/README.md:23 = "### Clarification du cran GenAI/CaseStudies vs MyIA.AI.Notebooks/CaseStudies" Slug github-slugger recalcule : clarification-du-cran-genaicasestudies- vs-myiaainotebookscasestudies (suppression stricte des / et . au lieu de conversion en tirets) Ancre posee avant : -genai-casestudies-vs-myia-ai-notebooks-casestudies (tirets la ou le slug n'en met aucun) Ancre posee apres : -genaicasestudies-vs-myiaainotebookscasestudies check_docs_links verifie l'EXISTENCE des cibles, pas la RESOLUTION des ancres -- rc=0 ne certifierait pas la correction. Verification par recalcul Python du slug dans le meme commit (cf commentaire PR). 3 controles OK post-correction : - check_docs_links.py --check : rc=0 (0 new broken, 5431 total) - heading source present CaseStudies/README.md:23 : OK - ancre posee = slug github-slugger : OK Note : VALIDATION_SUMMARY.md (le -150 dans le body PR) est deja sur main via PR #14543 (e6a89d0), pas dans cette PR. Le contenu REEL qui atterrit est +76/-3 sur quatre README, pas +76/-153 sur cinq. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: myia-po-2023 <jsboige@gmail.com> Co-authored-by: myia-po-2023 <noreply@anthropic.com>
Grain: MED/notebook-python -- lane myia-po-2023:CoursIA -- prev: MED/genai #14455
#13934 tranche 5/19 — administrer-les-formulaires-par-l-api : 642 -> 1249 c/cell
Enrichissement markdown-only pattern #13410 sur le 5e notebook le plus déficitaire de la queue #13934.
Diff
MyIA.AI.Notebooks/GenAI/Plateformes-Conversationnelles/AI-Engine-WordPress/03-Functional/03-2-Forms/administrer-les-formulaires-par-l-api.ipynb— +234/-13 lignes JSON (les 13 « délétions » sont des artefacts de virgule : dernier élément d'une listesourcequi gagne un successeur — preuve d'additivité fournie, toutes réapparaissent identiques).Méthode
origin/main, vérifié par comparaison JSON cellule à cellule. Zéro ré-exécution, aucun output touché.<!-- wp:paragraph -->), page publique réutilisée par slug (id 6), HTTP 200 sans authentification, mesure du rendu0 <input>/3 <p>, retour à l'état initial[(5, 'Soumission de manuscrit', 'publish')].Acceptance #13934
source/ 22 cellules)validate_pr_notebooks.py1/1 PASS localSee #13934 (tranche 5 sur 19 ; contribution partielle)