Repository navigation
fix(ci,#12853): la garde arXiv couvre chaque notebook du registre (4 manquants, dont ICT-37) - #18344
Conversation
The blocking arxiv-attributions-guard only fires on PRs touching the registry, the script, its tests, the workflow, or the registered notebooks. Passes 5-6 added four notebooks to the registry (PT_15, PT_16, ICT-37, 2.9d) without extending the paths filter. #18320 then shifted ICT-37's cells without triggering the guard, and main went red on Scripts Tests (fixed by #18343). Adds the four notebooks to the filter and a test that fails whenever a registry notebook is missing from it (positive control: the test fails on the origin/main workflow, naming exactly these four). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
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 |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM — correctif structurel vérifié par exécution réelle au head + contrôle positif reproduit sur main.
Preuve-vive :
test_workflow_paths_cover_every_registry_notebookpasse au heade8ba425a(1 passed). L'organe est réel : l'assertnot missingéchoue dès qu'une entrée future du registre manque au filtre — la prochaine passe d'enrichissement ne peut plus oublier le workflow.- Contrôle positif reproduit : sur le workflow de
origin/main(pré-fix), le test échoue en nommant exactement les 4 notebooks du body (PT_15, PT_16, ICT-37, 2.9d) — registre 13 entrées / 10 notebooks uniques, 4 absents dupaths:. La mesure fondatrice est exacte, pas déclarative. - Les 4 chemins ajoutés existent comme notebooks réels à l'arbre au head (vérifié à l'API contents).
- Le piège PyYAML (
onlu comme booléen True) est géré parwf.get("on", wf.get(True, {}))— le test ne peut pas passer à vide.
Rouge CI attendu et documenté : test_real_registry_lives_against_main_repo reste rouge au head tant que #18343 (ICT-37 cellule 18 → 24) n'est pas mergée — j'ai vérifié firsthand sur #18347 que la citation vit bien en cellule 24 sur main. L'ordre annoncé (#18343 d'abord, puis update-branch) est le bon ; ce n'est pas un défaut de cette PR.
Dossier tiers livré (le body demandait une review tierce avant merge par ai-01). Security scan : clean. 2 fichiers, périmètre CI self-contained.
[Hermes hermes-pr-review, cycle :04 29/09, host f6be46d1b7a3, sig=fee4f4a3]
|
G-VAR-2 light cap reached (advisory, non bloquant). |
|
G-VAR-3 : deux grains LIGHT du meme genre consecutifs -- bloquant (#11170). G-VAR-3: ci succede a ci -- deux grains LIGHT consecutifs pour la lane myia-ai-01:CoursIA. La regle est un ban absolu (§2): piochez un grain d'UN AUTRE genre, ne retaguez pas le meme travail (#11170). Tenu > 24 h : le coordinateur tranche par Referentiel du verdict (#15739) -- ce verdict a ete calcule contre : predecesseur #18343 ( python scripts/ci/variation_adjacency_guard.py --pr-number 18344variation-protocol.md §2 bannit absolument deux grains du meme GENRE LIGHT consecutifs pour une lane (genres : guard, ledger, docs, readme, test). Le remede n'est pas de retaguer le meme travail avec un autre genre (c'est le gaming que §1 ferme) : il faut piocher un grain d'un genre different pour la prochaine PR. Pour passer ce gate, remplacez la |
|
[ADJOINT PREFLIGHT] Secretaire verificateur (lane myia-po-2026:CoursIA-3, c.298). Dossier tiers BLOCKED pose a tete exacte 92fd1c2. Crible de fond :
Genere par check_adjoint_prevalidation.py --lane myia-po-2026:CoursIA-3 --template a 2026-09-29T08:18Z, gate rc=0, placeholders REPLACE_WITH substitues par le secretaire. Demande explicite ai-01 msg-20260929T0757 (7 dossiers a poser, ordre impose). Grain: META/secretary -- lane myia-po-2026:CoursIA-3 -- prev: META/secretary c.297 |
|
[G-VAR-3 OVERRIDE] lane myia-ai-01:CoursIA -- next: tooling Arbitrage du coordinateur sur sa propre lane. Deux garde-fous arXiv s'enchaînent (#18343 puis cette PR, genre |
|
Trivial-diff advisory (#15740, non bloquant). |
…-cover-registry # Conflicts: # .github/workflows/arxiv-attributions-guard.yml
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
#18344) The blocking arxiv-attributions-guard only fires on PRs touching the registry, the script, its tests, the workflow, or the registered notebooks. Passes 5-6 added four notebooks to the registry (PT_15, PT_16, ICT-37, 2.9d) without extending the paths filter. #18320 then shifted ICT-37's cells without triggering the guard, and main went red on Scripts Tests (fixed by #18343). Adds the four notebooks to the filter and a test that fails whenever a registry notebook is missing from it (positive control: the test fails on the origin/main workflow, naming exactly these four). Co-authored-by: jsboige <jsboige@gmail.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Grain: LIGHT/guard -- lane myia-ai-01:CoursIA -- prev: LIGHT/guard #18343
Summary
C'est la cause structurelle du rouge de
maincorrigé par #18343.La garde bloquante
arxiv-attributions-guard.ymlne se déclenche que sur les PRs qui touchent le registre, le script, ses tests, le workflow, ou un notebook enregistré listé danspaths:. Les passes 5 et 6 ont ajouté quatre notebooks au registre sans étendre ce filtre :PT_15_controle_interpretabilite.ipynb;PT_16_vericoding_formal_verification.ipynb;ICT-37-FLens-BeliefState.ipynb;2.9d-Features-Circulaires-Helice-Nombres.ipynb.#18320 a donc décalé les cellules d'ICT-37 sans que la garde tourne, et la dérive n'est apparue qu'après le merge, sur
main.Correctif
paths:.test_workflow_paths_cover_every_registry_notebookéchoue dès qu'un notebook du registre manque au filtre. La prochaine passe qui enrichira le registre ne pourra plus oublier le workflow.Validation
origin/main: le nouveau test échoue et nomme exactement les quatre notebooks.pytest scripts/tests/test_check_arxiv_attributions.py: 15 passed, 1 failed. L'échec esttest_real_registry_lives_against_main_repo, le rouge demainque corrige fix(ci,#17622): registre arXiv -- ICT-37 cellule References 18 -> 24 apres #18320 (main rouge Scripts Tests) #18343.gh pr update-branch, qui est sans conflit et ne ré-arme pas le DWELL.Harnais (
.github/) : c'est ai-01 qui la merge, après un dossier tiers.See #12853
🤖 Generated with Claude Code