jason810496 opened a new pull request, #73596:
URL: https://github.com/apache/airflow/pull/73596

   - depends on: #CONFIG
   - Diff for early review: 
https://github.com/jason810496/airflow/compare/feature/java-sdk-dag-schema-config...feature/java-sdk-wired-inputs
   
   > **Merge order:**
   > 1. #71188 — Honor TaskFlow arg bindings sent by the supervisor
   > 2. #EDGES — Draw a Java-authored Dag's edges with then and dependsOn
   > 3. #CONFIG — Generate Dag and task configuration from the serialization 
schema
   > 4. **#WIRED — Resolve a task's arguments from the Dag's own wiring** 
**(current one)**
   > 5. #71189 — Declare a Dag's task graph with @Builder.Deps
   > 6. #71190 — Serialize native Dags to DagSerialization v3
   >
   > Every PR targets `main` because GitHub cannot base a pull request on a 
branch that exists only on a fork, so these diffs are cumulative — the compare 
link above shows only this layer. #69757 and #71057, which the stack was 
originally built on, are merged.
   
   ## Why
   
   A Dag authored in Java has no `@task.stub` call site, so the supervisor 
sends no argument bindings for it and a task's data parameters had nothing to 
resolve against.
   
   ## How
   
   - Where the supervisor sent no bindings, a task's flat parameters and its 
`TaskInput` resolve against the inputs the Dag recorded for that task: an 
upstream handle reads that task's XCom, a literal is passed straight through.
   - Runtime bindings win wherever both exist, so a stub-backed task behaves 
exactly as before.
   - `TaskArgs.of` checks the declared parameter count against the supplied 
one, and names which side supplied what when they disagree.
   - A value that resolves to nothing still fails the same way: `null` for a 
boxed or reference parameter, `MissingXComException` naming the task for a 
primitive.
   
   This is the runtime half on its own. Nothing declares wired inputs until the 
next PR adds `@Builder.Deps`, so there is no user-visible change yet and the 
tests wire inputs directly.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [x] Yes, with help of Claude Code Opus 5 following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to