2026
Apache Airflow
20 PRs mergées dans apache/airflow, via un pipeline d'agents
20 pull requests mergées dans apache/airflow (38 000+ étoiles), sur 42 soumises, via un pipeline d'agents autonomes que j'ai construit pour gérer le cycle de contribution. Des bugfixes pointus : scheduler, task-sdk, providers (Google, Oracle, Alibaba, SMTP, FAB), migrations de base de données, dont 2 correctifs de sécurité.

fig. 01 · Les 20 PRs mergées dans apache/airflow, telles que GitHub les liste
Plutôt que de contribuer à l'open source PR par PR, j'ai construit un pipeline d'agents autonomes qui gère le cycle de contribution sur apache/airflow : sélection d'issues, reproduction du bug, correctif, tests, réponse aux reviews. Résultat : 42 pull requests soumises, 20 mergées dans l'un des plus gros projets open source Python (38 000+ étoiles). Ce ne sont pas des corrections de typos : path traversal bloqué via les dag_id et run_id, en-tête JWT corrigé pour les tokens à clé symétrique, optimisation d'une migration de base de données en SQL pur, fixes dans les providers Google (BigQuery, Dataproc), Oracle, Alibaba, SMTP et FAB, et dans le task-sdk.
Pipeline d'agents

fig. 02 · Illustration. Les cinq étapes du cycle de contribution pris en charge par les agents
Plutôt que de contribuer PR par PR, un pipeline d'agents autonomes construit sur Claude Code gère le cycle complet : sélection d'issues, reproduction du bug, correctif, tests, réponse aux reviews. Le bug est reproduit systématiquement avant tout correctif, et chaque PR embarque ses tests.
Correctifs de sécurité

fig. 03 · Les PRs 63296 et 62883 sur GitHub, badge Merged et description du problème
Deux correctifs de sécurité mergés : le blocage du path traversal via les dag_id et run_id (PR 63296) et l'en-tête JWT corrigé pour les tokens à clé symétrique, qui n'incluait pas le kid (PR 62883).
Migration en SQL pur

fig. 04 · La PR 63628 sur GitHub, mergée dans apache:main
La migration 0094 désérialisait chaque ligne en Python. Le correctif (PR 63628) refait la transformation en SQL pur : sur PostgreSQL, un seul CTE remplace la boucle Python.
Task-sdk et providers

fig. 05 · Les PRs 63387 (task-sdk) et 62879 (provider SMTP) sur GitHub
Des correctifs dans le task-sdk (accès aux Variables depuis le triggerer, PR 63387) et dans les providers Google, Oracle, Alibaba, SMTP et FAB, ici l'authentification OAuth2 XOAUTH2 du SmtpHook (PR 62879).
42 soumises, 20 mergées

fig. 06 · Les 42 pull requests soumises, mergées ou non, telles que GitHub les liste
Toutes les PRs sont publiques et vérifiables sur GitHub : 42 soumises, dont 20 mergées dans apache/airflow, un projet à plus de 38 000 étoiles.
Défis
- Comprendre un codebase de très grande taille avec des conventions strictes de contribution
- Faire passer des correctifs la review de mainteneurs exigeants d'un projet Apache
- Orchestrer des agents autonomes fiables sur tout le cycle : issue, fix, tests, review
- Couvrir des sous-systèmes variés : scheduler, task-sdk, providers, migrations, sécurité
Solutions
- Pipeline d'agents autonomes construit sur Claude Code pour gérer le cycle de contribution
- Reproduction systématique du bug avant tout correctif, tests ajoutés à chaque PR
- Réponses aux reviews et itérations jusqu'au merge, en suivant les conventions du projet
Résultats
- 20 pull requests mergées sur 42 soumises dans apache/airflow
- 2 correctifs de sécurité mergés (path traversal via dag_id/run_id, en-tête JWT kid)
- Contributions sur scheduler, task-sdk, migrations et 6+ providers (Google, Oracle, Alibaba, SMTP, FAB, standard)
- Toutes les PRs publiques et vérifiables sur GitHub
Technologies
Python · Apache Airflow · Agents autonomes · Claude Code · Open Source · pytest