# AEG-X-001: 버전 커버리지 & 크로스 버전 테스트 승인 요청

**WBS Item:** AEG-X-001  
**Status:** ⏳ IN_PROGRESS → DECISION_REQUIRED  
**Decision Owner:** PM, Architecture, DevOps/QA  
**Blocks:** Version Coverage Matrix 고도화, CI/CD 크로스 버전 테스트  
**Impact:** 버전 호환성 검증 미완료, 크로스 버전 증거 부재  

---

## 현재 상태

**문제:**
- Version Coverage Matrix: 실제 근거 없이 "100% 완료" 주장
- 크로스 버전 테스트 증거: 보존되지 않음
- 지원 버전: v10/v12/v12.1 커버리지 미정의
- 테스트 환경: DevOps/QA runner 증거 부재

**진행 현황:**
- ✅ 소스 인벤토리: 생성됨
- ✅ 증거 분류: 시작됨
- ⏳ 크로스 버전 실행 증거: 미보존
- ⏳ v10/v12/v12.1 테스트 기준: 미정의

---

## 필요한 4가지 결정

### 1️⃣ 공식 지원 버전 범위 (Version Support Matrix)

**결정:** 어떤 버전들을 공식 지원할 것인가

```
Current uncertainty:
- v10, v12, v12.1 언급됨 (근거 없음)
- 각 버전별 보증 기간: 미정
- 보안 업데이트 정책: 미정
- 버전 폐기 일정: 미정

Questions:
✅ 지원 주요 버전: [ ] (list)
✅ 각 버전별 EOL(End-of-Life): [ ] (date)
✅ 보안 패치 정책: [ ] (how long?)
✅ 마이너 버전 정책: [ ] (X.Y.0 only? or all X.Y.Z?)

Linked Items:
- .NET 지원 정책 (Microsoft)
- PostgreSQL 버전 정책 (YUM-based LTS)
- Node.js/pnpm 버전 정책
- Angular/React 라이브러리 정책
```

### 2️⃣ 크로스 버전 테스트 범위 (Cross-Version Test Coverage)

**결정:** 각 버전별 무엇을 테스트할 것인가

```
Test matrix needed:
- .NET major version: 7, 8, 9, 10, 11 (current)?
- PostgreSQL: 12, 13, 14, 15, 16 (current)?
- Node.js: 18, 20, 22 (current)?
- pnpm: 8, 9, 10 (current)?

Per version, test levels:
✅ Build compatibility: [ ] (yes/no)
✅ Unit tests: [ ] (yes/no)
✅ Integration tests: [ ] (yes/no)
✅ Migration tests: [ ] (yes/no)
✅ Full E2E: [ ] (yes/no)

Questions:
✅ 최소 지원 .NET: [ ] (e.g., .NET 8 LTS?)
✅ 최소 지원 PostgreSQL: [ ] (e.g., 13?)
✅ 최소 Node.js: [ ] (e.g., 18?)
✅ 각 버전별 테스트 범위: [ ] (모두? 일부만?)
```

### 3️⃣ 테스트 환경 & 증거 보존 (Test Infrastructure & Evidence)

**결정:** 크로스 버전 테스트를 어떻게 자동화하고 증거를 보존할 것인가

```
Current state:
- Local developer machines (불충분)
- CI/CD: GitHub Actions / Gitea Actions (설정 필요)
- Test artifact storage: (명시되지 않음)

Questions:
✅ CI/CD 도구: [ ] (Gitea Actions? GitHub Actions? Jenkins?)
✅ 테스트 행렬 설정: [ ] (모든 조합? N×M?)
✅ 증거 보존 위치: [ ] (S3? git artifact? DB?)
✅ 보존 기간: [ ] (1년? 영구?)
✅ 회귀 실행 빈도: [ ] (per-commit? daily? weekly?)

Linked Items:
- .gitea/workflows/ (current)
- docker-compose.yml (local setup)
- CI/CD secret 관리
- 테스트 artifact archive
```

### 4️⃣ 호환성 보고 & 승인 정책 (Compatibility Report & Gate)

**결정:** 버전 호환성 결과를 어떻게 보고하고 게이트할 것인가

```
Gate decision needed:
- Build fail on any unsupported version: [ ] (yes/no)
- Test fail on any supported version: [ ] (yes/no)
- Coverage minimum % per version: [ ] (80%? 90%? 100%?)

Questions:
✅ 월간/분기별 호환성 보고: [ ] (format?)
✅ Known issues 등록: [ ] (공식 "Known issues" 리스트?)
✅ 버전별 제외 사항: [ ] (예: v10은 feature X 미지원)
✅ 사용자 공지: [ ] (release notes? changelog?)
✅ 점진적 폐기: [ ] (6개월 경고? 1년?)

Linked Items:
- docs/VERSION_COVERAGE_MATRIX.md (현재)
- CHANGELOG.md (버전별 기능/제외)
- 운영 runbook (버전별 설치/업그레이드)
```

---

## 제출 형식

**승인자는 다음 정보 제공:**

### 1. Version Support Matrix
```
Supported Major Versions:
  .NET: [ ] (list with LTS flags)
  PostgreSQL: [ ] (list)
  Node.js: [ ] (list)
  pnpm: [ ] (list)

End-of-Life Schedule:
  [version]: [ ] (date)
  [version]: [ ] (date)
```

### 2. Cross-Version Test Coverage
```
Build Compatibility:
  All versions: [ ] (Yes/No)
  Minimum version only: [ ] (Yes/No)

Unit/Integration Tests:
  Scope per version: [ ] (all/subset)
  
E2E Testing:
  Included: [ ] (Yes/No)
  Which versions: [ ] (list)
```

### 3. Test Infrastructure & Evidence
```
CI/CD Automation:
  Tool: [ ] (Gitea/GitHub/Jenkins)
  Matrix size: [ ] (N×M)
  
Evidence Retention:
  Storage: [ ] (S3/artifact/db)
  Duration: [ ] (years)
  
Test Frequency:
  Per-commit: [ ] (Yes/No)
  Nightly: [ ] (Yes/No)
  Weekly: [ ] (Yes/No)
```

### 4. Compatibility Gate & Reporting
```
Gate Policy:
  Build fail action: [ ] (block/warn)
  Test fail action: [ ] (block/warn)
  Coverage minimum: [ ] (%)

Reporting:
  Cadence: [ ] (monthly/quarterly)
  Known issues list: [ ] (Yes/No)
  Version exclusions: [ ] (Yes/No)
```

---

## 의존성

- **Blocks:** 크로스 버전 CI/CD 게이트, 사용자 호환성 보장
- **Related:** 모든 버전의 .NET/PostgreSQL/Node.js 생명주기 정책
- **Prerequisite:** DevOps/QA/Architecture 팀 협력

---

**제출 기한:** 2026-08-21 (1주)  
**승인자:** PM Lead, Architecture, DevOps/QA  
**Escalation:** Engineering Director (정책 충돌 시)
