Action routing:
- Button clicks now route through PA→Expert in v4 (was missing has_pa check)
- Previously crashed with KeyError on missing thinker node
WS error handling:
- Exceptions in WS handler caught and logged, not crash
- Frontend receives error HUD event instead of disconnect
- Prevents 1006 reconnect loops on action errors
Nodes panel:
- Fixed pipeline order (no re-sorting on events)
- Deduplicated node names (pa_v1→pa, expert_eras→eras)
- Normalized names in state tracker
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>