Hi all,

I'd like to start a discussion about how the Flink community should handle
AI-assisted contributions and how we can make the Flink codebase more
accessible to AI tooling.

The ASF has published guidance on generative AI tooling [1], and several
Apache projects have already adopted project-specific guidelines on top of
that. I think Flink should too.

The most comprehensive example I've seen is Apache Airflow. They've added
an AGENTS.md [2] with instructions for AI coding agents, including PR
templates with an AI disclosure checkbox, a self-review checklist, and the
Generated-by: commit message token that the ASF guidance recommends. Apache
Iceberg recently adopted AI contribution guidelines [3] focused on
contributor accountability: you must be able to debug, explain, and own the
changes. Other projects like Paimon [4], Mahout [5], and Ozone [6] have
adopted similar policies.

I'd like to propose the following for Flink:

1. Adopt contribution guidelines for AI-assisted PRs. Contributors must
disclose when AI tooling was used (using Generated-by: <Tool Name and
Version> in the commit message), and must be able to explain and take
ownership of all changes. AI-generated code is held to the same review
standards as human-written code.
2. Add AGENTS.md files to the Flink repository. AGENTS.md [7] is a
convention for giving AI coding agents project-specific context. It can
contain information like build instructions, test commands, coding
conventions, commit message format. I think we should add one at the root
of apache/flink.
3. Add module-level context for AI tooling. This is where I think we can
take a step forward. Each Flink module (e.g. flink-streaming-java,
flink-table-planner, flink-clients) would benefit from its own AGENTS.md
explaining the module's role, key abstractions, testing patterns, and
common pitfalls. This also serves as architectural documentation that helps
human contributors.

I'm looking forward to hearing what others think about this.

Best regards,

Martijn

[1] https://www.apache.org/legal/generative-tooling.html
[2] https://github.com/apache/airflow/blob/main/AGENTS.md
[3]
https://iceberg.apache.org/contribute/#guidelines-for-ai-assisted-contributions
[4]
https://github.com/apache/paimon/blob/master/.github/PULL_REQUEST_TEMPLATE.md?plain=1#L22
[5]
https://github.com/apache/mahout/blob/main/docs/community/pr-policy-and-review-guidelines.md
[6]
https://github.com/apache/ozone-site/blob/master/src/pages/release-notes/2.0.0.md?plain=1#L408
[7] https://agents.md/

Reply via email to