You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Doublon instruments audit paths-filters : le cron CI (05:37) appelle l'instrument sans reconnaissance exemptions (#15165/#15417), l'autoritaire est orphelin #15962
« Unfiltered: 6 » dont 2 « optional à investiguer » = faux positifs (orphaned-delivery-scan.yml, notebook-plan-loss-gate.yml — tous deux exemptés par design, commentaires dans les yml)
Mesuré firsthand 2026-09-13 : lancer l'instrument câblé régénère docs/audit/workflow-path-filters/latest.{json,md} dans l'ancien schéma, écrasant le recensement #15417 (nouveau schéma) committé — une exécution locale suffit à faire diverger le rapport tracké du recensement de référence.
Risques
Le cron quotidien advise sur un instrument qui contredit le recensement autoritaire — un futur mainteneur lisant « 2 optional à investiguer » rouvrirait du travail livré (classe candidate-delivered).
La duplication est exactement l'anti-pattern « Pas de duplication » du CLAUDE.md.
Travail proposé (consolidation, pas suppression)
Porter has_pr_target_filter_excluding_main() + la table des 6 exemptions documentées de l'autoritaire vers le câblé (ou l'inverse : recâbler workflow-path-filter-audit.yml vers l'autoritaire) — en citant les numéros de ligne comme preuve de préservation (consolidation 3 étapes).
Aligner le schéma du rapport tracké (latest.json) sur un seul schéma.
Unifier les deux fichiers de tests (test_audit_workflow_path_filters.py / test_audit_workflow_paths_filters.py).
Contexte
Découvert en résolvant #12773 (voir le [RELEASED] du même cycle) : le résidu « 13 unfiltered » de l'issue est livré (eligible=0 sur l'autoritaire), mais l'instrument câblé le dément. Ne pas traiter ce défaut = laisser l'advisory quotidien contredire le recensement de référence.
Grain: MED/guard pressenti pour la PR de consolidation.
Grain: MED/guard — lane myia-po-2024:CoursIA — prev: MED/notebook-python #15961
[CLAIMED] lane myia-po-2024:CoursIA — #15962 : consolider les deux instruments d'audit paths-filters (le câblé CI scripts/notebook_tools/audit_workflow_path_filters.py sans reconnaissance exemptions vs l'autoritaire orphelin scripts/audit_workflow_paths_filters.py) — paths: scripts/notebook_tools/audit_workflow_path_filters.py, scripts/audit_workflow_paths_filters.py, scripts/tests/test_audit_workflow_path_filters.py, scripts/tests/test_audit_workflow_paths_filters.py, .github/workflows/workflow-path-filter-audit.yml
Consolidation 3 étapes (analyser/porter avec preuves de lignes/archiver après vérification) — pas une suppression sèche.
Consolidation livree en #15967 — les 3 defauts de l'issue sont traites (faux positifs reconnus, schema latest.json unifie avec ratchet fail-closed, branche regression du cron schedule reveillee), preuves de preservation par numeros de ligne dans le body de la PR. Validation : 24 tests pass, eligible=0 mesure sur le repo reel, rc=1 verifie end-to-end sur l'ancien schema. La fermeture reste au coordinateur.
Défaut
Deux instruments quasi-homonymes audient les filtres
pathsdes workflows, et le câblé en CI est le périmé :scripts/audit_workflow_paths_filters.py(autoritaire)scripts/notebook_tools/audit_workflow_path_filters.py(câblé CI)branches-ignore: [main]/branchesexcluant mainhas_pr_target_filter_excluding_main, #15165)orphaned-delivery-scan.yml,notebook-plan-loss-gate.yml— tous deux exemptés par design, commentaires dans les yml)workflow-path-filter-audit.yml(cron quotidien 05:37, advisory anti-régression #10600) + docs/READMEMesuré firsthand 2026-09-13 : lancer l'instrument câblé régénère
docs/audit/workflow-path-filters/latest.{json,md}dans l'ancien schéma, écrasant le recensement #15417 (nouveau schéma) committé — une exécution locale suffit à faire diverger le rapport tracké du recensement de référence.Risques
Travail proposé (consolidation, pas suppression)
has_pr_target_filter_excluding_main()+ la table des 6 exemptions documentées de l'autoritaire vers le câblé (ou l'inverse : recâblerworkflow-path-filter-audit.ymlvers l'autoritaire) — en citant les numéros de ligne comme preuve de préservation (consolidation 3 étapes).latest.json) sur un seul schéma.test_audit_workflow_path_filters.py/test_audit_workflow_paths_filters.py).Contexte
Découvert en résolvant #12773 (voir le [RELEASED] du même cycle) : le résidu « 13 unfiltered » de l'issue est livré (eligible=0 sur l'autoritaire), mais l'instrument câblé le dément. Ne pas traiter ce défaut = laisser l'advisory quotidien contredire le recensement de référence.
Grain: MED/guardpressenti pour la PR de consolidation.