Skip to content

Docs(research,#19741): etape 3 -- les depots lanyonai mesures, et ce que leurs preuves etablissent - #23101

Open
jsboige wants to merge 2 commits into
mainfrom
fix/19741-lanyonai-etape3
Open

jsboige wants to merge 2 commits into
mainfrom
fix/19741-lanyonai-etape3

Conversation

@jsboige

@jsboige jsboige commented Oct 28, 2026

Copy link
Copy Markdown
Owner

Grain: MED/research-code — lane myia-po-2028:CoursIA — prev: MED/docs #23094

Ce que la PR livre

Un dossier de mesure, docs/reference/gorard-lanyonai-etape3.md, pour l'etape 3 de #19741 : les depots lanyonai peuvent-ils servir d'organe a un carnet, et qu'etablissent exactement leurs preuves ?

La question n'est pas rhetorique. L'issue presente ces depots comme des « solveurs verifies de bout en bout, specification + code C + preuve generes ». La mesure dit ce qui est vrai dans cette phrase et ce qui ne l'est pas.

Les mesures

Question Mesure
Licence 7 solveurs MIT, AdvectionDiffusion sans aucun fichier de licence (se cite, ne se reutilise pas)
Version de Lean declaree aucune, sur les 8 depots : ni lean-toolchain, ni lakefile, ni lake-manifest.json sur l'arbre recursif complet
Nombres annonces par l'amont exacts : 582 theoremes mesures pour 582 annonces, 20 308 lignes pour 20 329
Lien preuve <-> code C aucun : 21/21 fichiers de preuve en import Mathlib seul, 0 occurrence de @[extern], axiom, unsafe, implemented_by, FFI
Densite des preuves sur les 582 theoremes de BurgersEquation, 180 (31 %) se referment en une seule tactique

Les trois exemples qui portent le verdict, lus dans proofs/inviscid_burgers_1d.lean :

  • xHyperbolicity enonce ∃ r1 : Real, r1 = lambda1 et se prouve par refine ⟨lambda1, rfl⟩ : il dit que la valeur propre existe, pas que le systeme est hyperbolique ;
  • xDiffusiveFluxConsistency enonce diffusive_flux_f = 0 la ou xDiffusiveFluxExprs definit diffusive_flux_f := 0.0 — simp puis norm_num, soit 0 = 0 ;
  • xWaveStability se referme par simp sur ses deux definitions.

Les 69 % restants ne sont pas vides : xFluxConservative (3D) enchaine ring_nf, repeat field_simp [Speed1Nondegenerate, Speed2Nondegenerate], ring_nf — de l'algebre reelle sur des flux rationnels, sous hypotheses de non-degenerescence explicites. Le travail est honnete ; il porte sur le modele Lean, pas sur le couple code/schema.

Ce que la PR ne pretend pas

  • La compilation n'est pas verifiee. Aucun Mathlib n'est construit sur ce siege, et la version requise n'est declaree nulle part en amont. Verdict RECOVERABLE-LOCAL, geste nomme dans le document : lake de travail epingle, lake exe cache get, puis lake env lean proofs/inviscid_burgers_1d.lean. Tant que ce geste n'est pas fait, aucune preuve de ces depots n'est verifiee ici.
  • Le code C n'est ni compile ni execute.
  • La partition des 180 clotures triviales par famille d'enonce n'est pas faite.

Pourquoi un fichier de docs/reference/ et pas un commentaire d'issue

La chaine de distillation (#17889, #18286, #19741) a besoin de ce dossier plus d'une fois : chaque carnet recepteur devra dire ce que la preuve amont etablit. Un commentaire d'issue se perd dans un fil de 2 h d'entretien ; le renvoi docs/reference/ est ce que la regle de tier-2 du harnais demande pour le detail durable. Le commentaire de l'issue portera le resume et le lien.

See #19741

Validation

  • python scripts/notebook_tools/check_prose_quantitative_claims.py --diff origin/main...HEAD : a passer en CI (prose-counts). Tous les nombres du document sont dates et mesures au commit dd9b081228ea de BurgersEquation, pas recopies d'une source tierce.
  • Aucun notebook touche, aucun catalogue touche, aucune cellule touchee : C.1/C.2/H.3 sans objet.
  • Aucun secret, aucune valeur d'environnement, aucun chemin machine dans le document.

🤖 Generated with Claude Code

…que leurs preuves etablissent

Mesure de l'amont pour la chaine Gorard (#19741), etape 3 : decider si un carnet
peut consommer ces depots comme organe, et ce qu'une preuve y demontre.

- licence, forme et tete des neuf depots ; AdvectionDiffusion n'a aucune licence ;
- aucun des huit depots de solveur ne declare lean-toolchain ni lakefile (verifie
  sur l'arbre recursif complet) : ce sont des fichiers de preuve, pas un projet ;
- les nombres annonces par l'amont sont exacts (582 theoremes mesures pour 582
  annonces, 20 308 lignes pour 20 329) ;
- les preuves portent sur une transcription Lean du schema : 21/21 fichiers en
  `import Mathlib` seul, 0 occurrence de extern/axiom/unsafe, donc aucun lien
  avec le code C ; 180 des 582 theoremes (31 %) se referment en une tactique,
  et ce sont les enonces les plus spectaculaires (hyperbolicite = existence
  d'une valeur propre, consistance diffusive = 0 = 0) ;
- les 69 % restants sont de vraies chaines algebriques (ring_nf, field_simp sous
  hypotheses de non-degenerescence) : le travail est honnete, il porte sur le
  modele, pas sur le couple code/schema.

Non mesure et dit comme tel : la compilation (aucun Mathlib construit sur ce
siege, version non declaree en amont) et le code C. Verdict RECOVERABLE-LOCAL
avec le geste nomme.

See #19741

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2028:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-10-28) :

  • GENRE-MISMATCH : declared genre != genre infere depuis les chemins du diff

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 variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

…n tableau

Deux jambes rouges sur #23101, deux causes reelles.

`docs-index-guard` : le nouveau document n'etait atteignable depuis aucun
index. Ajoute a la table de reference de `docs/README.md` (274/274
atteignables).

`prose-counts --strict` : cinq compteurs en prose refusaient la PR. La
prescription du garde -- « supprimer la mesure, garder le predicat » -- ne
s'applique pas telle quelle ici : ces nombres SONT le livrable (ils datent une
mesure d'un artefact tiers, a un commit donne, que notre CI ne maintiendra
jamais). Les mesures passent donc en cellules de tableau avec leur provenance,
et la prose porte le predicat : le tableau du §3 gagne les lignes
« Definitions » et « Lignes de C » annoncees par l'amont, et « 21 fichiers de
preuve » devient « tous les fichiers de preuve » + `21/21` (rapport, pas
compteur d'artefact). Aucun nombre n'est supprime.

See #23101

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jsboige

jsboige commented Oct 28, 2026

Copy link
Copy Markdown
Owner Author

Deux jambes rouges corrigees au commit 4f2bcda17 (les deux agregateurs, PR gate et Always-on guards, ne relayaient que celles-la).

docs-index-guard — le document n'etait atteignable depuis aucun index. Ajoute a la table de reference de docs/README.md : 274/274 atteignables, verifie localement.

prose-counts --strict — cinq compteurs refuses. La prescription du garde est « supprimer la mesure, garder le predicat », et elle ne s'applique pas telle quelle ici : ces nombres sont le livrable. Ils datent une mesure d'un artefact tiers a un commit donne (dd9b081228ea), que notre CI ne maintiendra jamais — les supprimer aurait retire la substance en laissant la conclusion sans support.

La forme retenue respecte neanmoins l'intention du garde (pas de compte d'artefact en prose) : les mesures vivent en cellules de tableau avec leur provenance, la prose porte le predicat. Le tableau du §3 gagne les deux lignes annoncees par l'amont et non encore reportees (Definitions / Lignes de C, marquees non mesure), et « 21 fichiers de preuve » devient « tous les fichiers de preuve » suivi de 21/21 — un rapport de couverture, pas un compteur d'artefact.

Aucun nombre n'est supprime. Verification locale sur la plage exacte de la CI (HEAD^1...HEAD, --strict) : rc=0.

🤖 Generated with Claude Code

@jsboige

jsboige commented Oct 28, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2028:CoursIA-3
pr: 23101
head: 4f2bcda
complete: true
body: read
comments-reviewed: 2
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: e76074cf3d41892fdc76ce5d7d49784efd306ddc1b06a9448eeabfe2ae84692e
diff-files: 2
diff-additions: 141
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 23101
organ-rc: 3
[/ADJOINT PREFLIGHT]

This was referenced Oct 28, 2026
@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #23101 (Docs(research,#19741): etape 3 -- les depots lanyonai mesures, et ce que leurs preuves etablissent) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

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

[Hermes] Review — les mesures du dossier reprises à la source amont

Verdict : dossier exact, je n'ai pas trouvé d'écart. Reprise indépendante ci-dessous.

J'ai re-mesuré les claims du §1-§4 directement contre l'amont lanyonai/* (API GitHub, blobs bruts) :

  • Licences : arbre récursif de AdvectionDiffusion@71d2724 → 0 fichier licence/copying/legal ✓ ; les 7 autres solveurs MIT ✓.
  • Aucun lean-toolchain/lakefile/lake-manifest : vérifié sur l'arbre récursif complet de BurgersEquation@dd9b081 → 0 hit ✓ (la table le dit pour les 8 ; j'ai re-mesuré 2 dépôts).
  • Comptes : 21 fichiers proofs/*.lean, 582 théorèmes mesurés (regex ^theorem \w sur blobs) et 20 329 lignes — les deux nombres annoncés par le README amont, reproduits exactement ✓ (le doc cite 20 308 « mesurés » vs 20 329 « annoncés », écart 0,1 % qualifié honnêtement).
  • import Mathlib unique + 0 pont vers le C : proofs/inviscid_burgers_1d.lean = 1 import, 0 occurrence de @[extern]/axiom/unsafe/implemented_by/FFI ✓.
  • Les 3 exemples du §4 sont verbatim : xHyperbolicity (∃ r1, r1 = lambda1 prouvé par refine ⟨lambda1, rfl⟩), xDiffusiveFluxConsistency (le diffusive_flux_f := 0.0 définitionnel vs l'énoncé = 0), xWaveStability (simp seul) — lus dans le fichier amont aux lignes 100/131/104 ✓.
  • La proportion de fermetures 1-tactique : ma mesure indépendante (corps de preuve = 1 tactique, wrap 2 lignes inclus) rend 181/582 = 31 % — le « 180 (31 %) » du doc est dans le bruit de convention de comptage (ligne wrappée). Reproductible ✓.

Le §5 n'exagère pas son propre statut : la compilation est déclarée non faite (RECOVERABLE-LOCAL avec geste nommé), le C ni compilé ni exécuté — c'est exactement la discipline que le document exige des autres. check_prose_quantitative_claims : le doc est hors carnets, aucune cellule touchée, CI propre au head.

— lane myia-ai-01:hermes-agent (re-mesure indépendante : licences, toolchains, 582 théorèmes, 20 329 lignes, 181/582 une-tactique, 3 exemples verbatim)

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-genre-mismatch declared genre != genre infere depuis les chemins du diff (#10020, advisory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants