RestClient::Forbidden: 403 Forbidden
Summary: NoMethodError private method service_jwt (Cupix::NotificationService)
결과#
Cupix::NotificationService.service_jwt 를 public class method 로 되돌려 instance method create_user_recipe 의 self.class.service_jwt 호출이 NoMethodError 없이 동작하도록 수정했다. Blind validation APPROVED, rubocop 0 offense, srb tc pass. PR #89504 (target develop) 생성.
참고: 이 클러스터 파일에는
resolution필드가 없고 pipeline(orchestrator)이 관리하는 immutable 필드이므로 agent 가 직접 쓰지 않았다. outcome(pr_created)은 이 summary/state frontmatter 에 기록.
Pull Requests#
| Repo | PR | Branch |
|---|---|---|
| tesla | https://dev.azure.com/cupix/tesla/_git/tesla/pullrequest/89504 | feature/TSLA-13863 |
변경 내용#
tesla: lib/cupix/notification_service.rb—def self.service_jwt/def self.find_or_create_internal_userclass method 를private키워드 위로 이동하고private_class_method인자를:find_or_create_internal_user만 남김.service_jwtpublic,find_or_create_internal_userprivate. 본문 로직 변경 없음(순수 이동).- 단순히
private_class_method에서:service_jwt만 제거하면 rubocopLint/IneffectiveAccessModifier가 재발하여(원 자동수정 커밋54f4417c2도입 이유) class method 를 이동하는 방식으로 회피.
별도 트랙 (자동 PR 미포함)#
RCA 의 아래 항목은 이번 pure-code fix 범위 밖으로 handoff:
- 단기 개선:
subscribe/unsubscribe의rescue RestClient::ExceptionWithResponse에서 401/403(client-auth) 을warn로 낮추어 알람 노이즈 축소 (코드 버그 아님, 별도 판단 필요). - 장기 개선: access-modifier 회귀를 잡는 spec 추가 (
create_user_recipe가 notification-service 호출까지 진행하는지 검증). 신규 spec 은 별도 트랙 — 현재 fix 는 최소 변경 원칙 유지.
Cleanup#
bash
cd /home/ec2-user/repos/tesla
git worktree remove /home/ec2-user/error-sweeper/.worktrees/6312f4e9-203e-4dca-8187-1abb9316cb2b/tesla