LangGraph graphs with checkpointed/multi-turn state fail the spawn-safety probe

Open
#479 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
58/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python

Research direction

Start with _register_passthrough_worker in src/conductor/ai/agents/runtime/runtime.py and probe_spawn_safety in src/conductor/ai/agents/runtime/_worker_entries.py, then reproduce the failure with examples/agents/langgraph/03_memory.py. Compare the checkpointed and multi-turn examples with a passing LangGraph example, and verify that 03_memory.py, 13_multi_turn.py, and 27_persistent_memory.py run successfully without the spawn-safety failure.

Written by the indexing model from the issue text.

Description

bug

Files: src/conductor/ai/agents/runtime/runtime.py (_register_passthrough_worker), src/conductor/ai/agents/runtime/_worker_entries.py (probe_spawn_safety)

Symptom: python examples/agents/langgraph/03_memory.py fails in <1s, client-side, before any server call:

SpawnSafetyError: worker 'memory_agent' is not spawn-safe
  AttributeError("Can't get local object 'CompiledStateGraph.attach_node.<locals>._get_updates'")
Define the callable at module level (importable by qualified name).

Cause: The passthrough worker pickles the compiled graph. LangGraph's CompiledStateGraph contains a local closure, so it can never be picklable. The error's advice is unfollowable — the object belongs to LangGraph, not to user code.

Fix: Either avoid pickling the compiled graph in the framework passthrough path, or detect this graph shape and fail with a message naming a supported alternative.

Verify: python examples/agents/langgraph/03_memory.py runs. Same for 13_multi_turn.py and 27_persistent_memory.py.

Scope: 3 of 46 langgraph examples. All three use checkpointed or multi-turn state; the other 43 pass.

Dominant language
Python
Stars
104
Forks
43
Avg merge
1d 13h
Merged PRs (30d)
4

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from conductor-oss/python-sdk

All issues in conductor-oss/python-sdk

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.