# Platform Initialization | Field | Value | |-------|-------| | Component | `sonar-test-nest` | | Repository | `validate/sonar-test-nest` | | Runtime | `typescript-nestjs` | | Branch model | `dev` → `staging` → `prod` (→ `main` SoR) | | Code lives on | `dev` (push to dev triggers build + deploy to dev env) | | Protected | `main`, `staging`, `prod` (require PR + passing CI + 1 approval) | | Free push | `dev` (inner loop — no PR, no approval required) | ## Promotion flow Push to `dev` freely. The CI/CD pipeline builds and deploys to the dev environment automatically on every commit. Promotion to higher environments requires a PR — the integration test must pass and 1 reviewer must approve before the merge is allowed: - **dev → staging** — opens a PR; CI gate + 1 approval required - **staging → prod** — opens a PR; CI gate + 1 approval required `main` is the system of record. It contains only workflow files and platform metadata. Application code is promoted to it from `prod` via PR.