weiqingy opened a new pull request, #840: URL: https://github.com/apache/flink-agents/pull/840
Linked issue: #723 ### Purpose of change Document the Python memory value contract and why it diverges from Java. The docs previously told Python users they could store Java POJOs and Kryo "general class types" and showed an example storing a Pydantic model — but Python memory values cross the Pemja boundary into Flink state, so only recursively checkpoint-stable values survive checkpoint/restore. This splits the "Supported Value Types" section into a Java contract (broad: primitives, collections, POJOs, Kryo, `MemoryObject`) and a Python contract (`None`, `bool`, `int`, `float`, `str`, `list`, `dict` with `str` keys, and nested `MemoryObject`), names the rejected Python types, notes that `bytes` is not yet supported, and shows the materialize-on-write / reconstruct-on-read pattern (`model.model_dump(mode="json")` ↔ `Model.model_validate(...)`). The Java tab and examples are unchanged. This follows up #839, which added the `set()`-time validator that enforces this Python contract. It should merge after #839. ### Tests Documentation only; no code change. ### API No API change. ### Documentation - [ ] `doc-needed` - [ ] `doc-not-needed` - [x] `doc-included` -- 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]
