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

   Backport of #76376 ("Let asset watchers write asset state over the Execution 
API") to `v3-4-test`. Depends on #76436 (#76375 backport), already merged to 
`v3-4-test`.
   
   **Adaptations vs. the original (v3-4-test predates #74370's scoped-token 
model):**
   - `test_security.py` — imported only `ASSET_WATCHER_ID`. The original import 
block also pulled in `DAG_BUNDLE_HEADER` and `DagInGrantedBundle`, but those 
are #74370-only symbols and #76376's own asset-watcher test does not use them 
(they were just alphabetically adjacent in the import list on `main`).
   - `security.py` — added `from uuid import UUID` (used by `ASSET_WATCHER_ID = 
UUID(int=0)`), and mapped the `liveness_exemption` predicate's `ExecutionToken` 
type annotations to `TIToken`, which is v3-4-test's execution-API token type 
(#74370 renamed it to `ExecutionToken`). These are annotation-only; behavior is 
unchanged.
   - `asset_state_store` router already uses `route_class=ExecutionAPIRoute`, 
so no router wiring change was needed.
   
   **#74370 is not required** — only the two adaptations above.
   
   **Verified locally** (`breeze testing core-tests`): full `test_security.py` 
+ `versions/head/test_asset_state_store.py` → **83 passed, 0 failed**, 
including the new `test_non_ti_identity_cannot_write_xcom[asset-watcher]` path.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 4.8) assisted with the backport and conflict 
resolution.
   
   Generated-by: Claude Code (Opus 4.8)
   


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