ES /docs

Quote#schedule_apply! — 기존 scheduled_quote 미정리 시 반복 적용 차단

Fix Plan: [Quote][N7KE58TH44] Quote application failed: Billable already has a scheduled quote: 870

상태: SKIPPED (코드 변경 없음)#

이유#

RCA(rca.mdx) 의 Fix Recommendation → 즉시 조치 첫 항목이 다음과 같이 명시함:

코드 변경 불필요. 현재 관측된 로그는 schedule_apply! 의 의도된 방어 가드가 정상 작동한 결과이며 코드 버그가 아니다.

따라서 자동 code-fix 로 처리할 코드 변경 항목이 없음.

검토된 후보와 각 제외 사유#

# 후보 출처 제외 사유
1 Workspace 530 의 scheduled_quote_id, scheduled_billing_started_at 을 nil 로 정리하고 원하는 새 Quote 재적용 RCA 즉시 조치 §1 Operations/DB 작업. 코드 변경 아님. admin/영업 담당 협의 후 수행.
2 Quote 870 이 시작일 도달 시 cron 이 activate_scheduled! 로 자동 전환하도록 대기 RCA 즉시 조치 §2 운영 판단(정책) — 코드 변경 아님.
3 app/models/quote.rb:168 에러 문구를 scheduled_quote.number 로 노출 (UX 개선) RCA 즉시 조치 §3 순수 코드 변경 후보지만 (a) RCA 자체가 "코드 변경 불필요" 를 앞세우고 있고, (b) 변경 대상이 사용자/admin 이 보는 문구여서 프런트엔드/문서와 함께 조율되는 편이 안전. 자동 PR 대상 아님 — hand-off 로 이관.
4 Admin UI 에 "예약된 Quote 를 먼저 취소해야 합니다" 안내 표시 RCA 단기 개선 §1 RCA 가 명시적으로 "프런트엔드 담당자와 협의 필요 — 자동 code-fix 범위 밖" 이라 표기.
5 Api::V1::Admin::QuotesController#apply 응답에 existing_scheduled_quote 페이로드 추가 RCA 단기 개선 §2 프런트엔드 계약 변경을 수반하는 API 스키마 확장 — 조율 필요, 자동 반영 부적합.
6 Workspace 530 대상 Cupix::Cron::ScheduledQuote.activate_for 실패 로그 소급 조회 RCA 단기 개선 §3 조사 태스크(코드 변경 아님).
7 다중 예약 큐/force: true 옵션 도입 RCA 장기 개선 정책 결정 필요 — code-fix 대상 아님.

Changes#

없음.

Acceptance Criteria#

  • RCA 가 "코드 변경 불필요" 임을 확인.
  • 잔여 항목이 모두 운영/조율/정책 결정임을 확인.
  • Jira, worktree, PR 을 생성하지 않음.

Tests#

해당 없음 (코드 변경 없음).

Hand-off#

summary.mdx 의 hand-off 섹션 참고.