Operator: isolated real-clock restart drill
Resume an account, a session and committed work from a separate save.
Operator-only prerequisites: shell access to an isolated test checkout, installed dependencies and an unused local port and database path. This drill never connects a second gateway process to the production application. Use an explicit test database on every command.
Example path and port below are placeholders for a new rehearsal. If either already exists or is in use, choose new ones. Keep the real and manual clock modes separate.
Step by step
Tick a step after observing the expected result. Saved on this device only.
01Start a fresh account server
From the checkout run: .venv/bin/python run_floor.py --db runtime/qa-restart-01.sqlite3 --port 8775 --clock real --no-browser
A separate loopback account service starts with a fresh real-clock world. The production save is untouched.
02Create and progress a test account
Create one test browser account at the printed loopback address. Walk to Southfields, earn berries through ordinary work, then start one ration recipe. Keep the signed-in browser open.
A normal authenticated account and a genuine active recipe exist in the isolated save.
03Record and stop
Record the test character name, current job, visible inventory and scheduled finish time privately. Stop this test server cleanly with Ctrl+C before the recipe finishes.
The test process exits without deleting its database. No production service is stopped.
04Allow elapsed time
Wait beyond the recipe’s boundary while the test server is stopped. Restart with the exact same command, database path, port and real clock mode.
Startup checks compatibility and catches up elapsed time.
05Resume the existing session
Refresh the already signed-in browser; also sign in using a new browser session.
The original account and session resolve to the same character. The recipe settles once and its output is not reset or doubled.
06Audit and record limits
Run .venv/bin/python tools/manage.py audit runtime/qa-restart-01.sqlite3 and .venv/bin/python tools_patch/check_save.py --db runtime/qa-restart-01.sqlite3
Accounting reconciles and compatibility passes. Record this as an isolated real-process restart result, not proof that external backups or failover hosting are deployed.