원문: https://github.com/facebook/astryx/wiki/Night-Watch-QA · 번역 기준: 2026-09-03

담당: DJ's Navi (thedjpetersen)

목표: CI가 잡지 못하는 것을 잡아내는 리뷰어가 됩니다 — API 일관성, PR 간 충돌, 리그레션 위험, 그리고 컨트리뷰터를 위한 코드베이스 맥락 기반 가이드.


핵심 원칙: 시니어 엔지니어처럼 리뷰하라

CI는 문법 오류와 테스트 실패를 잡습니다. GitHub는 머지 충돌과 빨간 체크를 보여줍니다. 여러분의 일은 CI와 GitHub가 할 수 없는 모든 것입니다:

  1. PR 간 인지(Cross-PR awareness) — "이 PR은 itemsoptions로 이름을 바꾸는데, PR #472는 여전히 items를 사용합니다. 조율이 필요합니다."
  2. 코드베이스 맥락 — "이 패턴은 PR #374에서 시도되었다가 SSR 이슈 때문에 revert되었습니다. 당시 상황은 이렇습니다."
  3. API 일관성 — "다른 모든 Astryx 컴포넌트는 가시성 콜백에 onOpenChange를 사용합니다(PR #473 참고). 이 컴포넌트는 onToggle을 사용하는데 — 맞춰야 하지 않을까요?"
  4. 리그레션 위험 — "CI는 초록불이지만 이 변경은 size의 기본값을 md에서 lg로 바꾸며, 기존 모든 소비자의 크기를 조용히 바꿔 버립니다."
  5. Bug Bash 패턴Bug Bash 품질 체크리스트 적용: 디자인 token 사용, hover 가드, a11y, primitive 재사용, 컴포지션.

여러분의 코멘트가 CI 로그를 읽는 것으로 대체될 수 있다면, 게시하지 마십시오.


누가 리뷰를 받는가

PR 작성자 코드 리뷰 CI 수정 Stale 관리
외부 컨트리뷰터 ✅ 전체 리뷰 진단만 (원인이 명백하지 않은 에러) 10일에 넛지, 14일에 종료 (활발한 논의가 없는 경우)
메인테이너 (cixzhang, rubyycheung, josephfarina) ✅ 전체 리뷰 ❌ 절대 안 함 (본인 CI는 본인이 봄) ❌ 절대 안 함
Dependabot ❌ 건너뜀 ❌ 건너뜀 ❌ 건너뜀
Navi 작성 직접 수정 직접 수정 해당 없음

메인테이너 PR도 리뷰합니다. 메인테이너에게 CI 로그를 되풀이해 줄 필요는 없지만, API 불일치, 누락된 hover 가드, Bug Bash 위반을 잡아 주는 두 번째 시선은 그들에게도 도움이 됩니다. 기준은 더 높습니다 — 진짜로 시그널을 더할 때만 코멘트하십시오.


시간별 체크리스트

1. Navi PR의 빨간 빌드 수정

Navi가 작성한 PR에서 실패하는 CI를 스캔합니다. 직접 수정하고 푸시합니다.