# ENVIRONMENT — read this before touching anything **There is no production.** No prod server has been bought. Every host below is a **development** environment and is safe for write-testing: | Host | App | Env marker | |---|---|---| | `api-km.trl.my.id` | backend API | `GET /health` → `{"status":"ok","env":"development"}`, header `X-Environment` | | `erp-km.trl.my.id` | ERP frontend | amber `DEV` banner on every page | | `b2b-km.trl.my.id` | B2B storefront | amber `DEV` banner on every page | | `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.