How a change goes from idea to production: built locally, self-tested, your-tested, then shipped to Singapore. The rhythm and the local-server norms that keep it honest.
python lib/smoketest.py (unit selftests + HTTP integration).app.db and nobody can log in (the server still returns 200, so it looks fine):
scripts\restart8011.bat — kills whatever holds 8011, relaunches in a new console.BUILD badge + sw.js cache on every UI ship.restart8011.bat binds 127.0.0.1 (this PC only). To reach 8011 from a phone or tablet on the same Wi-Fi, run scripts\serve-lan-8011.bat instead — it serves on 0.0.0.0, keeps the dev-data wiring, and prints the http://<LAN-IP>:8011 URL to open on the phone.MAD_SECURE_COOKIE unset) — that's what lets the phone log in over plain http:// on the LAN.main is production — no staging. Push every change to origin immediately.main; its runtime state (app.db + rooms/) lives outside the repo at /var/lib/mad.