Skip to content

ci(lean,#13751): percolation_lean migre dans la matrice lean-ci — 22e lake, wrapper supprimé - #18996

Merged
myia-ai-01 merged 1 commit into
mainfrom
ci/13751-percolation-matrix
Oct 3, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
ci/13751-percolation-matrix

Conversation

@jsboige

@jsboige jsboige commented Oct 3, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/tooling -- lane myia-po-2027:CoursIA -- prev: LIGHT/notebook-python #18986

ci(lean,#13751): percolation_lean migre dans la matrice lean-ci — 22e lake, wrapper supprimé

Summary

Tranche workflows de #13751 (axe « 13 per-lake réels à consolider ») : le dispatcher dédié lean-percolation.yml (74 lignes) migre dans lean-ci-matrix.yml. Lake pilote suivant de la consolidation entamée (21 lakes déjà au manifeste : sudoku, kelly, … serre100) — c'est la même recette mécanique, lake par lake.

Diff (3 fichiers, +23/−74)

  • scripts/lean/ci_lakes.json (+13) : entrée percolation — sorry-baseline: "0", sorry-filter-mode: real, axiom-target-modules: "*" (paramètres reportés à l'identique du wrapper ; le manifeste est la source unique de vérité du dispatcher).
  • .github/workflows/lean-ci-matrix.yml (+10) : bloc paths percolation_lean ajouté aux deux unions (push + pull_request), avec commentaire d'héritage.
  • .github/workflows/lean-percolation.yml (−74) : wrapper supprimé — la règle du manifeste interdit les deux déclencheurs à la fois (double build).

Couverture préservée (rien perdu)

Ce que le wrapper faisait Couvert par
ci via lean-build.yml (build + sorry ratchet real, baseline 0) job lean-matrix → lean-build.yml@./ mode matrice
proof-integrity via lean-axiom.yml (target-modules: "*", fail-on-sorry: true) lean-build.yml l.369-377 : if: matrix.axiom-target-modules != '' → action lean-axiom (le manifeste porte "*")
self-cover gate (lean_server.py, lean_utils.py, lean-axiom.yml, lean-build.yml, actions) déjà présents au on.paths du dispatcher (self-cover B.3 hérité des wrappers serre/social-choice supprimés)
workflow_dispatch manuel workflow_dispatch du dispatcher = tous les lakes du manifeste (self-cover)

Preuves

  • Garde anti-drift locale : python scripts/ci/check_lake_matrix_paths.py → lake-matrix OK : 22 lake(s) couvert(s), union push/pr coherente avec le manifeste, aucun double declencheur.
  • Pre-commit passé sur les fichiers (tous Passed/Skipped, aucun rouge).
  • Manifeste réécrit en LF (byte-identique au format d'origine sur les lignes inchangées, +13 exactement).

See #13751 (tranche workflows — résiduel après celle-ci : 12 per-lake réels)

🤖 Generated with Claude Code

…wrapper supprime

Consolidation workflows de #13751 : le dispatcher lean-percolation.yml
(74 lignes) migre dans lean-ci-matrix.yml -- entree manifeste
(sorry-baseline 0, sorry-filter-mode real, axiom-target-modules *,
parametres reports a l'identique du wrapper) + paths push/pr + suppression
du wrapper (jamais les deux declencheurs). La jambe proof-integrity est
couverte par lean-build.yml (if: matrix.axiom-target-modules != ''),
les self-cover gate (lean_server.py, lean-build.yml, actions) deja
present au dispatcher. Garde check_lake_matrix_paths : OK, 22 lakes,
union push/pr coherente, aucun double declencheur.

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

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

VERDICT: LGTM

[Hermes] — review d'exécution au head fbe592a46 (22e lake de la consolidation #13751, aucun coverage préalable).

Garde anti-drift rejouée au head (checkout scripts+.github au SHA exact) : python scripts/ci/check_lake_matrix_paths.py → lake-matrix OK : 22 lake(s) couvert(s), union push/pr coherente avec le manifeste, aucun double declencheur, RC=0 — identique au body. Le wrapper lean-percolation.yml est bien absent de l'arbre (suppression effective, pas laissée en double déclencheur).

Parité paramétrique wrapper→matrice vérifiée à la source (lean-build.yml l.369-376), paramètre par paramètre : sorry-baseline "0" ✓, sorry-filter-mode real ✓ (manifeste), target-modules "*" ✓ (axiom-target-modules), allow-axioms "" = défaut || '' ✓, fail-on-sorry true = défaut || 'true' ✓. Les 3 chemins paths reportés à l'identique aux DEUX unions (push+PR) — aucune couverture perdue vs le wrapper (proof-integrity passe par le même if: matrix.axiom-target-modules != '', self-cover B.3 déjà aux paths du dispatcher, workflow_dispatch couvert par celui du dispatcher).

Sécu : diff workflow+JSON, aucun secret. Checks : 41 jambes pass, PR gate fail = jambe DWELL seule (tête 10 min < plancher 120, minuteur documenté).

[Hermes hermes-pr-review, cycle :14 03/10, host f6be46d1b7a3, sig=7f5cb6db]

@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #18996 (ci(lean,#13751): percolation_lean migre dans la matrice lean-ci — 22e lake, wrapper supprimé) 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.

@jsboige

jsboige commented Oct 3, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 18996
head: fbe592a
complete: true
body: read
comments-reviewed: 1
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 54d119302c18f234e795411729bc86c1f083f15c1e20610f5b337c16f71993d4
diff-files: 3
diff-additions: 23
diff-deletions: 74
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit 7c0c46d into main Oct 3, 2026
45 of 47 checks passed
myia-ai-01 pushed a commit that referenced this pull request Oct 5, 2026
…ake, wrapper supprime (#19313)

Tranche workflows de #13751 (axe « 12 per-lake restants »), recette du
pilote #18996 : suppression du wrapper lean-geometry.yml (69 lignes) +
entree geometry dans scripts/lean/ci_lakes.json (baseline 0, mode real,
axiom-target-modules "*", parametres reportes a l'identique) + bloc paths
aux DEUX unions de lean-ci-matrix.yml. README du lac recalle sur la
matrice. Preuve : check_lake_matrix_paths.py -- 23 lakes couverts, union
push/pr coherente, aucun double declencheur.

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Oct 9, 2026
…min matriciel, verdict re-mesure (#20005)

La ligne `percolation_lean` de la table de triage nommait `lean-percolation.yml`,
supprime par #18996 quand le lake est passe dans la matrice lean-ci (#13751). Le
cablage du gate d'axiomes existe pourtant toujours : il vit dans
`scripts/lean/ci_lakes.json` (`axiom-target-modules: "*"`) et `lean-build.yml`
l'execute (`if: matrix.axiom-target-modules != ''` -> `.github/actions/lean-axiom`).

Le controle positif revendique par cette ligne etait attache au wrapper disparu :
il n'avait jamais ete rejoue sur le chemin matriciel. Il l'est ici.

Mesures du 2026-10-09 (step exact du gate `scripts/lean/axiom_check_step.py`,
parametres du manifeste) :
- GREEN : modules FR du lake enumeres, cloture axiomatique
  [propext, Classical.choice, Quot.sound] (defauts, `allow-axioms` vide),
  0 sorryAx, RC=0.
- Controle negatif : `sorry` injecte dans un module cible puis lake reconstruit ->
  axioms [propext, sorryAx, Classical.choice, Quot.sound], has_sorry True, RC=1.
  Source restauree (md5 identique, `git status` vide) -> RC=0.
- Piege mesure : l'organe ne reconstruit pas le lake (il lit les oleans). Une
  mutation de source SEULE rougit par `build_failed_returncode`
  (`Unknown constant`), pas par `sorryAx` -- un controle fidele exige un
  `lake build` entre la mutation et le run.

Etendue au meme defaut, meme cause (la migration matricielle a perime la table) :
la derniere ligne annoncait « 15 autres lacs | workflows existants | NON », faux
pour des lacs matriciels sans workflow dedie, et citait `sudoku` comme non cable
alors qu'il l'est depuis #18349 (EPIC #18038). Les 15 sont desormais nommes et les
borderline restants (`learningtheory`, `decisiontheory`) sont exacts.

L'en-tete de colonne disait « Workflow `lean-*.yml` » pour une colonne qui repond
desormais aussi « entree du manifeste matriciel » : reformule.

Les compteurs bruts de la mesure (fichiers, modules, declarations) sont retires de
la prose au profit de la portee nommee -- la donnee quantitative est tenue par le CI
(#9377), et `check_prose_quantitative_claims.py` est repasse a [OK].

See #14910.

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
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