This is amazing, Kaxil! Thank you!

Thanks & Regards,
Amogh Desai


On Wed, Feb 25, 2026 at 9:38 PM Vincent Beck <[email protected]> wrote:

> 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