Skip to content

충돌 자동치유 봇이 조용히 죽지 않게 경보 붙이기 - #1229

Open
joohaeng-pbls wants to merge 1 commit into
mainfrom
chore/autoheal-alert
Open

충돌 자동치유 봇이 조용히 죽지 않게 경보 붙이기#1229
joohaeng-pbls wants to merge 1 commit into
mainfrom
chore/autoheal-alert

Conversation

@joohaeng-pbls

Copy link
Copy Markdown
Collaborator

한 줄: 어제 자동치유 봇이 세 번 연속 실패했는데 아무도 몰랐습니다. 연속 실패하면 이슈로 알리고, 나으면 스스로 닫습니다.

2026-08-06 16:21·18:09·21:38 세 번 연속 실패했습니다. 그 사이 글 PR이 articles.json에서 어긋난 채 쌓였고, 우연히 발견하기 전까지 아무도 몰랐습니다.

이 봇이 멈추면 겉으로는 조용합니다. 머지하려 할 때에야 드러납니다.

(참고로 봇 자체는 자정 이후 스스로 회복해 지금은 10건 연속 정상입니다. 그래서 봇을 고치는 게 아니라 다음에 죽으면 알게 만듭니다.)

무엇을

  • 실패 시 라벨 autoheal-down 이슈로 알립니다. 이미 열려 있으면 덧글만 붙여 이슈가 불어나지 않습니다.
  • 단발 실패는 넘기고 연속 2회부터 알립니다. 깜빡임으로 시끄러워지지 않게요.
  • 치유가 정상으로 돌아오면 열린 경보를 자동으로 닫습니다. 사람이 손으로 닫을 일을 만들지 않습니다.

검증

  • YAML 파싱 통과, jobs: [heal, alert], 권한 확인
  • 모든 run 블록 bash -n 통과 (4개)
  • 어제 실패 구간의 실제 이력으로 판정식을 돌렸습니다
08-06 16:21  failure  직전=success  → 조용히 넘김(단발)
08-06 18:09  failure  직전=failure  → 🔔 알림
08-06 21:38  failure  직전=failure  → 🔔 알림

의도대로 첫 건은 넘기고 두 번째부터 울립니다.

남은 근본 문제

articles.json이 생성물인데 레포에 커밋돼 있어서, CI가 main에서 갱신할 때마다 열린 PR이 뒤처집니다. 봇은 그 뒤처짐을 30분마다 메우는 임시 장치입니다. 레포에서 빼면 충돌도 봇도 필요 없어지지만, 색인 페이지가 그 파일을 읽는 구조라 별건입니다.

🤖 Generated with Claude Code

2026-08-06 16:21~21:38 에 충돌 자동치유가 세 번 연속 실패했는데
아무도 몰랐다. 우연히 발견하기 전까지 글 PR이 어긋난 채 쌓였다.
이 봇이 멈추면 겉으로는 조용하고, 머지하려 할 때에야 드러난다.

- 실패 시 이슈로 알린다(라벨 `autoheal-down`). 이미 열려 있으면
  덧글만 붙여 이슈가 불어나지 않게 한다.
- **단발 실패는 넘기고 연속 2회부터 알린다.** 어제 세 건 중 첫
  건은 직전이 성공이라 조용히 넘어가고, 두 번째부터 울린다 —
  실제 이력으로 판정식을 돌려 확인했다.
- 치유가 정상으로 돌아오면 열린 경보를 자동으로 닫는다. 사람이
  손으로 닫을 일을 만들지 않는다.

검증: YAML 파싱, 모든 run 블록 `bash -n`, 그리고 어제 실패 구간의
실제 실행 이력으로 판정식 재현(첫 건 무시·2·3번째 알림).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant