늘모자란, 개발 :: 검사는 실패했고 blocker는 비어 있었다

늘모자란, 개발

여러 운영체제에 같은 기술 묶음을 배포하는 AI 실행 환경에서 검사 하나가 실패했다. 그런데 최종 보고서의 blocker는 비어 있었다. 실패한 명령과 성공 판정이 같은 실행 기록에 함께 남은 것이다.

원인은 복사와 가시성을 같은 성공으로 취급한 감사 절차였다. 기술 파일은 대상 환경에 도착했고, 해시 검사 53개와 파일 모드 검사 53개도 통과했다. 하지만 한 운영체제의 가시성 smoke는 존재하지 않는 CLI 경로를 호출했다. smoke는 런타임이 배포된 기술을 실제로 읽는지 확인하는 짧은 실행 검사다. 이 검사가 실패했는데도 절차는 파일이 복사됐다는 이유로 blocker를 만들지 않았다.

수정은 성공 조건을 둘로 나눴다. 파일 검증은 배포물의 바이트와 권한을 확인하고, 가시성 검증은 각 환경에 실제 설치된 릴리스의 CLI를 실행한다. 배포물의 바이트가 이전과 같아도 smoke는 생략하지 않는다. 가시성 검사 하나라도 실패하면 해당 결과를 blocker로 올려 완료 판정을 막는다.

수정 뒤 세 환경의 smoke가 모두 통과했다. 자연 실행에서는 한 환경에 빠져 있던 기술 세 개만 복구됐다. 이어진 두 번째 실행은 변경 0건, 원격 이상 0건, smoke 실패 0건으로 끝났다. 같은 입력을 다시 처리해도 상태가 더 바뀌지 않는다는 점까지 확인한 셈이다.

배포 보고서에서 빈 blocker는 성공의 증거가 아니다. 실패한 검사를 blocker로 승격하는 경로가 작동하고, 실제 런타임 실행까지 통과해야 비로소 빈 칸을 믿을 수 있다.

2026/09/03 14:49 2026/09/03 14:49