Skip to content

fix(ci-watch): filter out stale CI failures from old feature branches #587

@kys0213

Description

@kys0213

문제

/github-autopilot:ci-watchgh run list --status failure --limit 10으로 CI 실패를 조회할 때, 오래된 feature 브랜치의 실패까지 모두 수집하여 불필요한 이슈를 생성합니다.

재현

  1. /github-autopilot:autopilot으로 전체 루프 시작
  2. ci-watch가 실행되면 며칠~몇 주 전 feature 브랜치의 실패도 수집
  3. 이미 알려진/처리 중인 브랜치의 CI 실패에 대해 중복 이슈 생성

실제 사례 (belt 레포)

  • 2026-03-29~30의 feature/issue-672, feature/issue-613 등 오래된 실패 7건을 이슈화 (#727-#733)
  • 새로 머지된 작업이 없는 상태에서 과거 실패를 다시 이슈화

기대 동작

ci-watch는 다음 조건으로 필터링해야 합니다:

  1. 시간 기반 필터: 마지막 실행 이후 또는 최근 N시간 이내의 실패만 수집
  2. 브랜치 필터: 현재 열린 autopilot PR의 브랜치, 또는 default 브랜치(main/develop)의 실패만 대상
  3. 중복 방지 강화: 해당 브랜치에 이미 연결된 열린 이슈가 있으면 skip (현재 fingerprint 체크만으로는 부족)

제안

# ci-watch 스킬에 추가할 필터 옵션
ci_watch:
  max_age: "24h"           # 최근 24시간 이내 실패만
  branch_filter: "autopilot"  # autopilot 관련 브랜치만 (또는 default branch)

또는 gh run list--created 필터를 추가:

gh run list --status failure --limit 10 --created ">$(date -u -v-24H +%Y-%m-%dT%H:%M:%SZ)"

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions