Skip to content

perf(ci,#14057): Vague 2 tranche 1 — fusion 3 gardes metadata always-on en umbrella (patron #13384) - #14065

Merged
myia-ai-01 merged 1 commit into
mainfrom
feature/14057-vague2-fusion1
Sep 1, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feature/14057-vague2-fusion1

Conversation

@jsboige

@jsboige jsboige commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Grain: MED/guard — lane myia-po-2024:CoursIA — prev: DEEP/lean #14056

Summary

Vague 2 de la fusion CI, tranche 1 (dispatch ai-01 msg-20260901T120252-k7qy3p, file à 166 queued) : les trois gardes/advisories always-on de métadonnées — base-not-main-advisory, stale-base-warning, concurrency-conj-guard — sont absorbés par une umbrella neuve always-on-metadata-guards.yml, strictement au patron #13384 : un workflow, un checkout, un slot de runner par PR, organes portés verbatim, sources laissées dormantes (declencheurs pull_request retirés, jobs conservés).

Chiffre (mesuré avant PR, exigé par #14057) :

Mesure Avant Après
Runs sur l'événement nominal (synchronize, base main) 3 1 (−2, −67 %)
Fenêtre de la mesure étape 1 (#14057) 149 runs (72+44+33) ~72 (cadence de l'umbrella = union des déclencheurs, portée par base-not-main) — −52 % estimé
Workflows unfiltered (audit instrument) 13 (inventaire #12773) 6

Tranche 2 (bloquée par PRs en vol, follow-up) : always-on-guards.yml (#13922) et orphaned-delivery-scan.yml (#13947) — non touchés ici, aucune collision (vérifié gh pr list --json files sur les workflows paths).

Design (patron #13384 appliqué)

Couplages mis à jour (aucune perte de couverture)

Fichier Changement
scripts/tests/test_base_not_main_no_paths_filter.py Lock #13232 retargeté sur l'umbrella (l'assertion trigger-PRESENT aurait cassé sur la source dormante) — même substance : pas de paths:, les 5 types, signature METADONNEES
scripts/tests/test_variation_tag_required.py METADATA_DEPENDENT_GUARDS : + umbrella (les sources y restent — skip-if-absent)
scripts/notebook_tools/audit_workflow_path_filters.py REQUIRED_UNFILTERED_WORKFLOWS : + umbrella, − stale-base-warning.yml (dormant), motif documenté du fichier

check_workflow_label_paths.py : vert par construction (l'umbrella pose des labels SANS paths: → out of scope, elle peut toujours nettoyer ses labels — #8822). fast_lane_registry.py:671 : commentaire historique (rationale tranche 5), laissé tel quel.

Validation (relancée après le dernier commit 0a0a023e41)

  • Parse YAML des 4 workflows : umbrella pull_request actif, 3 sources DORMANT, jobs intacts.
  • check_concurrency_conj.py --check --json : offenders: [] — le garde guard(ci): refuser la conjonction push:main + group portant github.ref + cancel-in-progress:true — le defaut de #13372 n'a aucun cliquet #13488 parse la nouvelle YAML et la valide.
  • pytest test_base_not_main_no_paths_filter.py test_variation_tag_required.py : 22 passed.
  • Canary pr_gate.py::derive_always_on_jobs : 6 jobs derivés, Always-on metadata guards -- 3 organes, 1 checkout présent — la canary s'est auto-mise à jour (dérivée, jamais hardcodée).
  • check_workflow_label_paths.py : pass.
  • audit_workflow_path_filters.py : unfiltered 6 (required 4, optional 2), positive control OK.

Contrôles demandés par #14057

  • Positif : l'umbrella tournera sur TOUTE PR (pas de paths) — le premier event pull_request de cette PR elle-même en fera foi (check Always-on metadata guards présent).
  • Négatif : les 3 checks sources (Base-not-main advisory, Stale Base Branch Warning, concurrency-conj-guard) n'apparaîtront plus sur les nouvelles PRs — c'est le livrable (−2 runs/event).
  • Perte de couverture : aucune — chaque script organique est invoqué verbatim (base_not_main.py, bash stale-base, check_concurrency_conj.py --check --json).

Review Checklist

  • 1. Scope — 1 sujet (fusion tranche 1), 7 fichiers, aucun fichier en collision avec une PR ouverte (L898 vérifié).
  • 2. Post-fix validation — 6 validations locales relancées après commit (ci-dessus) ; CI confirmera sur la tête de PR.
  • 3. Cohérence pédagogique — N/A (CI).
  • 4. Exécution réelle — les organes s'exécutent à partir du premier event ; preuve = check umbrella présent sur cette PR.
  • 5. Regression check — greps des noms de checks dans scripts/ : aucune référence hors fichiers sources ; registres/verrous mis à jour ci-dessus.

Note G-VAR-1 (honnête) : genre guard (META) — ce cycle ne tient pas le plancher CONTENU. La PR exécute une mission coordinator dispatchée (Vague 2 HIGH, #14057 claimé par cette lane) ; le grain CONTENU de la lane (grothendieck Partie 66) est nommé pour le cycle suivant, la veine #2159 étant repoussée par ses 2 PRs en attente de merge.

See #14057 (tranche 1 de la Vague 2 — l'issue reste ouverte : tranche 2 quand #13922/#13947 mergent), See #13384 (patron).

…-on en umbrella (patron #13384)

base-not-main-advisory + stale-base-warning + concurrency-conj-guard
(149 runs/fenetre pour ~3 min de travail reel, mesure etape 1 #14057)
sont absorbes par always-on-metadata-guards.yml : un workflow, un
checkout, un slot de runner par PR (-2 runs/evenement nominal, -52 %
estime sur la fenetre). Sources dormantes (triggers retires, jobs
verbatim), canary derive_always_on_jobs auto-mis a jour, verrous #13232
retargetes sur l'umbrella.

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

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bash Syntax Advisory — shebang / executable-bit warnings

See the Shebang + dry-run advisory job log for the per-file ::warning:: lines. Non-blocking.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #14065 (perf(ci,#14057): Vague 2 tranche 1 — fusion 3 gardes metadata always-on en umbrella (patron #13384)) 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.

@myia-ai-01
myia-ai-01 merged commit f6e53d7 into main Sep 1, 2026
18 checks passed
@jsboige
jsboige deleted the feature/14057-vague2-fusion1 branch September 2, 2026 13:12
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.

2 participants