개요

ClawSweeper는 OpenClaw 저장소의 이슈와 PR 백로그를 검토하고, 근거가 충분한 경우에만 정리 작업을 제안하거나 수행하는 보수적인 유지보수 봇이다. 핵심은 Codex가 검토 리포트를 만들고 결정론적인 실행기가 GitHub 변경을 담당하도록 review와 apply를 분리한 것이다. 이슈·PR 리뷰, 제안 적용, 유지보수자 명령에 따른 리페어, 커밋 리뷰를 각각 독립된 작업 레인으로 운영한다.

핵심 포인트

  • 리뷰 레인은 이슈·PR별 결정, 근거, 제안 코멘트, 실행 메타데이터, GitHub 스냅샷 해시를 마크다운 리포트로 저장하며, 새롭거나 활발한 항목일수록 더 자주 확인한다.
  • 적용 레인은 저장된 리포트와 현재 GitHub 상태가 일치하는지 라벨, 권한, 스냅샷 변경 여부를 다시 확인한 뒤 변경이 없는 고신뢰 제안만 반영한다. 한 체크포인트에서 닫는 항목도 최대 20건으로 제한한다.
  • 리페어 레인은 유지보수자의 @clawsweeper autofix 또는 @clawsweeper automerge 명령으로 시작하며, Codex가 리베이스·리뷰 코멘트 반영·CI 수정을 검토한 뒤 실제 브랜치 반영과 병합 판단은 별도 실행기가 처리한다.
  • 커밋 리뷰 레인은 이슈·PR 정리와 분리되어 커밋별 리포트만 남기며, 코멘트를 게시하거나 코드를 수정하지 않는다.
  • 보호 라벨, 유지보수자 작성 항목, Fixes #123 관계, 이슈-PR 쌍, 대체 PR의 병합 가능 상태 등을 확인해 자동 종료 제안을 제한한다.
  • 검토 중 Codex에는 GitHub 쓰기 권한을 주지 않고, 읽기 전용 체크아웃에서 변경이 남으면 검토를 실패 처리한다. 실제 GitHub 쓰기 자격 증명은 Codex 종료 후에 생성된다.

왜 중요한지

이 글의 핵심 사례는 LLM을 판단과 수정 제안에 활용하면서도 코멘트·닫기·병합 같은 외부 변경은 별도의 결정론적 실행기와 검증 단계로 제한한다는 점이다. 따라서 ClawSweeper는 범용 자동 닫기 봇이라기보다, 증거와 현재 상태를 재확인한 뒤 유지보수자의 권한 범위 안에서 동작하도록 설계된 오픈소스 운영 자동화 패턴으로 볼 수 있다.

후속으로 볼 링크/키워드