Skip to content

Correct the meaning of _arg_bindings in the serialization schema - #73644

Merged
jason810496 merged 3 commits into
apache:mainfrom
jason810496:docs/lang-sdk/arg-bindings-schema-comment
Sep 28, 2026
Merged

jason810496 merged 3 commits into
apache:mainfrom
jason810496:docs/lang-sdk/arg-bindings-schema-comment

Conversation

@jason810496

@jason810496 jason810496 commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Why

The _arg_bindings comment in the serialization schema says the key is only present on @task.stub tasks. That is no longer the only producer: a Dag declared in a language SDK serializes its tasks with is_stub and writes _arg_bindings itself, with no Python operator behind them.

Noticed while reviewing #73436.

How

  • schema.json: the $comment now covers both producers: mixed-language tasks (the @task.stub operator) and tasks defined in a non-Python SDK Dag.
  • ts-sdk/schema/dag-schema.json: re-synced from schema.json, since the TS SDK vendors a copy.
  • adr/lang-sdk/0007-taskflow-across-language-boundary.md: one consequence bullet records the second producer. Decision B is unchanged, since it describes core-side materialization from a DecoratedOperator, which still works exactly as written.

No behaviour change: a $comment is documentation inside the schema and nothing reads it.


Was generative AI tooling used to co-author this PR?

@jason810496 jason810496 changed the title Say which tasks carry _arg_bindings in the serialization schema Correct the meaning of _arg_bindings in the serialization schema Sep 24, 2026
@jason810496 jason810496 added the type:doc-only Changelog: Doc Only label Sep 24, 2026
@jason810496 jason810496 self-assigned this Sep 24, 2026
@jason810496
jason810496 marked this pull request as ready for review September 24, 2026 05:04

@pierrejeambrun pierrejeambrun left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM thanks.

Is 'native dag' vs 'mixed dag' public naming ? I like those and it wold probably be easier for users to understand what's going on.

native dag reads better than or a task of a Dag a language SDK declared and serialized itself but I think Ash didn't like that.

@jason810496
jason810496 force-pushed the docs/lang-sdk/arg-bindings-schema-comment branch from 370a39e to ecdaeee Compare September 27, 2026 15:32
@jason810496
jason810496 force-pushed the docs/lang-sdk/arg-bindings-schema-comment branch from ecdaeee to 49f4526 Compare September 27, 2026 16:23

@jason810496 jason810496 left a comment •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, good point.

I rephrased as "Used for mixed-language tasks (the @task.stub operator) or tasks defined in a non-Python SDK Dag". Btw, Ash don't like the term "mixed-language Dag" not "mixed-language Task".

In the case of "mixed-language Task", we define the Dag at Python. In another word, only one language defines the "Dag", so there shouldn't be "mixed-language Dag".

@jason810496
jason810496 merged commit 46823e4 into apache:main Sep 28, 2026
92 of 93 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants