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

   `LLMApprovalMixin` (`require_approval=True` on `LLMOperator` / 
`AgentOperator`) now raises `TaskAwaitingInput` on Airflow 3.3+, parking the 
review in the first-class `awaiting_input` state (#68028) with no trigger or 
triggerer involved, matching the standard provider's `HITLOperator`. On older 
cores it falls back to deferring to `HITLTrigger` unchanged, gated on 
`AIRFLOW_V_3_3_PLUS`.
   
   Why:
   
   - The triggerer no longer needs to run for approval pipelines to make 
progress. Resumption is driven by the Core API response handler or the 
scheduler's timeout sweep, which also enforces `approval_timeout` on 3.3+ with 
the same timeout-event semantics as `HITLTrigger`.
   - Together with `airflow dags test` resolving `awaiting_input` tasks 
interactively, review pipelines become runnable end to end locally. Verified in 
breeze with pydantic-ai's TestModel: the task parks in `awaiting_input`, an 
approval with reviewer-modified output resumes it, and the modified output 
flows downstream as the task result.
   
   One behavior fix rides along: on the legacy path `HITLTrigger` 
schema-validated `params_input` before resuming, but nothing does on the 
awaiting_input path (the Core API route validates chosen options and 
cardinality only). `execute_complete` now enforces the string contract for 
reviewer-modified output and raises `HITLTriggerEventError` with 
`error_type="validation"` for non-string values. Previously on this path an API 
client could make the operator return a dict where the declared output contract 
is `str`.
   
   The dependency floor moves to 
`apache-airflow-providers-common-compat>=1.15.0`, the first release with the 
`AIRFLOW_V_3_3_PLUS` flag.


-- 
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