YAshhh29 commented on PR #71575: URL: https://github.com/apache/airflow/pull/71575#issuecomment-5921205985
Thanks @kaxil, all of these are addressed. The extras, aliases and reordered-keys comments came from the same root problem, so I changed the approach instead of patching each case. The fingerprint now pairs pydantic's JSON output with pydantic's own python-mode dump of the same value. That dump has the same keys, aliases, extras and serializer output, but keeps sets as sets and doesn't read iterators, so set ordering, key collisions and the iterator check all come from pydantic itself. Tool args are also rendered from a deep copy now, so fingerprinting can't change what the tool gets, and anything that raises while rendering just costs a live re-run. I also rebased onto main, so the older SHAs are stale. Since #73873 changed `cached_*` to mean written, a step that can't be fingerprinted now counts as skipped and shows up in the end-of-run warning, and I dropped my "count executed steps" commit because main covers it. Tested on pydantic-ai 2.33 and 2.44: digests still match main for everything that isn't a set, and reverting any of the 27 safeguards one at a time fails the suite. -- 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]
