APISIX Issue Process

목표: 이슈 1개를 재현 → 원인 분석 → 테스트 → PR → 리뷰 대응 → 머지까지 안정적으로 처리한다.

핵심 원칙:

  • 한 이슈 = 한 의도
  • 재현 없는 착수 금지
  • 테스트 없는 수정 금지
  • PR은 근거 중심으로 작성

1) 이슈 선택

체크 기준:

  • 로컬에서 재현 가능
  • 영향 범위가 작고 명확함
  • 테스트로 성공/실패 판별 가능

선택 후 성공 조건을 한 줄로 고정:

예: "재현 테스트 1개 추가 + 기존 회귀 없음"


2) 문제 재현

재현 기록 템플릿:

  • 환경/버전:
  • 입력/시나리오:
  • 실제 결과:
  • 기대 결과:

규칙:

  • 30분 내 재현 실패 시 이슈 보류/교체

3) 원인 분석

원인을 1문장으로 정리한다.

예:

  • nil 체크 누락으로 특정 경계값에서 panic 발생
  • 조건 순서 문제로 잘못된 분기 진입

규칙:

  • 원인 문장 없이 수정 시작하지 않음

4) 수정 전략 결정

질문:

  • 최소 수정으로 끝낼 수 있는가?
  • 리팩토링이 필요한가?

원칙:

  • 이슈 해결 PR과 리팩토링 PR은 가능하면 분리

5) 테스트 작성

최소 테스트 세트:

  • 재현 케이스 1개 (필수)
  • 정상 케이스 1개
  • 경계 케이스 1개 (가능하면)

규칙:

  • 테스트 추가 없이 코드만 수정하지 않음

6) 구현 + 로컬 검증

체크리스트:

  • 관련 테스트 통과
  • 린트/기본 테스트 통과
  • 의도하지 않은 변경(diff) 없음

AI 사용 규칙:

  • AI는 초안 생성까지만
  • 최종 판단/검증/문서화는 직접 수행

7) PR 작성

PR 본문 템플릿:

  1. Problem
  2. Root cause
  3. Fix
  4. Tests
  5. Risk / Compatibility

예시:

  • Problem: 특정 조건에서 라우팅 실패
  • Root cause: nil guard 누락
  • Fix: 분기 가드 추가
  • Tests: 재현/정상 케이스 추가
  • Risk: 기존 동작 영향 낮음

8) 리뷰 대응

리뷰 코멘트 대응 규칙:

  1. 이해한 내용 재진술
  2. 수정 반영 또는 반박 근거 제시
  3. 후속 커밋 분리

운영 규칙:

  • 24시간 내 1차 응답
  • 감정 표현보다 근거 중심

9) 머지 후 정리

머지 후 2줄 회고:

  • 이번 이슈에서 배운 점 1줄
  • 다음 이슈에 적용할 룰 1줄

예:

  • 재현 스텝 없는 이슈는 착수하지 않는다
  • PR 리스크 문장 1줄은 필수로 남긴다

10) 빠른 체크리스트 (요약)

  • 재현됨
  • 원인 1문장 정리됨
  • 테스트 추가됨
  • 최소 수정 원칙 지킴
  • PR 본문 5요소 작성됨
  • 리뷰 24시간 내 대응

11) 주간 운영 템플릿 (선택)

  • 월: 이슈 선정 + 재현
  • 화: 원인 분석 + 테스트 초안
  • 수: 구현 + 로컬 검증
  • 목: PR 제출
  • 금: 리뷰 대응

목표:

  • 월 4~6 PR
  • 머지율 70%+
  • 신뢰 자산(리뷰 품질/응답 속도) 축적