# KBX Deployment Contract

KBX v22는 **동일한 immutable artifact를 환경 간 승격**하고, 환경별 차이는 외부 Configuration/Secret으로 주입하는 것을 기본으로 합니다.

## 기본 승격 순서

```text
Build once
  ↓
Static governance / unit / integration / canonical scenarios
  ↓
Staging
  ↓ configuration validation
  ↓ migration dry-run + predeploy DbUp
  ↓ smoke / scenario evidence
  ↓
Production
  ↓ configuration validation
  ↓ migration dry-run + predeploy DbUp
  ↓ same artifact promotion
```

Production에서 애플리케이션 시작 시 DB Schema를 자동 변경하지 않습니다.

Secret은 `.env`, `appsettings*.json`, generated manifest에 실제 값을 기록하지 않습니다. `deploy/kbx/*.example`은 key/shape만 보여주는 예제입니다.
