# ENVIRONMENT — read this before touching anything **These hosts are PRODUCTION as of 1 Oct 2026** (owner decision; Midtrans stays on sandbox by explicit instruction). Do NOT write-test here: no QA orders, no test users, no seed writes. Read-only verification unless the owner asks. | Host | App | Env marker | |---|---|---| | `api-km.trl.my.id` | backend API | `GET /health` → `{"status":"ok","env":"production"}` | | `erp-km.trl.my.id` | ERP frontend | no DEV banner (`VITE_APP_ENV=production` baked by CI) | | `b2b-km.trl.my.id` | B2B storefront | no DEV banner (`NUXT_PUBLIC_APP_ENV=production` at runtime) | | `pos-km.trl.my.id` | POS frontend | no DEV banner (`VITE_APP_ENV=production` baked by CI) | Midtrans is intentionally still sandbox (`MIDTRANS_IS_PRODUCTION=false`): real-money actions remain forbidden even though the app env is production. | `pos-km.trl.my.id` | POS frontend | amber `DEV` banner on every page | Rules for agents doing QA on these hosts: 1. **DO verify first**: `curl /health` (or read the banner). If it says `development`, the data is test data — create, submit, cancel freely. 2. **Mark test writes**: prefix names/codes/notes with `QA` (e.g. `QA Kasir`, `SO-…` note `QA sweep test`) and **clean up after yourself**: cancel test orders (restocks), deactivate test users, delete or deactivate test products/customers, close test shifts with the exact expected cash. 3. **NEVER, even on dev**: hard-delete master data, bulk updates without a WHERE you read back first, touching another operator's open shift, real-money Midtrans actions (sandbox only), committing secrets, pushing anyone's in-progress work unreviewed. 4. **If a host ever answers `env: production`** (or the banner is gone): STOP write-testing immediately and ask the human. That means a prod server exists and this file is stale — update it first. The day a prod server is bought: set `APP_ENV=production` (backend), `VITE_APP_ENV=production` (ERP/POS), `NUXT_PUBLIC_APP_ENV=production` (B2B) on that host only. Banners vanish and this file must be rewritten the same day.