Study Lab
local appVango

Guided Mode

A teach-first path: learn the idea, trace it through the platform, apply it, then self-check.

Lesson 1 of 9

Lessons

Start at the top. Each lesson builds a model you reuse later.

Foundational18 min

Stateful Does Not Mean Magic

You can explain where Vango session state lives, what survives failure, and why Rhone must be honest about lifecycle.

Learning contract

Do not memorize terms first. Predict behavior, then use terms to explain why.

Learn The Model

This is the reading section for the lesson. Read it, then use Trace/Apply/Self-check to make sure you can reason with it.

dense read

Why it matters

The biggest beginner trap is hearing stateful and imagining one big durable server. Vango gives a cleaner programming model, but Rhone still has to classify durability, routing, deploy impact, and recovery.

Mental model

State is a contract, not a vibe. For every state value, ask: owner, writer, durability, deploy compatibility, scale behavior, and failure behavior.

What Vango actually makes stateful

Vango makes the interactive UI/session loop stateful. That means the server can remember selected rows, form drafts, open panels, resource status, pending action state, and other interaction context without forcing the browser to own a parallel state machine.

The browser sends events.
The server mutates session state.
Render produces the next DOM projection.
The browser applies patches.

What Vango does not magically persist

A stateful session is still running inside a process. If the process dies, process memory dies. Rhone can only restore what was explicitly written somewhere durable: product database rows, control-plane records, artifacts, route owners, or declared session state in a session store.

In-memory state is fast but fragile.
Persisted session state can hydrate only if schema-compatible.
Product truth belongs in the app database.
Platform truth belongs in Rhone control-plane records.

The question to ask every time

When you see any state, do not ask whether the app is stateful or stateless. Ask exactly what kind of state it is and which lifecycle promises are honest.

Who owns it?
Who is allowed to write it?
Does it survive process death?
Does it survive deploy?
Can another allocation read it?
What should the user see if it is gone?

Common confusion

Server-owned UI state is not automatically product data. A form draft can live in a Vango session; a paid invoice must live in the database.

How to read this

1. Read the model once without trying to memorize terms.

2. Ask what object owns each piece of state.

3. Predict failure behavior before clicking Trace.

4. Use Apply to write the answer in your own words.