Skip to content

fix(notebooks,#18053): SC-25-Mainnet-Deploy -- l'interpretation suit sa sortie - #18115

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/18053-smartcontracts-interp-order
Sep 28, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/18053-smartcontracts-interp-order

Conversation

@jsboige

@jsboige jsboige commented Sep 27, 2026

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2026:CoursIA-2 — prev: LIGHT/tooling #18037

Tranche SymbolicAI/SmartContracts de #18053

Un carnet, deux constats, re-verifies sur origin/main avant correction (protocole audit-reassessment).

Carnet Cellule Constat de l'issue Verdict Traitement
SymbolicAI/SmartContracts/06-Real-World/SC-25-Mainnet-Deploy-Python.ipynb [7] ### Interprétation : Estimation du coût de déploiement lit la sortie de la cellule de code [8] (l'estimation) et la précède — la sortie citée est « la clé privée n'est pas configurée », produite par [8]. CONFIRMED [7] passe après [8]. L'ordre correct existe déjà dans le même carnet : [5] (interpretation de la sortie de [4]) suit son code.
idem [11] ### Interprétation : Tentative de déploiement mainnet lit la sortie de la cellule de code [15] (le déploiement) et la précède de quatre cellules. CONFIRMED La destination prescrite est respectée — [11] se place après [15] — dans une forme différente, pour la raison mesurée ci-dessous.

Aucun FALSE POSITIVE sur cette tranche.

Le chemin cite par l'issue n'existe pas

L'issue nomme SymbolicAI/SmartContracts/06-Real-World/SC-25-Mainnet-Deploy.ipynb. Ce chemin n'existe pas dans l'arbre : le fichier porte le suffixe -Python (SC-25-Mainnet-Deploy-Python.ipynb). La verification a donc ete faite sur le fichier reel, et c'est lui qui est corrige.

Le deplacement prescrit, mesure avant d'etre applique

L'issue prescrit un deplacement pour chaque cellule. Mesure de ce deplacement contre le cliquet check_split_reading_cells, avant toute edition :

Forme appliquee Constats SECOND_READING
[7] apres [8] seule 1 (sur [7])
[11] apres [15] seule 1 (sur [11])
les deux deplacements purs 2
[7] apres [8] + [11] fusionnee en [16] 0

La cause est structurelle et propre a ce carnet : il ne porte que cinq cellules de code executees ([0], [4], [8], [12], [15]), et l'organe rattache une lecture a la source de la premiere cellule de code au-dessus d'elle — donc chaque en-tete de section qui suit une sortie compte comme une lecture de cette sortie. En base, les sorties visees portent deja 2 a 3 lectures ([15] en porte trois : [16], [17], [18]). Y ajouter une cellule fait monter ce compte, et l'organe nomme alors le deplacement comme le geste qui a mis la sortie en deficit.

Le depot tranche ce cas : « un output, une lecture — si on rajoute une lecture, on modifie le paragraphe de lecture existant, on n'en rajoute pas un deuxieme ». La destination de l'issue est donc respectee, la forme est la fusion : [11] vient en tete de [16], la cellule qui suit [15]. La lecture du deploiement se trouve ainsi apres la sortie qu'elle commente, le compte de lectures de [15] ne bouge pas (3 avant, 3 apres), et celui de la sortie d'estimation baisse de 3 a 2.

Constat de meme classe laisse en place, et pourquoi

La cellule [9] (### Interprétation : Compilation du contrat SimpleStorage) porte le meme defaut : elle lit la sortie de compilation produite par [12] et la precede. Elle ne figure pas dans les constats de #18053. Mesure de son correctif ([9] apres [12]) : 1 constat SECOND_READING — la fusion equivalente n'existe pas ici, [12] etant suivi de deux cellules qui lui sont deja rattachees ([13], [14]). Elle est donc signalee ici, pas corrigee : la corriger demanderait de toucher des cellules hors des deux constats de l'issue, et une correction qui rend le cliquet rouge n'est pas une correction.

Etat obtenu

[6]  markdown  ## 2. Estimation du cout
[8]  code      l'estimation (exec 3)                <- sortie commentee
[7]  markdown  ### Interpretation : Estimation du cout de deploiement   <- deplacee
[9]  markdown  ### Interpretation : Compilation du contrat SimpleStorage
[10] markdown  ## 3. Deploiement sur Base
[12] code      compilation STORAGE_CONTRACT (exec 4)
[13] markdown  transition
[14] markdown  Indice : Exercice de deploiement ERC-20
[15] code      Deploy sur Base mainnet (exec 5)     <- sortie commentee
[16] markdown  ### Interpretation : Tentative de deploiement mainnet + *** + ## 4. Verification   <- fusion

26 -> 25 cellules (une fusion). Le cliquet passe de paires 0 a paires 1 : la paire vient de ce que [7] et [9], deux en-tetes d'interpretation, deviennent consecutifs — [9] restant a sa place, cf section precedente. Le compte des paires n'est pas un verdict de l'organe (« une hausse qui ne vient d'aucune sortie n'est pas une violation ») ; il est declare ici pour ne pas etre decouvert apres coup.

Invariant : aucune cellule de code modifiee

  • appariement par id des cellules de code : 8 cellules, signatures identiques (type, source, execution_count, outputs) ;
  • aucun id duplique, et l'id de la cellule fusionnee (0689e41b) a bien disparu ;
  • dans le diff brut, les seules lignes "cell_type" touchees sont markdown (2 retirees — les deux cellules deplacees a leur ancienne place — et 1 ajoutee). Aucune ligne "cell_type": "code" n'apparait ;
  • format JSON inchange (indent=1 + newline final), detecte par aller-retour avant ecriture.

Consequence : pas de re-execution due (C.2/C.3). Les sorties committes restent celles de main.

Gardes

Garde Resultat
check_split_reading_cells.py --base-ref origin/main --head HEAD 0 en regression
check_interp_positioning.py findings total : 0
check_cell_source_parses.py findings: 0
Pre-commit (gitleaks, H.3 execution, #13326 compilabilite) passes

Perimetre

Un carnet, les deux constats de l'issue pour cette serie. Les autres series de #18053 sont livrees par tranches separees, deja ouvertes par cette lane : GenAI/Audio (#18073), GenAI/Image (#18075), Probas/DecisionTheory (#18103), Probas/PyMC (#18106), IIT (#18107), RL (#18109).

La serie GameTheory (2 constats) n'est pas prise : la garde de claim la declare BLOCKED, la PR #18001 (myia-po-2023:CoursIA, renommage des 93 carnets GameTheory) etant ouverte sur ces deux chemins.

See #18053 — l'issue porte d'autres series et reste ouverte.

🤖 Generated with Claude Code

…sa sortie

Deux constats de #18053 sur 06-Real-World/SC-25-Mainnet-Deploy-Python.ipynb
(l'issue cite « SC-25-Mainnet-Deploy.ipynb », chemin inexistant : le fichier
porte le suffixe -Python).

[7] « Interpretation : Estimation du cout de deploiement » lisait la sortie de
la cellule de code [8] et la precedait -- le carnet porte deja l'ordre correct
en [5], interpretation de la sortie de [4]. [7] passe apres [8].

[11] « Interpretation : Tentative de deploiement mainnet » lisait la sortie de
[15] et la precedait de quatre cellules. La destination prescrite par l'issue
est respectee, dans la forme que le cliquet accepte : [11] fusionne en tete de
[16], la cellule qui suit [15]. Mesure avant application -- un deplacement pur
rend 1 constat SECOND_READING par cellule deplacee (le carnet a cinq cellules de
code executees, donc chaque en-tete de section suivant une sortie compte deja
comme une lecture), la fusion rend 0.

Aucune cellule de code modifiee (signatures identiques par id), aucun id
duplique, JSON inchange (indent=1 + newline final), aucune re-execution due.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@github-actions

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 3.8s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.9s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.6s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.1s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.2s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.2s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 17.0s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.3s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 8
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@jsboige

jsboige commented Sep 28, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18115
head: d0f9016
complete: true
body: read
comments-reviewed: 5
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: b4629f3f2233bd82f39025aa044ed24f3aee7bb789e4fe3e0486c77a0ec50341
diff-files: 1
diff-additions: 57
diff-deletions: 72
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Dossier READY sur PR #18115 (lane myia-po-2026:CoursIA-3, cycle c.250, 28/09 08:30Z).

Substance : fix(notebooks,#18053): SC-25-Mainnet-Deploy -- l'interprétation suit sa sortie.

Substance : +57/-72 sur 1 fichier. Grain MED/notebook-python.

État : CLEAN+MERGEABLE+rev=NONE, B.0 rc=0.

Grain: META/secretary -- lane myia-po-2026:CoursIA-3 -- prev: META/secretary c.249

@myia-ai-01
myia-ai-01 merged commit 9fbb8a4 into main Sep 28, 2026
89 of 91 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants