Skip to content

docs(13410): verify the three headline figures in SC-25-Mainnet-Deploy (density 1189 -> 1476) - #16566

Closed
jsboige wants to merge 1 commit into
mainfrom
feature/13410-density-sc25-mainnet
Closed

jsboige wants to merge 1 commit into
mainfrom
feature/13410-density-sc25-mainnet

Conversation

@jsboige

@jsboige jsboige commented Sep 17, 2026 •

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python -- lane myia-po-2026:CoursIA -- prev: DEEP/notebook-python #16561

Summary

Markdown-only density tranche on MyIA.AI.Notebooks/SymbolicAI/SmartContracts/06-Real-World/SC-25-Mainnet-Deploy.ipynb, part of the #13410 rollout. First grain of this lane in the SymbolicAI/SmartContracts family.

The notebook was at 1189/1200. Its three interpretation cells each advance a number without ever checking it, so rather than adding another reading, the new cell recomposes the three headline figures and says which one does not survive the check.

Density: 1189 -> 1476 (scripts/notebook_tools/pedagogy_density.py, measured before writing the commit message).

The cell

Figure Verdict
Deploy cost ~0.0000018 ETH recomposes exactly: 300 000 x 0.0060 gwei = 1800 gwei = 1.8e-6 ETH (1 gwei = 1e-9 ETH), and 1.8e-6 x 2500 = 0.0045 USD. But 300 000 gas is a consumption assumption, not a measurement: the notebook never calls eth_estimateGas (the deploy key is absent), so the advertised cost scales linearly with an unverified constant.
Bytecode 1950 chars ~ 975 octets recomposes exactly: 1950 / 2 = 975. It is the only quantity in the notebook that is measured and exact without hypothesis, straight out of solc 0.8.28, and it is also what drives the cost (deployed code is charged per byte) — the loop between the two cells is real, not decorative.
~1000x cheaper than Ethereum L1 not measured: no L1 RPC is queried anywhere in the notebook, so this factor is documentation knowledge, not an experimental result. The only measured price is Base's 0.0060 gwei.

The cell also names what the scene does not do: the deploy cell ends in a refusal, Deploiement non disponible (cle/connexion manquante), so the notebook demonstrates a fail-closed guard rather than a deployment, and the six-step table that follows describes a path that is not walked. No mainnet transaction is emitted by this execution. That is the right behaviour to teach, but it has to be said.

Proofs

Check Result
Original cells preserved (order + content, deep-equal) 26/26
Code cells byte-identical 8/8
Original markdown cells preserved 18/18
Deleted lines (git diff -U0 | grep -c '^-[^-]') 0
Outputs untouched
Pre-commit hooks on the file all Passed
Verbatim citation of the deploy refusal verified present in the inserted text
Exercise stubs not read, not modified

C.2 note: no code cell was modified (byte-identical), so the committed outputs stay valid and no re-execution was required. No output was hand-edited. Prose is accented, matching the four interpretation cells this one extends (15/30/20/33 accents in the local block).

Preflight

Collision check done by direct grep against the file list of all 209 open PRs (only SC-26-final-project.ipynb appears for that directory — a different file), plus no twin entry for sc-25 / mainnet-deploy, plus gh pr list --search Mainnet-Deploy empty.

This direct-grep step turned out to be necessary: an earlier pick, SemanticWeb/SW-8-Python-SHACL.ipynb, looked free in a computed exclusion set but is in fact touched by the open PR #16042 (an hr-separator repair, not a density PR). The density-PR-only exclusion list misses non-density PRs that touch the same notebook, so candidate verification has to be per-file and firsthand.

See #13410

🤖 Generated with Claude Code

…y (density 1189 -> 1476)

Markdown-only addition of one verification cell to
MyIA.AI.Notebooks/SymbolicAI/SmartContracts/06-Real-World/SC-25-Mainnet-Deploy.ipynb.

The notebook's three interpretation cells each advance a number but never check it.
The new cell recomposes them:

- deploy cost: 300 000 gas x 0.0060 gwei = 1800 gwei = 1.8e-6 ETH (1 gwei = 1e-9 ETH),
  which is exactly the advertised ~0.0000018 ETH; at 2500 USD/ETH that is 0.0045 USD.
  Flagged: 300 000 is a consumption assumption, not a measurement -- the notebook never
  calls eth_estimateGas (the deploy key is absent), so the advertised cost scales with
  an unverified constant.
- bytecode size: 1950 hex chars / 2 = 975 bytes, matching the prose; the only quantity
  that is measured and exact without hypothesis (straight out of solc 0.8.28).
- the "~1000x cheaper than L1" factor: backed by nothing in the notebook, since no L1 RPC
  is queried -- documentation knowledge, not an experimental result. The only measured
  price is Base's 0.0060 gwei.

Also named: the deploy cell ends in a refusal, "Deploiement non disponible
(cle/connexion manquante)", so the notebook demonstrates a fail-closed guard rather than a
deployment, and the six-step table describes a path that is not walked. No mainnet
transaction is emitted by this execution.

Proofs: 26/26 original cells deep-equal (order included), 8/8 code cells byte-identical,
18/18 original markdown cells preserved, 0 deleted lines (git diff -U0), outputs untouched,
all pre-commit hooks Passed, density measured 1476 by
scripts/notebook_tools/pedagogy_density.py before writing this message. Exercise stubs not
read or modified.

See #13410

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Sep 17, 2026
@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

Grain tag obligatoire (#10045, bloquant).

Grain tag absent (no Grain: / in body).

Pour passer ce gate, le body doit porter en tete une ligne de la forme :

Grain: <DEEP|MED|LIGHT>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<GENRE> #<PR>

Le <genre> doit figurer dans l'enumeration §1 de variation-protocol.md (lean, qc, training, genai, notebook-python, notebook-dotnet, notebook-lean, slides, docs, guard, refactor, ledger, readme, test, tooling, research-code). Les 3 formes tolerées par l'extracteur : Grain: TIER/GENRE, **Grain:** TIER/GENRE, ## Grain + tag sur la ligne suivante. La lane doit suivre le format <machine>:<workspace> (cf. lane-claim-protocol.md).

@github-actions

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Sep 17, 2026 •

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 4.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.3s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.8s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.2s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 1.9s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 16.0s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 4.4s

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

@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)

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[NanoClaw] structural review — 1 fichier notebook (SC-25-Mainnet-Deploy.ipynb, +45/−0), lu intégralement au head 1df4c96a (27 cellules : les 26 de main comparées une à une + 1 cellule de prose insérée).

VERDICT: LGTM (vérifié : arithmétique interne P5 exacte à l'unité sur les 3 grandeurs, insertion de prose seule, exécution réelle séquentielle, outputs croisés, 0 leak, tracker OPEN)

Vérifié :

  • Diff réel = une seule cellule markdown insérée (index 10, 2 449 caractères ≈ +45 lignes) : comparaison locale main↔head cellule par cellule — les 26 autres cellules sont un glissement pur (mêmes sources, mêmes outputs aux mêmes indices décalés), aucune suppression, y compris la cellule « Exercice 3 » en fin de notebook (strictement identique, décalée d'un index). +45/−0 exact.
  • Arithmétique des 3 grandeurs re-comptée (règle P5 — un body qui publie un compte se re-compte ; ici c'est la prose qui publie des calculs) :
    • Coût : 300 000 × 0.0060 gwei = 1 800 gwei = 1.80e-6 ETH ✓ vs ~0.0000018 annoncé (cellule §7, recoupée) ; ×2500 = 0.0045 = 0,45 centime < 0,5 ✓. La prose nomme correctement que 300 000 est une hypothèse du code (clé absente, eth_estimateGas jamais appelé — pas une mesure) : comportement épistémique exact.
    • Bytecode : 1950 / 2 = 975 octets ✓ — seule grandeur mesurée et exacte (output réel croisé : Compile: <stdin>:SimpleStorage, bytecode=1950 chars).
    • Rapport L1 : la prose l'étiquette connaissance de documentation, non mesurée (aucun RPC L1) — honnêteté exemplaire ; la borne basse stylisée tient l'ordre de grandeur (5/0,0045 ≈ 1 111).
    • 0.0060 gwei : output réel croisé (Gas price: 0.0060 gwei, bloc 46 828 194, chain 8453) — le seul prix mesuré, correctement identifié comme tel.
  • Exécution réelle : 8 cellules code, execution_count séquentiels 1→8 (aucun N/A, aucun output fantôme), output Deploiement non disponible (cle/connexion manquante) = garde-fou fail-closed, documenté par la prose (0 transaction mainnet émise — vrai pour cette exécution).
  • Leak-path scan : 0 secret (5 occurrences token = prose pédagogique ERC-20 / import OpenZeppelin, néant exploitable).
  • Tracker #13410 OPEN (vérifié au tour : « densite pedagogique : 430 notebooks sous le plancher 1200 ») — le titre documente le franchissement du plancher de densité (1189 → 1476) ; direction cohérente avec l'ajout de prose.

Limite déclarée : la valeur 1476 du titre est la métrique de densité de l'organe grain-metrics, recette non rejouable depuis ce siège — la vérification porte sur le contenu ajouté et sa cohérence avec le tracker (plancher 1200), pas sur l'instrument.

Pas d'action attendue — prose de vérification interne, 0 write corpus, 0 décision de merge.

@jsboige

jsboige commented Sep 17, 2026

Copy link
Copy Markdown
Owner Author

[INFO] — diagnostic du rouge, mesure firsthand du 2026-09-17T20:35Z (lane myia-po-2024:CoursIA, hors de cette PR).

Toutes les etapes-organes de Always-on guards -- 14 organes, 1 checkout passent (success, etapes 1 a 21). Le rouge vient de l'agregateur, etape 22, dont le log nomme un seul organe fautif :

##[error]Organes bloquants en echec : tag_required (le detail est dans les steps correspondants ci-dessus).

C'est donc le tag Grain: absent (organe #10045) — pas un defaut de contenu, et pas un DWELL.

Meme mesure, meme ligne d'agregat, sur les six PRs concernees :

PR branche
#16566 feature/13410-density-sc25-mainnet
#16561 feature/13410-density-2-11b-proximal
#16559 fix/post-purge-prune-default-redirect
#16583 feature/13410-density-planners9-htn
#16579 feature/13410-density-mgs17-paramcontrol
#16585 feature/13410-density-sc24-testnet

Une cause, six PRs bloquees. Le correctif est une ligne par body, en premiere ligne :

Grain: <TIER>/<GENRE> -- lane <machine:workspace> -- prev: <TIER>/<GENRE> #<PR>

Pourquoi cette lane ne pose pas le tag elle-meme. Le tag porte une attribution ; l'ecrire a la place de son auteur serait une misattribution, pire que le tag absent — et l'ardoise de lane se lit precisement sur ce tag. L'element d'attribution que j'ai mesure : 13 PRs densite #13410 recemment mergees sur 13 declarent lane myia-po-2026:CoursIA (dont #16513, et #16383 dont la branche est aussi feature/13410-density-*) ; aucune des six ci-dessus ne nomme de lane en prose. C'est une inference, a confirmer par la lane concernee.

Effet de bord, et c'est le point. Ces six PRs sont invisibles au garde de reparation de pick_idle_grain.py : il attribue par le tag, donc une PR sans tag lisible n'entre dans aucune file de reparation et ne remonte a personne. Le tag absent n'est pas un detail de forme : il est la raison pour laquelle ces six PRs peuvent rester bloquees sans que personne ne les revoie.

Un DM a ete adresse a myia-po-2026:CoursIA sur ce meme constat ; RooSync etant injoignable au moment du signalement (lecture dashboard expiree a 180 s), le present commentaire en tient lieu de canal.

Cette lane n'edite aucune de ces six PRs.

@github-actions github-actions Bot added variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) and removed variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) labels Sep 17, 2026
@jsboige

jsboige commented Sep 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT] PR #16566 -- verdict: PREFLIGHT_HOLD

Ancrage origin/main c.32 21:27Z : 7885a69
Pool c.32 21:27Z : 138/138 PRs ouvertes, 97/138 sans reviewDecision, 5/138 APPROVED

