목표
merge risk report를 Discord 또는 stdout으로 전달함.
배경
Watcher의 possibility 계산과 AI prediction 생성은 report 전달 전에 완료되어야 함.
이 이슈는 판단 로직을 만들지 않고 이미 생성된 deterministic possibility report와 AI prediction report를 외부로 전달하는 sink만 담당함.
Discord webhook은 선택 사항이며 webhook URL이 없을 때는 local 실행과 CI log에서 확인할 수 있도록 stdout으로 출력함.
작업 범위
- Discord webhook URL이 있을 때만 webhook 전송
- Discord webhook URL이 없으면 stdout 출력
- deterministic possibility와 AI prediction 포함 report 전달
- report 전달 실패 시 진단 가능한 error 구성
- secret 값이 log에 노출되지 않도록 처리
- Discord message length 제한을 넘는 report 처리
제외 범위
- deterministic possibility 분석
- AI prediction 생성
- branch 정보 수집
- report 내용 생성
- reusable workflow 구성
- retry/backoff 고도화
완료 조건
- Discord webhook URL이 있으면 report가 Discord로 전송됨
- Discord webhook URL이 없으면 동일 report가 stdout으로 출력됨
- 전달 실패가 possibility 또는 prediction 결과 자체를 손실시키지 않음
- secret 값의 error message 또는 log 직접 노출 방지
- Discord 제한을 초과하는 report가 안전하게 처리됨
검증
- Discord webhook URL 없음 테스트
- Discord webhook 전송 요청 구성 테스트
- Discord 전송 실패 처리 테스트
- secret redaction 테스트
- message length 제한 처리 테스트
목표
merge risk report를 Discord 또는 stdout으로 전달함.
배경
Watcher의 possibility 계산과 AI prediction 생성은 report 전달 전에 완료되어야 함.
이 이슈는 판단 로직을 만들지 않고 이미 생성된 deterministic possibility report와 AI prediction report를 외부로 전달하는 sink만 담당함.
Discord webhook은 선택 사항이며 webhook URL이 없을 때는 local 실행과 CI log에서 확인할 수 있도록 stdout으로 출력함.
작업 범위
제외 범위
완료 조건
검증