Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 02:35
· 117 commits to develop since this release
eae1708

릴리즈 요약

SIFT의 첫 프로덕션 릴리즈입니다. GitHub 저장소를 분석해 설명할 가치가 있는 개발 경험을 추려내고, 실제 커밋과 코드를 근거로 AI가 질문하는 인터뷰까지 핵심 흐름 전체가 처음으로 프로덕션에 올라갑니다. 인터뷰 결과는 서버에 저장되어 로그아웃 후에도 이어서 진행할 수 있습니다.

주요 변경사항

GitHub 로그인과 저장소 선택

  • GitHub OAuth로 로그인합니다. 토큰을 직접 입력하지 않고, 브라우저 JavaScript가 GitHub 토큰을 다루지 않습니다.
  • 로그인하면 본인 저장소 목록에서 분석할 저장소를 골라 시작합니다. 목록 검색과 빈 목록·오류 상태를 함께 제공합니다.
  • 저장소만으로 드러나지 않는 본인 기여 항목을 선택적으로 적어 분석에 반영할 수 있습니다.

저장소 분석과 기여 이력 수집

  • 기본 브랜치의 커밋을 본인 작성 기준으로 모으고, 설명 가치가 낮은 커밋을 걸러 상세 조회 대상을 선별합니다.
  • 선별한 항목의 변경 내용과 Pull Request 소속, 저장소 파일 구성과 언어 통계를 함께 수집합니다.
  • 분석 진행 상황을 단계별 체크리스트로 보여 주고, 빈 저장소와 본인 커밋이 없는 경우를 구분해 안내합니다.
  • GitHub 요청이 전송 단계에서 끊기면 한 번 다시 시도해, 요청 하나의 실패로 분석 전체가 무너지지 않게 했습니다.

경험 후보 생성

  • 수집한 이력을 Pull Request 묶음과 단일 커밋 단위로 판단해 최대 다섯 개의 경험 후보를 만듭니다.
  • 후보마다 근거가 된 커밋과 변경 파일, 관련 Pull Request를 함께 제시합니다. 저장소로 확인할 수 있는 항목과 확인할 수 없는 항목을 구분해 표시합니다.
  • 후보마다 한 줄 요약과 기술 토픽을 제공합니다.
  • 판단에서 제외된 항목과 모델이 판단하지 못한 항목을 화면에 드러내, 결과가 왜 그만큼인지 알 수 있게 했습니다.

코드 근거 확인과 경험 선택

  • 후보 목록과 상세를 좌우로 나눠, 목록에서 고르면 오른쪽에 근거가 바로 펼쳐집니다.
  • 상세 화면은 대표 커밋의 변경 파일 목록과 코드 변경 내용을 보여 주고, 내용이 잘리거나 없을 때 그 사실을 숨기지 않습니다.
  • 인터뷰할 경험을 하나 확정하면 그 경험의 근거가 인터뷰로 그대로 전달됩니다.

AI 인터뷰

  • 확정한 경험의 실제 코드와 커밋을 근거로 첫 질문을 만들고, 답변에 이어지는 꼬리 질문을 계속 생성합니다.
  • 질문은 생성되는 대로 스트리밍으로 표시됩니다.
  • 인터뷰 화면은 왼쪽 코드 근거, 가운데 대화, 오른쪽 경험 블록의 3열입니다. 코드 근거 패널에서 파일 트리와 변경 내용을 직접 열어볼 수 있습니다.
  • 답변마다 PAAR 경험 블록이 갱신되고, 문장마다 어떤 커밋과 파일에서 나왔는지 표시됩니다. 근거에 없는 커밋이나 파일을 인용한 문장은 반영하지 않습니다.
  • 열 번의 질문이 지나면 인터뷰가 끝나며, 사용자가 직접 끝낼 수도 있습니다. 끝내기 전에 무엇이 사라지는지 먼저 알립니다. 끝난 뒤에는 경험 블록 문장을 직접 고칠 수 있습니다.

저장과 이어가기

  • 인터뷰 대화와 경험 블록을 서버에 저장합니다. 로그아웃한 뒤 다시 들어와도 사이드바 목록에서 골라 이어갈 수 있습니다.
  • 분석 결과도 저장되어, 같은 저장소로 다시 들어오면 후보 생성을 다시 돌리지 않고 저장본으로 화면을 그립니다.
  • 비공개 저장소의 코드가 서버에 저장된다는 사실과 자동 삭제까지 남은 기간을 화면에서 알립니다. 90일 동안 열지 않은 인터뷰는 하루 한 번 자동으로 정리됩니다.

