diff --git a/docs/CURRENT/AEG-X-001_VERSION_COVERAGE_DECISION.md b/docs/CURRENT/AEG-X-001_VERSION_COVERAGE_DECISION.md new file mode 100644 index 00000000..5db1bcff --- /dev/null +++ b/docs/CURRENT/AEG-X-001_VERSION_COVERAGE_DECISION.md @@ -0,0 +1,199 @@ +# 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 (정책 충돌 시)