Users don't follow scripts. RGS makes that a feature, not a problem.
A customer opens your e-commerce support chat. The flow is straightforward:
Now the user types: "What's your address?"
This has nothing to do with order tracking. In most chatbot systems, this is where things break. In RGS, it's where things get elegant.
The conversation pivots seamlessly. The user notices nothing.
The core mechanism: Throw pushes state to an earlier node, and when any node's state changes, the entire graph re-sequences.
RGS doesn't "continue from where it left off." It re-evaluates everything. The GPT node sees the new input. The Queue picks up the new intent. The downstream sequence recalculates. No special-case logic, no rewiring — the behavior emerges from the graph structure itself.
This is fundamentally different from traditional try/catch in programming. The Throw node doesn't signal an error. It signals "this input belongs somewhere else" — and uses a control edge to send it there. The graph then asks: "Given everything we know right now, what should be happening?" — and re-answers that question from scratch.
Each node keeps a single responsibility. No node needs to understand the full flow. Add a new intent? Add a new task node. The Try/Throw pattern handles rerouting automatically.
Short answer: not well. Most flow builders are linear — once you're in a branch, you're stuck. The usual workarounds:
The fundamental limitation: traditional builders execute forward. Once a node has run, its result is final. There's no way to retroactively change an earlier node's state and have everything downstream recalculate. RGS can do exactly that, which is why late intent switching isn't an edge case — it's a natural consequence of how the system works.
Try the live example above, or start building your own adaptive conversations at wanderer-flow.de.