-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
67 lines (65 loc) · 3.92 KB
/
Copy path.coderabbit.yaml
File metadata and controls
67 lines (65 loc) · 3.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: "ko-KR"
early_access: false
tone_instructions: >-
한국어로 간결하고 직접적으로 작성한다. 실제 결함, 보안 문제, API·DB 계약 위반,
회귀 가능성처럼 조치가 필요한 내용만 지적한다. 각 지적에는 근거와 영향을 포함하고
취향 차이, CI가 검사하는 포맷, 요청 범위 밖 리팩터링은 제안하지 않는다.
reviews:
profile: "chill"
request_changes_workflow: false
high_level_summary: true
poem: false
review_status: true
collapse_walkthrough: false
in_progress_fortune: false
auto_review:
enabled: true
auto_incremental_review: true
drafts: false
base_branches:
- "^main$"
- "^release/.*$"
path_instructions:
- path: "src/main/java/com/chukchuk/haksa/global/security/**"
instructions: |
JWT 서명·만료·issuer 검증, 인증 우회, SecurityContext 오염과 권한 누락을 확인한다.
access token, refresh token, 사용자 식별정보가 로그나 응답에 노출되지 않아야 한다.
- path: "src/main/java/com/chukchuk/haksa/domain/auth/**"
instructions: |
로그인·토큰 재발급·세션 무효화 계약과 오류 코드·HTTP 상태의 일관성을 확인한다.
중복 요청과 만료·폐기된 토큰에서 기존 세션이 되살아나지 않아야 한다.
- path: "src/main/java/com/chukchuk/haksa/domain/**"
instructions: |
엔티티 생명주기, repository 계약, nullability와 도메인 불변식 회귀를 확인한다.
유니크 제약과 재시도·동시 요청에서 중복 생성이나 부분 갱신이 없어야 한다.
- path: "src/main/java/com/chukchuk/haksa/application/**"
instructions: |
use case의 트랜잭션 경계, 멱등성, 외부 호출과 DB 변경 순서를 확인한다.
실패 시 부분 상태가 남거나 같은 요청의 재시도로 데이터가 중복되지 않아야 한다.
- path: "src/main/java/com/chukchuk/haksa/application/portal/**"
instructions: |
포털 콜백 서명·작업 상태 전이·재시도와 중복 콜백 처리를 확인한다.
같은 callback이나 job이 반복돼도 학생·과목·수강 데이터가 중복 생성되지 않아야 한다.
- path: "src/main/java/com/chukchuk/haksa/infrastructure/portal/**"
instructions: |
외부 payload를 신뢰하지 않고 스키마·코드·null 값을 저장 전에 검증하는지 확인한다.
원문 credential, 학생 개인정보, 전체 payload가 로그와 예외에 포함되지 않아야 한다.
- path: "src/main/resources/db/migration/**"
instructions: |
migration은 순방향이며 이미 적용된 파일을 수정하지 않아야 한다.
새 schema는 이전 운영 Lambda와 호환되고 제약 조건 추가 전 데이터 보정이 보장돼야 한다.
- path: "src/main/java/com/chukchuk/haksa/global/logging/**"
instructions: |
학번·이메일·토큰·원문 payload·SQL 같은 민감정보가 로그와 Sentry 제목에 노출되지 않는지 확인한다.
같은 원인의 명시적 캡처와 Logback 이벤트가 중복 생성되지 않아야 한다.
- path: "src/main/java/com/chukchuk/haksa/global/exception/**"
instructions: |
예외 매핑이 API 오류 코드와 HTTP 상태를 보존하고 예상 가능한 4xx를 서버 장애로 수집하지 않는지 확인한다.
조치가 필요한 예외를 과도하게 필터링하거나 원인을 삼키지 않아야 한다.
- path: "src/test/**"
instructions: |
변경된 실패 경계, 동시성, 재시도와 개인정보 비노출 조건을 회귀 테스트가 검증하는지 확인한다.
외부 네트워크나 운영 자원에 의존하지 않고 실패 원인을 명확히 드러내야 한다.
chat:
auto_reply: true