A deployment checklist for proving a bot is operationally safe in demo or paper mode before any live-order switch is enabled.
In plain English
This guide explains what a test can and cannot prove. Backtests, demo environments and small live tests answer different questions and should not be treated as interchangeable.
backtestdemolive testfailure case
Infrastructure
- Service restarts after VPS reboot.
- Secrets are not stored in Git or public HTML.
- Logs include timestamps and event IDs.
- Database survives process restart.
- Health checks detect stale data.
Execution
- Correct instrument is selected.
- Buy/sell direction is verified with test cases.
- Minimum and maximum size checks work.
- Existing-position protection works.
- Duplicate event protection works.
- Rejected orders are recorded with broker reason.
Failure tests
- Disconnect internet/backend temporarily.
- Use an invalid webhook token.
- Send malformed JSON.
- Send the same event ID twice.
- Force a broker authentication failure.
- Restart during an active signal flow.
Do not use “it worked once” as the live gate. The most valuable paper tests are often the failures you intentionally cause.
Before you rely on this in production
- Historical and demo tests are not confused with live proof.
- Failure paths are tested deliberately.
- Restart/recovery is included.
- Test logs are detailed enough to explain outcomes.
