Add is_closed guard to StateManager.replace_state() so that LangGraph.execute() — which delegates to replace_state() — raises RuntimeError when the StateManager has been closed. This prevents silent state corruption after StateManager.close() is called.
Add Behave BDD scenarios verifying the guard and the happy path.
ISSUES CLOSED: #9994