# 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 (정책 충돌 시)