This is an automated email from the ASF dual-hosted git repository.
jason810496 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 9611649802d Add taskflow-binding capability to the Lang SDK
compatibility matrix (#73314)
9611649802d is described below
commit 9611649802d4d728e22b82aaad1ed742e5b7ad4e
Author: Jason(Zhe-You) Liu <[email protected]>
AuthorDate: Fri Sep 18 18:31:17 2026 +0800
Add taskflow-binding capability to the Lang SDK compatibility matrix
(#73314)
---
contributing-docs/30_new_language_sdk.rst | 5 +++++
go-sdk/README.md | 1 +
go-sdk/capabilities.yaml | 3 +++
java-sdk/README.md | 1 +
java-sdk/capabilities.yaml | 3 +++
java-sdk/sdk/module.md | 1 +
scripts/ci/prek/lang_sdk_compat_matrix.py | 1 +
ts-sdk/README.md | 1 +
ts-sdk/capabilities.yaml | 3 +++
9 files changed, 19 insertions(+)
diff --git a/contributing-docs/30_new_language_sdk.rst
b/contributing-docs/30_new_language_sdk.rst
index 180a3e6539c..80fbe9e4235 100644
--- a/contributing-docs/30_new_language_sdk.rst
+++ b/contributing-docs/30_new_language_sdk.rst
@@ -409,6 +409,11 @@ authored in the target language. An SDK declares each one
independently.
The SDK can execute a task declared in a Python Dag with the ``@task.stub``
decorator. This is the primary execution path for every Language SDK.
+``taskflow-binding`` (MUST)
+ Arguments bound to a ``@task.stub`` target in the Python TaskFlow Dag —
literal values
+ and upstream XCom results alike — are delivered to the task function's
parameters at
+ runtime.
+
``task-logging`` (MUST)
The SDK forwards the task's log output — stdout / stderr and any
structured log
records — to the supervisor over the ``--logs`` socket, so it surfaces in
the task
diff --git a/go-sdk/README.md b/go-sdk/README.md
index 968428e8147..49d6bd68c7e 100644
--- a/go-sdk/README.md
+++ b/go-sdk/README.md
@@ -302,6 +302,7 @@ prek hook regenerate it.
| state: `removed` | MAY | ✓ | 3.3 | |
| **Runtime capabilities** | | | | |
| capability: `mixed-lang-stub-target` | MUST | ✓ | 3.3 | @task.stub |
+| capability: `taskflow-binding` | MUST | ✗ | – | bind @task.stub literal/XCom
args to the native handler |
| capability: `task-logging` | MUST | ✓ | 3.3 | slog records streamed over the
logs socket |
| capability: `xcom-read-write` | MUST | ✓ | 3.3 | PushXCom / GetXCom |
| capability: `connection-read` | MUST | ✓ | 3.3 | GetConnection |
diff --git a/go-sdk/capabilities.yaml b/go-sdk/capabilities.yaml
index 94be96e9639..a0715aef9ed 100644
--- a/go-sdk/capabilities.yaml
+++ b/go-sdk/capabilities.yaml
@@ -59,6 +59,9 @@ capabilities:
supported: true
since: "3.3"
note: "@task.stub"
+ taskflow-binding:
+ supported: false
+ note: "bind @task.stub literal/XCom args to the native handler"
task-logging:
supported: true
since: "3.3"
diff --git a/java-sdk/README.md b/java-sdk/README.md
index 372426e31dc..027babb6eed 100644
--- a/java-sdk/README.md
+++ b/java-sdk/README.md
@@ -605,6 +605,7 @@ prek hook regenerate it.
| state: `removed` | MAY | ✓ | 3.3 | |
| **Runtime capabilities** | | | | |
| capability: `mixed-lang-stub-target` | MUST | ✓ | 3.3 | @task.stub |
+| capability: `taskflow-binding` | MUST | ✗ | – | bind @task.stub literal/XCom
args to the native handler |
| capability: `task-logging` | MUST | ✓ | 3.3 | SLF4J + JPL bridged to the
task log |
| capability: `xcom-read-write` | MUST | ✓ | 3.3 | |
| capability: `connection-read` | MUST | ✓ | 3.3 | |
diff --git a/java-sdk/capabilities.yaml b/java-sdk/capabilities.yaml
index 50dc38c9528..45724e433bd 100644
--- a/java-sdk/capabilities.yaml
+++ b/java-sdk/capabilities.yaml
@@ -59,6 +59,9 @@ capabilities:
supported: true
since: "3.3"
note: "@task.stub"
+ taskflow-binding:
+ supported: false
+ note: "bind @task.stub literal/XCom args to the native handler"
task-logging:
supported: true
since: "3.3"
diff --git a/java-sdk/sdk/module.md b/java-sdk/sdk/module.md
index fd402bb048b..9e1c86d895c 100644
--- a/java-sdk/sdk/module.md
+++ b/java-sdk/sdk/module.md
@@ -44,6 +44,7 @@ meaning of each dimension is defined in the
| state: `removed` | MAY | ✓ | 3.3 | |
| **Runtime capabilities** | | | | |
| capability: `mixed-lang-stub-target` | MUST | ✓ | 3.3 | @task.stub |
+| capability: `taskflow-binding` | MUST | ✗ | – | bind @task.stub literal/XCom
args to the native handler |
| capability: `task-logging` | MUST | ✓ | 3.3 | SLF4J + JPL bridged to the
task log |
| capability: `xcom-read-write` | MUST | ✓ | 3.3 | |
| capability: `connection-read` | MUST | ✓ | 3.3 | |
diff --git a/scripts/ci/prek/lang_sdk_compat_matrix.py
b/scripts/ci/prek/lang_sdk_compat_matrix.py
index 9c8dd3ca92a..c9003354c56 100644
--- a/scripts/ci/prek/lang_sdk_compat_matrix.py
+++ b/scripts/ci/prek/lang_sdk_compat_matrix.py
@@ -77,6 +77,7 @@ class Capability(NamedTuple):
# whole Dag in the target language and are gated by NATIVE_DAG_GATE (except
the gate itself).
CAPABILITY_DIMENSIONS: list[Capability] = [
Capability("mixed-lang-stub-target", "MUST", "runtime", False),
+ Capability("taskflow-binding", "MUST", "runtime", False),
Capability("task-logging", "MUST", "runtime", False),
Capability("xcom-read-write", "MUST", "runtime", False),
Capability("connection-read", "MUST", "runtime", False),
diff --git a/ts-sdk/README.md b/ts-sdk/README.md
index c5f60210337..6e4c44079da 100644
--- a/ts-sdk/README.md
+++ b/ts-sdk/README.md
@@ -245,6 +245,7 @@ Do not edit the table by hand. Update the manifest and run
the `update-ts-sdk-re
| state: `removed` | MAY | ✓ | 3.4 | |
| **Runtime capabilities** | | | | |
| capability: `mixed-lang-stub-target` | MUST | ✓ | 3.4 | @task.stub |
+| capability: `taskflow-binding` | MUST | ✗ | – | bind @task.stub literal/XCom
args to the native handler |
| capability: `task-logging` | MUST | ✓ | 3.4 | structured records over the
log socket |
| capability: `xcom-read-write` | MUST | ✓ | 3.4 | getXCom / setXCom |
| capability: `connection-read` | MUST | ✓ | 3.4 | getConnection |
diff --git a/ts-sdk/capabilities.yaml b/ts-sdk/capabilities.yaml
index 4972a07fa11..65482fc8f4b 100644
--- a/ts-sdk/capabilities.yaml
+++ b/ts-sdk/capabilities.yaml
@@ -59,6 +59,9 @@ capabilities:
supported: true
since: "3.4"
note: "@task.stub"
+ taskflow-binding:
+ supported: false
+ note: "bind @task.stub literal/XCom args to the native handler"
task-logging:
supported: true
since: "3.4"