Before you stop
All work lives in GitHub. The instance disk is a workspace, not the record.
Before you stop a machine, StellarView checks every repository on it and tells you what would be left behind.
./slingshot statusIn the desktop client this is the Shut down step, and it will not let you stop until every finding has a decision.
What it checks
Three things, and they fail differently.
Uncommitted work. Files changed on the instance and never committed. Nothing outside that machine knows they exist.
Unpushed commits. Committed, but only on the instance. A repository with no upstream branch at all counts here: nothing has ever been pushed.
An attached session. Somebody is connected right now, and whatever that session is holding was never written to disk. Nothing recovers a conversation after the fact, so this stops rather than warns.
What it does about them
Nothing, until you say. It reports, and every finding needs an explicit choice:
Commit and push. It commits what is there and pushes to the branch's upstream, setting one if there is none. It never force-pushes and never rewrites history.
Leave it. Recorded as a decision. Sometimes that is right, and it should be something you chose rather than something that happened.
Then it re-checks before it acts, because running a push is not the same as nothing being at risk.
Stop, not terminate
Stopping keeps the volume and everything on it. Start the machine again and your work is where you left it.
Terminating destroys it. There is deliberately no terminate button anywhere in the client. One button away from stop is not a safe place for that to live.
The one that catches people
A repository cloned outside the mounted directories lives inside the container. It is destroyed the next time the container is recreated, and an image update is enough to do that. This is true whether or not you stop anything.
The check reports those separately, and it is worth acting on immediately rather than at shutdown.
How you know it failed
"Could not check." It could not reach the instance over Systems Manager. The machine may be fine; the path to it is not. Nothing has been stopped.
A push failed. The reason comes back from git verbatim. The usual cause is a token without write access to that repository, which is a different token from the one that could read it well enough to clone.
