Very much needed! Thank you Kaxil!

On 2026/02/25 08:16:47 Jarek Potiuk wrote:
> Very cool :).
> 
> On Wed, Feb 25, 2026 at 4:14 AM Kaxil Naik <[email protected]> wrote:
> 
> > Hey all,
> >
> > tl;dr: AI coding tools now get proper Airflow guardrails via AGENTS.md, and
> > Copilot code review will automatically flag common mistakes in PRs --
> > including AI-slop patterns as long as we add Copilot as reviewer.
> >
> > We've been getting more AI-generated PRs lately, and reviewers keep
> > catching the same things: N+1 queries, architecture boundary violations,
> > assert in production code, fabricated diffs, etc. I wanted to automate
> > that.
> >
> > I've been using AGENTS.md (CLAUDE.md , Cursor rules, skills and such) with
> > Cursor, Claude Code, and Copilot and various other AI harnesses since last
> > year and have iterated on it many times. Three PRs landed today:
> >
> >    - https://github.com/apache/airflow/pull/62440 -- AGENTS.md overhaul.
> >    Replaced the sparse doc-index with concrete guidance: environment setup,
> >    architecture boundaries, coding/testing standards, commit conventions.
> >    Added nested AGENTS.md for Execution API (Cadwyn versioning) and
> > providers.
> >    - https://github.com/apache/airflow/pull/62442 -- Copilot code review
> >    instructions. Added .github/instructions/code-review.instructions.md
> >    scoped to review only. Covers architecture violations, N+1 queries,
> > run_id
> >    scoping, unbounded caches, and AI-slop signals (fabricated diffs,
> > narrating
> >    comments, over-engineered solutions, etc.).
> >    - https://github.com/apache/airflow/pull/62443 -- Symlink CLAUDE.md to
> >    AGENTS.md so Claude Code reads the same file.
> >
> > To validate the Copilot instructions, I opened a test PR (
> > https://github.com/apache/airflow/pull/62447) with 8 deliberately planted
> > violations. Copilot caught all 8:
> >
> >    1. N+1 query (loop calling get_task_instances() per dag run)
> >    2. time.time() instead of time.monotonic()
> >    3. assert in production code
> >    4. Unbounded @lru_cache (no maxsize)
> >    5. run_id query without dag_id
> >    6. Narrating comments
> >    7. Import inside function body
> >    8. No tests for new behavior
> >
> > This won't replace human review, but should save time on mechanical
> > catches. If you have patterns you'd like Copilot to flag, PRs to
> > .github/instructions/code-review.instructions.md are welcome.
> >
> > Regards,
> > Kaxil
> >
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to