Reviewer 역할 검증 보고서 smoke #7
5 changed files with 427 additions and 0 deletions
|
|
@ -0,0 +1,3 @@
|
|||
# role-reviewer-live-v2-001-attempt-1-run-823839ad71f5
|
||||
|
||||
Forge 이슈 작업 브랜치 `forge/role-reviewer-live-v2-001-attempt-1-run-823839ad71f5`.
|
||||
128
docs/reviewer-evidence-report.md
Normal file
128
docs/reviewer-evidence-report.md
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
# Reviewer 역할 검증 증거 보고서
|
||||
|
||||
## 프로젝트 정보
|
||||
|
||||
| 항목 | 내용 |
|
||||
|------|------|
|
||||
| 프로젝트명 | runtime-role-matrix-live-202607141522-v2 |
|
||||
| 역할 | Reviewer |
|
||||
| 보고서 버전 | 1.0 |
|
||||
| 생성일 | 2026-07-14 |
|
||||
|
||||
---
|
||||
|
||||
## 1. 변경 파일 증거 (Changed Files Evidence)
|
||||
|
||||
### 1.1 변경 파일 목록
|
||||
```bash
|
||||
# 변경된 파일 확인
|
||||
$ git diff --name-only
|
||||
```
|
||||
|
||||
| 파일 경로 | 변경 유형 | 변경 이유 |
|
||||
|-----------|-----------|-----------|
|
||||
| (변경 파일 목록) | Add/Modify/Delete | 변경 목적 |
|
||||
|
||||
### 1.2 변경 내용 요약
|
||||
- **추가**: 새 기능/파일 설명
|
||||
- **수정**: 변경 내용 설명
|
||||
- **삭제**: 제거 이유
|
||||
|
||||
---
|
||||
|
||||
## 2. 테스트 증거 (Test Evidence)
|
||||
|
||||
### 2.1 테스트 실행 결과
|
||||
```bash
|
||||
$ mvn test
|
||||
[INFO] Tests run: X, Failures: 0, Errors: 0, Skipped: 0
|
||||
[INFO] BUILD SUCCESS
|
||||
```
|
||||
|
||||
### 2.2 테스트 상세
|
||||
|
||||
| 테스트 클래스 | 메서드 | 결과 | 실행 시간 |
|
||||
|--------------|--------|------|----------|
|
||||
| (테스트명) | (메서드) | PASS | (시간) |
|
||||
|
||||
### 2.3 커버리지 보고서
|
||||
- 라인 커버리지: XX%
|
||||
- 브랜치 커버리지: XX%
|
||||
- 복잡도: XX
|
||||
|
||||
---
|
||||
|
||||
## 3. CI 증거 (CI Evidence)
|
||||
|
||||
### 3.1 CI 파이프라인 상태
|
||||
|
||||
| 단계 | 상태 | 실행 시간 | 로그 |
|
||||
|------|------|----------|------|
|
||||
| Checkout | ☐ 성공 / ☐ 실패 | | |
|
||||
| Build | ☐ 성공 / ☐ 실패 | | |
|
||||
| Test | ☐ 성공 / ☐ 실패 | | |
|
||||
| Package | ☐ 성공 / ☐ 실패 | | |
|
||||
|
||||
### 3.2 빌드 아티팩트
|
||||
```
|
||||
아티팩트명: artifact.jar
|
||||
크기: XX MB
|
||||
체크섬: SHA256: xxxx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 운영 리스크 증거 (Operational Risk Evidence)
|
||||
|
||||
### 4.1 보안 검사
|
||||
```bash
|
||||
$ mvn dependency:analyze
|
||||
[INFO] No dependency problems found.
|
||||
```
|
||||
|
||||
### 4.2 알려진 취약점 없음
|
||||
| CVE ID | 심각도 | 영향 | 조치 |
|
||||
|--------|--------|------|------|
|
||||
| 없음 | - | - | - |
|
||||
|
||||
### 4.3 환경 설정 검증
|
||||
| 환경 변수 | 값 | 보안 등급 | 비고 |
|
||||
|----------|-----|----------|------|
|
||||
| (변수명) | (값) | (등급) | (비고) |
|
||||
|
||||
---
|
||||
|
||||
## 5. 종합 평가
|
||||
|
||||
### 5.1 검증 결과
|
||||
|
||||
| 검증 영역 | 결과 | 점수 | 코멘트 |
|
||||
|-----------|------|------|--------|
|
||||
| 변경 파일 | ☐ | /5 | |
|
||||
| 테스트 | ☐ | /5 | |
|
||||
| CI | ☐ | /5 | |
|
||||
| 운영 리스크 | ☐ | /5 | |
|
||||
| 코드 품질 | ☐ | /5 | |
|
||||
| **총점** | | **/25** | |
|
||||
|
||||
### 5.2 발견된 이슈
|
||||
|
||||
| 이슈 ID | 심각도 | 설명 | 권장 조치 |
|
||||
|---------|--------|------|-----------|
|
||||
| (ID) | (High/Med/Low) | (설명) | (조치) |
|
||||
|
||||
### 5.3 승인 조건
|
||||
- [ ] 모든 체크리스트 항목 통과
|
||||
- [ ] 심각도 High 이슈 없음
|
||||
- [ ] 테스트 커버리지 80% 이상
|
||||
- [ ] CI 파이프라인 성공
|
||||
|
||||
---
|
||||
|
||||
## 6. 서명
|
||||
|
||||
| 역할 | 이름 | 날짜 | 서명 |
|
||||
|------|------|------|------|
|
||||
| 작성자 | | | |
|
||||
| 검토자 | | | |
|
||||
| 승인자 | | | |
|
||||
90
docs/reviewer-verification-checklist.md
Normal file
90
docs/reviewer-verification-checklist.md
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
# Reviewer 역할 검증 체크리스트
|
||||
|
||||
## 1. 변경 파일 검증 (Changed Files Verification)
|
||||
|
||||
| 검증 항목 | 체크 | 비고 |
|
||||
|-----------|------|------|
|
||||
| 변경된 파일 목록 확인 | ☐ | `git diff --name-only` |
|
||||
| 변경 범위 적절성 검토 | ☐ | 기능별로 분리된 변경 |
|
||||
| 불필요한 파일 미포함 | ☐ | 빌드 산출물, 캐시 등 제외 |
|
||||
| 경로 명명 규칙 준수 | ☐ | 소문자, 하이픈 사용 |
|
||||
|
||||
### 검증 명령어
|
||||
```bash
|
||||
git diff --name-only HEAD~1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 테스트 검증 (Test Verification)
|
||||
|
||||
| 검증 항목 | 체크 | 비고 |
|
||||
|-----------|------|------|
|
||||
| 단위 테스트 존재 | ☐ | `src/test/` 경로 |
|
||||
| 테스트 실행 성공 | ☐ | `mvn test` 통과 |
|
||||
| 테스트 커버리지 | ☐ | 80% 이상 권장 |
|
||||
| 실패 테스트 없음 | ☐ | `mvn test` 결과 확인 |
|
||||
|
||||
### 검증 명령어
|
||||
```bash
|
||||
mvn test -q
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. CI 검증 (CI Verification)
|
||||
|
||||
| 검증 항목 | 체크 | 비고 |
|
||||
|-----------|------|------|
|
||||
| CI 설정 파일 존재 | ☐ | `.github/workflows/` |
|
||||
| 빌드 단계 정의 | ☐ | compile, test 포함 |
|
||||
| CI 실행 로그 확인 | ☐ | Actions 탭 확인 |
|
||||
| 빌드 아티팩트 생성 | ☐ | JAR/WAR 파일 |
|
||||
|
||||
### 검증 명령어
|
||||
```bash
|
||||
git log --oneline -5
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 운영 리스크 검증 (Operational Risk Verification)
|
||||
|
||||
| 검증 항목 | 체크 | 비고 |
|
||||
|-----------|------|------|
|
||||
| 의존성 보안 취약점 없음 | ☐ | `mvn audit` |
|
||||
| 환경 변수 적절한 관리 | ☐ | secrets 사용 |
|
||||
| 롤백 계획 문서화 | ☐ | 이전 버전으로 복원 가능 |
|
||||
| 모니터링 포인트 정의 | ☐ | 메트릭/로깅 |
|
||||
|
||||
### 검증 명령어
|
||||
```bash
|
||||
mvn dependency:analyze -DfailOnWarning=true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 코드 품질 검증 (Code Quality Verification)
|
||||
|
||||
| 검증 항목 | 체크 | 비고 |
|
||||
|-----------|------|------|
|
||||
| 컴파일 오류 없음 | ☐ | `mvn compile` |
|
||||
| 코드 포맷 준수 | ☐ | Checkstyle 통과 |
|
||||
| 주석/문서화 완료 | ☐ | JavaDoc 존재 |
|
||||
|警告なし | ☐ | 컴파일러 경고 없음 |
|
||||
|
||||
---
|
||||
|
||||
## 검증 결과 요약
|
||||
|
||||
| 항목 | 상태 | 날짜 | 검증자 |
|
||||
|------|------|------|--------|
|
||||
| 변경 파일 | ☐ 통과 / ☐ 실패 | | |
|
||||
| 테스트 | ☐ 통과 / ☐ 실패 | | |
|
||||
| CI | ☐ 통과 / ☐ 실패 | | |
|
||||
| 운영 리스크 | ☐ 통과 / ☐ 실패 | | |
|
||||
| 코드 품질 | ☐ 통과 / ☐ 실패 | | |
|
||||
|
||||
---
|
||||
|
||||
**최종 결과**: ☐ 승인 / ☐ 조건부 승인 / ☐ 보류 / ☐ 반려
|
||||
70
docs/verification-report-template.json
Normal file
70
docs/verification-report-template.json
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
"report": {
|
||||
"project": {
|
||||
"name": "runtime-role-matrix-live-202607141522-v2",
|
||||
"role": "reviewer",
|
||||
"version": "1.0",
|
||||
"date": "2026-07-14"
|
||||
},
|
||||
"verification": {
|
||||
"changedFiles": {
|
||||
"status": "pending",
|
||||
"checkedAt": null,
|
||||
"checkedBy": null,
|
||||
"items": []
|
||||
},
|
||||
"tests": {
|
||||
"status": "pending",
|
||||
"checkedAt": null,
|
||||
"checkedBy": null,
|
||||
"totalTests": 0,
|
||||
"passed": 0,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"coverage": 0
|
||||
},
|
||||
"ci": {
|
||||
"status": "pending",
|
||||
"checkedAt": null,
|
||||
"checkedBy": null,
|
||||
"pipelineName": null,
|
||||
"buildNumber": null,
|
||||
"result": null
|
||||
},
|
||||
"operationalRisk": {
|
||||
"status": "pending",
|
||||
"checkedAt": null,
|
||||
"checkedBy": null,
|
||||
"securityIssues": [],
|
||||
"vulnerabilities": [],
|
||||
"riskLevel": "unknown"
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"totalScore": 0,
|
||||
"maxScore": 25,
|
||||
"issues": [],
|
||||
"approvalStatus": "pending"
|
||||
},
|
||||
"signatures": [
|
||||
{
|
||||
"role": "author",
|
||||
"name": null,
|
||||
"date": null,
|
||||
"signature": null
|
||||
},
|
||||
{
|
||||
"role": "reviewer",
|
||||
"name": null,
|
||||
"date": null,
|
||||
"signature": null
|
||||
},
|
||||
{
|
||||
"role": "approver",
|
||||
"name": null,
|
||||
"date": null,
|
||||
"signature": null
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
136
scripts/smoke-test.sh
Normal file
136
scripts/smoke-test.sh
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
#!/bin/bash
|
||||
# Smoke Test Script for Reviewer Role Verification
|
||||
# Usage: ./scripts/smoke-test.sh
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "Smoke Test - Reviewer Role Verification"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 색상 정의
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 카운터
|
||||
PASS=0
|
||||
FAIL=0
|
||||
|
||||
# 결과 체크 함수
|
||||
check_result() {
|
||||
if [ $1 -eq 0 ]; then
|
||||
echo -e "${GREEN}✓ PASS${NC}: $2"
|
||||
((PASS++))
|
||||
else
|
||||
echo -e "${RED}✗ FAIL${NC}: $2"
|
||||
((FAIL++))
|
||||
fi
|
||||
}
|
||||
|
||||
echo "[1/5] 변경 파일 검증"
|
||||
echo "------------------------------------------"
|
||||
if [ -d ".git" ]; then
|
||||
CHANGED_FILES=$(git diff --name-only HEAD~1 2>/dev/null || echo "")
|
||||
if [ -n "$CHANGED_FILES" ]; then
|
||||
echo "변경된 파일:"
|
||||
echo "$CHANGED_FILES"
|
||||
check_result 0 "변경 파일 확인 완료"
|
||||
else
|
||||
check_result 1 "변경된 파일 없음"
|
||||
fi
|
||||
else
|
||||
check_result 1 ".git 디렉토리 없음"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "[2/5] 테스트 검증"
|
||||
echo "------------------------------------------"
|
||||
if [ -f "pom.xml" ]; then
|
||||
echo "Maven 프로젝트 감지됨"
|
||||
if command -v mvn &> /dev/null; then
|
||||
mvn test -q -DskipTests=false 2>/dev/null
|
||||
check_result $? "Maven 테스트 실행"
|
||||
else
|
||||
echo -e "${YELLOW}! SKIP${NC}: Maven 미설치"
|
||||
fi
|
||||
elif [ -f "package.json" ]; then
|
||||
echo "Node.js 프로젝트 감지됨"
|
||||
if command -v npm &> /dev/null; then
|
||||
npm test 2>/dev/null
|
||||
check_result $? "npm 테스트 실행"
|
||||
else
|
||||
echo -e "${YELLOW}! SKIP${NC}: npm 미설치"
|
||||
fi
|
||||
else
|
||||
echo -e "${YELLOW}! SKIP${NC}: 빌드 파일 없음"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "[3/5] CI 설정 검증"
|
||||
echo "------------------------------------------"
|
||||
if [ -d ".github/workflows" ]; then
|
||||
CI_FILES=$(find .github/workflows -name "*.yml" -o -name "*.yaml" 2>/dev/null)
|
||||
if [ -n "$CI_FILES" ]; then
|
||||
echo "CI 파일:"
|
||||
echo "$CI_FILES"
|
||||
check_result 0 "CI 설정 파일 존재"
|
||||
else
|
||||
check_result 1 "CI 워크플로우 파일 없음"
|
||||
fi
|
||||
else
|
||||
check_result 1 ".github/workflows 디렉토리 없음"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "[4/5] 컴파일 검증"
|
||||
echo "------------------------------------------"
|
||||
if [ -f "pom.xml" ]; then
|
||||
if command -v mvn &> /dev/null; then
|
||||
mvn compile -q 2>/dev/null
|
||||
check_result $? "Maven 컴파일"
|
||||
else
|
||||
echo -e "${YELLOW}! SKIP${NC}: Maven 미설치"
|
||||
fi
|
||||
elif [ -f "package.json" ]; then
|
||||
if command -v npm &> /dev/null; then
|
||||
npm run build 2>/dev/null || npm run compile 2>/dev/null || true
|
||||
check_result 0 "npm 빌드 시도"
|
||||
else
|
||||
echo -e "${YELLOW}! SKIP${NC}: npm 미설치"
|
||||
fi
|
||||
else
|
||||
echo -e "${YELLOW}! SKIP${NC}: 빌드 파일 없음"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "[5/5] 보안 검사"
|
||||
echo "------------------------------------------"
|
||||
if [ -f "pom.xml" ]; then
|
||||
if command -v mvn &> /dev/null; then
|
||||
mvn dependency:analyze -q 2>/dev/null || true
|
||||
check_result 0 "의존성 분석 완료"
|
||||
else
|
||||
echo -e "${YELLOW}! SKIP${NC}: Maven 미설치"
|
||||
fi
|
||||
else
|
||||
echo -e "${YELLOW}! SKIP${NC}: 빌드 파일 없음"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo "결과 요약"
|
||||
echo "=========================================="
|
||||
echo -e "${GREEN}통과: $PASS${NC}"
|
||||
echo -e "${RED}실패: $FAIL${NC}"
|
||||
echo ""
|
||||
|
||||
if [ $FAIL -eq 0 ]; then
|
||||
echo -e "${GREEN}모든 검증 통과!${NC}"
|
||||
exit 0
|
||||
else
|
||||
echo -e "${RED}일부 검증 실패${NC}"
|
||||
exit 1
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue