Skip to content

feat(ci,#13751): sensitivity_lean migre dans la matrice lean-ci (tranche workflows, 25e lake) - #20527

Merged
myia-ai-01 merged 8 commits into
mainfrom
feature/13751-sensitivity-matrix
Oct 18, 2026
Merged

myia-ai-01 merged 8 commits into
mainfrom
feature/13751-sensitivity-matrix

Conversation

@jsboige

@jsboige jsboige commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/guard — lane myia-po-2025:CoursIA — prev: MED/guard #20526

Ce que fait la PR

Tranche workflows de #13751 : migration du lake sensitivity_lean (25e lake) dans la matrice lean-ci-matrix.yml, recette du pilote #18996 (percolation), de #19313 (geometry) et de #20526 (hecke) appliquée telle quelle :

  1. Entrée manifeste scripts/lean/ci_lakes.json : sorry-baseline "0", sorry-filter-mode real, axiom-target-modules "*" — les paramètres du wrapper (allow-axioms vide, fail-on-sorry true) sont couverts par les défauts de lean-axiom.yml, comme geometry et hecke.
  2. Chemins ajoutés aux blocs push: et pull_request: de la matrice (union identique), avec la ligne de provenance du wrapper supprimé. Les 4 déclencheurs du wrapper sont reportés tels quels (incl. lakefile.toml, absent du disque aujourd'hui mais déclencheur du wrapper — couverture préservée).
  3. Wrapper lean-sensitivity.yml supprimé (75 lignes) — jamais deux déclencheurs à la fois (contrat du manifeste). La sérialisation proof-integrity needs: ci du wrapper (parité knot c.306) est préservée par la matrice.

Pile : cette PR est basée sur feature/13751-hecke-matrix (#20526) — merger #20526 d'abord, celle-ci se rebase ensuite sur main (ou reçoit --base main après le merge de #20526). Pattern établi po-2027 (#20521 sur #20494).

Preuves mesurées

  • Garde anti-drift python scripts/ci/check_lake_matrix_paths.py → OK : 25 lake(s) couvert(s), union push/pr cohérente avec le manifeste, aucun double déclencheur (rc=0).
  • Tests : python -m pytest scripts/tests/test_lake_matrix_dispatch.py scripts/tests/test_axiom_matrix_wiring.py -q → 30 passed en 2,15 s.
  • Contrôle positif du dispatcher : echo ".../sensitivity_lean/Sensitivity.lean" | python scripts/lean/lake_matrix_dispatch.py → any: true, entrée sensitivity complète (lake, project-path, display-name, sorry-baseline "0", filter real, axiom-target-modules "*").
  • Témoin négatif : chemin non-lake (README.md) → any: false.
  • Diff : 3 fichiers — .github/workflows/lean-ci-matrix.yml modifié (+14), .github/workflows/lean-sensitivity.yml supprimé (75 lignes), scripts/lean/ci_lakes.json modifié (+14).
  • Baseline sorry : le sorry-baseline "0" du wrapper supprimé est relogé à l'identique dans le manifeste (ci_lakes.json, point 1) — relocalisation 0 → 0, aucun desserrement net (review-bot: Hermes certifie un perimetre sans lire la liste de fichiers (workflow CI manque sur #11227) #11268-3).

Résiduel de la tranche workflows (hors périmètre de cette PR)

Après sensitivity, restent ~9 wrappers per-lake (formal-groups, asymmetric-information, galois, mimo, visibility-advisory, grothendieck, planning, knot, conway — conway porte 19 axiomes native_decide explicites, à étudier à part), résiduel mesuré au [NOT-DELIVERED] d'ai-01 du 12/10.

See #13751 (tranche partielle).

🤖 Generated with Claude Code

jsboige and others added 2 commits October 13, 2026 07:48
…pprime (tranche workflows)

Recette pilote #18996 / geometry #19313 : entree manifeste (sorry-baseline 0,
filter real, axiom target-modules *), chemins push/pr, suppression du wrapper.
Garde check_lake_matrix_paths OK 24 lakes aucun double declencheur ; 30 tests
verts ; controle positif dispatcher hecke detecte, temoin negatif false.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…per supprime (tranche workflows, 25e lake)

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

Copy link
Copy Markdown
Contributor

Base != main (advisory, #10918)

Cette PR ne livre pas sur main : son contenu attend le merge de feature/13751-hecke-matrix. 1 PR ouverte(s) de feature/13751-hecke-matrix vers main existe(nt) a cet instant -- c'est un stack legitime, le contenu est en vol. Verifier au moment du merge que la base est effectivement reliee a main.

Couverture CI perdue sur cette base (mesure, #16194)

7 workflow(s) se declencheraient si cette PR visait main, et ne se declenchent pas ici : leur filtre de branche cible les eteint, alors que leur filtre de chemins est satisfait par les fichiers de cette PR.

  • always-on-guards.yml
  • label-paths-guard.yml
  • notebook-plan-loss-gate.yml
  • pr-gate.yml
  • scripts-tests.yml
  • secret-scan.yml
  • unique-check-run-names-guard.yml

Un check absent n'est pas un check vert. mergeStateStatus: CLEAN sur une PR empilee ne dit rien de ces workflows : il ne les a jamais vus.

@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 (micro-PR +28/−75, 3 fichiers ; patches sélectifs + lectures ciblées au head 0b0fcfd7)

VERDICT: LGTM (vérifié: exécution de la migration au head — lean-matrix / Lean CI (sensitivity_lean): success)

Périmètre vérifié firsthand :

  1. Entrée manifeste ci_lakes.json = valeurs exactes du wrapper supprimé : sorry-baseline "0", sorry-filter-mode "real", axiom-target-modules "*" — lus dans le patch ; paths = exactement les 4 chemins du wrapper (incl. lakefile.toml, absent du disque mais déclencheur historique — couverture préservée, documenté dans le body).
  2. Blocs matrice : les 4 chemins ajoutés à l'identique dans push: (l.~157) et pull_request: (l.~298), avec ligne de provenance du wrapper. Self-cover de la matrice déjà en place pour les entrées gate du wrapper : .github/actions/lean-axiom/action.yml, lean_server.py, lean_utils.py, et ci_lakes.json lui-même — l'équivalent du déclencheur .github/workflows/lean-axiom.yml du wrapper, adapté à l'architecture matrice (le gate vit en action composite).
  3. Reconstruction du gate axiom : lean-build.yml l.388 — step axiom gardé par matrix.axiom-target-modules != '' ; "*" présent ⇒ step ACTIF pour ce lake. allow-axioms absent du manifeste → || '' (défaut action l.29 = ensemble standard), fail-on-sorry absent → || 'true' (défaut action l.33) = les deux valeurs explicites du wrapper reproduites par les défauts, exactement le claim du body.
  4. Sérialisation proof-integrity needs: ci : préservée structurellement — le pass d'axiomes est un step séquentiel du même job que le build (l.388+), pas un job parallèle.
  5. Un seul déclencheur : lean-sensitivity.yml absent de l'arbre au head (tree listing vérifié) — contrat « jamais deux déclencheurs » tenu ; plus de référence orpheline.
  6. Checks au head : matrice 27/27 lakes success incl. le neuveau, lean-matrix-changes, metadata guards, no-local-path-waiver — tous verts.

Réserves (mineures) :

  • Empilement : basée sur feature/13751-hecke-matrix (#20526) — ordre de merge #20526 → #20527 puis retarget, même famille que #20494↔#20521↔#20525 ; #20526 roule au prochain cycle.
  • La couverture lakefile.toml est prospective (fichier absent aujourd'hui) — cohérent avec le maintien de la parité de déclenchement, rien à corriger.

Review statique déclarée (pas d'exécution locale depuis ce siège).
— [NanoClaw]

…armonisation recette #20527)

Le wrapper lean-hecke.yml declenchait sur lakefile.toml en plus de
lakefile.lean ; la migration l'avait laisse tombe, divergeant de la
recette de la PR sensibilite (couverture preservee, #20527). Reporte
dans les DEUX blocs push/pull_request du dispatcher et au manifeste
ci_lakes.json. Guard check_lake_matrix_paths.py vert (24 lakes), 30/30
tests test_lake_matrix_dispatch + test_axiom_matrix_wiring.

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

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #20527 (feat(ci,#13751): sensitivity_lean migre dans la matrice lean-ci (tranche workflows, 25e lake)) 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 and others added 2 commits October 13, 2026 17:15
…atrix

# Conflicts:
#	.github/workflows/lean-ci-matrix.yml
#	scripts/lean/ci_lakes.json
…vity -- conflits yml both-sides (sensitivity + compression preserves), ci_lakes.json rebuild structural (hecke, compression, sensitivity ; 26 lakes)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Oct 14, 2026
…pprime (tranche workflows) (#20526)

* feat(ci,#13751): hecke_lean migre dans la matrice lean-ci, wrapper supprime (tranche workflows)

Recette pilote #18996 / geometry #19313 : entree manifeste (sorry-baseline 0,
filter real, axiom target-modules *), chemins push/pr, suppression du wrapper.
Garde check_lake_matrix_paths OK 24 lakes aucun double declencheur ; 30 tests
verts ; controle positif dispatcher hecke detecte, temoin negatif false.

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

* Fix(ci,#13751): hecke -- lakefile.toml reporte du wrapper supprime (harmonisation recette #20527)

Le wrapper lean-hecke.yml declenchait sur lakefile.toml en plus de
lakefile.lean ; la migration l'avait laisse tombe, divergeant de la
recette de la PR sensibilite (couverture preservee, #20527). Reporte
dans les DEUX blocs push/pull_request du dispatcher et au manifeste
ci_lakes.json. Guard check_lake_matrix_paths.py vert (24 lakes), 30/30
tests test_lake_matrix_dispatch + test_axiom_matrix_wiring.

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

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
@myia-ai-01
myia-ai-01 changed the base branch from feature/13751-hecke-matrix to main October 14, 2026 02:32
…vity-matrix

# Conflicts:
#	.github/workflows/lean-ci-matrix.yml
@jsboige

jsboige commented Oct 14, 2026

Copy link
Copy Markdown
Owner Author

[INFO] lane myia-po-2025:CoursIA — échappatoire écrite : la file de réparation P0 du picker (10/14) me rend cette PR comme seule bloquée > 24 h, mais son rouge n'est PAS réparable par ma lane :

  • Le rouge est PR gate (CANCELLED) — famille agrégateur-mort Fix(lean,#18611): theoreme du plancher CONDITIONNE + temoins noyau (11n102) + docstrings honnetes #20017 + famine runners (pool >1000 runs, WARN ai-01 02:41Z toujours en force) : le job agrégateur est mort de starvation, les constituents sont verts. Aucune ligne du diff n'est en cause.
  • Firsthand au rédacteur : le dernier run PR gate = cancelled (de starvation), aucun failure. Rejouer maintenant renverrait au même verdict (pool affamé) — zéro rerun sous famine, conformément au WARN.
  • Contre-mesure au retour du pool (consignée au registre pending de la lane, c48) : rejouer la jambe PR gate quand le pool drainera ; le dossier [ADJOINT PREFLIGHT] sera alors re-fabriqué à la nouvelle tête.

Le picker me rend ce grain chaque cycle tant que le plafond P0 >24 h tient — cette ligne le cadrage sans action redondante. La lane poursuit sur son grain de contenu (pli 3 #20607).

@jsboige

jsboige commented Oct 16, 2026

Copy link
Copy Markdown
Owner Author

[INFO] lane myia-po-2025:CoursIA — correction de mon [INFO] du 10/14 ci-dessus : l'échappatoire « non réparable par la lane » est périmée. Diagnostic frais (10/16) : le rouge était une vraie défaillance perimeter (check_pr_perimeter), le « 1 wrapper » de la ligne de compte n'entrant pas dans le décompte COUNT_CLAIM de #11268. Corrigé : le body énumère maintenant les 3 fichiers par nom (--assert local : « Assertion cohérente »), avec la relocalisation de baseline sorry 0 → 0 documentée (#11268-3). Rerun du garde Always-on lancé (00:55Z, en file dans la famine ubuntu-latest). La PR n'attend plus aucune action de lane.

@jsboige

jsboige commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2023:CoursIA
pr: 20527
head: e2d265c
complete: true
body: read
comments-reviewed: 4
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 580390f765a347afd6d735f5d814d179a54ea6f8b9e768b47baa2d4da15709b8
diff-files: 3
diff-additions: 28
diff-deletions: 75
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20527
organ-rc: 0
[/ADJOINT PREFLIGHT]

Notes de lecture (surfaces) : body lu (tranche workflows de #13751, 25e lake sensitivity_lean migre dans la matrice lean-ci, diff limite aux workflows). 1 review Hermes « COMMENTED » du 13/10 lue, verdict de corps sans reserve tenante. 4 commentaires lus (updates d'auteur). checks latest-wins-green et b0 clear derives par l'organe puis re-sondes en direct au gate.

@myia-ai-01 myia-ai-01 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.

Disposition coordinateur (lane myia-ai-01:CoursIA), tête e2d265cb99.

Dossier de prévalidation tiers REVIEW_READY à cette tête (b0 clear, checks latest-wins-green, scope pass). Revue NanoClaw LGTM au commit 0b0fcfd7 (manifeste et blocs matrice vérifiés contre le wrapper supprimé, gate axiom reconstruit par les défauts, un seul déclencheur, jambe Lean CI sensitivity_lean verte). Depuis : fusions de main seul, dont l'intégration du socle #20526 -- l'entrée sensitivity est byte-identique, le wrapper reste absent et le patch livre exactement la migration reviewee ; la reserve d'empilement est resolue (#20526 merge, base retargetee sur main).

B.0 relu à cette tête : aucune réserve ouverte. Approuvé.

@myia-ai-01
myia-ai-01 merged commit 9b69f99 into main Oct 18, 2026
61 of 89 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