Repository navigation
Fix(GameTheory,#23384): GT-14 DifferentialGames -- convergence kernel canon 3.13.14 - #23536
Conversation
… canon 3.13.14 GT-14 : 3.11.9 -> 3.13.14 (kernelspec python3, kernel canon local). Carnet deterministe : les 4 cellules stochastiques sont deja seedees (np.random.default_rng(0|0|1|2024)), 0 appel legacy non seede -- la mention contraire du cycle 12:26Z etait une erreur de scan, refutee firsthand avant action. Sorties texte concatenees : 18/19 identiques ; seul delta de fond = cellule 31 (compteur d iterations SLSQP nit=57 -> nit=58 sous scipy 1.18.1, optimum et valeurs identiques). Cellule 36 : flux stdout decoupe en 3 elements au lieu de 4 (frontiere de buffer), contenu concatene identique. Figures : 8 PNG regeneres (zlib 3.13 contre 3.11), 6/8 pixel-identiques, 2/8 a 0,03 % et 0,28 % des octets (antialiasing). Paire jumelle : entree known_differences ajoutee (content_sha bouge -> attestation 0011 due, unlike les tranches ou seul le metadata de version bougeait). 19/19 cellules code, 0 erreur, execution_count complet 1->19. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…nce kernel) Le content_sha python bouge (texte ET images : nit 57->58, PNG re-encodes) -- le garde #8057 demande une attestation sur derive de contenu, pas seulement sur version de kernel. Attestation 0011 ecrite EN DERNIER, apres les hooks de normalisation (cf #8957). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams). Scope = notebooks CHANGED in this PR, not the whole corpus. The |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Path-collision (organ #13359/#13615)Cette PR #23536 (
|
|
[ADJOINT PREFLIGHT] Preuve d'execution et crible de fond
|
Grain: DEEP/notebook-python — lane myia-po-2024:CoursIA — prev: DEEP/notebook-python #23524
Convergence kernel canon 3.13.14 pour la paire GameTheory-14 DifferentialGames — See #23384 (census, arc GameTheory). Carnet existant (veto carnets du 30/10 respecté, [DECISION] ai-01 12:19Z) : aucune création, aucun contenu pédagogique ajouté.
Ce que fait la PR
Re-exécution complète de
MyIA.AI.Notebooks/GameTheory/GameTheory-14-DifferentialGames-Python.ipynb(52 cellules, 19 code) sur le kernel canon local Python 3.13.14 (numpy 2.4.2, scipy 1.18.1, matplotlib 3.10.8), en remplacement des sorties committées sous 3.11.9. Aucune source de cellule modifiée, aucun contenu pédagogique touché :git diff --stat= 256 insertions / 253 suppressions sur le seul carnet (sorties ré-encodées), +1 ligne de registre de paire jumelle, +1 attestation.Rectification de diagnostic (G.1) — la prémisse « 4 cellules RNG non seedées » était FAUSSE
Le cycle précédent ([DONE] 12:26Z du 30/10) avait inscrit GT-14 comme « 4 cellules RNG non seedées + paire jumelle ». Re-vérification firsthand avant toute action :
np.random.default_rng(seed)avec graine explicite (0, 0, 1, 2024) — déterministes ;grep -n "np\.random\.(rand|uniform|normal|choice|randn|randint|shuffle|seed)"sur le carnet : 0 occurrence — aucun appel legacy non seedé.La moitié RNG du diagnostic n'existait pas ; le grain livré est la convergence kernel canon seule. Le carnet était déjà déterministe — et le reste.
Preuves d'exécution
feat/gt14-canon313: 52/52 cellules, 1 min 44 s, rc 0, kernelpython3→ 3.13.14.execution_count1→19 contigus, aucunnull, 0 outputerror(mesuré avant/après).SLSQP : success=True, nit=57→nit=58(compteur d'itérations SLSQP sous scipy 1.18.1) ; optimum et valeurs identiques : myope 4771.7 / saut agressif 1993.1 / dynamique-optimal 5144.4, ramp u_L* 30.99 → 44.26 (std 3.67), t90 = 7.00,success=Truedes deux côtés.Softwareidentique). Aucun écart de tracé, aucun placeholder, aucune sortie dégradée.Paire jumelle (GameTheory/.NET-Parity)
check_twin_parity.py --pair "GameTheory-14 DifferentialGames": DRIFT sur lecontent_shapython (9e1e34b6→29daf209) — car ici le texte ET les images bougent, contrairement aux tranches GT-10/GT-12/GT-16i où seul le metadata de version bougeait (content_sha immun).known_differencesdansgametheory-14-differentialgames.yaml(1 ligne, justifiant la dérive) + attestation 0011 écrite EN DERNIER, après les hooks de normalisation (scrub-papermill-paths— cf twin-parity : l'ordrestrip_probe_banner->check_twin_parity --updaten'est ecrit nulle part, et le rebaseline se fait naturellement trop tot #8957).ok=1, drift=0. Côté C# inchangé.Conformité
execution_countnon-nul — passé.🤖 Generated with Claude Code