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.theme_color only (the page's theme-color meta still tints the strip's icons and colours Chrome tabs) — so a dark app kept a cream strip. The pages mirror the saved theme into a mad-theme cookie and /manifest.webmanifest swaps its two colours to match (the file on disk stays the light canon; no-store, Vary: Cookie, and the SW passes it through). The strip catches up when Chrome next re-checks the installed app's manifest — up to a day or two — not on the toggle itself.MAD_LOCAL_LLM_URL (Ollama's OpenAI door on this PC), which adds seven picker rows — local-qwen3, local-magidonia, local-cydonia, local-goetia, local-magnum, local-brokentutu and local-huihui — answering off the dev PC's 4090 at $0. Env-gated: the box never sets it, so the rows don't exist in production. Four seams route by api id (panel · act · prop · compose, ds_url_for); the fixed-role calls (floor producer, curator, clerks…) stay on DeepSeek. The Ollama names are the 32k-pinned derived models — the raw hf.co/… pulls load at 262k context and spill to CPU.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.