Repository navigation
Conversation
…Einstein, cryptarithmes, Sudoku) Trois cellules markdown d'introduction de la serie Z3-Linq2Z3 crediteent explicitement l'ouvrage-ancrage de la serie, avec la section et le folio releves sur la page de la copie archivee (G:\Mon Drive\MyIA\IA\Bibliographie IA\Symbolic\2023 - SAT_SMT_by_example.pdf). - 18_Einsteins_Riddle : §8.2 « Zebra puzzle (AKA Einstein puzzle) » (p. 232) - 13_Cryptarithmetic_SMT : §8.10 « Alphametics » (p. 276) - 02_Sudoku_Theorem_vs_Array : §8.1 « Sudoku » (p. 205) et §8.1.2 (p. 212) Cellules markdown uniquement : aucune cellule de code touchee, donc pas de re-execution due (C.2 sans objet). Les entrees et sorties sont celles de HEAD : le diff ne porte que sur la cellule 0 de chaque carnet. See #19278 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
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: |
|
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 |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
…udoku, Einstein) Les cellules `## Source` des carnets 02 et 18 annoncaient une reprise d'instances du livre qui n'existe pas. Verification sur la copie archivee (`G:\Mon Drive\MyIA\IA\Bibliographie IA\Symbolic\2023 - SAT_SMT_by_example.pdf`) : - Carnet 02 : la grille de la section §8.1 (p. 205) est le « world's hardest sudoku » (`..53.....8......2..7..1.5..4....53...1..7...6..32...8..6.5....9..4....3......97..`, 23 indices) ; le carnet en resout une autre, a 30 indices. La chaine de reference de Norvig (30 indices) est absente de l'ouvrage. Le credit porte donc sur l'**encodage** (§8.1.2, p. 212), pas sur la grille. - Carnet 18 : le livre donne l'instance canonique (§8.2, p. 232 — 14 indices, le Japonais possede le zebre) ; le carnet resout une variante renommee (15 indices, l'Allemand possede le poisson, verte immediatement a gauche de la blanche et non a droite de l'ivoire). Le credit porte sur le cadre d'encodage, pas sur l'instance. Le carnet 13 (`SEND + MORE = MONEY`, §8.10 p. 276) est verifie identique au livre : son credit etait deja exact, il est laisse intact. Modification markdown seule (cellule 0 de deux carnets) : aucune cellule de code touchee, donc aucune re-execution due au sens de C.2/C.3. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw] structural review (protocole v2 — extraction base d0383967 / head 5d4fb55b, cell-diff intégral des 3 notebooks, jamais de JSON brut en contexte)
VERDICT: LGTM (vérifié: cell-diff exhaustif 02/13/18 + ancrage de chaque affirmation interne sur le contenu des carnets)
Périmètre mesuré : 3 notebooks MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-Linq2Z3/ (02 Sudoku, 13 Cryptarithmetic, 18 Einsteins_Riddle), +15/−3. Le diff réel = ajout d'un bloc ## Source en fin de cellule d'introduction dans chacun des 3 carnets. 0 cellule code modifiée, 0 ligne supprimée (les 3 « − » sont les fins de cellule reclôturées par l'ajout) — aucune matière perdue, aucun retrait à justifier.
Ancrage des affirmations internes (gate 4bis : toute valeur citée doit se retrouver dans le carnet) :
- 02 Sudoku : « le carnet en résout une autre, à 30 indices » → ancré : la grille de cellule 21 porte exactement 30 non-zéros, et le code affiche
givenCount} indices sur 81 cellules(compteur committé). « tableau de 81 cellules » → ancré (s.Cells[i*9+j],List<int>de 81). Les 23 indices / folios §8.1 p. 205 du livre = référence externe déclarée (« relevés sur l'ouvrage archivé »), non re-mesurable depuis ce siège. - 13 Cryptarithmes : « l'exemple SEND + MORE = MONEY » → ancré (15/15/13 occurrences SEND/MORE/MONEY dans le carnet). §8.10 p. 276 = externe déclaré.
- 18 Einstein : « l'Allemand qui possède le poisson » → ancré dans les outputs committés (« >>> Reponse : le Allemand possede le Poisson (maison 4) ») ; « quinze indices au lieu de quatorze » → ancré (commentaire d'en-tête cellule 3 : « 5 maisons, 5 attributs, 15 indices ») ; « la verte immédiatement à gauche de la blanche » → ancré littéralement (
t.Green == t.White - 1dans les contraintes) ; renommages (Japonais→Allemand, zèbre→poisson) → cohérents avec la classe committée (German, pas deJapanese).
Scans : secrets = 0 (le chemin G:\Mon Drive\… cité ci-dessous n'est pas un credential) ; ec-null = sans objet (aucune cellule code touchée) ; papermill = inchangé (02 conserve ses métadonnées anciennes 2026-06-11, µs non rondes — cohérent avec cellules non ré-exécutées ; 13/18 n'en portent pas). Aucune re-exécution prétendue.
🟡 Observation mineure (non bloquante) : les 3 blocs citent la copie archivée par son chemin local Windows G:\Mon Drive\MyIA\IA\Bibliographie IA\Symbolic\2023 - SAT_SMT_by_example.pdf — exact pour l'archivage interne, mais illisible pour un étudiant hors du poste. Une référence bibliographique imprimable (auteur, édition du 12/02/2023, ISBN ou URL éditeur) en complément rendrait le crédit autosuffisant.
Review structurelle déclarée : organe C# non exécutable depuis ce siège (python/dotnet absents du conteneur, convention #16098) — la vérification porte sur les sources et outputs committés, pas sur une re-exécution.
L'organe `check_prose_quantitative_claims.py` refuse un compteur d'artefact en prose (classe `artifact` : un nombre suivi d'un nom d'artefact), parce qu'aucune machine ne remesure « 81 cellules » et que la mesure derives des qu'un tiers touche au carnet. C'est le seul organe bloquant du fastlane de cette PR. La phrase devient « L'encodage par tableau d'une grille de 9 par 9 vient de Yurichev... » : la taille de la grille est dite en mots, pas sous la forme d'un compteur d'artefact, et le propos (le credit porte sur l'encodage tableau de §8.1.2, p. 212) reste intact. Modification markdown seule (cellule 0 du carnet 02) : aucune cellule de code touchee, aucune sortie modifiee, donc aucune re-execution due au sens de C.2/C.3. Les hooks pre-commit du carnet (bandeau probeAddresses, chemins machine, chemins papermill, separateurs, fins de ligne, encodage, null-exec, cell-source-parses) sont joues a la main dans ce worktree : tous no-op. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
|
[ACTION] Rouge CI unique réparé — commit Mesure : dans le log du fastlane, 54 gardes évaluées, un seul exit 1 — La cause : la cellule La phrase devient « L'encodage par tableau d'une grille de 9 par 9 » : la taille est dite en mots, et le propos — le crédit porte sur l'encodage tableau de §8.1.2 (p. 212), pas sur l'instance — reste intact. Vérifié sur le nouveau head : Modification markdown seule (cellule 0 du carnet 02) : aucune cellule de code ni aucune sortie touchée, donc pas de ré-exécution due au sens de C.2/C.3 ; les hooks pre-commit du carnet (bandeau Le |
Grain: DEEP/notebook-dotnet -- lane myia-po-2024:CoursIA-2 -- prev: DEEP/notebook-python #24361
Ce que fait cette PR
Trois carnets de la série
Z3-Linq2Z3créditent explicitement, dans leur cellule d'introduction, l'ouvrage-ancrage de la série : Yurichev, SAT/SMT by Example (édition du 12 février 2023). C'est le travail 3 de l'issue #19278 (« si un notebook reprend un exemple du livre presque tel quel, la cellule d'intro le crédite explicitement »).Chaque crédit porte la section exacte et le folio imprimé relevés sur la copie archivée (
G:\Mon Drive\MyIA\IA\Bibliographie IA\Symbolic\2023 - SAT_SMT_by_example.pdf) : l'attribution est écrite depuis l'ouvrage, pas depuis un résumé. Le crédit distingue en outre ce que le carnet reprend (le cadre d'encodage) de ce qu'il n'emprunte pas (l'instance) — c'est l'apport de cette PR sur son propre premier jet.13_Cryptarithmetic_SMT.ipynbSEND + MORE = MONEY, mêmes lettres (S E N D M O R Y), même équation positionnelle02_Sudoku_Theorem_vs_Array.ipynb18_Einsteins_Riddle.ipynbDistinctpar groupe, voisinage encodé en différence de 1) — l'instance est propre au carnetMesures (firsthand, sur la copie archivée)
Instrument : PyMuPDF 1.27.2.3. Folio imprimé = index de page PDF − 1 (index 0-based ; la page 206 porte le folio 205, la page 277 porte le folio 276). Les numéros de section sont relevés sur la page : le sommaire imprimé (folio 6) et le corps divergent.
§8.1 (p. 205) — la grille du livre est le « world's hardest sudoku ». Reconstituée par la géométrie du dessin (10 verticales et 10 horizontales de
get_drawings(), chiffres positionnés parget_text("words")) :soit 23 indices — ceux de
http://www.norvig.com/sudoku.htmlet du « world's hardest sudoku » demirror.co.uk(la mention « 23 clues, from … » figure en légende, folio 232).La grille du carnet 02 est celle de Norvig à 30 indices (
5 3 . . 7 . . . . / 6 . . 1 9 5 . . . / . 9 8 . . . . 6 . / 8 . . . 6 . . . 3 / 4 . . 8 . 3 . . 1 / 7 . . . 2 . . . 6 / . 6 . . . . 2 8 . / . . . 4 1 9 . . 5 / . . . . 8 . . 7 9), absente de l'ouvrage : recherche exhaustive sur le texte intégral, séparateurs effacés (chaîne de 81 chiffres, et chacune des 9 lignes prise isolément) → 0 occurrence ; et reconstruction de toutes les grilles 9x9 dessinées dans les 666 pages → seule la page 205 porte la grille du livre.§8.2 (p. 232) — l'instance du livre est le puzzle canonique : 14 indices (de « 1. There are five houses. » à « 15. The Norwegian lives next to the blue house. »), conclusion imprimée « Now, who drinks water? Who owns the zebra? », et la réponse canonique est que c'est le Japonais qui possède le zèbre. Le carnet 18 en résout une autre : 15 indices, attributs renommés (le Japonais devient l'Allemand, le zèbre devient le poisson), et la position de la verte inversée (immédiatement à gauche de la blanche, et non à droite de l'ivoire) — d'où la solution affichée « l'Allemand qui possède le poisson ».
§8.10 (p. 276) — le cryptarithme est le même : l'ouvrage imprime
SEND+MORE=MONEYet l'équation1000·S+100·E+10·N+D + 1000·M+100·O+10·R+E == 10000·M+1000·O+100·N+10·E+Y; le carnet 13 reprend lettres et équation à l'identique.Date d'édition confirmée sur la page de titre : « February 12, 2023 ».
Ce que la vérification des instances change
Le crédit doit dire ce qui est repris, pas seulement cité. Confronté instance par instance à l'ouvrage, le premier jet de cette PR créditait les trois carnets comme reprenant « un exemple du livre » — vrai pour un seul.
Les cellules d'introduction des carnets 02 et 18 disent désormais cela. Le carnet 13 n'est pas modifié par cette correction : son crédit était déjà exact.
Portée
main: le diff ne porte que sur la source de la cellule d'introduction.python scripts/notebook_tools/check_prose_quantitative_claims.py --diff origin/main...HEAD: rc=0..tmp/) :strip_probe_banner,strip_machine_paths,scrub_papermill_paths,fix_source_newlines,fix_hr_separator→ 0 correction ;check_encoding_corruption,check_null_exec,check_cell_source_parses→ OK ;detect_markdown_rendering --check→ OK.Fichiers
MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-Linq2Z3/02_Sudoku_Theorem_vs_Array.ipynbMyIA.AI.Notebooks/SymbolicAI/SMT/Z3-Linq2Z3/13_Cryptarithmetic_SMT.ipynbMyIA.AI.Notebooks/SymbolicAI/SMT/Z3-Linq2Z3/18_Einsteins_Riddle.ipynbSee #19278
🤖 Generated with Claude Code