검증이 백서가 믿을 만한 근거로 본 것
기능 소개 문서만으로는 고객의 병합 판단 문제를 설명할 수 없습니다. 그래서 근거를 세 층으로 나누어 봤습니다.
- 운영 근거: GitLab approvals, approval rules, Code Owners, MR reports처럼 실제 병합 조건과 리뷰 흐름에 영향을 주는 공식 문서.
- 판단 근거: CI와 scanner가 어떤 조건에서 의미 있는 비교 신호가 되는지 설명하는 공식 문서.
- 거버넌스 근거: NIST SSDF와 DORA처럼 변경 위험, 보안 개발, 운영 안정성을 구매자 언어로 설명할 수 있는 문서.
인사이트검토 회의에 바로 쓸 핵심 정리
- Approval rule은 병합 조건입니다. 승인자가 남겨야 하는 결정 사유는 별도 산출물입니다.
- CI 통과는 충분조건이 아닙니다. 어떤 pipeline이 어떤 기준 branch와 비교되었는지 확인해야 합니다.
- Scanner finding은 발견 목록입니다. 이번 MR에서 새로 생긴 위험인지, 기존 위험인지, 비교가 불가능한지 분리해야 합니다.
- 좋은 검수 산출물은 길지 않습니다. 대신 상태, 사유, 조치, 담당자, confidence가 빠지지 않습니다.
조건GitLab이 이미 판단하는 것
필수 승인 수, Code Owner 승인, thread 해결, pipeline 상태, protected branch 규칙은 GitLab이 관리하는 병합 조건입니다. 이 조건을 바꾸는 것은 Mantis Gate의 첫 범위가 아닙니다.
증거도구가 보여주는 신호
CI 로그, 테스트 결과, Code Quality, SAST, SonarQube quality gate는 판단 재료입니다. 재료가 많아도 회의용 결론은 자동으로 만들어지지 않습니다.
판단승인자가 남겨야 하는 문장
이 MR의 상태, 위험, 남은 조치, 담당 리뷰어, 근거 요약, confidence를 한 번에 읽히는 문장으로 남겨야 다음 회의와 감사에서 재사용할 수 있습니다.
1. 승인 규칙이 답하는 질문
GitLab approvals는 리뷰 프로세스를 구성하는 장치입니다. 필요한 승인 수, 승인 가능한 그룹, Code Owner 승인, 특정 리뷰어 범주를 정할 수 있습니다. 이 장치는 ‘누가 승인해야 하는가’에는 강하지만 ‘왜 승인해도 되는가’를 회의 문장으로 바꾸지는 않습니다.
- 좋은 질문: 이 MR은 필요한 승인 조건을 충족했는가.
- 남는 질문: 승인자가 나중에 설명할 수 있는 근거가 남았는가.
- Mantis Gate가 채우는 부분: 승인 조건의 결과를 병합 판단 문장으로 정리합니다.
근거 해석: GitLab approvals 문서는 승인 규칙과 승인자를 다룹니다. Mantis Gate는 그 위에 사람이 읽는 결정 기록을 만드는 레이어로 위치해야 합니다.
2. MR 근거가 흩어지는 지점
MR 화면에는 diff, comment, pipeline, scanner report가 모입니다. 하지만 운영 책임자는 로그를 읽고 싶은 것이 아니라 결론을 알고 싶습니다. 실패가 이번 MR에서 새로 생긴 문제인지, 운영 업무에 영향이 있는지, 누구 확인이 필요한지 한 문서에 들어가야 합니다.
- 원본 근거: diff, pipeline log, scanner report, 테스트 결과, review comment.
- 해석 근거: 신규와 기존 구분, 재현 가능성, 업무 영향, 예외 가능성.
- 결정 근거: Ready, Conditional, Not Ready, Blocked, required actions, confidence.
3. Merge Readiness Packet의 최소 구성
패킷은 긴 분석 보고서가 아닙니다. 승인자가 30초 안에 읽고 다음 행동을 정할 수 있어야 합니다. 필요한 필드는 readiness status, risk, summary, reasons, required actions, CI failure RCA, scanner triage, new vs existing issues, suggested reviewers, evidence summary, confidence입니다.
- Ready: 남은 조치가 없거나 낮은 위험으로 관리 가능합니다.
- Conditional: 병합 전 확인할 조치가 명확합니다.
- Not Ready: 실패 원인, 보안 영향, 테스트 근거가 부족합니다.
- Blocked: 필수 근거가 없어 판단할 수 없습니다.
4. 파일럿에서 바로 확인할 것
대표 MR 3건을 고르면 효과를 빠르게 볼 수 있습니다. 정상 후보, 조건부 후보, 보류 후보를 섞어야 산출물이 단순 요약인지 실제 판단 문서인지 드러납니다.
- 회의에서 가장 많이 재질문된 MR을 고릅니다.
- CI 실패 또는 scanner finding 때문에 판단이 늦어진 MR을 포함합니다.
- 패킷을 GitLab comment preview로 옮겼을 때 승인자가 바로 이해하는지 확인합니다.
근거확인한 문헌