개발 로그
완료 작업 타임라인
팀 칸반에서 done 처리된 카드와 개발기 포스트가 날짜 기준으로 자동 집계됩니다 — 카드는 클릭하면 상세 요약이 펼쳐지고, 포스트는 본문으로 이동합니다.
2026-09-28
진수택최종 정리운영 점검 · 문서 최종판 갱신 — 심사 기간 실사용 요약 · 인계 문서·팀 지킬 표기 정정자세히 ▾코드는 동결 그대로 — 운영 상태 확인과 문서 표기 통일만
클라우드 운영(t3.large · 컨테이너 5개 api·db·caddy·n8n·lie-detection) 전부 정상 가동 확인 · GitHub Actions CI·외부 헬스체크·무결성 앵커 09-18 이후 전부 성공.
심사 기간 실사용(운영 DB 읽기 전용 조회, 개인정보 제외) — 아르 누적 62턴 · 누적 비용 $0.72 · 무관 질문 거절 · 프롬프트 인젝션 시도 2회 모두 요구 문구는 따르지 않음 · 단계 변경 6건 · 메일 13건 전부 발송.
인계 문서 7종을 최종판으로 교체하고, 팀 지킬의 STT 경로·인스턴스·일정 표기를 실제 운영값으로 정정.
심사 기간 실사용(운영 DB 읽기 전용 조회, 개인정보 제외) — 아르 누적 62턴 · 누적 비용 $0.72 · 무관 질문 거절 · 프롬프트 인젝션 시도 2회 모두 요구 문구는 따르지 않음 · 단계 변경 6건 · 메일 13건 전부 발송.
인계 문서 7종을 최종판으로 교체하고, 팀 지킬의 STT 경로·인스턴스·일정 표기를 실제 운영값으로 정정.
2026-09-22
진수택최종 정리Qwen vs Claude 정량·품질 비교 보고서 · 정리 서류 13종 클라우드 기준 최종 갱신자세히 ▾해커톤 제출 코드는 프리즈 — 문서·시각화만 · 팀 지킬 최종 반영
같은 자(judge.py · 동일 23건)로 학습 전 Qwen 26.1% → Claude Haiku 69.6% → Qwen v9 73.9% 를 차트로 정리하고, pass/fail 너머의 품질 4축을 분해했다 — 판정 항목별(학습 전 Qwen 약점은 도구 이름 일치 26% 한 축뿐 · 위반 없음 100%) · 질문 유형별(Claude write 0/5 는 단일턴 채점 한계) · 실패의 질(셋 다 위험한 실패 0건) · 요약 어댑터 정성 품질(경력 연수 오차·예시 베끼기).
비용($0.0139/eval건 · $0.0075/실사용 · Qwen $0+GPU $0.647/h 서울 — 초판 $0.71 은 도쿄 가격 오기)·지연(콜드 78초)·STT 무음 hallucination 까지 한 문서로 · 해석 주의(채점기 편향·23건 표본 → "동급"이 정직한 표현) 명시. HTML + PDF.
바탕화면 정리 서류 13종 본문을 클라우드 기준으로 재작성(온프레미스 확정·미의존 결론 0건), 크레덴셜·전화번호 제거. 프로젝트 소개 슬라이드(html·png·jpg) · 09-18 멘토링 피드백 지킬 기록.
비용($0.0139/eval건 · $0.0075/실사용 · Qwen $0+GPU $0.647/h 서울 — 초판 $0.71 은 도쿄 가격 오기)·지연(콜드 78초)·STT 무음 hallucination 까지 한 문서로 · 해석 주의(채점기 편향·23건 표본 → "동급"이 정직한 표현) 명시. HTML + PDF.
바탕화면 정리 서류 13종 본문을 클라우드 기준으로 재작성(온프레미스 확정·미의존 결론 0건), 크레덴셜·전화번호 제거. 프로젝트 소개 슬라이드(html·png·jpg) · 09-18 멘토링 피드백 지킬 기록.
2026-09-20
진수택마일스톤해커톤 과제 제출 · 코드 동결 — main 마지막 커밋 8071fd9자세히 ▾09-18 마지막 반영 뒤 커밋·PR 0건 · 심사는 seuk.suvisdev.cloud(클라우드 + Claude)
09-18 커밋 8071fd9(로그아웃 계정 메뉴)를 끝으로 코드를 동결하고 09-20 해커톤 과제를 제출했다. 동결 이후 배포 없음 · 열린 PR #311(AI 추정 표식 유지)은 미머지로 남김.
심사위원 데모 — 로그인 화면 「담당자 데모」·「지원자 데모」 버튼. 담당자 데모 계정은 비밀번호·권한·메일 템플릿 변경 잠금, 지원자 데모는 로그인마다 인적성·면접일정·AI 면접 초기화.
심사위원 데모 — 로그인 화면 「담당자 데모」·「지원자 데모」 버튼. 담당자 데모 계정은 비밀번호·권한·메일 템플릿 변경 잠금, 지원자 데모는 로그인마다 인적성·면접일정·AI 면접 초기화.
2026-09-18
이우정docs 09-17~18문서 정비 — 깨진 링크 35개 · 옛 코드 경로 11곳 · ERD v2.8 · STT_BACKEND 빈 값 해석 4곳자세히 ▾
09-12 폴더 재편으로 옮겨진 파일을 따라가 깨진 링크 35개 수정 · 기준 문서에 남은 옛 코드 경로 11곳 · #309 뒤 틀린 AI 면접 문구. ERD·API 문서에 빠져 있던 것 채워 ERD v2.8.
STT_BACKEND 빈 값을 두 컨테이너가 다르게 읽는다는 것을 4곳에 적음 + ai/ ruff F 5건.
STT_BACKEND 빈 값을 두 컨테이너가 다르게 읽는다는 것을 4곳에 적음 + ai/ ruff F 5건.
이우정PR#354 외 09-18면접 링크를 지원자에게 메일로 · 회사명 DB 값 통일 · 로그인 소개 영상 안내 팝업 · PC 카메라 박스 fix자세히 ▾
면접 링크를 인적성 설문과 같은 방식으로 지원자에게 메일 발송. 면접 링크 메일·설문 메일·보낸 사람 이름의 회사명을 DB 값으로 통일(#323 후속).
로그인 화면에 「시작 전 소개 영상 시청」 안내 팝업 · PC 에서 AI 면접 카메라가 얼굴만 확대돼 보이던 것 수정(도메인 밖 편집 · 공지).
로그인 화면에 「시작 전 소개 영상 시청」 안내 팝업 · PC 에서 AI 면접 카메라가 얼굴만 확대돼 보이던 것 수정(도메인 밖 편집 · 공지).
김민아09-18 front로그아웃을 우측 상단 계정 메뉴로(담당자 웹) · 지원자 「내 정보」 비밀번호 칸 오표시 수정자세히 ▾
담당자 웹만 로그아웃 진입점이 예외적으로 달랐던 것을 우측 상단 계정 메뉴로 통일. 지원자 내 정보의 비밀번호 칸이 실제와 다른 값을 보여주던 것 수정.
진수택결정 · 종합보고클라우드 전환 확정 · 온프레미스 폐쇄 — 심사 서빙 = AWS + Anthropic Claude자세히 ▾3대 PC 온프레미스를 구축했다가 심사 직전 폐쇄 · 이유와 오류 기록을 종합보고로
09-16~18 학원 PC 3대(Cloudflare Tunnel · Ollama 어댑터 3갈래 · MinIO) 로 온프레미스를 실제 구축·운영했다.
그러나 로컬 sLLM 의 다단계 도구호출 불안정(create_application 이 list_postings 를 건너뛰고 id 추측) · 브라우저↔내부 MinIO 불가 · 소형모델 특유 오류(프롬프트 예시 숫자 베끼기 → 전원 64~65점 수렴, JSON 따옴표 깨짐, 면접 중 컨테이너 재기동으로 답변 소실) 가 심사 직전에 누적됐다.
심사는 검증된 AWS 스택(Claude 안정 도구호출 · 실 S3)으로 확정. 온프레 코드·어댑터·GPU 이미지는 자산으로 보존, 구축·오류·폐쇄 경위를 종합보고 문서로 남겼다.
그러나 로컬 sLLM 의 다단계 도구호출 불안정(create_application 이 list_postings 를 건너뛰고 id 추측) · 브라우저↔내부 MinIO 불가 · 소형모델 특유 오류(프롬프트 예시 숫자 베끼기 → 전원 64~65점 수렴, JSON 따옴표 깨짐, 면접 중 컨테이너 재기동으로 답변 소실) 가 심사 직전에 누적됐다.
심사는 검증된 AWS 스택(Claude 안정 도구호출 · 실 S3)으로 확정. 온프레 코드·어댑터·GPU 이미지는 자산으로 보존, 구축·오류·폐쇄 경위를 종합보고 문서로 남겼다.
진수택PR#349 #351자료 부족 지원자 자동 서류 탈락 — ADR-0034 확장 · 「서류 탈락」 라벨자세히 ▾자소서 1줄·전부 미기재면 분석할 게 없다 — 자동 탈락
요약 결과 insufficient=true(자료 부족) 이면 decide_document 가 applied→screening→rejected 로 옮겨 프론트에 「서류 탈락」 라벨이 붙게(applied→rejected 직행이면 「불합격」으로 보이던 것 수정).
실제 역량이 있는 지원자(insufficient=false)는 건드리지 않는다 — 대량 탈락 방지. 대상 3명은 요약 재생성 없이 decide_document 만 재실행($0).
실제 역량이 있는 지원자(insufficient=false)는 건드리지 않는다 — 대량 탈락 방지. 대상 3명은 요약 재생성 없이 decide_document 만 재실행($0).
진수택PR#336 #341 #353아르 챗 개선 — 이력서·자소서 다중 첨부 · 공고 인라인 선택 · 무관 질문은 「데이터 근거」로 거절자세히 ▾
파일 여러 개 드롭 · 선택형 답변을 카드 대신 메시지 안 인라인 링크로.
채용 밖 질문(유명인 등)에 Claude 가 답을 다 생성한 뒤 거절을 붙여 토큰 낭비·무관 답 유출하던 것을, 판단 기준 = "답의 근거가 우리 데이터냐" 로 프롬프트 재작성 — 외부 일반 지식은 내용 답변 없이 한 문장 거절, 이력서·자소서 속 인물·프로젝트는 원문 조회해 정상 답변.
채용 밖 질문(유명인 등)에 Claude 가 답을 다 생성한 뒤 거절을 붙여 토큰 낭비·무관 답 유출하던 것을, 판단 기준 = "답의 근거가 우리 데이터냐" 로 프롬프트 재작성 — 외부 일반 지식은 내용 답변 없이 한 문장 거절, 이력서·자소서 속 인물·프로젝트는 원문 조회해 정상 답변.
진수택PR#334 #347 #348아르 캔드 응답 $0 — 인사·능력·사용법 + 지원자 FAQ 기본·경계 질문 · 회사 프로필 근거자세히 ▾정적 발화가 매번 LLM 을 타 ~$0.02 씩 나가던 것을 규칙으로 우회
의도 라우터에 DirectAction.reply_text 를 추가해 인사·능력·사용법은 도구·LLM 없이 고정 문구로 답한다(^…$ 로 묶어 실제 요청이 붙으면 LLM 으로).
지원자 FAQ 도 인사·연봉·합격 가능성·감사 등은 캔드 · 나머지는 회사 프로필(코드브릿지)을 근거로 Claude 가 답한다.
실측 · 아르 3건 대화 8.4K tok $0.04 → 기본 질문은 $0. Gemini 추가 제안은 채택하지 않음(엔진 둘로 나누면 품질·비용 관측이 갈린다).
지원자 FAQ 도 인사·연봉·합격 가능성·감사 등은 캔드 · 나머지는 회사 프로필(코드브릿지)을 근거로 Claude 가 답한다.
실측 · 아르 3건 대화 8.4K tok $0.04 → 기본 질문은 $0. Gemini 추가 제안은 채택하지 않음(엔진 둘로 나누면 품질·비용 관측이 갈린다).
진수택PR#333 #335 #337~#339 #342~#346심사위원 데모 로그인 — 담당자·지원자 버튼 · 시연계정 잠금 · 로그인마다 리셋자세히 ▾심사위원 여럿이 같은 계정을 써도 매번 처음 상태로
로그인 화면에 담당자·지원자 데모 버튼(?demo= 자동로그인). 데모 계정은 사용자·권한 관리와 메일 템플릿 변경을 행위자 가드로 차단(읽기 전용) — 심사자가 비번을 바꿔 서로 못 들어가는 사고 방지.
지원자 데모(조민석)는 로그인마다 인적성·면접시간·AI면접 세 화면을 초기화하고 만료를 미래로 갱신(자기 치유) · 첫 진입 안내 팝업 · 이력서·자소서 기반 AI 면접 맞춤 질문 자동 노출.
종합평가 화면에 계정 메뉴 추가 · 이름 클릭은 상세 패널, 종합평가는 「자세히 보기」로만(#330). 라이브 검증 완료.
지원자 데모(조민석)는 로그인마다 인적성·면접시간·AI면접 세 화면을 초기화하고 만료를 미래로 갱신(자기 치유) · 첫 진입 안내 팝업 · 이력서·자소서 기반 AI 면접 맞춤 질문 자동 노출.
종합평가 화면에 계정 메뉴 추가 · 이름 클릭은 상세 패널, 종합평가는 「자세히 보기」로만(#330). 라이브 검증 완료.
2026-09-17
이우정09-17 백엔드면접 중 실시간 분석을 수치로 요약 → 종합 평가 표시 · n8n 죽어도 5분마다 SMTP 재발송 · 폴백 질문으로 422 제거자세히 ▾
면접 중 실시간 분석 신호를 세어 AI 가 수치로 요약해 종합 평가에 표시(수치에 없는 숫자·사람을 단정하는 단어가 나오면 문장을 버리고 고정 틀로).
n8n 이 받고 죽어 queued 로 남은 메일을 API 가 5분마다 SMTP 로 재발송(최대 3회). 면접 링크를 만들자마자 시작해도 422 가 나지 않게 기본 질문 3개를 세션과 같은 커밋에 넣는다.
n8n 이 받고 죽어 queued 로 남은 메일을 API 가 5분마다 SMTP 로 재발송(최대 3회). 면접 링크를 만들자마자 시작해도 422 가 나지 않게 기본 질문 3개를 세션과 같은 커밋에 넣는다.
이우정09-17 fix테스트·AI 안정화 — 판정 중계 60초 멈춤 · 얼굴 출처 단일화 · 끝난 면접 첫 시각 -inf자세히 ▾
판정 중계 시험이 가끔 60초 멈추던 것 — 연결들이 루프 하나를 쓰게. 얼굴 출처는 한 면접에 하나(웹 지원자가 보내면 담당자 방 얼굴은 버린다). 막 켜진 기계에서 테스트가 가끔 깨지던 첫 시각 -inf 처리.
이우정#7 · 잔여 R2운영 DB 권한 분리 준비 · 모델↔이행 비교 스크립트 + CI · 판정 난 지원자 재심사 덮어쓰기 방지자세히 ▾09-22 DB 권한 분리 전 안전장치
매 배포 권한 스크립트 · 이행 관리자 연결 · 적용 절차서(#7). 모델↔이행 결과 비교 스크립트로 CI 가 이행 누락을 못 잡던 틈을 막고 CI 스텝으로 올림 · 인덱스 이름까지 비교.
판정 난 지원자에게 자동 심사를 다시 불러도 통과/불합격 표시를 덮지 않는다.
판정 난 지원자에게 자동 심사를 다시 불러도 통과/불합격 표시를 덮지 않는다.
박소연PR#307 F1 09-17이력서 PDF 에서 학력·경력·기술스택 자동 추출 + AI source 표식 · 지원 폼 이력서 필수·자소서 50자 검증자세히 ▾
폼에서 비운 학력·경력·기술스택을 이력서 PDF 에서 추출해 채우고(_fill_structured_fields), AI 가 채운 필드에 source 표식을 남겨 신고값과 구별. career_years 미확인 시 null 반환.
지원 폼은 이력서 필수 · 자기소개 50자 검증(F1).
지원 폼은 이력서 필수 · 자기소개 50자 검증(F1).
박소연09-17 agent · ai대상 미지정 단계변경은 카드 대신 글로 되묻기 · disgust 표정 라벨을 「긴장」으로자세히 ▾
「서류 단계로 되돌려줘」처럼 대상이 없으면 도구를 부르지 않고 「누구를?」 하고 글로 되묻는다(카드를 먼저 띄우지 않음).
면접 맥락에 맞지 않는 disgust 라벨을 긴장으로 교체하고 표정 모델 문서 반영(PR#286 후속).
면접 맥락에 맞지 않는 disgust 라벨을 긴장으로 교체하고 표정 모델 문서 반영(PR#286 후속).
진수택PR#318 #320 #326 #327 #328 #321 #322 #299아르 챗 이력서 드롭 접수 · 이력서 변동 diff · 탈락 축 표시 · 종합 점수 타일자세히 ▾
채팅에 이력서를 드롭하면 공고 선택·인적사항 확인 뒤 create_application 확인 게이트로 접수(접수 후 AI 서류 심사 자동).
같은 사람 재접수 시 이전 지원 대비 변동 요약 chain + 배지. 서류/면접/종합 어디서 떨어졌는지 빨간 축으로 한눈에. 종합 점수·등급 타일, 담당자 별점 UI 를 종합평가 링크로 대체.
같은 사람 재접수 시 이전 지원 대비 변동 요약 chain + 배지. 서류/면접/종합 어디서 떨어졌는지 빨간 축으로 한눈에. 종합 점수·등급 타일, 담당자 별점 UI 를 종합평가 링크로 대체.
진수택PR#294 #324 #310 #282요약 v2 career_years 추출 · lie-detection GPU(cuda) 이관 · CI 에 AI·앱 시험 · 이력서 본문 DB 저장 경로자세히 ▾
폼에 경력이 없으면 이력서에서 연차를 추출해 채운다(AI 추정 표식 유지는 #311 후속 · 미머지). VIT_DEVICE=cuda 로 arda-gpu 이관 — T4 실측 STT 275ms/3s · ViT 75ms/crop(09-17 GPU 서버 벤치 · 09-18 이후 운영은 t3.large CPU).
CI 에 AI 면접 서버·Flutter 앱 시험 잡 추가 + 배포 워커 1개 재확인. 온프레미스 대비 이력서 본문 DB 저장 경로(S3 는 그대로).
CI 에 AI 면접 서버·Flutter 앱 시험 잡 추가 + 배포 워커 1개 재확인. 온프레미스 대비 이력서 본문 DB 저장 경로(S3 는 그대로).
진수택PR#183 → v6~v9Qwen3 QLoRA 자체학습 완결 — chat v9 73.9% · 요약·면접 어댑터 3갈래 (Colab)자세히 ▾같은 자(judge.py)로 학습 전 26.1% → v9 73.9% · 심사 서빙은 클라우드+Claude 확정, Qwen 은 비용 절감 R&D 자산
학습 데이터 222건(실측 21 + 합성 192 + 인터뷰 chain 시드 9) 로 아르 도구 호출·요약·서류 대조·꼬리질문·점수 chain 을 QLoRA(4-bit + 어댑터) 로 학습. 초기 AWS G4dn(T4) 에서 시작해 v7~v9 는 Google Colab GPU(L4/T4) 에서 훈련.
핵심 모순을 풀었다 — eval_loss 는 잘 떨어졌는데(0.339→0.074) 도구 호출은 전멸 → 손실이 7,347자 공통 시스템 프롬프트에 쏠리고 tool_call 은 1.8%라 기울기가 안 닿은 것. 이를 교정해 v9 에서 도구 이름 일치 축을 고쳤다.
v9 fail 6건 중 5건은 UX상 정상(실질 ~95%+) · 어댑터 3갈래(chat v9 · summary · interview) 분리 서빙 · 요약 어댑터는 JSON·요지·역량은 정확하나 경력 연수 오차(3→5년).
결론 · 정확도는 Claude 와 동급까지 왔으나 수치 추론·형식 안정성과 콜드 스타트 78초·동시성에서 갈려 심사 서빙은 클라우드+Claude 로. 학습 파이프라인·어댑터는 R&D 자산으로 보존.
핵심 모순을 풀었다 — eval_loss 는 잘 떨어졌는데(0.339→0.074) 도구 호출은 전멸 → 손실이 7,347자 공통 시스템 프롬프트에 쏠리고 tool_call 은 1.8%라 기울기가 안 닿은 것. 이를 교정해 v9 에서 도구 이름 일치 축을 고쳤다.
v9 fail 6건 중 5건은 UX상 정상(실질 ~95%+) · 어댑터 3갈래(chat v9 · summary · interview) 분리 서빙 · 요약 어댑터는 JSON·요지·역량은 정확하나 경력 연수 오차(3→5년).
결론 · 정확도는 Claude 와 동급까지 왔으나 수치 추론·형식 안정성과 콜드 스타트 78초·동시성에서 갈려 심사 서빙은 클라우드+Claude 로. 학습 파이프라인·어댑터는 R&D 자산으로 보존.
2026-09-16
진수택PR#278웹 지원자 AI 면접 → 담당자 화상 면접방 WebRTC 송신자세히 ▾
지원자 웹 AI 면접의 영상·음성을 담당자 실시간 분석 화면으로 1:1 P2P 송신. 3인 이상(SFU)은 시연 뒤 집단 면접으로 다시 본다.
2026-09-15
박소연09-15 agent · lie-detection나이·성별 허위 진술 탐지 + gender 스키마 · 얼굴 미검출로 판정 안 나오던 문제 수정자세히 ▾
답변 속 나이·성별 진술이 서류와 어긋나면 잡아내는 탐지 + gender 스키마 추가. lie-detection 이 얼굴을 못 찾으면 판정이 통째로 안 나오던 것 수정.
진수택W3 → ADR-0038opus-5 실측 · 운영 STT 테스트자세히 ▾opus 는 미채택(haiku 기본 유지) · STT — 업로드는 API, 실시간은 로컬(ADR-0038 · 09-28 정정)
비용상 채팅·요약 기본 모델은 claude-haiku-4-5 로 유지(ADR-0011 개정은 후속). 운영 STT 는 09-15 실측 — t3.large CPU 에서 로컬 large-v3-turbo 가 44초 발화를 180초 안에 못 끝내 뒤 답변까지 연쇄로 지연 → ADR-0038 에서 실시간 전사 기본을 OpenAI whisper-1 API 로 정했다(분당 $0.006 · 면접당 ≈ $0.06). 다만 09-17 운영 실측 STT_BACKEND 가 빈 값이라 업로드 답변·재전사·아르 음성 = whisper-1 API, 실시간 면접 전사 = CPU 로컬 faster-whisper 로 갈려 돌았다(「같은 변수, 두 해석」 · 09-18 이후 값은 미확인). 무음 hallucination 은 no_speech_prob 게이트로 완화(API 경로에만 적용).
진수택09-15종합평가에서 최종 합불 결정 · 공고 마감/다시 열기 · 요약 체인 v2 스키마 정합자세히 ▾
종합평가 화면에서 바로 최종 합격·불합격 결정(사람이 최종). 공고 마감·다시 열기 버튼 — 최종 결과 뒤 담당자가 직접 닫는다. 요약 체인 2단계 스키마를 chain_evaluate.v2 모양으로 맞춰 Ollama format 강제 시 20점 단위 폴백 문제 해소.
2026-09-11
진수택협업 문서이우정(백엔드) 협업 — 답변 저장 버그 원인 규명·세션 로그 3답변자세히 ▾
이우정(백엔드)이 아침 인계 문서로 요청한 8개 질문에 실측 근거로 답변 · findings 스위치 반영 지적에 즉시 대응(force-recreate 로 해결) · 세션 59 로그 요청에 ai_score 정상(42점) 확인.
이우정(백엔드)이 진짜 이슈로 짚은 뒤늦은 답변 저장 실패(CONFLICT 409) 는 로그로 원인 짚어 전달 · 이우정(백엔드) #178 로 즉시 수정.
팀 간 실측·근거 기반 협업 · 하루 안에 세 번 왕복하며 문제 좁혀 나감.
이우정(백엔드)이 진짜 이슈로 짚은 뒤늦은 답변 저장 실패(CONFLICT 409) 는 로그로 원인 짚어 전달 · 이우정(백엔드) #178 로 즉시 수정.
팀 간 실측·근거 기반 협업 · 하루 안에 세 번 왕복하며 문제 좁혀 나감.
진수택운영 반영답변별 서류 대조 스위치 활성화 — AGENT_FINDINGS_BACKEND 반영자세히 ▾이우정(백엔드) #175 UI 가 바로 뜨게 서버 스위치 켬
이우정(백엔드)이 만든 답변별 서류 대조 UI(#175)가 스위치 부재로 화면에 안 뜨던 것을 서버 .env 에 한 줄 추가해 켰다.
함정 · docker compose restart 는 env_file 을 다시 읽지 않아 반영이 안 된다 — up -d --force-recreate 로 컨테이너를 다시 만들어야 반영. 이우정(백엔드) 지적으로 즉시 재작업 · 실측으로 확인 완료.
세션당 비용 ~$0.05(Haiku 4.5, 답변 10개 + 끝날 때 1회) · 시연 규모 무리 없음.
함정 · docker compose restart 는 env_file 을 다시 읽지 않아 반영이 안 된다 — up -d --force-recreate 로 컨테이너를 다시 만들어야 반영. 이우정(백엔드) 지적으로 즉시 재작업 · 실측으로 확인 완료.
세션당 비용 ~$0.05(Haiku 4.5, 답변 10개 + 끝날 때 1회) · 시연 규모 무리 없음.
진수택분석 리포트fit-check 24명 판정 정확성 분석 · 시연 시나리오 재조정 근거자세히 ▾인수인계 오류 정정 · 실제 자동 불합격 8명 · 근거 수치화
인수인계에 있던 자동 불합격 3명(한지우·박도윤·정민호)이 실제로는 자동 합격이었고, 진짜 불합격은 8명이었다.
8명 각각의 점수 세 갈래(요건·우대·문화)를 근거로 수치화하고, 판정 알고리즘의 세 가지 정확성 이슈를 짚었다.
리포트를 근거로 알고리즘 개선안(PR #182) 을 도출 · 시연 시나리오도 남기훈(요건 우수·문화 감점) · 강현우(1점 차이) 케이스로 재구성 준비.
8명 각각의 점수 세 갈래(요건·우대·문화)를 근거로 수치화하고, 판정 알고리즘의 세 가지 정확성 이슈를 짚었다.
리포트를 근거로 알고리즘 개선안(PR #182) 을 도출 · 시연 시나리오도 남기훈(요건 우수·문화 감점) · 강현우(1점 차이) 케이스로 재구성 준비.
진수택PR#182서류 자동 판정 가중치 개정 · 요건 강조·우대 축소·문화 하한 규칙자세히 ▾fit-check 24명 실측 분석 · 3가지 정확성 이슈 해결
fit-check 지원자 24명 실측에서 판정이 아슬한 세 케이스(요건 우수인데 문화로 탈락 · 1점 차이 탈락 · 필수 통과인데 우대 부족으로 탈락)를 발견해 알고리즘을 다듬었다.
가중치 · 요건 50→60(강조) · 우대 20→10(있으면 좋음) · 문화 30 유지.
새 규칙 · 요건 점수가 70 이상이면 문화 점수 하한 50(요건 우수 지원자를 문화 한 문구로 떨어뜨리지 않기).
팀장 결정으로 hold 상태는 도입하지 않고 자동 판정 그대로 유지 · 자동 CD 로 배포 완료 · alembic 0020 로 기존 회사 프로파일 두 키 갱신.
가중치 · 요건 50→60(강조) · 우대 20→10(있으면 좋음) · 문화 30 유지.
새 규칙 · 요건 점수가 70 이상이면 문화 점수 하한 50(요건 우수 지원자를 문화 한 문구로 떨어뜨리지 않기).
팀장 결정으로 hold 상태는 도입하지 않고 자동 판정 그대로 유지 · 자동 CD 로 배포 완료 · alembic 0020 로 기존 회사 프로파일 두 키 갱신.
진수택AWS OrganizationsAWS 통합 결제 조직(ETECH) 편입 — 비용 이관자세히 ▾계정 활동 비용이 조직 지급인 계정으로 청구
ETECH SYSTEM 조직의 통합 결제(Consolidated Billing) 에 편입 · 이후 활동 비용은 조직 지급인 계정으로 청구된다.
사용량 조회는 조직 정책에 따라 제한될 수 있어 내부는 수동 계산으로 사용량을 추적.
학습·시연 총 예상 사용 시간 15시간 이내로 관리 · 학습 완료 즉시 인스턴스 stop 원칙(당시 — 10-14~27 24시간 계획으로 변경).
사용량 조회는 조직 정책에 따라 제한될 수 있어 내부는 수동 계산으로 사용량을 추적.
학습·시연 총 예상 사용 시간 15시간 이내로 관리 · 학습 완료 즉시 인스턴스 stop 원칙(당시 — 10-14~27 24시간 계획으로 변경).
2026-09-10
진수택인프라 확장EBS 확장 · 서버 스토리지 29→50GB자세히 ▾빌드 캐시·컨테이너 이미지 여유
운영 서버 디스크 여유가 떨어져 추가 배포에 지장이 생기지 않도록 EBS 볼륨 확장 · 온라인 확장으로 무중단.
확장 후 파일시스템 growfs 로 반영 · 여유 27GB 확보.
확장 후 파일시스템 growfs 로 반영 · 여유 27GB 확보.
진수택인계·협업인터뷰방 답변 저장 버그 원인 분석 3갈래 · 픽스 방향 · 인계 문서자세히 ▾이우정(백엔드)에 원인 3갈래·픽스 4개 정리 전달
시연 리허설 중 실측된 답변 저장 실패(Q9 시도 후 Q1 로 되돌아감) 를 원인 3갈래로 정리 · 픽스 4개 방향 제시.
갈래 A(꼬리질문 in-memory 캐시 미반영) · 갈래 B(빈 STT → 저장 스킵) · 갈래 C(WebSocket drain timeout · 오디오 소실).
이우정(백엔드)이 이후 실제로 #174(answered_at 기준)로 원인 규명·수정 · 팀 간 인계 문서가 실제로 문제를 좁혀 준 사례.
갈래 A(꼬리질문 in-memory 캐시 미반영) · 갈래 B(빈 STT → 저장 스킵) · 갈래 C(WebSocket drain timeout · 오디오 소실).
이우정(백엔드)이 이후 실제로 #174(answered_at 기준)로 원인 규명·수정 · 팀 간 인계 문서가 실제로 문제를 좁혀 준 사례.
진수택시연 데이터fit-check 지원자 24명 재접수 · 시연 데이터 준비자세히 ▾새 STAR 4문항 콘텐츠 23명 + 홍지민(배지 시연용 구 콘텐츠 유지)
시연용 지원자 24명 일괄 재접수 · 새 STAR 4문항 자기소개서로 23명 새로 · 홍지민(id=52) 만 구 콘텐츠 유지(이력서 파일 새 sha256 vs 앵커 옛 sha256 조합으로 "내용이 바뀜" 배지 시연).
공고 배치 · FE 12명 · BE 12명. 자동 불합격 시연 대상·문화 갈등 서사·정보 부족 서사·영어 이력서 케이스 골고루 포함.
공고 배치 · FE 12명 · BE 12명. 자동 불합격 시연 대상·문화 갈등 서사·정보 부족 서사·영어 이력서 케이스 골고루 포함.
진수택PR#173ADR-0028 §1.7 · 무결성 원장 트리거 감사 · 우회의 흔적 3갈래자세히 ▾임시 트리거 해제 재발 방지·감사 로그
이력서 무결성 앵커(document_anchors) 트리거를 시연 데이터 정리 목적으로 임시 해제한 이력을 근거로, 트리거 상태 변경을 반드시 흔적 남게 하는 세 갈래(감사 트리거·이벤트 로그·문서화 규칙) 를 결정 문서에 추가.
원장은 "잠긴 상태" 가 기본 · 우회는 마지막 수단 · 재발 시 자동으로 감지.
원장은 "잠긴 상태" 가 기본 · 우회는 마지막 수단 · 재발 시 자동으로 감지.
2026-09-07
이우정PR#58SES MessageId 를 email_logs 행에 남긴다자세히 ▾보냈다는데 안 왔다를 확인할 자리
메일 전송 결과(공급자 발급 식별자)를 로그 행에 저장 — 이후 반송 조사 시 근거로.
이우정PR#56면접 답변 카메라 녹화 + 진위 분석 호출자세히 ▾ADR-0029 후속 — 프론트 녹화와 분석 서비스를 연결
면접 답변 시 카메라 녹화를 받아 진위 판별 서비스로 넘기는 경로를 붙였다.
이우정PR#52지원 현황 조회 — 이메일 링크로 지원자 포털자세히 ▾신-1 지원자 포털
로그인 없이 이메일로 받은 링크(토큰)로 자기 지원 현황을 확인하는 경로. 담당자 화면과 분리된 지원자 전용.
이우정PR#40 PR#44면접 답변 음성 → 전사(STT) — audio_duration_sec 채움자세히 ▾면접 설계 §5-4 · 발화 속도 진행 보조까지
지원자 음성 답변을 텍스트로 옮기는 경로(STT)와, 말이 유난히 느리면 질문을 바꿔 보자고 하는 진행 보조 규칙까지.
이우정PR#33면접 진행 보조 — 짧은 답이면 되묻기, 두 번 짧으면 쉬어가기 권유자세히 ▾
답변 길이가 유난히 짧으면 되묻고, 두 번 연속이면 잠시 쉬는 것을 권한다.
이우정PR#24로컬 pytest 함정 2개 수정 — .env 미로드·시드 이름 충돌자세히 ▾새 개발자가 clone 후 바로 실행 가능
로컬 pytest 가 .env 의 DATABASE_URL 을 못 읽어 옛 DB 로 붙던 것과, 시드 이름이 겹쳐 실패하던 것을 코드에서 봉인.
이우정PR#21 PR#25 PR#31앵커 게시 자동화 안정화 — 토큰 재발급·실패 시 이슈·체인 사전 검증자세히 ▾이틀 동안 아무도 모르던 실패를 눈에 보이게
앵커 크론이 12시간 만료 토큰으로 죽던 문제 해결(매 실행마다 새로 로그인), 실패 시 GitHub 이슈로 알림.
이름표(CHAIN_NETWORK)와 실제 RPC 체인 식별자가 어긋나면 전송 전에 멈춰 잘못된 체인 오염 차단.
이름표(CHAIN_NETWORK)와 실제 RPC 체인 식별자가 어긋나면 전송 전에 멈춰 잘못된 체인 오염 차단.
이우정PR#20배포 이미지가 스스로 스키마 이행 — 호스트 마운트 불필요자세히 ▾
DB 스키마 이행(alembic)을 컨테이너 이미지 자체가 실행하게 해서, 서버 호스트에 코드 마운트가 필요 없게.
김민아PR#46 이슈#6제출물 무결성 배지 — 상세 패널 첨부 아래자세히 ▾이력서·자소서 위변조 여부를 배지로 표시
매일 게시되는 앵커(ADR-0028) 기준으로 제출물이 게시 이후 바뀌지 않았는지 배지로 표시.
김민아PR#27 PR#28 PR#41 PR#43대시보드·평가현황·셸 재구성 — 시안 반영자세히 ▾백엔드 변경 없음
대시보드와 평가 현황 화면을 새 시안으로 재구성.
부수적으로 평가 현황이 빈 상태에서 좁고 길쭉하게 서던 문제와, 단계 램프 세 칸이 다 회색으로 보이던 것, 평가 현황 열이 계단처럼 어긋나던 것을 함께 수정.
부수적으로 평가 현황이 빈 상태에서 좁고 길쭉하게 서던 문제와, 단계 램프 세 칸이 다 회색으로 보이던 것, 평가 현황 열이 계단처럼 어긋나던 것을 함께 수정.
박소연PR#54실시간 면접 WebSocket — 말이 끝나면 다음 질문자세히 ▾ADR-0029 · 답변 단위가 아닌 실시간 스트리밍 경로
영상·오디오를 실시간으로 흘려보내며 답이 끝나는 지점에서 다음 질문으로 넘어가는 경로.
박소연PR#45표정·음성 진위 판별 도입 결정 — ADR-0029자세히 ▾
이전 결정(표정 분석 제외)을 개정, 진위 판별을 재도입하는 결정 문서.
박소연PR#42진위 판별 서비스 배포 — Dockerfile + 운영 compose + /ai/*자세히 ▾CPU 모델·GPU 불필요
표정·음성 진위 판별 서비스(ADR-0029)를 컨테이너로 만들어 운영 compose 에 붙임.
리버스 프록시 /ai/* 로 접근, CPU 모델이라 GPU 서버 불필요 — 같은 EC2 에서 돌린다.
리버스 프록시 /ai/* 로 접근, CPU 모델이라 GPU 서버 불필요 — 같은 EC2 에서 돌린다.
진수택PR#63n8n 컨테이너 도입 — 알림·메일 자동화 계층 (ADR-0030 1단계)자세히 ▾compose 서비스·Caddy 리버스 프록시·백업·경보까지 인프라 몫 일괄
메일·알림 파이프라인을 워커 코드에서 워크플로 도구(n8n, 오픈소스 자동화 엔진)로 분리하는 결정(ADR-0030)의 1단계 인프라 반영.
트리거는 우리 API 가 쏘는 웹훅(HTTP 신호), 발송은 노드 하나(SES ↔ SMTP)만 바꾸면 공급자가 바뀐다.
운영 EC2 self-host, 편집 화면은 팀 공유 Basic Auth(간단 로그인) 뒤로. 워크플로 JSON 은 저장소가 진실 — 화면에서 고쳤으면 내보내서 커밋.
백업(볼륨 tar → S3)·지표(n8n 헬스 엔드포인트)·경보(20분 실패 시 이메일)·상태 화면까지 인프라 몫으로 일괄 반영. 백엔드 몫(내부 API 2개·발송 경로 스위치)은 별도.
트리거는 우리 API 가 쏘는 웹훅(HTTP 신호), 발송은 노드 하나(SES ↔ SMTP)만 바꾸면 공급자가 바뀐다.
운영 EC2 self-host, 편집 화면은 팀 공유 Basic Auth(간단 로그인) 뒤로. 워크플로 JSON 은 저장소가 진실 — 화면에서 고쳤으면 내보내서 커밋.
백업(볼륨 tar → S3)·지표(n8n 헬스 엔드포인트)·경보(20분 실패 시 이메일)·상태 화면까지 인프라 몫으로 일괄 반영. 백엔드 몫(내부 API 2개·발송 경로 스위치)은 별도.
진수택PR#55발표 전 안정화 묶음 — 외부 헬스체크·메모리 경보·인스턴스 자동 복구자세히 ▾밖·안 이중 감시 + 하드웨어 자체가 죽어도 자동 복구
GitHub Actions 가 15분마다(cron 기준 — 실제 간격은 GitHub 스케줄 지연으로 더 벌어질 수 있음) 공개 주소를 밖에서 찌른다 — 실패 시 이슈를 열고 복구되면 자동으로 닫는다(밖 시선).
서버 안 지표에 메모리 사용률(보조 신호 서비스가 분석 1건에 574MiB)을 추가해 90% 이상이면 경보.
EC2 시스템 상태 검사 실패 시 AWS 가 인스턴스를 자동으로 살리도록 알람 등록(같은 IP·디스크 유지).
배포 스크립트를 저장소로 회수 — 그동안 서버에만 있던 것을 검토·재현 가능하게.
서버 안 지표에 메모리 사용률(보조 신호 서비스가 분석 1건에 574MiB)을 추가해 90% 이상이면 경보.
EC2 시스템 상태 검사 실패 시 AWS 가 인스턴스를 자동으로 살리도록 알람 등록(같은 IP·디스크 유지).
배포 스크립트를 저장소로 회수 — 그동안 서버에만 있던 것을 검토·재현 가능하게.
진수택PR#49 PR#51 PR#61 PR#62 PR#53 PR#57결정 문서 개정 원칙 확정 · 문서 전체 갱신자세히 ▾설계 문서는 잠금이 아니라 오너가 계속 개정하는 것
2026-09-07 운영 변경(서버 확장·백업·경보·체인 전환·예산)을 상세 문서 10개에 반영.
확정 결정 문서(ADR) 23개에 "오너가 개정 ADR 을 쓰면 바뀐다" 표준 한 줄, 지시서 36개 + 로드맵 5개 맨 위에 "작성 시점의 설계·계획" 한 줄.
확정 대기 게이트 폐지 — 도메인 오너가 자유롭게 개정하는 구조로 명문화.
설계 문서 톤을 "이렇게 한다·안 한다" 잠금에서 "현재 구현 + 확장 후보" 로.
확정 결정 문서(ADR) 23개에 "오너가 개정 ADR 을 쓰면 바뀐다" 표준 한 줄, 지시서 36개 + 로드맵 5개 맨 위에 "작성 시점의 설계·계획" 한 줄.
확정 대기 게이트 폐지 — 도메인 오너가 자유롭게 개정하는 구조로 명문화.
설계 문서 톤을 "이렇게 한다·안 한다" 잠금에서 "현재 구현 + 확장 후보" 로.
진수택PR#37 PR#39서버 지표·경보 세팅 — CloudWatch + SNS 메일자세히 ▾관측 에이전트 미설치·무료 구간 안
서버가 10분마다 상태 숫자(디스크 사용률·백업 파일 나이·API 헬스)를 CloudWatch(AWS 관측 서비스)로 밀어 넣고,
규칙(디스크 85% 이상·백업 30시간 이상·헬스 20분 연속 실패)에 걸리면 SNS(알림 서비스) 를 통해 이메일이 온다.
경보 정의는 CloudFormation 템플릿 파일 하나 — 콘솔 30번 클릭 대신 파일 업로드 한 번.
비용은 상시 무료 구간 안(사용자 지정 지표 10개·알람 10개·API 100만 건/월).
규칙(디스크 85% 이상·백업 30시간 이상·헬스 20분 연속 실패)에 걸리면 SNS(알림 서비스) 를 통해 이메일이 온다.
경보 정의는 CloudFormation 템플릿 파일 하나 — 콘솔 30번 클릭 대신 파일 업로드 한 번.
비용은 상시 무료 구간 안(사용자 지정 지표 10개·알람 10개·API 100만 건/월).
진수택PR#36서버 상태 한 화면 스크립트 — status.sh자세히 ▾
디스크·컨테이너·자동 배포 최근 결과·백업·헬스 응답을 한 번에 보여주는 읽기 전용 스크립트.
주 1회 사람이 눈으로 훑기 위한 계기판 — 자동 경보와 별개, 상태를 사람이 확인하는 용도.
주 1회 사람이 눈으로 훑기 위한 계기판 — 자동 경보와 별개, 상태를 사람이 확인하는 용도.
진수택PR#35컨테이너 로그 상한 — 서비스당 20MB × 3자세히 ▾디스크 고갈 예방
compose 에 로그 드라이버 옵션(max-size·max-file)을 걸어 컨테이너 로그가 무한히 커지지 않게.
29GB 디스크에서 로그 하나가 수 GB 로 부풀던 사고를 사전 차단.
29GB 디스크에서 로그 하나가 수 GB 로 부풀던 사고를 사전 차단.
진수택PR#32 PR#34운영 DB 매일 S3 백업 — 압축·검증·수명주기 30일자세히 ▾지원자 개인정보와 무결성 원장이 인스턴스 사고로 사라지지 않게
매일 04:00 KST 서버가 DB 를 통째로 뜨서 압축·검증(gzip -t) 후 전용 S3 버킷에 올린다.
쓰기 권한 IAM 은 최소 권한(PutObject 만) — 이 키로 데이터를 되뽑을 수 없다.
버킷 수명주기 30일 자동 만료로 스토리지 비용도 상한.
Ubuntu 24.04 에 apt 로 aws-cli 가 없어 snap 으로 설치(문서 반영).
쓰기 권한 IAM 은 최소 권한(PutObject 만) — 이 키로 데이터를 되뽑을 수 없다.
버킷 수명주기 30일 자동 만료로 스토리지 비용도 상한.
Ubuntu 24.04 에 apt 로 aws-cli 가 없어 snap 으로 설치(문서 반영).
진수택PR#30저장소에 남은 옛 API 주소 정리 — 정본 api.seuk.suvisdev.cloud자세히 ▾
.env.production·모바일 api_config·스크립트에 남아 있던 옛 인프라 주소를 새 도메인으로 일괄 교체.
진수택PR#29운영 체인을 Amoy → Ethereum Sepolia 로자세히 ▾Amoy 무료 가스 공급이 전부 막혀 사용 불가로 판단
제출물 무결성 앵커(ADR-0028)를 매일 게시하려면 소액 가스(수수료)가 필요한데, Amoy(폴리곤 테스트넷) 무료 수도꼭지(faucet) 6곳이 다 막혀 있었다.
Sepolia(이더리움 테스트넷)로 전환 — Coinbase 개발자 포털에서 조건 없이 받을 수 있고, 커뮤니티 채굴형 대안(pk910)도 살아 있다.
chain.py 익스플로러 두 줄 교체와 문서 개정 단락. 실전송 1건으로 체인 반영 확인.
Sepolia(이더리움 테스트넷)로 전환 — Coinbase 개발자 포털에서 조건 없이 받을 수 있고, 커뮤니티 채굴형 대안(pk910)도 살아 있다.
chain.py 익스플로러 두 줄 교체와 문서 개정 단락. 실전송 1건으로 체인 반영 확인.
2026-09-04
이우정W2재배포 반영 확인 — 코어 API + GET 13개 무인증 대조 재실행자세히 ▾이후 main 머지 → 2분 자동 CD 로 상시 반영 · 최종 정리 시점에 done 처리
상세 기록이 없습니다.
이우정W2수직 슬라이스 관통 확인 (게이트 조건)자세히 ▾공개 지원 폼(08-31)까지 붙어 09/04 초기 버전 게이트에서 관통 확인 · 최종 정리 시점에 done 처리
상세 기록이 없습니다.
이우정PR#15 PR#13폴리곤 서명을 Actions 로 · OpenTimestamps 병행 (ADR-0028)자세히 ▾서버에 개인키 없음
앵커 게시 개인키를 서버에서 빼서 GitHub Actions 로 이관, 시간 증명(OpenTimestamps) 병행.
결정 문서 개정에 관리 권한 2인·팀장 리뷰 게이트 삭제 반영.
결정 문서 개정에 관리 권한 2인·팀장 리뷰 게이트 삭제 반영.
김민아PR#9공고 삭제 — 수정 화면 하단 + 확인 시트자세히 ▾
공고 삭제 흐름을 앱 수정 화면 하단에 두고, 되돌릴 수 없는 동작이라 확인 시트로 한 번 더 물음.
김민아PR#19설정에 로그아웃 진입점 — 데스크톱자세히 ▾
데스크톱 웹에 로그아웃 버튼이 아예 없던 것을 설정 화면에 붙임.
김민아PR#18다크 딥네트워크 테마 — 프론트엔드 디자인 전면 교체자세히 ▾
전체 화면 톤을 다크 딥네트워크로 통일.
박소연PR#3면접 영상 진위 판별 서비스 초안자세히 ▾
진위 판별 서비스의 초기 형태를 저장소에 추가.
박소연PR#12자소서 주장 → 면접 꼬리 질문 생성자세히 ▾
자기소개서에 나온 주장을 근거로 면접에서 물어볼 후속 질문을 생성.
진수택W2목업 테스트 → 프론트 전달자세히 ▾
목업 검토 결과를 프론트에 전달 · 09/04 초기 버전 게이트 시점에 종결. 최종 정리 시점에 done 처리.
진수택PR#5 PR#8테스트 하네스 안전 스위치 · pytest-timeout자세히 ▾
회귀 하네스(반복 검증 세트)에 Anthropic 옵트인 가드를 붙여 실수로 유료 AI 를 부르는 상황 차단.
pytest 에 60초 타임아웃 도입 — 죽은 테스트가 무한히 걸리던 것 해소.
pytest 에 60초 타임아웃 도입 — 죽은 테스트가 무한히 걸리던 것 해소.
진수택PR#4S3 이력서 업로드 실패 수정 — 리전 엔드포인트 서명자세히 ▾
새 버킷 업로드가 403 이던 것 — 서명 대상 엔드포인트가 리전 URL 이어야 하는 것을 놓쳤다. 수정 후 즉시 정상.
진수택PR#2 PR#14인프라 이전 반영 — 새 계정 주소·CORS·배포 자동화자세히 ▾저장소가 새 인프라를 안다
AWS 계정 이전에 따라 도메인·S3 버킷·브라우저 접근 규칙(CORS)을 정본으로 갱신.
배포 자동화(systemd 2분 폴링) 문서화, 팀 전체가 코드를 push 하면 자동으로 반영되는 흐름 확정.
배포 자동화(systemd 2분 폴링) 문서화, 팀 전체가 코드를 push 하면 자동으로 반영되는 흐름 확정.
2026-09-03
김민아M1Flutter 앱 M1 (조회·단계 변경·평가)자세히 ▾큐 8 완료(09-03) 로 조회·단계 변경·평가 전 영역 서버 실연동 · 최종 정리 시점에 done 처리
상세 기록이 없습니다.
김민아09-03큐 8 완료 — 앱 서버 실연동 전 영역자세히 ▾
공고 CRUD·평가 쓰기·메모·이름/비밀번호 변경·메일 발송·이력서 열기·캘린더·메일 이력·설정 3탭·대시보드·평가 큐·통합 검색·아르 서버 연동까지.
큐 8 4단계가 하루에 마무리됨.
큐 8 4단계가 하루에 마무리됨.
박소연09-03지원자 상세 패널 UI 개선 + 더보기 페이지 + 모바일 UI자세히 ▾
지원자 상세 패널(D4·D5)의 정보 배치와 시각 정돈, 더보기 페이지 신설, 모바일 UI 개선(progress dots 정렬 등).
진수택09-03파이프 안정화 — 스킬 exact 최상위 · FAQ 하네스 15 · regenerate 사유 분리자세히 ▾
스킬 배열(기술 스택 문자열)의 정확 일치를 시맨틱 랭킹 최상위로 올려 "Kubernetes" 같은 고유명사 오답을 원천 차단.
지원자 채팅 FAQ 실측 하네스 15 시나리오 신설, regenerate_summary 응답 코드를 백엔드 불가(503)와 처리 실패(422)로 분리, pytest 실행 시 .env 스위치를 선점하도록 conftest 정리.
지원자 채팅 FAQ 실측 하네스 15 시나리오 신설, regenerate_summary 응답 코드를 백엔드 불가(503)와 처리 실패(422)로 분리, pytest 실행 시 .env 스위치를 선점하도록 conftest 정리.
2026-09-02
이우정설계 §5AI 면접 백엔드 3단계 — 테이블·세션 링크·질문 설정·답변 제출·종료 (ADR-0026)자세히 ▾
결정 문서 ADR-0026(AI 면접은 한다 — 음성으로 긴장도·거짓말은 판별하지 않는다) 확정과 함께 백엔드 3단계 착수.
면접 관련 테이블 3종 + 스키마 이행 · 세션 생성과 지원자 공개 링크 · 질문 설정·답변 제출·종료.
면접 관련 테이블 3종 + 스키마 이행 · 세션 생성과 지원자 공개 링크 · 질문 설정·답변 제출·종료.
이우정09-02 cimain 상태 자동 표시 CI — pytest + 프론트 빌드자세히 ▾손으로 물어보지 않아도 됨
main 이 깨졌는지 자동으로 보이도록 CI(자동 실행 워크플로) 구성 — 백엔드 pytest + 프론트 빌드.
첫 실행 실측 51초.
첫 실행 실측 51초.
김민아큐 7JWT 로그인 연동 (secure storage)자세히 ▾큐 7 JWT 로그인(09-02) 카드와 동일 항목 · 최종 정리 시점에 done 처리
상세 기록이 없습니다.
김민아09-02큐 7 JWT 로그인 · 큐 8 착수 · 단계 변경 저장 · 웹→앱 이관자세히 ▾앱에 처음으로 네트워크가 생긴다
JWT 로그인(큐 7)으로 앱이 서버를 부르기 시작.
큐 8 첫걸음 — 공고 목록·공고별 지원자·지원자 상세를 서버에서 받아옴, 단계 변경이 실제로 저장(W4 완료 기준).
웹에 있고 앱에 없던 화면(공고 등록·첨부·검색·비밀번호 변경) 이관.
큐 8 첫걸음 — 공고 목록·공고별 지원자·지원자 상세를 서버에서 받아옴, 단계 변경이 실제로 저장(W4 완료 기준).
웹에 있고 앱에 없던 화면(공고 등록·첨부·검색·비밀번호 변경) 이관.
박소연09-02모바일 웹 셸(D11) · 첨부 파일 블록(C7) · F4 업로드 진행률 · 로그아웃 진입점 3종자세히 ▾
768px 이하에서 하단 탭바(공고·지원자·홈·캘린더·더보기)로 감싼 모바일 웹 셸.
지원자 상세 패널에 첨부 파일 블록(C7 프론트 몫), F4 업로드 진행률 바, 로그아웃 진입점 3곳(우측 상단·설정 계정 탭·박스 정리).
모바일 툴바 sticky·overflow·단계 필 균등 폭 등 부수 fix 다수.
지원자 상세 패널에 첨부 파일 블록(C7 프론트 몫), F4 업로드 진행률 바, 로그아웃 진입점 3곳(우측 상단·설정 계정 탭·박스 정리).
모바일 툴바 sticky·overflow·단계 필 균등 폭 등 부수 fix 다수.
진수택PR#163 PR#164인적성 설문(사전 성향) 도입 — 발송·응답·AI 관찰 요약 (ADR-0027)자세히 ▾AI 는 관찰 요약만, 성격 판정 금지
담당자가 사전 성향 설문을 보내면 지원자가 공개 링크로 응답, 결과 통계 + 아르의 관찰 요약이 지원자 상세에 붙는 흐름 전 구간.
결정 문서: AI 는 관찰만, 성격 판정·합격 여부 판단에 안 쓴다.
결정 문서: AI 는 관찰만, 성격 판정·합격 여부 판단에 안 쓴다.
진수택PR#161 PR#162로컬 sLLM 안정화 — 도구 폭주 가드 + 의도 라우터 LLM 분류 + 회귀 하네스자세히 ▾
작은 모델이 도구를 무한 호출하는 것을 사전 차단하는 가드, 실행 로그의 도구 세부 정보는 UI 에서 감추기.
의도 라우터를 LLM 분류 + 코드 실행 방식으로 바꿔 변형 30/30 통과. 확인 응답("응 변경해줘")도 규칙 라우터로 뽑아 저장된 인자로 바로 실행.
의도 라우터를 LLM 분류 + 코드 실행 방식으로 바꿔 변형 30/30 통과. 확인 응답("응 변경해줘")도 규칙 라우터로 뽑아 저장된 인자로 바로 실행.
2026-09-01
이우정09-01 09-02alembic 도입 · dev 의존 · 08/31 셋업 안내 정정자세히 ▾스키마 변경을 손 SQL 에서 자동화로
alembic(스키마 이행 도구)을 도입해 손 SQL 시대 종료.
의존을 개발 그룹으로 선언(이전엔 버전이 어디에도 안 박혀 있었다), 08/31 셋업 안내 문서의 순서·전환 절차 정정.
의존을 개발 그룹으로 선언(이전엔 버전이 어디에도 안 박혀 있었다), 08/31 셋업 안내 문서의 순서·전환 절차 정정.
이우정09-01 09-02AI 요약 잘림·아르 요약 앰버 블록 정리·큐 20 D8·D9 완료 확인자세히 ▾
AI 요약이 매번 잘려 "제출물 부족" 으로 저장되던 것 수정, 프론트 요약 표시를 아르의 정보 블록으로.
큐 20(D8·D9)에 빠져 있던 완료 표시를 코드 대조 결과로 정리.
큐 20(D8·D9)에 빠져 있던 완료 표시를 코드 대조 결과로 정리.
김민아09-01앱 UI 초안 반영 — 하단 탭바·5개 탭·홈·설정·로그인·지원자 현황자세히 ▾
앱 UI 초안(하단 탭바 + 5개 탭)을 반영, 홈 첫 화면·설정·아르 배포판·지원자 현황 리스트.
로그인을 첫 화면으로, 지원자 상세에 아르 요약·메일·단계 이력 + 목데이터 6명.
실기기 점검에서 드러난 캘린더 필터·공고 카드 숫자 수정.
로그인을 첫 화면으로, 지원자 상세에 아르 요약·메일·단계 이력 + 목데이터 6명.
실기기 점검에서 드러난 캘린더 필터·공고 카드 숫자 수정.
박소연front면접 일정 실연동자세히 ▾일정 테이블(ADR-0016) 도입 뒤 캘린더 시간대 다중 선택·그날 패널 딥링크로 연동 · 최종 정리 시점에 done 처리
상세 기록이 없습니다.
박소연09-01오른쪽 패널 통합 · 캘린더 딥링크·다중 선택 · 아르 3D 캐릭터자세히 ▾05-design 토큰 일괄 정리
상세·아르·캘린더·평가 네 자리로 나뉘던 오른쪽 패널을 한 자리(단일 개방·폭 360·모션 통일)로 합침.
캘린더 시간대 다중 선택, 대시보드 축소판→그날 패널→지원자 상세 딥링크.
아르 아이콘을 3D 캐릭터 렌더 PNG 로 통일, 색·그림자·radius·간격을 05-design 토큰으로.
캘린더 시간대 다중 선택, 대시보드 축소판→그날 패널→지원자 상세 딥링크.
아르 아이콘을 3D 캐릭터 렌더 PNG 로 통일, 색·그림자·radius·간격을 05-design 토큰으로.
진수택PR#159지원자 채팅 FAQ 응답 API자세히 ▾공고 기반 stateless 응답 + 프롬프트 차단 규칙 v3
POST /api/v1/public/schedule/{token}/faq — 로그인 없이 토큰 인증, stateless 1문1답. 담당자용 아르와 완전 별개 경로.
답변 범위·차단은 키워드 블랙리스트 대신 프롬프트가 맥락 판단(연봉 문의 차단, 프롬프트 주입 무시 실호출 확인).
v2에서 지원자 본인 상태(현재 단계·확정 일정) 반영, v3에서 "답을 알면 확신 있게" 명시.
실호출 5개 시나리오 전부 정상. PR #159 머지.
답변 범위·차단은 키워드 블랙리스트 대신 프롬프트가 맥락 판단(연봉 문의 차단, 프롬프트 주입 무시 실호출 확인).
v2에서 지원자 본인 상태(현재 단계·확정 일정) 반영, v3에서 "답을 알면 확신 있게" 명시.
실호출 5개 시나리오 전부 정상. PR #159 머지.
진수택PR#158이력서·자소서 파일 텍스트를 AI 요약 입력에 포함자세히 ▾extractor.py 신설 — pdf·docx·hwpx 추출, 실패 시 None 폴백
요약이 지원폼 필드만 읽어 이력서를 충실히 낸 지원자도 "제출물 부족"이 나던 문제 해소.
app/agent/extractor.py 신설 — S3에서 파일 수신 후 텍스트 추출(pdf/docx/hwpx, 구형 hwp 스킵), 어떤 실패도 None 폴백으로 요약 자체는 죽지 않음.
로컬 처리라 LLM 비용 없음, 프롬프트 주입 8천 자 상한.
실호출 검증: 가짜 이력서 docx로 강점·확인 필요가 파일에서만 나온 내용임을 확인. PR #158 머지.
app/agent/extractor.py 신설 — S3에서 파일 수신 후 텍스트 추출(pdf/docx/hwpx, 구형 hwp 스킵), 어떤 실패도 None 폴백으로 요약 자체는 죽지 않음.
로컬 처리라 LLM 비용 없음, 프롬프트 주입 8천 자 상한.
실호출 검증: 가짜 이력서 docx로 강점·확인 필요가 파일에서만 나온 내용임을 확인. PR #158 머지.
진수택PR#157지원자 일정 페이지를 아르 대화형으로 재작업자세히 ▾일정 선택을 대화 속 카드로 + 지원자 채팅 UI + AI 요약 표시 버그 수정
메일 링크(/schedule/:token) 페이지를 카드+정적 안내에서 아르와의 대화형으로 재작업.
PC는 아르 캐릭터+일정 카드/채팅 2단, 모바일은 상단 고정 일정 카드(접기·펴기)+채팅.
아르 얼굴은 3D 뷰어 스냅숏(PNG 12KB)으로 대체해 WebGL 부담 제거.
부수로 지원자 상세 패널이 요약 JSON 원문을 그대로 노출하던 버그 수정 — 핵심 요약+강점+확인 필요 목록으로 파싱 렌더링.
PR #157 머지.
PC는 아르 캐릭터+일정 카드/채팅 2단, 모바일은 상단 고정 일정 카드(접기·펴기)+채팅.
아르 얼굴은 3D 뷰어 스냅숏(PNG 12KB)으로 대체해 WebGL 부담 제거.
부수로 지원자 상세 패널이 요약 JSON 원문을 그대로 노출하던 버그 수정 — 핵심 요약+강점+확인 필요 목록으로 파싱 렌더링.
PR #157 머지.
진수택PR#156 PR#158 PR#160채팅 품질 개선 · 이력서 텍스트 요약 입력 · 요약·임베딩 독립 실행자세히 ▾
확인 카드에 이름 표시·일정 제안 카드·서식 가이드·첫 인사 통일.
이력서·자기소개서 파일 텍스트를 AI 요약 입력에 포함(pdf·docx·hwpx 추출, 프롬프트 8천 자 상한).
요약과 임베딩을 독립적으로 재실행할 수 있게 라벨 중복 제거·스키마 상한 정리.
이력서·자기소개서 파일 텍스트를 AI 요약 입력에 포함(pdf·docx·hwpx 추출, 프롬프트 8천 자 상한).
요약과 임베딩을 독립적으로 재실행할 수 있게 라벨 중복 제거·스키마 상한 정리.
진수택PR#150 PR#153 PR#157면접 일정 조율 에이전트 — 면접관 가용 시간 파악→후보 제안→선택→확정자세히 ▾일정 도구 4개 + search_users 로 이름→ID 변환 + 지원자 대화형 일정 페이지로 완결
아르가 면접관 가용 시간을 보고 후보를 제안하고, 지원자가 메일 링크의 대화형 페이지에서 고르면 확정되는 흐름 전 구간. 라이브 테스트 통과 · 최종 정리 시점에 done 처리.
2026-08-31
이우정PR#150 부속공개 지원 폼(C1) + files[] 연결(C2·F1) + 면접관 가용 시간 화면자세히 ▾
로그인 없이 지원자가 접속하는 공개 지원 폼과, 접수 시 업로드 파일을 지원 행에 files[] 로 연결.
면접관이 자기 가용 시간을 등록하는 설정 화면(ADR-0016).
면접관이 자기 가용 시간을 등록하는 설정 화면(ADR-0016).
이우정PR#122 J8무인증 GET 대조 스크립트 + APP_ENV 잠금자세히 ▾지금까지 결함이 전부 이 대조에서 나왔다
02-api.md 계약과 실제 배포본을 무인증 GET 으로 대조하는 스크립트 신설.
APP_ENV 오타·미설정을 production 으로 잠가 개발용 설정이 운영에 새는 것을 물리적으로 차단.
APP_ENV 오타·미설정을 production 으로 잠가 개발용 설정이 운영에 새는 것을 물리적으로 차단.
이우정J8무인증 대조 스크립트화 → J8 전달자세히 ▾PR#122 무인증 GET 대조 스크립트로 완결 · 지금까지 나온 결함이 전부 이 대조에서 나왔다
상세 기록이 없습니다.
진수택PR#153search_users 읽기 도구 + 권한 분리자세히 ▾내부 사용자 검색 도구 + 프롬프트 user_role 주입
면접관을 이름으로 찾을 수 없던 문제 해결. search_users 읽기 도구 추가(이름/이메일 ILIKE + role 필터).
프롬프트에 user_role 주입하여 멤버가 어드민 전용 도구(assign_interviewer) 요청 시 사전 차단.
라이브 테스트: 어드민→확인 카드 정상, 멤버→"어드민 권한이 필요해요" 차단 확인.
PR #153 squash merge.
프롬프트에 user_role 주입하여 멤버가 어드민 전용 도구(assign_interviewer) 요청 시 사전 차단.
라이브 테스트: 어드민→확인 카드 정상, 멤버→"어드민 권한이 필요해요" 차단 확인.
PR #153 squash merge.
진수택PR#151RAG 시맨틱 검색 + 프롬프트 체이닝 (ADR-0021·0022)자세히 ▾임베딩 + pgvector
지원자 통합 검색에 임베딩(문장을 숫자 벡터로 만들어 의미로 찾기) 기반 시맨틱 검색을 붙였다.
프롬프트 체이닝(작업을 여러 단계 프롬프트로 나눠 정확도를 높이는 방법)으로 요약→평가→추천을 단계별 파이프라인화.
프롬프트 체이닝(작업을 여러 단계 프롬프트로 나눠 정확도를 높이는 방법)으로 요약→평가→추천을 단계별 파이프라인화.
진수택PR#150면접 일정 도구 4개 — ADR-0016 에이전트 연동자세히 ▾
아르가 면접 일정을 스스로 다룰 수 있도록 조회·제안·확정·취소 도구 4개 추가.
결정 문서 ADR-0016(면접 일정 자동화) 을 코드에 연결.
결정 문서 ADR-0016(면접 일정 자동화) 을 코드에 연결.
2026-08-28
김민아큐 6지원자 상세·로그인 화면 (목데이터)자세히 ▾지원 정보·단계 변경 버튼·로그인 — #138 외
지원 정보·단계 변경 버튼이 있는 상세 화면과 로그인 화면 — 목데이터 기반(#138 외).
김민아큐 6지원자 리스트 화면 (목데이터)자세히 ▾상단 바·공고명·단계 탭·카드 리스트 — #137
상단 바·공고명·단계 탭·지원자 카드 리스트 — 목데이터 기반 화면 완성(#137).
김민아큐 6시안 반영 ④ 단계 변경 시트 · 단계 이력 · 평가 목록자세히 ▾PR #146
단계 변경은 메일이 나가는 되돌릴 수 없는 동작이라 확인 시트를 뒀다.
backend/app/stages.py 전이 규칙을 앱으로 옮겨 갈 수 있는 단계만 보여주고,
메일 경고는 NOTIFY_STAGES 에만, 불합격은 사유 없이 못 넘어가게 했다.
단계 이력·평가는 상세 안 섹션이 아니라 별도 화면으로 뺐다.
테스트 36 → 42개.
backend/app/stages.py 전이 규칙을 앱으로 옮겨 갈 수 있는 단계만 보여주고,
메일 경고는 NOTIFY_STAGES 에만, 불합격은 사유 없이 못 넘어가게 했다.
단계 이력·평가는 상세 안 섹션이 아니라 별도 화면으로 뺐다.
테스트 36 → 42개.
김민아큐 6시안 반영 ③ 공고 리스트 — 앱 첫 화면자세히 ▾PR #145
앱 계층이 공고 → 그 공고의 지원자 → 상세가 됐다. 지원자에서 시작하면
지금 어느 공고를 보는 중인지가 화면에 없다(05-design §0.5).
상단 바도 로고형에서 제목형으로 바뀌었다.
지금 어느 공고를 보는 중인지가 화면에 없다(05-design §0.5).
상단 바도 로고형에서 제목형으로 바뀌었다.
김민아큐 6시안 반영 ② 퍼널 바 · 탭 인원수자세히 ▾PR #144
막대는 비율만, 숫자는 탭이 맡는 분담(폰 너비에 라벨이 안 들어간다).
막대는 읽기 전용 — 8dp 는 48dp 터치 타깃을 못 채운다.
Row 기본 정렬 때문에 막대 높이가 0 이 되던 버그를 찾아 고치고, 크기를 재는
테스트를 붙였다 — 눈으로는 "가늘어서 안 보임"과 "높이 0"이 구분되지 않는다.
막대는 읽기 전용 — 8dp 는 48dp 터치 타깃을 못 채운다.
Row 기본 정렬 때문에 막대 높이가 0 이 되던 버그를 찾아 고치고, 크기를 재는
테스트를 붙였다 — 눈으로는 "가늘어서 안 보임"과 "높이 0"이 구분되지 않는다.
김민아큐 6시안 반영 ① 치수·단계 칩·상세 카드형자세히 ▾PR #143
화면 여백 12→16dp, 탭 44→48dp, 지원자 카드 72→88dp.
단계 표시를 글자에서 알약 칩으로, 상세 닫기를 X 에서 뒤로가기로,
지원 정보를 2단 그리드에서 카드형으로 바꿨다.
단계 표시를 글자에서 알약 칩으로, 상세 닫기를 X 에서 뒤로가기로,
지원 정보를 2단 그리드에서 카드형으로 바꿨다.
김민아큐 6모바일 시안 요청 — 목업에 없던 5건자세히 ▾프론트 담당자에게 요청 → 같은 날 시안 도착. 보류가 풀렸다
단계 변경 UI·이력 타임라인·평가 목록·퍼널 바 배치·모바일 공고 리스트 —
목업에 없어 05-design §12 대로 멈추고 요청한 5건. 시안이 도착해 전부 반영했다.
목업에 없어 05-design §12 대로 멈추고 요청한 5건. 시안이 도착해 전부 반영했다.
김민아큐 5Flutter 프로젝트·디자인 토큰·내비게이션 뼈대자세히 ▾05-design 토큰 Dart 이식 · IBM Plex Sans KR 번들 — #114
05-design 토큰을 Dart로 이식, IBM Plex Sans KR 폰트 번들, 내비게이션 뼈대 구성(#114).
김민아앱앱 이름 Arda · 런처 아이콘자세히 ▾PR #142
홈 화면 이름이 flutter create 값(arda)으로 남아 있어 Arda 로 고쳤다.
런처 아이콘을 Flutter 기본 로고에서 교체하고 Android 8+ 적응형 아이콘까지 생성.
원본 하나만 바꾸면 전 해상도가 다시 만들어지게 flutter_launcher_icons 로 배치했다.
런처 아이콘을 Flutter 기본 로고에서 교체하고 Android 8+ 적응형 아이콘까지 생성.
원본 하나만 바꾸면 전 해상도가 다시 만들어지게 flutter_launcher_icons 로 배치했다.
김민아ADR-0010앱 스택 Flutter 재확정 (ADR-0010)자세히 ▾iOS 를 시연 범위에서 빼면서 Expo 기각 근거가 사라졌다 — #110 · #113
iOS를 시연 범위에서 제외하면서 Expo 채택 근거가 사라짐 — Flutter·Dart로 재확정(#110·#113), ADR-0010 갱신.
박소연큐7API 연동 — 로그인·공고·대시보드·지원자·평가자세히 ▾
백엔드 실제 API 5개 영역(로그인·공고·대시보드·지원자·평가) 연동(큐7).
박소연front프론트 뼈대 (React 라우팅·레이아웃)자세히 ▾
React(Vite·TS) 라우팅·레이아웃 뼈대 구축(1주차 React 전환 작업).
박소연PR#131 PR#132 PR#134 PR#135 PR#140프론트 실연동 착수 — API 클라이언트·대시보드·지원자·평가·설정 + 칸반 뷰자세히 ▾큐 7·8 프론트 몫
API 클라이언트·인증 배선과 공고 목록 실연동, 대시보드·지원자·평가·설정 5개 영역 실연동, 지원자 상세 연결과 패널 겹침 수정.
칸반 뷰(드래그로 단계 변경, 토스트 안내) 추가.
칸반 뷰(드래그로 단계 변경, 토스트 안내) 추가.
박소연D2·D3지원자 칸반 보드 UI (드래그 단계 이동)자세히 ▾
지원자 카드를 드래그해 단계(지원 접수→서류 검토→면접→최종)를 이동하는 메인 보드 UI — D2·D3.
박소연D1·D4·D9공고의 지원자 화면 + 상세 패널·일괄 단계 변경자세히 ▾
공고별 지원자 목록 화면과 상세 패널, 지원자 일괄 단계 변경 — D1·D4·D9.
진수택W1STT 비용 로깅 통일 (채팅·요약·STT)자세히 ▾
STT(Whisper)에 비용 로깅이 빠져 있던 것 발견 — _estimate_stt_cost($0.006/분×오디오 길이) 구현, transcribe() 반환에 audio_duration_sec·cost_usd 추가.
채팅·요약·STT 3기능의 AI 원가 관측 체계 통일, ADR-0011에 실측 기록.
채팅·요약·STT 3기능의 AI 원가 관측 체계 통일, ADR-0011에 실측 기록.
진수택W1E2E 엣지 케이스 8개 시나리오 실호출 검증자세히 ▾검색 0건, 모호한 요청, 잘못된 단계명, 삭제 요청, 공고 조회, 멀티턴 ID 추적, 특수문자
검색 0건("검색 결과 없음"+대안 제시) · 모호한 요청(도구 호출 없이 명확화 질문) · 잘못된 단계명(동명이인 확인 후 선택 유도) · 범위 밖 삭제 요청(미지원 안내) · 공고 목록 조회 · 멀티턴 3단계 ID 추적 · 특수문자(O'Brien) 검색.
8종 전부 PASS, 비용 실측 $0.083.
8종 전부 PASS, 비용 실측 $0.083.
진수택W1E2E 데모 4단계 시나리오 (검색→조회→상태 변경→이메일 초안)자세히 ▾4단계 전부 실호출 성공, 비용 실측 $0.045
로컬 서버 실호출: ① "김도현 찾아줘"→동명이인 2명 안내 ② 상세 조회 ③ "서류심사로 옮겨줘"→후퇴 불가 안내+대안 ④ 이메일 초안→pending_action 반환(사람 확인 대기).
4단계 전부 정상, 비용 실측 합계 $0.045(Haiku).
4단계 전부 정상, 비용 실측 합계 $0.045(Haiku).
진수택PR#141API TestClient 엣지 케이스 41개자세히 ▾4개 엔드포인트 HTTP 레벨 테스트 + 경계값·보안 패턴
에이전트 4개 엔드포인트(summarize·chat·confirm·stt)를 HTTP 레벨에서 검증.
기본 동작 20개 + 엣지 21개 — 경계값, SQL injection, XSS, 권한 없는 접근, 빈 입력.
PR #141로 squash merge.
기본 동작 20개 + 엣지 21개 — 경계값, SQL injection, XSS, 권한 없는 접근, 빈 입력.
PR #141로 squash merge.
진수택PR#136프롬프트 튜닝 — ID 혼동 수정자세히 ▾agent.v1.md에 ID 참조 규칙 2줄 추가
E2E에서 대화가 길어지면 application_id를 엉뚱한 값(id=1)으로 참조하는 문제 발견.
agent.v1.md에 규칙 2줄 추가 — ① 직전 도구 결과에서 확인된 ID만 사용, ② "이 지원자" 지시어는 최근 조회 지원자 기준.
수정 후 정확한 ID(id=52) 참조 확인.
agent.v1.md에 규칙 2줄 추가 — ① 직전 도구 결과에서 확인된 ID만 사용, ② "이 지원자" 지시어는 최근 조회 지원자 기준.
수정 후 정확한 ID(id=52) 참조 확인.
진수택PR#133+#141테스트 커버리지 보강 — 전체 185개자세히 ▾prompts 12 + summarizer 10 + api_agent 41 등
신규: test_prompts 12(로더 resolve/render/variables) · test_summarizer 10 · api_agent TestClient 41.
전체 구성: entity_resolver 35, write_tools 19, stages 15, stt 15, cost 13 등 — 185개 전부 통과.
전체 구성: entity_resolver 35, write_tools 19, stages 15, stt 15, cost 13 등 — 185개 전부 통과.
진수택PR#130한글 수사 오탐 방지 + 텍스트 채팅 재연결자세히 ▾entity_resolver 오탐 수정 + ADR-0015
entity_resolver가 한글 수사("첫 번째")를 오탐하던 문제 수정 후, 텍스트 채팅 경로에도 resolve_entities 재연결(A안).
결정 근거는 ADR-0015로 기록, PR #130 squash merge.
결정 근거는 ADR-0015로 기록, PR #130 squash merge.
2026-08-27
이우정PR#122 PR#123 PR#124 PR#125Dockerfile 안정화 · 기동 로그에 APP_ENV 표시자세히 ▾
Dockerfile 에 scripts/ COPY 추가, .dockerignore 중첩 경로 처리, 기동 로그에 APP_ENV 모드 표시.
박소연PR#119빈 화면 구현 · 앱 셸 개선 · 아르 UX자세히 ▾
기능 진입 전 빈 상태 화면을 채우고, 앱 셸(상단 바·사이드바)의 여백·순서 정돈, 아르 채팅 진입 UX 다듬음.
2026-08-26
이우정PR#108 PR#109마감일 자동 마감 + 공개 지원 링크 + 불합격 사유 + 일괄 단계 변경자세히 ▾
마감일 지나면 공고 자동 마감(B4·B6), 지원자 일괄 단계 변경과 불합격 시 사유 필수 저장(D8·D9).
김민아PR#110 PR#113 PR#114 PR#116Flutter 프로젝트·디자인 토큰·내비게이션 뼈대 (ADR-0010)자세히 ▾앱 스택 Flutter 확정
앱 스택을 Flutter 로 확정(ADR-0010), 프로젝트·디자인 토큰·내비게이션 뼈대 착수(큐 5).
박소연PR#87 PR#89 PR#112 PR#115React 로그인·공고 목록·대시보드 면접 일정 · 면접 일정 화면자세히 ▾
React 로그인·공고 목록 화면, 대시보드에 면접 일정·전형 현황, 면접 일정 화면 추가와 대시보드 진입점 연결.
목업 검토 후 마감 뱃지 스타일 누락 수정.
목업 검토 후 마감 뱃지 스타일 누락 수정.
진수택PR#88 PR#103 PR#104 PR#107에이전트 v2 — 요약 스키마·엔티티 해석·프롬프트 v2·TOOLS.md v1.1자세히 ▾
요약 출력 스키마와 프롬프트 v2 마커, 엔티티 해석 레이어(음성 전사에서 이름·시간 등을 걸러내는 단계), 단위 테스트 정식 배치.
도구 명세서(TOOLS.md)를 초안에서 v1.1 로 — 코드와 문서 불일치 6건 수정.
도구 명세서(TOOLS.md)를 초안에서 v1.1 로 — 코드와 문서 불일치 6건 수정.
2026-08-25
김민아전환기백엔드 분담 큐 (B2 → D1 → D6)자세히 ▾08/25 완료 — B2 #32 · D1 #48 · D6 #72
전환기 백엔드 분담분 — B2(#32)·D1(#48)·D6(#72) 3건 구현·머지(08/25).
김민아PR#32 PR#48 PR#72 전환기 백엔드채용 공고 CRUD · 지원자 목록·상세·단계 이력 · 담당자 지원자 직접 등록자세히 ▾앱 오너 확정 전 백엔드 분담분
B1·B2·B3 채용 공고 CRUD API, D1·D4·D5 지원자 목록·상세·단계 이력 API, D6 담당자 지원자 직접 등록 API.
박소연PR#37 PR#38 PR#39 PR#46 PR#47 PR#80목업 화면 3종 — 대시보드·공고·지원자 등록 + 이동/닫기 fix자세히 ▾정적 목업 → 이후 React 실연동
대시보드 정적 목업, 공고·지원자 등록 화면, 목업 화면 간 이동 연결과 닫기 표시·헤더 정렬 수정.
캐릭터 "아르다" 반영.
캐릭터 "아르다" 반영.
진수택PR#50 PR#57 PR#69평가·면접관 배정 API + ADR-0012·0013 확정자세히 ▾
평가 작성·목록·평균 API(E1·E2), 면접관 배정 API(E3).
결정 문서 ADR-0012(서류심사 AI 분류 기준)·ADR-0013(면접관 배정 정책 v1) 확정.
결정 문서 ADR-0012(서류심사 AI 분류 기준)·ADR-0013(면접관 배정 정책 v1) 확정.
진수택PR#33 PR#34 PR#35 PR#36 PR#76 PR#83에이전트 뼈대 착수 — 도구 스펙·프롬프트·PoC·M2~M4 요약·읽기·쓰기자세히 ▾결정 문서 ADR-0009·0011
도구 명세와 이력서 텍스트 추출 개념 증명(한글 PDF), 프롬프트 뼈대와 요약 출력 규약, M2~M4 요약·읽기·쓰기 도구.
결정 문서 ADR-0009(에이전트 UI 위치 시안 3안)·ADR-0011(모델·비용 제안) 함께 확정.
결정 문서 ADR-0009(에이전트 UI 위치 시안 3안)·ADR-0011(모델·비용 제안) 함께 확정.