Repository navigation
feat(gametheory,#14450): oracles réflexifs — tranches 2..N, restriction finie vérifiée, CDT/EDT, frontière - #16265
Conversation
…ee, CDT/EDT, frontiere fini/universel GameTheory-04e rebuild du squelette (tranche 1 #14618) en 39 cellules executees : menteur probabiliste (orbite periode 2 -> point coherent q=1/2), theoreme 3.1 CDT vs EDT (ecart strict sur Chasse au Cerf correlee), Nash par deviations unilateraires (is_nash sans solveur), restriction finie-fermee-bornee mesuree (25 programmes, fermeture BFS, 50 appels), jeu auxiliaire nashpy 49 equilibres dont 2 reflexivement coherents, verificateur independant + 2 contre-epreuves rejetees, frontiere explicite (Kakutani dimension infinie non implémentee). Liens entrants markdown-only depuis 04/04b/04c + ligne README 4e. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
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 |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
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: |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw]
VERDICT: LGTM (vérifié: outputs réels du notebook 04e au head 92f7bad — ancrage de tous les chiffres porteurs du body)
Revue structurelle (fenêtre de contexte — pas un full-diff). Chaque assertion ci-dessous a été mesurée sur le contenu du notebook au head, pas recopiée du body.
Structure — conforme au body au chiffre près : 39 cellules (18 code / 21 markdown), execution_count 1..18 complet, 0 erreur dans les outputs, 0 pattern banni (NotImplementedError/assert False/1/0 = 0), toutes les cellules code portent des outputs (H.4), 5 exercices ×2 mentions (énoncé + renvoi), 5 stubs return None.
Ancrage des chiffres du body dans les outputs (classe #16066 — un chiffre publié se re-mesure) :
- §1 « AUCUNE paire pure » → imprimé :
Paires en equilibre pur : AUCUNE✓ - §3 « 0.5030 ∈ [0.4850, 0.5150] (3σ) » → imprimé :
moyenne empirique = 0.5030/intervalle 3-sigma = [0.4850, 0.5150]✓ - §4 CDT/EDT → tableau imprimé
Cerf 1.6000 3.2000/Lievre 2.0000 2.0000;c1 = 0.8 > 0.5 porte U_EDT(Cerf) a 3.2 > 2; l'arithmétique tient : 0.32/0.40 = 0.80 (matrice JOINTE [[0.32,0.08],[0.08,0.52]] au source) ✓ - §6 « 25 ≤ 64 » →
|PROGRAMMES| = 5 |PROBAS| = 5,|Q| = 25 (borne 64, respectée -> True); « exactement 50 appels » →appels oracle consommes par l'enumeration : 50 / 64;VERDICT 6a : finie=True fermee=True bornee=True✓ ; « 2/49 » →equilibres reflexivement COHERENTS : 2 / 49✓ - Discipline anti-tautologie réelle : le vérificateur imprime des ACCEPTS (
Nash=True) et des rejets (residu_reflexif = 0.8700 nash = False verdict = INCOHERENT, 47/49 rejetés) — il sait dire non. - SOTA :
nashpy 0.0.43chargé etsupport_enumerationau source — le vrai outil est utilisé, pas substitué.
Satellites — 04/04b/04c : exactement +1 ligne markdown chacun (bloc « Prolongement computationnel »), zéro cellule code touchée → exception C.2 markdown-only tenue ; README : 1 ligne (table 4e). Frontière §7 explicite (Kakutani dimension infinie non implémenté, restriction = cas particulier favorable).
Notes mineures (non bloquantes) :
- L'advisory CI prose/output (« a numeric value is not anchored… ») : ma passe manuelle sur tous les chiffres porteurs du body n'en a trouvé aucun non ancré. Si le JSON artifact (
markdown-claims-output-report) pointe un cas précis, il mérite un regard lane-side ; côté review, rien à objecter. - 04b/04c : perte du newline final (
\ No newline at end of file) — cosmétique, sans effet sur le parsing.
Le dossier me paraît tranchable côté merge.
…parity rebaseline (04/04c) - 04e : reinserer verbatim les enonces formels de la tranche 1 (definition requete reflexive, coherence/reflexivite stricte, contradiction diagonale du menteur, theoremes 3.1/4.1, bullets Finie/Ferme/Bornee, intro pedagogique) — survie markdown 24% -> >50%, motif Objectif restaure (MD_REWRITE et LOST_MOTIF resolus a la source, pas d'ack body). - twin_pairs.d : attestation des nouvelles blob SHA des paires GameTheory-4 NashEquilibrium et GameTheory-4c NashExistence (liens markdown-only entrants, DRIFT_INTRODUCED -> 0). Markdown-only sur le 04e : aucune cellule code touchee, outputs committes valides (exception C.2). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…operation) Le correctif markdown de GT-04c deplace le blob C# -- la paire derivait (`25e04d66 -> f2745ce7`). Rebaseline lancee EN DERNIER, apres le commit du notebook, pour qu'aucune normalisation outillee ulterieure ne deplace le blob sous l'attestation (#8957). Index `0010` derive par l'outil lui-meme (`len(glob)+1`), pas choisi a la main : GameTheory-4c NashExistence/ 0001..0009 -> 0010-2026-09-15-myia-po-2026-CoursIA.yaml SHAs de l'attestation verifies contre `git rev-parse HEAD:<path>` : csharp_sha 29143b4 = HEAD:<csharp> OK python_sha 789d317 = HEAD:<python> OK `check_twin_parity.py` : la paire repasse OK (DRIFT 4 -> 3 ; les 3 restants -- Probas-16 Sparse-Gaussian-Process, SW-2 RDF-Basics, SW-7 OWL -- sont pre-existants et hors de cette PR). Coordination #16265 : sa branche ajoute `0009-2026-09-15-myia-po-2023-CoursIA.yaml` alors que celle-ci porte deja `0009-2026-09-13-myia-po-2026-CoursIA.yaml`. Les deux index 0009 ne cassent pas `_latest_audit` : le tri par nom reste l'ordre d'append (`0009-09-13` < `0009-09-15` < `0010-09-15`), donc la derniere attestation est bien la plus fraiche dans les deux ordres de merge. Constat signale sur la PR plutot que de renommer le fichier d'une autre lane. See #13410
Path-collision (organ #13359/#13615)Cette PR #16265 (
|
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM
[Hermes] — review de #16265 (GameTheory-04e-Reflective-Oracles, tranches 2..N de #14450).
Vérifications effectuées sur le diff (head 78c6596de3a4) :
- Authenticité outputs — 14 cellules code,
execution_count5..18 tous non-null,papermill.exception=false×39,status=completed×39, durées mesurées (Σ 7.1 s, max 3.485 s), timestamps 2026-09-15T06:32Z cohérents avec la création PR (06:40Z). Pas de prints statiques. - Maths §4 recalculées indépendamment — JOINTE=[[0.32,0.08],[0.08,0.52]] : b=0.32+0.08=0.40, c₁=0.32/0.40=0.80 → U_CDT(Cerf)=4b=1.6 < 2 (Lièvre), U_EDT(Cerf)=4c₁=3.2 > 2 (Cerf). Conforme aux outputs affichés ; écart strict bien réel.
- Anti-tautologie §6 vérifiée dans les outputs — le tableau des 49 équilibres affiche les résidus (0.25..1.0 INCOHERENT, 2/49 COHERENT) et les contre-épreuves sont rejetées (résidu 2.0000, profil arbitraire 0.87 + nash=False). Le vérificateur discrimine réellement.
- §6a restriction — |Q|=25 ≤ 64 affiché, fermeture BFS True (15 requêtes atteignables ⊆ Q), 50/64 appels comptés. Mesuré, pas asserté.
- Security scan — grep
HF_TOKEN|API_KEY|BEARER|PASSWORD|SECRET|TOKEN=sur le diff : 0 hit. Path-leak : rien de réel. - Frères 04/04b/04c — diffs markdown-only confirmés (liens entrants vers 04e uniquement), README ligne 4e seule modifiée. Twin pairs YAML cohérents.
Exercices laissés en TODO étudiant (Exo 1/2 avec A_exo1=None) — conforme au pattern pédagogique du corpus, outputs TODO explicites.
(contrainte token : COMMENT only — cap #15511, opener jsboige)
[Hermes hermes-pr-review, cycle :14 15/09, host c92df397a786]
…4c-nashexistence + writer max+1 (#16380) Rouge base-inherited sur Scripts Tests (CPU) fleet-wide : prefixe 0009 duplique (po-2026 09-13 vs po-2023 09-15), puis 0010 duplique en cascade. Renumrotation par ordre d'append reel (mergedAt #16265 23:06Z < #16029 23:28Z). Cause racine : _append_audit_file calculait len(files)+1 — comptage, pas max+1 : deux lanes en course de branche emettent le meme index. Durcissement : _next_audit_index (max+1) + garde anti-ecrasement disque (avance l'index si le fichier existe). 5829 tests notebook_tools verts post-fix, audit 157 paires : 0 autre doublon. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…16265 (#16678) Le merge e86bf62 (#16265, oracles reflexifs) a deplace le blob SHA du jumeau Python de la paire GameTheory-4c NashExistence (1 ligne markdown : lien "Prolongement computationnel" vers le 04e) APRES les attestations 0009/#16265 et 0011/po-2026 (2026-09-15) -- registre stale sur main, jambe GT-4c du gate twin rouge pour toute PR ulterieure (#16626/#16670). Attestation 0012 (by myia-po-2023:CoursIA) + ligne known_differences. Spot-audit : markdown-only, zero cellule code, csharp inchange, le 04e n'existe qu'en Python (asymetrie navigationnelle legitime). Verification locale : --per-pair --base origin/main -> ok=156, drift_introduced=0, drift_resolved=1 (total 157). Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Contexte
#14450 (grain deep-queue Q1 pour la lane myia-po-2023:CoursIA) : après la tranche 1 (squelette, PR #14618 mergée), cette PR livre les tranches 2..N — le notebook
GameTheory-04e-Reflective-Oraclescomplet, exécuté, avec vérificateur indépendant. Source : Fallenstein/Taylor/Christiano, Reflective Oracles (arXiv 1508.04145).Livrable
GameTheory-04e-Reflective-Oracles.ipynb— 39 cellules (18 code, 21 markdown), reconstruit depuis le squelette de 20 cellules :(M, p):ReflexiveQuerybornée parN_QUERIES_MAX=64(compteur global d'appels, bornes mesurées pas assertées), cohérence sur machine avec état vsStatefulMachineanti-exemple rejetée. Exercice 2.is_nashindépendant sans solveur — accepte le profil intégré, rejette un profil arbitraire.DEPTH_MAX=2) — exactement 50 appels, delta mesuré ; jeu auxiliaire 5×5 via nashpysupport_enumeration(49 équilibres, dégénéré) ; contrainte de réflexivité = croyances auto-réalisatrices (résidu mass-weighted |croyance c − π_opposant[0]|) → 2/49 équilibres réflexivement cohérents. Exercice 5.Discipline anti-tautologie (héritée du pattern
perturbed_br#7664) : chaque vérificateur est montré rejetant un contre-exemple — le vérificateur §6 rejette 47/49 équilibres et les 2 contre-épreuves (solution perturbée résidu 2.0, profil arbitraire non-Nash résidu 0.87). Un vérificateur qui ne sait dire que « oui » ne vérifie rien.Acceptance criteria (#14450)
is_nashpass/return None, zéroraise NotImplementedErrorValidation
execution_count1..18 complète, 0 erreur, 3.46 s, 1 figure PNG (résidu de l'orbite).metadata.papermill.input/output_pathnormalisés au basename.validate_pr_notebooks.py origin/main <04e>→ 1/1 PASSED (18 cellules).CATALOG-STATUSintacts ; catalogueCOURSE_CATALOG.*byte-identique à main (règle chore(catalog): catalogue hors-branche cron-only — stopper le silent-revert au merge (decision user 07/06) #2632).grep -cE "raise NotImplementedError|assert False|1/0"sur cellules code : 0.SOTA (EPIC #3801)
SOTA-OK — le vrai outil est utilisé :
nashpy(support_enumeration) pour le jeu auxiliaire, NumPy pour le reste ; aucune sortie de substitution. Prong B : le problème est discriminant — le solveur retourne 49 équilibres dégénérés que la contrainte de réflexivité départage (2/49), pas un cas trivial.Limites honnêtes
Périmètre :
GameTheory-04e-Reflective-Oracles.ipynb(nouveau contenu) + liens entrants markdown-only dansGameTheory-04/04b/04c+ ligne README 4e.Grain: DEEP/notebook-python — lane myia-po-2023:CoursIA — prev: MED/tooling #16255
Closes #14450
🤖 Generated with Claude Code