This is an automated email from the ASF dual-hosted git repository.

snuyanzin pushed a commit to branch release-2.3
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/release-2.3 by this push:
     new 6f1161b3144 [FLINK-39714][docs] Add AGENTS.md
6f1161b3144 is described below

commit 6f1161b3144889caf4c88516fce2235369c7380a
Author: Mingliang Liu <[email protected]>
AuthorDate: Wed May 20 04:46:29 2026 -0700

    [FLINK-39714][docs] Add AGENTS.md
---
 AGENTS.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/AGENTS.md b/AGENTS.md
index daa34497a66..1c4199d50b8 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -196,6 +196,7 @@ Every module from the root pom.xml, organized by function. 
Flink provides three
 Key separations:
 
 - **Planner vs Runtime:** The table planner generates code and execution 
plans; the runtime executes them. Changes to planning logic live in 
`flink-table-planner`; changes to runtime operators live in 
`flink-table-runtime` or `flink-streaming-java`.
+- **Codegen vs hand-written operators:** Per-record expression logic (casts, 
projections, filters, function calls) is generated at planning time by cast 
rules in `flink-table-planner/.../functions/casting/` and call generators in 
`flink-table-planner/.../codegen/calls/`, then compiled by Janino into the 
surrounding operator class. Operators with fixed structure (joins, 
aggregations, source/sink runtime) are hand-written Java in 
`flink-table-runtime` or `flink-streaming-java`. New scalar  [...]
 - **API vs Implementation:** Public API surfaces (`flink-core-api`, 
`flink-datastream-api`, `flink-table-api-java`) are separate from 
implementation modules. API stability annotations control what users can depend 
on.
 - **ArchUnit enforcement:** `flink-architecture-tests/` contains ArchUnit 
tests that enforce module boundaries. New violations should be avoided; if 
unavoidable, follow the freeze procedure in 
`flink-architecture-tests/README.md`.
 
@@ -294,6 +295,7 @@ This section maps common types of Flink changes to the 
modules they touch and th
 - Ensure `./mvnw clean verify` passes before opening a PR
 - Always push to your fork, not directly to `apache/flink`
 - Rebase onto the latest target branch before submitting
+- For user-visible behaviour changes, breaking changes, new SQL features, or 
new config options: fill in the **Release Notes** field on the JIRA ticket. The 
release manager consolidates these when cutting a release. The next version's 
`docs/content/release-notes/flink-X.Y.md` will be generated based of the jira 
tickets, so make sure to fill them in properly.
 
 ### AI-assisted contributions
 

Reply via email to