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