You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Persisted checkpoint handling in the Python SDK should be hardened so the default experience is more restrictive and safer by default.
Today, checkpoint persistence is optimized for broad object round-tripping and ease of use. Before GA, we should tighten the default behavior for persisted checkpoints and reduce the default type surface area that can be restored.
Proposed direction:
Narrow the default set of types that round-trip from persisted checkpoints.
Include a small built-in set of framework-approved types by default, such as primitives and other common value types.
Add an explicit allow-list for additional checkpoint-safe types.
Update docs, tests, and samples to reflect the safer default posture.
Built-in supported types could include framework-approved value types such as primitives plus selected common types like datetime.datetime and uuid.UUID.
Acceptance criteria:
Default persisted checkpoint loading is more restrictive than it is today.
Common framework-owned checkpoint scenarios continue to work without extra user configuration.
Developers have a documented extension point for additional supported types.
Docs and samples reflect the updated default guidance.
Open questions:
What is the minimum built-in type surface area needed to support common workflow scenarios?
What upgrade guidance do we want for existing persisted checkpoints?
Activity
[-]Harden Python checkpoint persistence defaults[/-][+]Python: Harden Python checkpoint persistence defaults[/+]Harden Python checkpoint persistence defaults
fix: resolve mypy no-any-return error in checkpoint encoding
Simplify find_class return in _RestrictedUnpickler (microsoft#4894)
Address review feedback for microsoft#4894: Python: Harden Python che…
Restore # noqa: S301 on line 102 of _checkpoint_encoding.py (microsof…
Address review feedback for microsoft#4894: Python: Harden Python che…
Address PR review comments on checkpoint encoding (microsoft#4894)
Address review feedback for microsoft#4894: review comment fixes
fix: use pickle.UnpicklingError in RestrictedUnpickler and improve do…
Fix pre-commit config paths for prek --cd python execution
fix: add builtins:getattr to checkpoint deserialization allowlist
Address review feedback for microsoft#4894: review comment fixes
Python: Restrict persisted checkpoint deserialization by default (#4941)
Update agent framework docs for GA: workflows, middleware, providers,…