kaxil opened a new pull request, #74704: URL: https://github.com/apache/airflow/pull/74704
#74679 left `durable=True` experimental because a tool would soon be able to declare whether its result may be reused, and promised to graduate it once that landed. #74385 merged `AirflowDurability`, which ships that: a toolset can opt out of replay, as `ManagedAgentToolset` does by default. So the reason no longer holds. This moves `durable=True` on `AgentOperator` and `@task.agent`, and `AirflowDurability` used directly in a plain `@task`, into the stable table. The promise covers what the code does today. A retry runs the agent from the start and replays each recorded model request and tool call that matches the step at the same point, and every step after the first mismatch runs live. The journal lives in the task state store on Airflow 3.3+ and under `[common.ai] durable_cache_path` before that. With `durable=True`, replayed steps count nothing against `usage_limits` or the `usage` XCom, the agent's `run_id` stays the first attempt's, and the journal is deleted when the task succeeds. The experimental notes come off `durable_execution.rst` and the `durable` parameter docstring. Combinations that stay unsupported keep their own caveats: `SandboxToolset`'s experimental row still says it cannot be used with `durable=True`, and per-tool approval still does not work with it. Strands checkpoint resume stays experimental. #74686 edits the same `AgentOperator` row and the experimental row next to the durable one. Whichever PR lands second needs a small rebase. -- 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]
