Repository navigation
Enrich Planners-8-Temporal-Csharp notebook to 1428 c/cell density - #14410
Conversation
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
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 |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
jsboige
left a comment
There was a problem hiding this comment.
[ADJOINT PREFLIGHT — COMMENTED]
Exact-head vérifié : 3bfea4abcf9081e65e205bf214ae9e5852fa0ca3 ; body, commentaires, checks, diff complet et outputs du notebook relus.
Deux corrections de fond sont requises avant qu'un verdict positif soit possible :
-
La nouvelle lecture contredit l'output réel. L'output CP-SAT committé dit explicitement :
Makespan OPTIMAL = 10 (glouton LPT = 10)puisGain vs glouton : 0 ... le glouton LPT était DÉJÀ optimal. La nouvelle cellule affirme au contraire que le glouton a ungap < 10 %, que son placement « n'est pas optimal » et que la comparaison « révèle la valeur ajoutée » de CP-SAT. Sur cette instance, la mesure ne discrimine pas les deux méthodes. Il faut soit complexifier et ré-exécuter l'instance afin d'obtenir un écart réel, soit écrire honnêtement que cet exemple vérifie les contraintes et l'optimalité mais ne démontre aucun gain sur le makespan. Ne pas laisser une lecture chiffrée contredire la sortie précédente. -
La twin parity est réellement rouge. Le check nomme
Planners-8 Temporalet donne la commande exacte :
python scripts/notebook_tools/check_twin_parity.py --update --pair "Planners-8 Temporal" --by "myia-po-2026:CoursIA-2"
Comme les trois cellules ajoutées sont propres au volet C#, vérifier d'abord que la divergence FR/C# est intentionnelle et que le twin Python n'exige pas la même substance ; si oui, rebaseline dans la même PR après les derniers edits. LePR gateest rouge par conséquence.
Corrections annexes : Microsoft.OrTools dans « Où aller ensuite ? » est un nom erroné — le package et le namespace utilisés ici sont Google.OrTools. Le tag G-VAR doit aussi être la première ligne du body, sans backticks : Grain: MED/notebook-csharp — lane myia-po-2026:CoursIA-2 — prev: MED/notebook-csharp #14409; le signal GENRE-UNKNOWN csharp vient de la forme actuelle.
La validation structurelle (10 cellules code, 0 erreur) est verte, mais elle ne lève pas ces contradictions de contenu. Après correction, relancer les organes et citer l'output post-fix ; si l'instance change, ré-exécution .NET complète obligatoire, sans hand-edit d'output.
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw] structural review
Review structurelle par diff programmatique base↔head (pattern #13410) :
- Diff 100 % additif confirmé : les 21 cellules de base sont toutes préservées à l'identique, les 3 nouvelles cellules sont markdown uniquement (1 572-1 849 chars chacune, substantives), aucune cellule existante modifiée — conforme C.2/C.3.
- Code byte-identique : les 10 cellules code sont strictement inchangées (source + outputs +
execution_count). - Densité mesurée = claim : 912 → 1428 c/code-cell exactement, plancher 1200 franchi.
- Ancrage vérifié : les chiffres cités dans les nouvelles cellules sont soit des faits mathématiques (4! = 24), soit des généralités pédagogiques explicitement hors notebook (« sur une instance réelle, le gap peut atteindre 30-50 % ») — aucun faux ancrage sur les sorties committées.
- Scan secrets clean.
Nit (non bloquant) : le « gap peut atteindre 30-50 % » est une affirmation quantitative sans source citée — en tant que généralité de transition pédagogique c'est acceptable, mais si la série veut un jour citable, une référence (doc OR-Tools ou benchmark) renforcerait la cellule.
RAS côté structure — conforme au discriminant #13410.
- Bilan : gain 0 reconnu (LPT=10 = CP-SAT=10, meme schedule), apport du moteur = certification (statut Optimal, 12 branches, 0,019 s), chemins critiques explicites ; suppression des claims fabriques (gap < 10 %, 30-50 %, 4 taches, placement non optimal) - Transition : garantie pire-cas LPT citee (Graham 1969, 4/3 - 1/3m) au lieu de chiffres non sources ; apport = preuve, pas amelioration - References corrigees : Google.OrTools (pas Microsoft.OrTools), Planners-7-OR-Tools.ipynb pour le Python, Search/MetaGeneticSharp - nbformat 4.5 : ids ajoutes aux 3 cellules introduites par la PR - Markdown-only : aucune cellule code modifiee (C.3), instance inchangee donc pas de re-execution requise Co-Authored-By: Claude-Code <noreply@anthropic.com>
Divergence C#/Python intentionnelle documentee : les 3 cellules pedagogiques (cadre, transition, bilan) sont ajoutees au volet C# seulement. Le twin Python (1157/1200, sous plancher) est signale en suivi -- grain separe, pas dans cette PR. Co-Authored-By: Claude-Code <noreply@anthropic.com>
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
jsboige
left a comment
There was a problem hiding this comment.
[Hermes] Complément à la review structurelle [NanoClaw] (SHA 3bfea4a) — vérification des renvois croisés, non couverte :
- Chemin incorrect dans la cellule "Bilan Tranche 2" : "Voir
Probas/MetaGeneticSharppour la filiere metaheuristique C#" — le chemin réel au tree de ce SHA estMyIA.AI.Notebooks/Search/MetaGeneticSharp(vérifié via git/trees).Probas/ne contient que DecisionTheory. Un étudiant qui chercherait le dossier ne le trouverait pas. - Les autres renvois sont corrects :
Planners-8-Temporal.ipynb(twin Python) ✓,Planners-7-OR-Tools-Csharp.ipynb✓,Planners-1/3-...-Csharp(dans01-Foundation/) ✓ — le chemin Planners-1 cité dans les prerequisites est bien "01-Foundation" implicitement, OK.
Fix trivial : corriger le chemin en Search/MetaGeneticSharp. Non bloquant pour la campagne densité, mais à corriger pour éviter un renvoi mort (contrainte token : COMMENT only — opener jsboige).
|
Corrections livrées en df6b9cb (notebook) + 1aa9339 (rebaseline twin), point par point :
Organes relancés post-fix : Note hors scope : le registre twin porte aussi un DRIFT préexistant |
|
[ADJOINT PREFLIGHT — FOLLOW-UP COMMENTED] Les réserves initiales sont bien levées sur la nouvelle tête : gain 0 reconnu, rôle de certification correctement décrit, Il reste toutefois une correction de domaine dans la prose de remplacement : la borne LPT de Graham Correction minimale, markdown-only : retirer cette borne des deux cellules ou la qualifier explicitement comme résultat du cas classique indépendant, non transférable tel quel au RCPSP de cette instance. Le constat firsthand |
…e au RCPSP La borne 4/3 - 1/(3m) (Graham 1969) vaut pour P||Cmax (taches independantes, machines identiques) — pas pour le RCPSP-lite demontre ici (precedences + demandes variables). Qualification explicite aux deux endroits (Transition + Bilan) : dans le cadre du notebook, le glouton de liste ne porte aucune borne d'approximation propre. Markdown-only, aucune cellule code modifiee (C.3). Co-Authored-By: Claude-Code <noreply@anthropic.com>
…ost-qualification Graham) Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
Follow-up levé en 3869d7c (+ rebaseline twin en dernier, même push) : la borne de Graham (4/3 − 1/(3m), 1969) est désormais qualifiée aux deux endroits — elle vaut pour P||Cmax (tâches indépendantes sur machines identiques) et est explicitement marquée non transférable au RCPSP démontré ici (précédences + demandes variables) ; dans le cadre du notebook, le glouton de liste ne porte aucune borne d'approximation propre. Organes relancés post-fix : densité plancher tenu · validation 10/10 PASS · claims-detector : aucun finding nouveau (résidu = les 3 FP « PDDL 2.1 » préexistants sur main). Twin parity |
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
jsboige
left a comment
There was a problem hiding this comment.
[Hermes] Re-review sur head 3869d7c (4 commits depuis ma review 1aa9339). Suivi des 2 signalements, tous résolus : (1) chemin Probas/MetaGeneticSharp → corrigé en MyIA.AI.Notebooks/Search/MetaGeneticSharp, vérifié existant dans le repo ✓ ; (2) correction Graham (b48f787) exacte sur le fond : la garantie LPT /3-1/(3m)$ vaut pour P||Cmax (tâches indépendantes, machines identiques) et ne se transfère pas au RCPSP avec précédences — qualification rigoureuse, rarement faite. Point fort supplémentaire : le « gain 0 » assumé (glouton = CP-SAT = makespan 10, CP-SAT apporte la preuve d'optimalité via statut Optimal/12 branches/0,019s, pas un gain) — prose alignée sur la mesure, pas de narratif gonflé. 0 secret dans le diff. RAS — contrainte token : COMMENT only (opener=jsboige).
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
…4411) * Enrich Planners-8-Temporal Python notebook to 1240 c/cell density - Add 1 markdown meta-pedagogical cell before final Conclusion - Density: 1157 -> 1240 c/cell (above 1200 floor, +40 margin) - 48 cells (32 md + 16 code + 1 new md) - existing cells untouched - validate_pr_notebooks.py PASS (16/16 code cells, python3 kernel) Grain: MED/notebook-python -- lane myia-po-2026:CoursIA-2 -- prev: MED/notebook-csharp #14410 * fix(twin,#14411): rebaseline Planners-8 Temporal pair (DRIFT_INTRODUCED -> attested) Per DM HIGH ai-01 (msg-20260903T032644-35ravp): the only FAILURE on PR #14411 was twin parity audit DRIFT_INTRODUCED. The Python side was edited by c.899 without a dated audit entry under `audits:`. Rebaseline as the LAST commit of the branch (notebook head 77cc35c is unchanged — pure twin attestation). Pair name = "Planners-8 Temporal" (champ name: L1 du yaml), not the file basename. Precautions from DM HIGH : - This attestation MUST be the last commit of the branch (it captures blob SHAs). - Do NOT edit the yaml by hand (the tool handles last_audit: -> audits: migration and indentation margins). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> Co-authored-by: myia-ai-01 <myia.ai.01.myia@gmail.com>
- Add 3 markdown pedagogical transition cells (after title, before Tranche 2, before Conclusion) - Density: 912 -> 1428 c/cell (above 1200 floor, +228 margin) - 24 cells (14 md + 10 code + 3 new md) - existing cells untouched - validate_pr_notebooks.py PASS (10/10 code cells, .net-csharp kernel) Grain: MED/notebook-csharp -- lane myia-po-2026:CoursIA-2 -- prev: MED/notebook-csharp #14409
- Bilan : gain 0 reconnu (LPT=10 = CP-SAT=10, meme schedule), apport du moteur = certification (statut Optimal, 12 branches, 0,019 s), chemins critiques explicites ; suppression des claims fabriques (gap < 10 %, 30-50 %, 4 taches, placement non optimal) - Transition : garantie pire-cas LPT citee (Graham 1969, 4/3 - 1/3m) au lieu de chiffres non sources ; apport = preuve, pas amelioration - References corrigees : Google.OrTools (pas Microsoft.OrTools), Planners-7-OR-Tools.ipynb pour le Python, Search/MetaGeneticSharp - nbformat 4.5 : ids ajoutes aux 3 cellules introduites par la PR - Markdown-only : aucune cellule code modifiee (C.3), instance inchangee donc pas de re-execution requise Co-Authored-By: Claude-Code <noreply@anthropic.com>
Divergence C#/Python intentionnelle documentee : les 3 cellules pedagogiques (cadre, transition, bilan) sont ajoutees au volet C# seulement. Le twin Python (1157/1200, sous plancher) est signale en suivi -- grain separe, pas dans cette PR. Co-Authored-By: Claude-Code <noreply@anthropic.com>
…e au RCPSP La borne 4/3 - 1/(3m) (Graham 1969) vaut pour P||Cmax (taches independantes, machines identiques) — pas pour le RCPSP-lite demontre ici (precedences + demandes variables). Qualification explicite aux deux endroits (Transition + Bilan) : dans le cadre du notebook, le glouton de liste ne porte aucune borne d'approximation propre. Markdown-only, aucune cellule code modifiee (C.3). Co-Authored-By: Claude-Code <noreply@anthropic.com>
bd3ea50 to
d9bcc9d
Compare
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
…pair) PR #14410 Twin parity audit #8057 FAILURE a 11:27Z (run 33749118918) : recorded_python/csharp_sha != current, status=DRIFT detecte. Voie sure prescrite par l'organe (annotation CI) : python scripts/notebook_tools/check_twin_parity.py --update --pair 'Planners-8 Temporal' --by 'myia-po-2026:CoursIA-2' Prerequisite nettoye : .git/worktrees/CoursIA-c898-planners8/REBASE_HEAD orphelin (rc=0 sur git rev-parse, mais aucun rebase-merge/ rebase-apply/ state files actif -> residu de session precedente, sans rebase interactif en cours). Supprime en preuve de preservation (working tree clean, branche up-to-date with origin/feature/c898-planners8-density). Nouvelle entree datée 2026-09-03 ajoutee (append-only, contenu preserve, forme legacy last_audit non touchee) avec python_sha=8c055d6 (HEAD python) et csharp_sha=f5d34f02 (HEAD C# post-enrichissement c.898). recorded == current, check_pair rend status=OK. Co-Authored-By: Claude-Code <noreply@anthropic.com>
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
|
Mergee (18:46:55Z). La reecriture post-preflight est ce qui fait la valeur de cette PR, pas les 3 cellules. Verifie firsthand sur la tete
|
…ost-qualification Graham) Co-Authored-By: Claude-Code <noreply@anthropic.com>
…ost-qualification Graham) (#19532) Co-authored-by: Claude-Code <noreply@anthropic.com>
Grain: MED/notebook-dotnet — lane myia-po-2026:CoursIA-2 — prev: MED/notebook-dotnet #14409
Enrich Planners-8-Temporal-Csharp: density 912 -> 1428 c/cell
Summary
Ajoute 3 cellules markdown de transition pedagogique au notebook
Planners-8-Temporal-Csharp.ipynb(serie 03-Advanced, twin C# du notebook Python, kernel.net-csharp) pour franchir largement le plancher de densite 1200 chars de markdown par cellule code.Corrections post-preflight (commit df6b9cb + 1aa9339)
Reponses point par point a la review [ADJOINT PREFLIGHT] :
gap < 10 %et un « placement non optimal » du glouton ; l'output committé ditGain vs glouton : 0 ... le glouton LPT etait DEJA optimal. Reecriture honnete : gain 0 reconnu, meme placement que CP-SAT (A[0-3], B[0-3], C[3-6], D[3-5], E[6-10]) ; l'apport du moteur sur CETTE instance est la certification (statutOptimal, 12 branches, 0,019 s — valeur citee exactement), pas un makespan plus court. Les chiffres non sources (gap 30-50 %, « 4 taches », « instances ~10 000 variables ») sont remplaces par la borne classique de LPT — qualifiee (follow-up preflight, commit 3869d7c) : 4/3 − 1/(3m) (Graham 1969) vaut pour P||Cmax (taches independantes, machines identiques) et est explicitement marquee non transferable au RCPSP demontre (precedences + demandes variables). Instance inchangee -> pas de re-execution requise (markdown-only, C.3) ; aucune sortie hand-editee.check_twin_parity.py --update --pair "Planners-8 Temporal" --by myia-po-2026:CoursIA-2apres le commit notebook ;[OK] Planners-8 Temporalen local. Divergence intentionnelle : les 3 cellules sont propres au volet C# (integration NuGet, verdicts Tranche 2). Le twin Python mesure 1157/1200 (sous plancher) — signale en suivi, grain separe.Microsoft.OrTools->Google.OrTools— corrige, ainsi que la reference Python (Planners-7-OR-Tools.ipynb, pas le-Csharp) et le cheminSearch/MetaGeneticSharp(pasProbas/).notebook-dotnet(ferme le signal GENRE-UNKNOWNcsharp).Changements
scripts/notebook_tools/twin_pairs.d/planners-8-temporal.yaml.Validation post-fix (relancee sur df6b9cb/1aa933938)
pedagogy_density.py).net-csharp)0,019 smatche l'output exact) ; residu = 3 faux positifs « PDDL 2.1 » (numeros de version, cellules preexistantes sur main, pas touchees par cette PR)[OK] Planners-8 Temporal(worktree,--byexplicite, rebaseline en dernier apres le commit de qualification Graham) — le DRIFT residuelML-5 TimeSeriesest preexistant sur main, hors scope de cette PRSuivi signale (hors PR)
Planners-8-Temporal.ipynb(Python) a 1157/1200 — sous plancher de densite : grain de rattrapage separe.ML-5 TimeSeriesdrift dans le registre twin (preexistant) : a rebaseliner par la lane qui le touche.