Hyeonsang Cho 8853e68638
fix(gateway): keep server-owned checkpoint keys out of client thread metadata (#8019)
* fix(gateway): keep LangGraph checkpoint keys out of client thread metadata

POST /api/threads spread client metadata over the root checkpoint's
step/source/writes/parents. A non-mapping parents broke every history
read and a non-integer step broke every later turn, leaving deletion as
the only way out. Server values now come after the client's.

* docs(changelog): reference #8019 for thread-create checkpoint metadata

* fix(gateway): keep server-owned checkpoint keys out of client thread metadata

The root checkpoint still copied client keys the server reads back as
trusted. A non-mapping counters_since_delta_snapshot failed every state
update and turn in both checkpoint modes, and deerflow_agent_name was
copied into the next state rewrite as the server-authored agent binding.
Drop a named set of checkpoint-owned keys before the spread so the fix no
longer relies on dict ordering alone.

---------

Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
2026-11-12 20:53:04 +08:00
..