Close the tab. Your Python machine is still there.

Every tab with this machine name is a view onto one local Python state. One tab is the leader. If it closes, another tab takes over from the last committed heap and /home/web files. No backend, no remote Python.

Opening the persistent machine...
Machine-
This tab-
Role-
Leader-
Epoch-
Participants-
Recovered-
Last commit-
Takeovernot observed
Browser lane-

The command below changes both Python memory and a file. Run it, commit, open another participant, then close the tab marked leader.

Waiting for a leader...
Try the takeover
  1. Run the sample. It creates counter = 41 and a file.
  2. Commit. This is the exact crash-recovery boundary.
  3. Open a participant tab. Both tabs show the same leader and epoch.
  4. Close the tab whose role is leader.
  5. The survivor advances the epoch, reports recovered = yes, and can run counter + 1.
  6. Close every tab and reopen this page. The last commit still returns.

Recovery is exact at a completed commit boundary. In-flight Promises, requests, sockets, and an arbitrary Python stack are not resurrected. A request interrupted after transmission returns an outcome-unknown error and is never silently replayed.