conductor-oss / conductor-oss/python-sdk

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

オープン
#479 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。