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

   ## Why
   
   airflowctl generates its API models from the core OpenAPI spec.
   
   In core, `StrictBaseModel` rejects unknown fields. The spec shows this as 
`additionalProperties: false`. airflowctl then generates the same model with 
`extra="forbid"`.
   
   Seven core models extend `StrictBaseModel`, but they only appear in 
responses. They are the three config models and the four asset reference 
models. If a newer server adds a field to one of them, an older airflowctl 
cannot read the response.
   
   This happens now. #71446 added the optional `team_name` field to two of 
these models in 3.4. airflowctl from `airflow-ctl/v0-1-test` fails on `assets 
list` and `assets get` against 3.4.0b2 (#57826).
   
   `StrictBaseModel` is for request bodies only (#44306):
   
   > Response models, those are instantiated by the server, there we want to be 
able to provide 'more' for the model to select only what should be returned.
   
   ## What
   
   The seven models now extend `BaseModel`. The spec, the UI schemas and the 
airflowctl models are regenerated. The server sends the same JSON as before.
   
   With the same change on `airflow-ctl/v0-1-test`, the 3.4.0b2 runs pass 
again. A backport for 0.1.6 must include the two core files, because that 
branch generates its models from its own core.
   
   related: #57826
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 5.5)
   
   Generated-by: Claude Code (Opus 5.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