- Runtime accepts optional pool= param, uses shared nodes from pool for stateless roles, creates fresh sensor/memorizer/ui per-session - FrameEngine sets _current_hud contextvar at start of process_message - API creates global NodePool once, passes to all Runtime instances - Graph switch resets pool for new graph - Legacy _ensure_runtime also uses pool - 15/15 engine + matrix tests green Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>