StillShell

Inside the restart / Herdr 0.9.5

The room comes back.
The job may not.

Two panes returned after our test server restarted. The running program did not. Look through the layers to see why those observations can both be true.

LAYER 1 · YOUR VIEW

The client is a way in.

Detaching removed our terminal interface. Reattaching gave us a view of the same running session. The client’s exit and the job’s exit were separate events.

LAYER 2 · THE RUNNING SESSION

The server keeps the living processes.

Our original heartbeat was process 94795. It survived detachment. A later, explicitly started run was 94881; stopping the session ended that run.

A running process is more than its screen.
LAYER 3 · SAVED SESSION DATA

A plan for rebuilding.

The saved snapshot described two panes, their arrangement and their working directories. After restart, both panes returned, but with different terminal identities.

Observed: 2 panes restored.
Also observed: 0 heartbeat lines added after restart.

The new shells knew where to start. They did not know how to continue the interrupted Python interpreter.

Before you stop a session

Finish or save the work in each application first. Check the exact session name. In our isolated test, herdr session stop proof stopped only the named proof session. The default session uses herdr server stop. These commands stop processes; they are not ways to hide the interface.

For simply leaving the view, return to the detach story.

Three other features are separate

Screen-history replay
A returned screen can be recorded output. Herdr documents an optional pane-history feature; it was off in our experiment. Old text on screen does not establish that its old process is alive.
Native agent resume
Supported agent integrations can provide their own resume reference. That is a new agent invocation using its own conversation data. Our test used no agent and does not validate any integration.
Live handoff
Herdr documents an experimental path for transferring live panes during supported server replacements. We did not test handoff, upgrades or SSH, and this restart result must not be generalized to those paths.

For version-specific behavior, use the official state and restore reference.