Skip to content

restore(genai,#17066): 13-agentic-orchestration — restaurer l'analyse retiree a tort a la passe #17040 - #17116

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/17066-restore-13-agentic-orchestration
Sep 22, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/17066-restore-13-agentic-orchestration

Conversation

@jsboige

@jsboige jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2025:CoursIA-2 — prev: MED/notebook-dotnet #17113

Mission (#17066)

Restauration post-densification (passe #17040) : 3 cellules markdown supprimees sur ce notebook. Decision par cellule : distinct -> restauration ; redondant -> non-restaure documente. Cellules code byte-identiques.

(a) Plan ordonne du notebook repare (preuve de lecture)

  1. ## 0. Setup — infrastructure NB-12 (dependances, chat())
  2. ## 1. Les trois moteurs + point sensible (executer du code genere) — utilitaires, demo de la borne (timeout/bac a sable)
  3. Lecture « trois interceptions, une seule execution honnete » (conservee) + Exercice garde statique + moteur_best_of_n
  4. ## 2. Les outils (schemas JSON) ; ## 3. La boucle agentique (SYSTEME_AGENT + agent_routeur)
  5. ## 4. Demonstration : Demo 1 (24-game -> ToT) -> [RESTAUREE] LECTURE ANCREE — Mecanisme de routage pour les taches combinatoires ; Demo 2 (palindrome) ; Demo 3 (fizzbuzz) -> [RESTAUREE] LECTURE ANCREE — Adaptation intelligente du choix d'outil par diagnostic -> Lecture « le choix du moteur emerge du raisonnement » (conservee, synthese)
  6. ## 5. Pont vers la production (smoke test anti-boucle) ; ## 6. Travaux pratiques (3 exercices) ; ## 7. Conclusion

(b) Decisions par cellule

Restaurees (2)

  1. **LECTURE ANCREE — Mecanisme de routage pour les taches combinatoires** (base idx 19, reinserree apres le code Demo 1, position d'origine).
    • Ce qu'elle portait : la lecture pas-a-pas de la trace committee de la Demo 1 — selection deterministe de resoudre_tot_24 au tour 1 avec les arguments exacts {'nombres': [4, 7, 8, 8]}, solution_trouvee: True, reponse finale verbatim Solution trouvee: 4 x (7 - 8/8) = 24. et le declencheur de la regle (mots-cles « 24-game » + liste de nombres).
    • Pourquoi distincte : la synthese conservee « le choix du moteur emerge du raisonnement » porte un tableau croise (quelle demo -> quel outil) mais ne donne ni les arguments, ni la valeur de la solution, ni le mecanisme de declenchement. Chiffres verifies contre l'output committe (4 × (7 - 8/8) = 24, args [4, 7, 8, 8], 2 tours).
  2. **LECTURE ANCREE — Adaptation intelligente du choix d'outil par diagnostic** (base idx 22, reinserree apres le code Demo 3, position d'origine).
    • Ce qu'elle portait : le diagnostic du routage fizzbuzz — args {'id_probleme': 'fizzbuzz', 'iterations': 3}, 2/2 tests passes, cout 84 tokens, et la regle SYSTEME_AGENT citee verbatim (« erreur systematique / conceptuelle -> resoudre_reflexion » contre « single-shot echoue par variance -> resoudre_best_of_n »).
    • Pourquoi distincte : la synthese conservee dit generiquement « les taches de generation de code sont orientees reflexion » ; le POURQUOI du diagnostic (erreur systematique vs variance) et les trois chiffres ne sont couverts nulle part. Citation verifiee dans le source de SYSTEME_AGENT (cellule conservee) ; chiffres verifies contre l'output committe (passes: 2, total: 2, tokens: 84).

Non-restauree (1)

  • **LECTURE ANCRÉE — Validation expérimentale des garde-fous d'exécution** (base idx 8, 1514 chars) : redondante. Elle relisait la meme sortie que la cellule conservee « trois interceptions, une seule execution honnete » — chaque chiffre y est couvert (code honnete 2/2, boucle infinie interrompue a 3 s, open() -> NameError) et la cellule conservee va plus loin (timeout mort de l'ancienne version, liste blanche d'imports, « ce confinement n'est pas une frontiere de securite dure »). La cellule supprimee n'apportait que la paraphrase. C'est l'une des suppressions justes de la passe.

(c) Verdict de sequence (honnête)

Les deux lectures restaurees reprennent leur place canonique : chacune suit immediatement la demo qu'elle lit, et la synthese conservee reste en aval des trois demos (lecture per-demo puis synthese — le motif etabli du depot). Aucune cellule restauree ne devance la cellule qu'elle interprete. Residu assume : la cellule Demo 2 (palindrome, 70 tokens) n'a jamais eu de lecture dediee ni avant ni apres — inchangé par la passe et hors perimetre.

(d) Comptes organes (avant = origin/main vs base d412b5a ; apres = worktree vs base)

Organe Avant Apres
detect_notebook_plan_loss --check rc=0 ; md 19->16 ; STRUCTURE_DRIFT rc=0 ; md 19->18 ; headings 17->17 ; STRUCTURE_DRIFT (la cellule non restauree n'etait pas un titre)
detect_md_content_loss --check rc=0 ; findings 0 ; chars 15228->10915 (-4313) rc=0 ; findings 0 ; chars 15228->13929 (-1299 = la non-restauree documentee)
check_duplicate_sections --json (base + head + restaure) — rc=0 ; carriers 0

(e) Preuve code intact

15 cellules code origin/main vs worktree : BYTE-IDENTICAL (comparaison JSON cell-by-cell, exit 0).

🤖 Generated with Claude Code

… retiree a tort a la passe #17040

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

Copy link
Copy Markdown
Contributor

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

@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 3.3s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.2s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.0s
Search-01-StateSpace.ipynb ✅ SUCCESS 2.6s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 1.9s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 16.8s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.7s

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

@github-actions

Copy link
Copy Markdown
Contributor

✅ No prose/output mismatch detected in the notebooks this PR changed.

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: 15
  • 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

Path-collision (organ #13359/#13615)

Cette PR #17116 (restore(genai,#17066): 13-agentic-orchestration — restaurer l'analyse retiree a tort a la passe #17040) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 17116
head: 9b443c6
complete: true
body: read
comments-reviewed: 5
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: d0a4e4a4d15350529411fd75d58a56ff7a91d1606088b4a6682d8518fd7e8d9a
diff-files: 1
diff-additions: 18
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2024:CoursIA-2
pr: 17116
head: 9b443c6
complete: true
body: read
comments-reviewed: 6
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: d81364c54cc08a9a791f6aef0f5ba7bc721af3125a1fbd5ffeee468cb75e6fc6
diff-files: 1
diff-additions: 18
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 17116
head: 9b443c6
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 1c903119ade23b13dbfe35d0a5596c423dc870db573f198f43c003f812a90d22
diff-files: 1
diff-additions: 18
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Dossier Secrétaire cat. 2 mini-cost cycle 6, exact-head 9b443c6, +18/-0, 1 fichier(s).
Mesures firsthand 2026-09-22T02:2xZ.
Tell c.59 respecté : 1 dossier par PR par cycle.
SHA gate live N/A....

— secrétaire myia-po-2026:CoursIA-3

@myia-ai-01
myia-ai-01 merged commit cf70c60 into main Sep 22, 2026
81 of 82 checks passed
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