conductor-oss / conductor-oss/python-sdk

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

Aperta
#479 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
Python
Stelle
104
Fork
42
Merge medio
2g 1h
PR unite (30g)
3

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
backend, distributed-systems
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
58/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.