화면 디자인과 한국어 문구

  • 색·타이포그래피·라운드를 디자인 토큰으로 정리하고 모든 화면이 공유하는 셸과 사이드바를 도입했습니다.
  • 로그인, 저장소 선택, 분석 진행, 경험 후보, 인터뷰까지 전 화면을 디자인 기준으로 개편했습니다.
  • 화면 문구를 한국어로 옮겼습니다. 개발자용 메타데이터와 저장소 원본값은 영어로 남습니다.

운영과 계측

  • Sentry로 브라우저 성능 지표와 클라이언트 오류를 수집합니다.
  • GA4로 저장소 입력부터 인터뷰까지의 퍼널 이벤트를 계측합니다.
  • 네 경로(후보 1차 선별, 최종 판단, 첫 질문, 꼬리 질문)의 LLM 모델을 실측으로 확정했습니다. 환경변수를 설정하면 로컬 모델로 전환할 수 있습니다.

내부 개선

  • 릴리즈 PR 작성과 배포 후 태그·GitHub Release 생성을 자동화했습니다. 이 릴리즈부터 적용됩니다.
  • 커밋 메시지와 이슈 제목 규칙, 작업 경위를 문서로 남겼습니다.

포함된 Pull Request

  • #7 커밋 메타데이터 기반 블랙리스트 필터 구현
  • #8 기여 항목 상세 조회 및 PR 소속 정보 수집
  • #10 개발 경험 후보 데이터 출력 인터페이스 정의
  • #11 Repository 조회 및 분석 상태 처리
  • #23 본인 기여 항목 입력 필드 추가
  • #24 경험 후보 출력 스키마 정의
  • #25 인증 경계와 PAT 세션 쿠키
  • #26 작성자 기준 커밋 필터
  • #28 커밋 메시지 명사형 종결 규칙 명문화
  • #33 Wave 0 머지 후 기여 항목 테스트 실패 정정
  • #35 Wave 0 문서 감사 기록 누락 보완
  • #37 Stage A 메시지·stat 기반 1차 선별
  • #38 Issue 제목 라벨 슬러그 규칙 명문화
  • #39 GitHub 조회 route handler 이관
  • #40 Stage B diff·PR 기반 최종 판단
  • #41 Wave 2 Stage B 오케스트레이션 경과와 워크트리 운영 절차 기록
  • #42 후보 생성 Loading·Empty·Error 상태 연결
  • #43 실데이터 검증과 배치·상한 확정
  • #48 경험 후보 목록 근거 요약 표시
  • #50 경험 후보 상세 근거 화면
  • #51 Stage A 입력 청크 분할과 병합 판단
  • #52 Repository 확인 가능·불가 구분 표시
  • #56 선택 경험 근거 스냅샷 계약
  • #57 경험 선택 확정 상태와 인터뷰 진입점
  • #61 질문 스트리밍 전송과 표시 기반
  • #62 경험 판단 단위 PR 묶음 전환과 점수 선별
  • #65 인터뷰 화면 본체와 근거 패널
  • #67 근거 스냅샷 기반 첫 질문 생성과 스트림 배선
  • #68 환경변수로 Stage A·B LLM 제공자 로컬 전환
  • #73 GitHub OAuth 로그인 전환
  • #74 유료 등급 기준 4개 경로 LLM 모델 재선정
  • #80 사용자 답변과 대화 이력으로 다음 질문 생성
  • #82 인터뷰 답변 입력과 질문·답변 대화 누적 표시
  • #83 Sentry 도입
  • #84 인터뷰 종료와 이력이 잘릴 때의 안내
  • #85 꼬리 질문 모델 확정과 캐싱 조건 확인
  • #99 디자인 토큰과 공통 셸 도입
  • #100 GitHub 로그인 진입 화면과 인증 상태
  • #102 Repository 목록 조회와 선택 화면
  • #104 블록 계약과 갱신 경로
  • #105 Repository 분석 진행 화면 개편
  • #106 PR 없는 커밋을 단일 커밋 판단 단위로 Stage A에 투입
  • #109 Stage A 판단 단위 식별자 형식 불일치로 인한 후보 생성 실패
  • #111 경험 후보 master-detail 화면 개편
  • #112 Stage B 최종 후보 개수 상한 제거와 출력 계약 재정의
  • #117 턴 진행과 블록 전환, 열 턴 자동 종료
  • #118 경험 후보 요약 문장과 기술 토픽
  • #119 Neon Postgres 도입과 세션 사용자 식별자
  • #120 인터뷰 3열 워크스페이스와 코드 근거 패널
  • #121 블록 패널 화면과 종료 후 편집
  • #123 GitHub 요청 전송 실패 1회 재시도
  • #127 인터뷰 저장과 이어가기
  • #129 GA4 설정 및 퍼널 이벤트 추가
  • #130 분석 결과 저장과 90일 자동 정리
  • #131 화면 문구 한국어 전환
  • #133 초기 프로덕션 배포와 릴리즈 자동화 도입