[FEAT] Jira 할당 티켓 자동 해결 → Draft MR 자동화 (jira-auto-resolver)
📝 [FEATURE_DEV] Summary
-
Context: 나(김승철)에게 할당된 T2Q 티켓(
해야 할 일, 새로 할당된 것)을 15분마다 읽어 사람 개입 없이 해결 → push → Draft MR 까지 올리고 Slack DM 으로 알리는 자동화 (scripts/jira-auto-resolver).
- 설계:
docs/superpowers/specs/2026-11-03-jira-auto-resolver-design.md / 계획: docs/superpowers/plans/2026-11-03-jira-auto-resolver.md
- 같이 들어가는 main 미푸시 커밋 2건: 설계 문서(b85b09d3), 스킬별 Context7 사용 지침(7fbc8aa0 —
skills/*/SKILL.md 24개).
🛠 Key Changes
-
흐름 (
resolver.py tick, launchd 900초): Jira 조회(Atlassian MCP, claude -p haiku) → 큐 → 트리아지(읽기 전용, repo·기준 브랜치·선행 티켓 판정) → 티켓별 전용 worktree fix/<KEY> → 무인 개발(turu-jira-dev-team, 커밋까지) → diff 게이트 → push(pre-push 훅 통과 필수) → Draft MR → Slack DM.
-
사용자 체크아웃 불가침: 작업은 상태 디렉터리의 worktree 에서만. 실행 전후 스냅샷 비교, 공유
.git 상태 변경 git 명령 차단.
-
기준 브랜치: 3G 기능은
3g-develop — 트리아지가 origin/<base> 읽기 전용 미러(mirror.py)를 검색해 develop/3g-develop 판정, worktree·MR target 이 따름.
-
티켓 간 연속성: 티켓마다 별도 브랜치. 선행 티켓이 있으면 그 브랜치(
fix/<DEP> 또는 유일한 feature/<DEP>*)를 --no-ff 머지한 상태에서 시작, MR 본문에 명시.
-
판단 세우기:
[UNCLEAR] 여도 멈추지 않고 조사로 판단 → MR 본문 「판단과 남은 확인」. 중단은 FE 필수·DB 스키마·시스템 설정·repo 밖·Act 3회 초과·방향 전무뿐.
-
안전장치: diff 게이트(마이그레이션·.sql·application*·build.gradle·gradle/·.ebextensions·Dockerfile·.gitlab-ci.yml·.githooks·엔티티 필드/매핑 변경, fail-closed), push 감지(reflog), 훅 변조 감지, flock, 크래시 복구(최대 2회), Jira 쓰기 금지(도구 차단).
-
알림: 키체인 봇 토큰(
chat.postMessage) 우선, 실패 시 Slack MCP 대체.
✅ 실검증
- T2Q-1622: 3g-develop 판정 → 개발 단계 진입 확인(이후 수동 처리 → turuparking-server MR !1561).
- T2Q-1538 재처리: 원인(STAGE 테스트 공휴일 + 저장 시 HOL 덮어쓰기)을 짚고 FE 필요로 중단, 봇 DM 시작·중단 수신 확인 → 사용자 기준으로 수동 처리 → MR !1562.
- 두 실행 모두 사용자 체크아웃 무변경 확인.
⏭ 남은 것
- launchd 등록(
bash scripts/jira-auto-resolver/install.sh)은 머지 후.
- 성공 경로(무인 실행이 그대로 MR 생성)는 실티켓에서 첫 확인 필요 — 단위 테스트로는 검증됨.
✅ Checklist
🤖 Generated with Claude Code