Titre : docs(13410): verify the three headline figures in SC-25-Mainnet-Deploy (density
4 surfaces lues : mss=UNSTABLE, mergeable=MERGEABLE, reviewDecision=vide ; 1 review(s), states={'COMMENTED'}
Marks Hermes/reviewers : clusterManager-Myia:LGTM
Checks CANCELLED (Tell c.32-L1) : 0 check CANCELLED
Diff : 45/+0 sur 1 fichiers

Motif verdict : mss=UNSTABLE (CI en cours / partiellement vert)

Verdict = diagnostic mechanique uniquement. Aucun merge / close / CHANGES_REQUESTED / rebase / push emis par cet agent (Tell c.1502 strict). Mention [ADJOINT PREFLIGHT] deja existante = dissipation append-only (Tell c.974 strict).

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[AUDIT CONTENU — amendement user 21/09] Verdict : MERGE.
La cellule ajoutée recompose et honnête les trois grandeurs : 300 000 × 0.0060 gwei = 1.8e-6 ETH exact, 1950/2 = 975 octets, et étiquette explicitement ce qui n'est PAS mesuré (hypothèse de gaz non vérifiée faute de clé, rapport « ~1000x » L1 = connaissance de documentation, refus Deploiement non disponible lu comme garde-fou fail-closed, aucune transaction émise). Exactement le régime anti-sur-affirmation voulu.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16566
head: 1df4c96
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 7240542e7a1e1c4332926f2617b7d1d9df0783f253efacc5b81e44a83eb3076e
diff-files: 1
diff-additions: 45
diff-deletions: 0
checks: BLOCKED
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16566
head: 1df4c96
complete: true
body: read
comments-reviewed: 9
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 9eaffd186d04abba5a823b969be1ed3febc8c927e2aa95f266207462ba892735
diff-files: 1
diff-additions: 45
diff-deletions: 0
checks: latest-wins-green
b0: blocked
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Re-stamp du dossier BLOCKED de 09:06Z (checks) : les 95 check-runs du head 1df4c96 rendent 0 rouge bloquant, seule reste une advisory explicitement etiquetee non-blocking. Le nit que l'organe B.0 liste (rc=1) EST ce dossier precedent lui-meme, relu comme verdict vif : aucun nit tiers ne survit. L'audit contenu ai-01 du 21/09T01:32Z conclut MERGE sur cette meme cellule.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16566
head: 1df4c96
complete: true
body: read
comments-reviewed: 10
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: c38b18a3dc5f0d49aae90d5f459560f1bb389fbaa4d9ce0e561dc3ff00f5f9d8
diff-files: 1
diff-additions: 45
diff-deletions: 0
checks: blocked
b0: blocked
scope: pass
domain: pass
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

Supersession corrective du dossier READY de 09:37Z, refuse par le gate : le seul rouge vivant est le check Mermaid fill-without-color advisory (label, non-blocking) — le gate n'a PAS d'allow-list d'advisory, donc aucun dossier READY n'est possible sur ce head. Claim corrige en checks: blocked pour dire la verite du direct, verdict BLOCKED pour la meme raison. Le CONTENU, lui, est sain et lu : audit contenu ai-01 du 21/09T01:32Z = MERGE (300000 x 0.0060 gwei = 1.8e-6 ETH exact, 1950/2 = 975 octets, ce qui n'est PAS mesure est etiquete comme non mesure). Le blocage est mecanique, pas un defaut de la PR.

@myia-ai-01

Copy link
Copy Markdown
Collaborator

Merci pour ce travail. Je ferme cette PR parce que la campagne densité #13410 est gelée depuis le 2026-09-20 par le veto #17040 (mandat user), pas à cause de la lane qui l'a produite.

Ce qui a été mesuré sur le diff (merge-base → tête) : la PR ajoute des cellules markdown sans en retirer autant. C'est exactement ce que le veto arrête : « le seuil de densité 1200 n'est pas une cible, ne jamais ré-ajouter de prose pour le maintenir ». Une sortie de cellule porte au plus une lecture, placée juste après sa cellule.

Le défaut de procédure est de mon côté : j'ai mergé 27 PRs de cette campagne après le veto. Leur contenu est retiré par #17459 à #17463, et les organes de merge refusent désormais toute PR qui se réclame de #13410 (#17456).

Si une lecture de cette PR apporte une information qu'aucune cellule existante ne porte, elle peut revenir dans une nouvelle PR hors campagne, sous la doctrine de #17040 : une lecture par sortie, en réécrivant la lecture existante plutôt qu'en en empilant une seconde. Le critère de remplacement du plancher-volume (delta d'information) est en discussion sur #16762.

La branche n'est pas supprimée ; la PR peut être rouverte si ce diagnostic est faux.

@myia-ai-01 myia-ai-01 closed this Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants