Thanks for starting the discussion, Elad.

I am in favour of this too, I often find myself reading through related PRs
for AIP's I am not involved with closely for bug fixes, reviews, or any
other
purpose.

I like the idea of creating an ADR too to have a general sense of direction
for AIP developers, reviewers, and anyone watching the AIP too. So, I would
support that decision too.

Thanks & Regards,
Amogh Desai


On Wed, Apr 15, 2026 at 8:33 PM Jarek Potiuk <[email protected]> wrote:

> +1.With some (I think) pragmatic twist proposal.
>
> I would even propose a little more organized step between the AIP and
> implementation starts (especially with regards to the "first" in the title)
> that when we decide to implement something, the first step is to create an
> ADR (Architecture Decision Record) [1] capturing the most important
> decisions. Capture it semi-automatically from the discussions, AIP doc,
> comments etc. and store it in the repository before we create user
> documentation. It should be our "Anchor" of the implementation work.
>
> In short it should explain, why we are doing it, what options we considered
> (and discarded, including the reasons why), what the consequences are
> (i.e., the ripple-effect of the change and which areas are impacted), and
> of course link to the AIP for details. Also, include information about what
> User Documentation should be created as part of the implementation. I think
> creating user documentation "beforehand" the code and feature it implements
> is extremely difficult; it's much easier to decide before what kind of
> documentation needs updating and then keep updating the docs while
> developing the features - especially when using Agentic assistance.
>
> With the agentic framework, those kinds of thoughts and discussions should
> be captured as close to the code as possible. This ensures that agents
> implementing features find them right where they are needed and that these
> discussions serve as authoritative sources for the "scope" and "feature" to
> implement. And if we add to our AGENTS.MD: "Always update the documentation
> when you implement or change Airflow features." The agents will generally
> just **do it** by looking at the code being submitted and reading what it
> does. I've been testing it recently on pr-auto-triage and it works really
> well as a workflow.
>
> We are increasingly describing what we want and why in plain English—not
> how we do it. Keeping records of these decisions seems really important
> because the code we produce becomes more of a by-product. If we keep such
> records we can generally regenerate or optimize parts of the code once we
> know what we are doing and why, and have that information recorded.
>
> I also have old ADRs for Breeze [2] which I created when we rewrote Breeze
> in Python. These ADRs show what it can be, but they can now be much better.
> We just point agent at the AIP - ask to summarize, review and agree on it
> (which is an important step to void all kinds of ambiguties and size of
> AIPs). ADRs are simply well structured markdown files, we could even add
> (actuially even generate from AIPs) some high-level mermaid markdown charts
> in them and Agents are capable of handling them really well.
>
> [1] https://en.wikipedia.org/wiki/Architectural_decision
> [2] https://github.com/apache/airflow/tree/main/dev/breeze/doc/adr
>
>
>
> On Wed, Apr 15, 2026 at 11:40 AM Elad Kalif <[email protected]> wrote:
>
> > Hello everyone,
> >
> > Following the last dev call, I'd like to open a discussion around
> > documentation first approach.
> >
> > My key observations around Airflow 3.2 development cycle is that in order
> > to do affective testing I need to understand how a feature designed to
> > work. While it is listed and explained in AIP page, dev discussions and
> > possibly in PR description it is not reasonable to expect community users
> > to go through all of these data points. We have multiple features that
> are
> > being developed in parallel so it's huge effort for community members. By
> > having documentation ready early we help community members to be able to
> > efficiently test the feature in a real production-like scenario. It will
> > also help us to gain valuable and early information about if users
> > understand the feature as we intended. This avoid cases where
> documentation
> > lands around/after beta release is cut leaving little time to testing.
> >
> > Given the AI era, it might even be easier to create and update
> > documentation as development of the feature progress - it can even make
> PR
> > review easier.
> >
> > The Proposal:
> >
> > 1. The default AIP draft will include a specific entry if the author
> thinks
> > it should be under the Documentation first policy. I think it's better to
> > let authors choose while the community review the choice. It will also
> > mention by what part of the development documentation should be ready
> > (before development. by date, by specific milestone, etc...)
> >
> > 2. Community will review it as part of the AIP review.
> >
> > 3. Request to include a feature / AIP under the policy may also come
> after
> > AIP was approved if circumstances justify it. This means that any
> community
> > member can raise the request. If the AIP author agrees then the AIP page
> > will be updated accordingly. In the cases where AIP author disagree, the
> > community member can raise mailing list discussion.
> >
> > Thanks,
> > Elad
> >
>

Reply via email to