conductor-oss / conductor-oss/python-sdk
LangGraph graphs with checkpointed/multi-turn state fail the spawn-safety probe
- 主要言語
- Python
- スター
- 104
- フォーク
- 42
- 平均マージ
- 2日 1時間
- マージ済み PR(30日)
- 3
説明
**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.._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.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
src/conductor/ai/agents/runtime/runtime.py の _register_passthrough_worker と src/conductor/ai/agents/runtime/_worker_entries.py の probe_spawn_safety から始め、次に examples/agents/langgraph/03_memory.py で失敗を再現します。checkpoint を使用する例とマルチターンの例を、正常に動作する LangGraph の例と比較し、03_memory.py、13_multi_turn.py、27_persistent_memory.py が spawn-safety の失敗なしに正常に実行できることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- backend, distributed-systems
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 58/100