Repository navigation
docs(notebook,#12797): tranche 3 GameTheory -- 7 cellules de prose qui cassent les runs de code - #15984
Conversation
…i cassent les runs de code Trois notebooks GameTheory portaient des runs de cellules de code consecutives (regle consecutive-code-cells) : les cellules partageaient un etat Python, mais rien ne separait leur lecture. - GameTheory-06f-Bounded-Agents-Python : run de 3 (les 8 certificats) -> 2 cellules de prose (nature d'un certificat calcule vs quantifie ; la proposition Lean et son miroir decidable) - GameTheory-06f-Bounded-Proofs-Reasoning-Costs : runs de 2 (balayage de k) et de 3 (exercices 1 a 3) -> 3 cellules de prose (horizon k et borne MAX_DEPTH ; briefs des exercices 2 et 3) - GameTheory-06-EvolutionTrust : run de 3 (is_ess, verdicts, controle positif) -> 2 cellules de prose (un verdict ESS est refutable par un seul mutant ; le controle positif contre l'instrument casse) Insertion markdown-only : 66 insertions, 0 suppression, aucune source de cellule code touchee, donc aucune re-execution due (C.2). Les ids suivent la convention locale de chaque fichier (hex pour 06-EvolutionTrust et 06f-Bounded-Agents, semantique 06f-* pour 06f-Bounded-Proofs). Typographie alignee sur chaque fichier, mesuree avant d'ecrire : 06f-Bounded-Agents n'a aucun caractere non-ASCII dans ses cellules markdown (prose ASCII), 06f-Bounded-Proofs utilise l'em dash et les guillemets mais pas d'accent, 06-EvolutionTrust est accentue. Le style « titre d'exercice en markdown au-dessus d'une cellule code qui porte deja un commentaire # Exercice » est la convention dominante de la serie : 88 occurrences dans 30 notebooks GameTheory. Verification : - detect_consecutive_code_cells.py : les 3 notebooks passent de max_run 2-3 a runs 0 / max_run 1 - check_docs_links.py --check --base origin/main : rc=0 (7038 liens) See #12797 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ion markdown-only Le cote Python de la paire `GameTheory-6 EvolutionTrust` a recu 2 cellules de prose au commit precedent, ce qui deplace son blob SHA alors que la partie C# ne bouge pas. L'audit enregistre les SHAs courants. Edition markdown-only : la parite `semantic` est inchangee (aucun enonce, aucune sortie, aucune cellule de code touchee cote Python, cote C# intact). Aucune `known_differences` n'est ajoutee : ce champ decrit les ecarts semantiques entre les deux moteurs, et il n'y en a pas de nouveau. Attestation faite EN DERNIER (#8957) : le commit des notebooks precede, `git ls-tree HEAD` lit donc les blobs finaux. Verification : - check_twin_parity.py --family "GameTheory/.NET-Parity" --check --json -> 18/18 OK, drift 0 - check_twin_parity.py --check --json (fleet) -> 154/157 OK ; les 3 DRIFT restants (Probas-16, SW-2, SW-7) sont prealables et hors de ce perimetre (ma branche ne touche que 3 notebooks GameTheory) See #12797 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
`check_twin_parity.py --update` n'ecrit pas de `reason:` : la note etait partie dans `by:`, qui doit rester le seul identifiant de lane. Le champ `reason:` est la convention du registre (217 des 1232 fichiers d'audit), et il porte ce qu'un auditeur doit pouvoir lire sans ouvrir la PR : nature du changement, cote touche, parite preservee, precedent invoque. Le champ `by:` redevient donc `myia-po-2024:CoursIA` seul. Coeur de l'entree : insertion markdown-only de 2 cellules de prose cote Python, aucune cellule de code touchee, aucune sortie modifiee, aucune re-execution, `parity_level: semantic` inchange. Verification : test_twin_registry_integrity.py -> 46 passed. See #12797 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
DWELL — plancher mecanique, rien a reparer.
Lu firsthand sur l'annotation du check-run Aucune action de lane n'est disponible sur cette PR : ni re-push (il remettrait le plancher a zero depuis la nouvelle tete), ni Justification ecrite exigee par — lane |
|
Etat du rouge lu firsthand (annotation du check-run Ce rouge est mecanique et auto-leve, aucune action de lane n'est requise ni utile :
Justification ecrite exigee par le picker ( — lane myia-po-2024:CoursIA |
Path-collision (organ #13359/#13615)Cette PR #15984 (
|
Grain: MED/notebook-python — lane myia-po-2024:CoursIA — prev: DEEP/notebook-python #15902
Tranche 3 du drainage de la dette
consecutive-code-cellsde la serie GameTheory : sept cellules de prose qui cassent les runs de cellules de code consecutives dans trois notebooks.Le defaut
Trois notebooks portaient des cellules de code consecutives, mesure avant (
detect_consecutive_code_cells.py --json) :GameTheory-06f-Bounded-Agents-PythonGameTheory-06f-Bounded-Proofs-Reasoning-Costsk), 17-19 (exercices 1 a 3)GameTheory-06-EvolutionTrustis_ess, verdicts, controle positif)Ce sont des cas de Classe B (defaut canonique de #12797) : des etapes distinctes a sorties reelles, chacune portant deja un
# commentaire, mais sans prose markdown entre elles. Aucun n'est un cas de fusion legitime (imports + chargement) — les trois cellules de chaque run produisent des resultats differents.Les 7 insertions
k, et la borneMAX_DEPTH=3a garder en tetekLe choix de position n'est pas cosmetique : dans
06-EvolutionTrust, la cellule 32 porte deja un### Interprétationde la table de verdicts. La prose ajoutee dit ce que l'instrument engage (pourquoiis_essrenvoie ses mutants, pourquoi un controle positif est necessaire), pas ce que la sortie signifie — cette lecture reste a sa place.Insertion markdown-only
66 insertions, 0 suppression. Aucune source de cellule code touchee, donc aucune re-execution due (C.2) et aucune sortie modifiee. Les cellules ajoutees portent
"metadata": {}sans bloc papermill fabrique — meme convention que la tranche 1 (#15957).Deux conventions mesurees avant d'ecrire plutot que supposees :
06-EvolutionTrustet06f-Bounded-Agentssont en ids hex ;06f-Bounded-Proofsest en ids semantiques (06f-exo-2-brief,06f-exo-3-brief, alignes sur les cellules06f-exo-2/06f-exo-3qu'ils precedent).06f-Bounded-Agentsn'a aucun caractere non-ASCII dans ses cellules markdown → prose ASCII ;06f-Bounded-Proofsutilise l'em dash et les guillemets sans accents ;06-EvolutionTrustest accentue. Le style « titre d'exercice en markdown au-dessus d'une cellule qui porte deja un commentaire# Exercice» est la convention dominante de la serie : 88 occurrences dans 30 notebooks GameTheory.Jumeau C#
GameTheory-6 EvolutionTrustest la seule des trois paires enregistree au registre des jumeaux. L'edition markdown-only deplace le blob Python ; l'audit a ete rebaseline en dernier (#8957), dans un commit separe apres le commit des notebooks, parce que--updatelitgit ls-tree HEADet refuserait d'attester avant que le notebook soit commite.Aucune
known_differencesajoutee : ce champ decrit les ecarts semantiques entre les deux moteurs, et il n'y en a pas de nouveau. Le jumeau C# de06-EvolutionTrustetait deja conforme au run (verifie au claim) ; les deux notebooks06f-*n'ont pas de jumeau C# enregistre.Verification
detect_consecutive_code_cells.py --jsonruns: 0,max_run: 1(avant : 2 a 3)check_twin_parity.py --family "GameTheory/.NET-Parity" --check --jsoncheck_docs_links.py --check --base origin/mainDeclaration de perimetre
#12797est CLOSED (fermee le 2026-08-27 apres livraison du detecteur et de son workflow — les 5 criteres d'acceptance portaient sur l'outil, pas sur le drainage). Le drainage de la dette se poursuit en tranches sur cette issue fermee, comme les tranches 1 (#15957) et 2 (#15961), encore ouvertes. D'ouSee #12797et nonCloses— et une lane worker ne ferme pas d'issue de toute facon.Residuel nomme : les jumeaux C#/Lean de la serie, non traites ici.
Hors perimetre, signale :
check_twin_parity.py --checkfleet rend 154/157. Trois paires sont en DRIFT prealable, hors de ma branche —Probas-16 Sparse-Gaussian-Process,SW-2 RDF-Basics,SW-7 OWL. Le mode CI--per-pair --base origin/mainmesure la derive introduite et ne les voit donc pas dans cette PR. Je les signale au coordinateur plutot que de les corriger ici : ce serait un autre sujet.🤖 Generated with Claude Code